Ejemplo n.º 1
0
        private static void ValidateIndexPrecondition(
            EventTableIndexMetadata indexMetadata,
            ModuleIndexMeta index,
            string deploymentId)
        {
            var imk   = indexMetadata.GetIndexByName(index.IndexName);
            var entry = indexMetadata.Indexes.Get(imk);

            if (entry == null)
            {
                return;
            }

            var referring = indexMetadata.Indexes.Get(imk).ReferringDeployments;

            if (referring != null && referring.Length > 0)
            {
                string first = null;
                foreach (var referringeploymentId in referring)
                {
                    if (!referringeploymentId.Equals(deploymentId))
                    {
                        first = referringeploymentId;
                    }
                }

                if (first != null)
                {
                    throw MakeException(PathRegistryObjectType.INDEX, index.IndexName, first);
                }
            }
        }
Ejemplo n.º 2
0
 private static void ValidateIndexPrecondition(
     int rolloutItemNumber,
     EventTableIndexMetadata indexMetadata,
     ModuleIndexMeta index)
 {
     if (indexMetadata.GetIndexByName(index.IndexName) != null)
     {
         var ex = new PathExceptionAlreadyRegistered(index.IndexName, PathRegistryObjectType.INDEX, index.IndexModuleName);
         throw new EPDeployPreconditionException(ex.Message, ex, rolloutItemNumber);
     }
 }
Ejemplo n.º 3
0
 private static EventTableIndexMetadata GetIndexMetadata(
     ModuleIndexMeta objectName,
     string moduleName,
     EPServicesPath paths)
 {
     if (objectName.IsNamedWindow)
     {
         NamedWindowMetaData metaData = paths.NamedWindowPathRegistry.GetWithModule(objectName.InfraName, moduleName);
         return(metaData?.IndexMetadata);
     }
     else
     {
         TableMetaData metaData = paths.TablePathRegistry.GetWithModule(objectName.InfraName, moduleName);
         return(metaData?.IndexMetadata);
     }
 }