public DeploymentInternal RemoveDeployment(string deploymentId)
        {
            var deployment = DeploymentMap.Delete(deploymentId);
            if (deployment != null)
            {
                var crc = CRC32Util.ComputeCRC32(deploymentId);
                deploymentsByCRC.Remove(crc);
            }

            return deployment;
        }
        public EPStatement GetStatementByName(
            string deploymentId,
            string statementName)
        {
            var deployment = DeploymentMap.Get(deploymentId);
            if (deployment == null)
            {
                return null;
            }

            foreach (var stmt in deployment.Statements)
            {
                if (stmt.Name.Equals(statementName))
                {
                    return stmt;
                }
            }

            return null;
        }
        public void AddDeployment(
            string deploymentId,
            DeploymentInternal deployment)
        {
            var existing = DeploymentMap.Get(deploymentId);
            if (existing != null)
            {
                throw new IllegalStateException("Deployment already exists by name '" + deploymentId + "'");
            }

            var crc = CRC32Util.ComputeCRC32(deploymentId);
            existing = deploymentsByCRC.Get(crc);
            if (existing != null)
            {
                throw new IllegalStateException("Deployment already exists by same-value crc");
            }

            DeploymentMap.Put(deploymentId, deployment);
            deploymentsByCRC.Put(crc, deployment);
        }
 public DeploymentInternal GetDeploymentById(string deploymentId)
 {
     return DeploymentMap.Get(deploymentId);
 }