private static void HandleProvided <TK, TE>( TK[] objectNames, EPObjectType objectType, PathRegistry <TK, TE> registry, string moduleName, IList <EPDeploymentDependencyProvided.Item> dependencies, Func <TK, string> objectNameFunction) where TK : class { foreach (TK objectName in objectNames) { try { var ids = registry.GetDependencies(objectName, moduleName); if (ids != null) { dependencies.Add( new EPDeploymentDependencyProvided.Item( objectType, objectNameFunction.Invoke(objectName), new HashSet <string>(ids))); } } catch (ArgumentException) { // no need to handle } } }
private static void HandleConsumed <TK, TE>( string providerDeploymentId, TK[] objectNames, EPObjectType objectType, PathRegistry <TK, TE> registry, string moduleName, string selfDeploymentId, IList <EPDeploymentDependencyConsumed.Item> consumed, Func <TK, string> objectNameFunction) where TK : class { foreach (TK objectName in objectNames) { try { var ids = registry.GetDependencies(objectName, moduleName); if (ids != null && ids.Contains(selfDeploymentId)) { consumed.Add( new EPDeploymentDependencyConsumed.Item( providerDeploymentId, objectType, objectNameFunction.Invoke(objectName))); } } catch (ArgumentException) { // not handled } } }
private static void CheckDependency <TK, TR>( PathRegistry <TK, TR> registry, TK entityKey, string moduleName) where TK : class { var dependencies = registry.GetDependencies(entityKey, moduleName); if (dependencies != null && !dependencies.IsEmpty()) { throw MakeException(registry.ObjectType, entityKey.ToString(), dependencies.First()); } }