public EPDeployment getDeployment(String deploymentId) { DeploymentInternal deployed = services.getDeploymentLifecycleService().getDeploymentById(deploymentId); if (deployed == null) { return null; } EPStatement[] stmts = deployed.getStatements(); EPStatement[] copy = new EPStatement[stmts.length]; System.arraycopy(stmts, 0, copy, 0, stmts.length); return new EPDeployment(deploymentId, deployed.getModuleProvider().getModuleName(), deployed.getModulePropertiesCached(), copy, CollectionUtil.copyArray(deployed.getDeploymentIdDependencies()), new Date(deployed.getLastUpdateDate())); }
private void dispatchOnDeploymentEvent(DeploymentInternal deployed) { CopyOnWriteArrayList<DeploymentStateListener> listeners = services.getDeploymentLifecycleService().getListeners(); if (listeners.isEmpty()) { return; } EPStatement[] stmts = deployed.getStatements(); DeploymentStateEventDeployed event = new DeploymentStateEventDeployed(services.getRuntimeURI(), deployed.getDeploymentId(), deployed.getModuleProvider().getModuleName(), stmts); for (DeploymentStateListener listener : listeners) { try { listener.onDeployment(event); } catch (Throwable t) { handleDeploymentEventListenerException("on-deployment", t); } } }
public EventType getTypeById(long eventTypeIdPublic, long eventTypeIdProtected) { if (eventTypeIdProtected == -1) { return eventTypeRepositoryPreconfigured.getTypeById(eventTypeIdPublic); } DeploymentInternal deployerResult = deploymentLifecycleService.getDeploymentByCRC(eventTypeIdPublic); return deployerResult.getDeploymentTypes().get(eventTypeIdProtected); } };
public static void checkModulePreconditions(String deploymentId, String moduleName, DeploymentInternal deployment, EPServicesContext services) throws EPUndeployPreconditionException { for (String namedWindow : deployment.getPathNamedWindows()) { checkDependency(services.getNamedWindowPathRegistry(), namedWindow, moduleName); for (String table : deployment.getPathTables()) { checkDependency(services.getTablePathRegistry(), table, moduleName); for (String variable : deployment.getPathVariables()) { checkDependency(services.getVariablePathRegistry(), variable, moduleName); for (String context : deployment.getPathContexts()) { checkDependency(services.getContextPathRegistry(), context, moduleName); for (String eventType : deployment.getPathEventTypes()) { checkDependency(services.getEventTypePathRegistry(), eventType, moduleName); for (String exprDecl : deployment.getPathExprDecls()) { checkDependency(services.getExprDeclaredPathRegistry(), exprDecl, moduleName); for (NameAndParamNum script : deployment.getPathScripts()) { checkDependency(services.getScriptPathRegistry(), script, moduleName); for (ModuleIndexMeta index : deployment.getPathIndexes()) { if (index.isNamedWindow()) { NamedWindowMetaData namedWindow = services.getNamedWindowPathRegistry().getWithModule(index.getInfraName(), index.getInfraModuleName());
statementIdRecovery.setCurrentStatementId(currentStatementId + deployerResult.getStatements().length); EPStatement[] copy = new EPStatement[deployerResult.getStatements().length]; System.arraycopy(deployerResult.getStatements(), 0, copy, 0, deployerResult.getStatements().length); return new EPDeployment(deployerResult.getDeploymentId(), deployerResult.getModuleProvider().getModuleName(), deployerResult.getModulePropertiesCached(), copy, CollectionUtil.copyArray(deployerResult.getDeploymentIdDependencies()), new Date(System.currentTimeMillis()));
throw new EPUndeployNotFoundException("Deployment id '" + deploymentId + "' cannot be found"); EPStatement[] statements = deployment.getStatements(); String moduleName = deployment.getModuleProvider().getModuleName(); Undeployer.checkModulePreconditions(deploymentId, moduleName, deployment, services); Undeployer.undeploy(deploymentId, deployment.getDeploymentTypes(), reverted, deployment.getModuleProvider(), services); } catch (Throwable t) { log.error("Exception encountered during undeploy: " + t.getMessage(), t);
public EPStatement getStatementByName(String deploymentId, String statementName) { DeploymentInternal deployment = deploymentsByName.get(deploymentId); if (deployment == null) { return null; } for (EPStatement stmt : deployment.getStatements()) { if (stmt.getName().equals(statementName)) { return stmt; } } return null; }
public EventType getEventType(String deploymentId, String eventTypeName) { DeploymentInternal deployment = services.getDeploymentLifecycleService().getDeploymentById(deploymentId); if (deployment == null) { return null; } String moduleName = deployment.getModuleProvider().getModuleName(); return services.getEventTypePathRegistry().getWithModule(eventTypeName, moduleName); } }
String[] zeroDependsOn = zero.getDeploymentIdDependencies(); if (zeroDependsOn != null && zeroDependsOn.length > 0) { undeploy(deployments[0]); for (String deploymentId : deployments) { DeploymentInternal deployment = deploymentSvc.getDeploymentById(deploymentId); String[] dependentOn = deployment.getDeploymentIdDependencies(); if (dependentOn == null || dependentOn.length == 0) { continue;
DeploymentInternal deployed = new DeploymentInternal(deploymentId, statements, deploymentIdDependenciesArray, CollectionUtil.toArray(pathNamedWindows), CollectionUtil.toArray(pathTables), CollectionUtil.toArray(pathVariables), CollectionUtil.toArray(pathContexts), CollectionUtil.toArray(pathEventTypes), CollectionUtil.toArray(pathExprDecl),
public static EPStatement getStatement(String statementName, EPRuntime runtime) { EPDeploymentServiceSPI spi = (EPDeploymentServiceSPI) runtime.getDeploymentService(); EPStatement found = null; for (Map.Entry<String, DeploymentInternal> entry : spi.getDeploymentMap().entrySet()) { EPStatement[] statements = entry.getValue().getStatements(); for (EPStatement stmt : statements) { if (statementName.equals(stmt.getName())) { if (found != null) { throw new IllegalArgumentException("Found multiple statements of name '" + statementName + "', statement name is unique within a deployment only"); } found = stmt; } } } return found; } }
private void dispatchOnUndeploymentEvent(DeploymentInternal result) { CopyOnWriteArrayList<DeploymentStateListener> listeners = services.getDeploymentLifecycleService().getListeners(); if (listeners.isEmpty()) { return; } EPStatement[] statements = result.getStatements(); DeploymentStateEventUndeployed event = new DeploymentStateEventUndeployed(services.getRuntimeURI(), result.getDeploymentId(), result.getModuleProvider().getModuleName(), statements); for (DeploymentStateListener listener : listeners) { try { listener.onUndeployment(event); } catch (Throwable t) { handleDeploymentEventListenerException("on-undeployment", t); } } }
private static RecoveryInformation getRecoveryInformation(DeploymentInternal deployerResult) { Map<Integer, Object> userObjects = Collections.emptyMap(); Map<Integer, String> statementNamesWhenOverridden = Collections.emptyMap(); for (EPStatement stmt : deployerResult.getStatements()) { EPStatementSPI spi = (EPStatementSPI) stmt; if (stmt.getUserObjectRuntime() != null) { if (userObjects.isEmpty()) { userObjects = new HashMap<>(); } userObjects.put(spi.getStatementId(), spi.getStatementContext().getUserObjectRuntime()); } if (!spi.getStatementContext().getStatementInformationals().getStatementNameCompileTime().equals(spi.getName())) { if (statementNamesWhenOverridden.isEmpty()) { statementNamesWhenOverridden = new HashMap<>(); } statementNamesWhenOverridden.put(spi.getStatementId(), spi.getName()); } } return new RecoveryInformation(userObjects, statementNamesWhenOverridden); }
throw new EPException(ex.getMessage(), ex); for (EventType eventType : deployerResult.getDeploymentTypes().values()) { if (eventType.getMetadata().getBusModifier() == EventTypeBusModifier.BUS || eventType.getMetadata().getTypeClass() == EventTypeTypeClass.NAMED_WINDOW ||