Esempio n. 1
0
 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
         }
     }
 }
Esempio n. 2
0
 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
         }
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Returns the pretty-print name
        /// </summary>
        /// <returns>name</returns>
        public static string GetPrettyName(this EPObjectType value)
        {
            switch (value)
            {
            case EPObjectType.CONTEXT:
                return("context");

            case EPObjectType.NAMEDWINDOW:
                return("named window");

            case EPObjectType.EVENTTYPE:
                return("event type");

            case EPObjectType.TABLE:
                return("table");

            case EPObjectType.VARIABLE:
                return("variable");

            case EPObjectType.EXPRESSION:
                return("expression");

            case EPObjectType.SCRIPT:
                return("script");

            case EPObjectType.INDEX:
                return("index");

            case EPObjectType.CLASSPROVIDED:
                return("application-inlined class");

            default:
                throw new ArgumentOutOfRangeException(nameof(value), value, null);
            }
        }
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="objectType">EPL object type</param>
 /// <param name="objectName">EPL object name</param>
 /// <param name="deploymentIds">deployment ids of consumers</param>
 public Item(
     EPObjectType objectType,
     string objectName,
     ISet <string> deploymentIds)
 {
     _objectType    = objectType;
     _objectName    = objectName;
     _deploymentIds = deploymentIds;
 }
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="deploymentId">deployment id of the provider</param>
 /// <param name="objectType">EPL object type</param>
 /// <param name="objectName">EPL object name</param>
 public Item(
     string deploymentId,
     EPObjectType objectType,
     string objectName)
 {
     _deploymentId = deploymentId;
     _objectType   = objectType;
     _objectName   = objectName;
 }
 private static EPDeploymentDependencyProvided.Item MakeProvided(
     EPObjectType objectType,
     string objectName,
     params string[] deploymentIds)
 {
     return(new EPDeploymentDependencyProvided.Item(
                objectType,
                objectName,
                new HashSet <string>(deploymentIds)));
 }
Esempio n. 7
0
 private static void CheckAlreadyDefinedByStage <TK, TE>(
     EPStageServiceSPI spi,
     EPObjectType objectType,
     Func <StageSpecificServices, PathRegistry <TK, TE> > registryFunc,
     TK objectKey,
     string moduleName,
     int rolloutItemNumber)
     where TK : class
 {
     foreach (var entry in spi.Stages)
     {
         var registry = registryFunc.Invoke(entry.Value.StageSpecificServices);
         if (registry.GetWithModule(objectKey, moduleName) != null)
         {
             throw new EPDeployPreconditionException(
                       objectType.GetPrettyName() + " by name '" + objectKey + "' is already defined by stage '" + entry.Key + "'",
                       rolloutItemNumber);
         }
     }
 }
        public static void AssertSingle(
            RegressionEnvironment env,
            string deployedStmtNameConsume,
            string deployedStmtNameProvide,
            EPObjectType objectType,
            string objectName)
        {
            var deploymentIdConsume = env.DeploymentId(deployedStmtNameConsume);
            var deploymentIdProvide = env.DeploymentId(deployedStmtNameProvide);
            var consumed            = env.Runtime.DeploymentService.GetDeploymentDependenciesConsumed(deploymentIdConsume);

            AssertEqualsAnyOrder(
                new[] {
                new EPDeploymentDependencyConsumed.Item(deploymentIdProvide, objectType, objectName)
            },
                consumed.Dependencies.ToArray());
            var provided = env.Runtime.DeploymentService.GetDeploymentDependenciesProvided(deploymentIdProvide);

            AssertEqualsAnyOrder(
                new[] {
                new EPDeploymentDependencyProvided.Item(objectType, objectName, Collections.SingletonSet(deploymentIdConsume))
            },
                provided.Dependencies.ToArray());
        }