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 void update(EventBean[] newData, EventBean[] oldData, EPStatement epStatement, EPRuntime runtime) { for (int i = 0; i < newData.length; i++) { if (log.isInfoEnabled()) { log.info("Statement " + String.format("%s", epStatement.getName()) + " produced: " + getProperties(newData[i])); } } }
private void detachStatement(EPStatement statement) { Iterator<UpdateListener> listeners = statement.getUpdateListeners(); UpdateListener found = null; while (listeners.hasNext()) { UpdateListener listener = listeners.next(); if (listener instanceof KafkaOutputDefaultListener) { found = listener; break; } } if (found != null) { statement.removeListener(found); } log.info("Removed Kafka-Output-Adapter listener from statement '{}'", statement.getName()); }
private EPDataFlowEPStatementFilterContext toContext(EPStatement stmt) { return new EPDataFlowEPStatementFilterContext(stmt.getDeploymentId(), stmt.getName(), stmt); } }
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 processStatement(EPStatement statement) { if (statement == null) { return; } Annotation annotation = AnnotationUtil.findAnnotation(statement.getAnnotations(), KafkaOutputDefault.class); if (annotation == null) { return; } KafkaOutputDefaultListener listener = new KafkaOutputDefaultListener(runtime, statement, producer, topics); statement.addListener(listener); log.info("Added Kafka-Output-Adapter listener to statement '{}' topics {}", statement.getName(), topics.toString()); }
public void run(RegressionEnvironment env) { EPCompiled compiled = env.compile("select * from SupportBean;select * from SupportBean;"); EPDeployment deployment; try { deployment = env.deployment().deploy(compiled); } catch (EPDeployException e) { throw new RuntimeException(e); } assertEquals("stmt-0", deployment.getStatements()[0].getName()); assertEquals("stmt-1", deployment.getStatements()[1].getName()); env.undeployAll(); } }
protected static void assertContextEnginePool(RegressionEnvironment env, EPStatement stmt, List<ConditionHandlerContext> contexts, int max, Map<String, Long> counts) { assertEquals(1, contexts.size()); ConditionHandlerContext context = contexts.get(0); assertEquals(env.runtimeURI(), context.getRuntimeURI()); assertEquals(stmt.getDeploymentId(), context.getDeploymentId()); assertEquals(stmt.getName(), context.getStatementName()); ConditionPatternRuntimeSubexpressionMax condition = (ConditionPatternRuntimeSubexpressionMax) context.getCondition(); assertEquals(max, condition.getMax()); assertEquals(counts.size(), condition.getCounts().size()); for (Map.Entry<String, Long> expected : counts.entrySet()) { assertEquals("failed for key " + expected.getKey(), expected.getValue(), condition.getCounts().get(expected.getKey())); } contexts.clear(); }
protected static void assertContextEnginePool(RegressionEnvironment env, EPStatement stmt, List<ConditionHandlerContext> contexts, int max, Map<DeploymentIdNamePair, Long> counts) { assertEquals(1, contexts.size()); ConditionHandlerContext context = contexts.get(0); assertEquals(env.runtimeURI(), context.getRuntimeURI()); assertEquals(stmt.getDeploymentId(), context.getDeploymentId()); assertEquals(stmt.getName(), context.getStatementName()); ConditionMatchRecognizeStatesMax condition = (ConditionMatchRecognizeStatesMax) context.getCondition(); assertEquals(max, condition.getMax()); assertEquals(counts.size(), condition.getCounts().size()); for (Map.Entry<DeploymentIdNamePair, Long> expected : counts.entrySet()) { assertEquals("failed for key " + expected.getKey(), expected.getValue(), condition.getCounts().get(expected.getKey())); } contexts.clear(); }
public void onDeployment(DeploymentStateEventDeployed event) { for (EPStatement stmt : event.getStatements()) { if (statementFilter == null) { if (stmt.getDeploymentId().equals(statementDeploymentId) && stmt.getName().equals(statementName)) { addStatement(stmt); } } else { if (statementFilter.pass(toContext(stmt))) { addStatement(stmt); } } } }
public void onUndeployment(DeploymentStateEventUndeployed event) { if (!specification.isEnableMetricsReporting()) { return; } for (EPStatement stmt : event.getStatements()) { DeploymentIdNamePair pair = new DeploymentIdNamePair(stmt.getDeploymentId(), stmt.getName()); stmtMetricRepository.removeStatement(pair); statementMetricHandles.remove(pair); } }
public void execute(UniformPair<EventBean[]> result) { Object newData; Object oldData; if (result == null) { newData = null; oldData = null; } else { newData = convert(result.getFirst()); oldData = convert(result.getSecond()); } Object[] parameters = new Object[]{newData, oldData}; try { method.invoke(subscriber, parameters); } catch (InvocationTargetException | IllegalAccessException e) { ResultDeliveryStrategyImpl.handle(statement.getName(), log, e, parameters, subscriber, method); } }
public void destroy(String statementName) { log.info("Via Java Management JMX proxy: Destroying statement '" + statementName + "'"); for (String deploymentId : runtime.getDeploymentService().getDeployments()) { EPDeployment deployment = runtime.getDeploymentService().getDeployment(deploymentId); for (EPStatement stmt : deployment.getStatements()) { if (statementName.equals(stmt.getName())) { try { runtime.getDeploymentService().undeploy(deploymentId); } catch (EPUndeployException e) { log.warn("Failed to undeploy: " + e.getMessage()); } } } } }
public void execute(UniformPair<EventBean[]> result) { Object[][] newData; Object[][] oldData; if (result == null) { newData = null; oldData = null; } else { newData = convert(result.getFirst()); oldData = convert(result.getSecond()); } Object[] parameters = new Object[]{newData, oldData}; try { method.invoke(subscriber, parameters); } catch (InvocationTargetException | IllegalAccessException e) { ResultDeliveryStrategyImpl.handle(statement.getName(), log, e, parameters, subscriber, method); } }
public void execute(UniformPair<EventBean[]> result) { Map[] newData; Map[] oldData; if (result == null) { newData = null; oldData = null; } else { newData = convert(result.getFirst()); oldData = convert(result.getSecond()); } Object[] parameters = new Object[]{newData, oldData}; try { method.invoke(subscriber, parameters); } catch (InvocationTargetException | IllegalAccessException e) { ResultDeliveryStrategyImpl.handle(statement.getName(), log, e, parameters, subscriber, method); } }
@Override public void execute(UniformPair<EventBean[]> result) { Object[][] newData; Object[][] oldData; if (result == null) { newData = null; oldData = null; } else { newData = convert(result.getFirst()); oldData = convert(result.getSecond()); } Object[] parameters = new Object[]{statement, newData, oldData}; try { method.invoke(subscriber, parameters); } catch (InvocationTargetException | IllegalAccessException e) { ResultDeliveryStrategyImpl.handle(statement.getName(), log, e, parameters, subscriber, method); } } }
protected static void assertContextStatement(RegressionEnvironment env, EPStatement stmt, List<ConditionHandlerContext> contexts, int max) { assertEquals(1, contexts.size()); ConditionHandlerContext context = contexts.get(0); assertEquals(env.runtimeURI(), context.getRuntimeURI()); assertEquals(stmt.getDeploymentId(), context.getDeploymentId()); assertEquals(stmt.getName(), context.getStatementName()); ConditionPatternSubexpressionMax condition = (ConditionPatternSubexpressionMax) context.getCondition(); assertEquals(max, condition.getMax()); contexts.clear(); } }
public RegressionEnvironment undeployModuleContaining(String statementName) { String[] deployments = runtime.getDeploymentService().getDeployments(); try { for (String deployment : deployments) { EPDeployment info = runtime.getDeploymentService().getDeployment(deployment); for (EPStatement stmt : info.getStatements()) { if (stmt.getName().equals(statementName)) { runtime.getDeploymentService().undeploy(deployment); return this; } } } } catch (EPUndeployException ex) { throw notExpected(ex); } fail("Failed to find deployment with statement '" + statementName + "'"); return this; }
private void tryAssertionAnnotation(RegressionEnvironment env, String epl) { env.compileDeploy(epl).addListener("s0"); assertEquals(Integer.class, env.statement("s0").getEventType().getPropertyType("scalar()")); assertEquals("s0", env.statement("s0").getName()); env.sendEventBean(new SupportBean_ST0("E1", 1)); EPAssertionUtil.assertProps(env.listener("s0").assertOneGetNewAndReset(), "scalar()".split(","), new Object[]{1}); env.undeployAll(); } }
public void run(RegressionEnvironment env) { MyStatementNameResolver.getContexts().clear(); CompilerArguments args = new CompilerArguments(env.getConfiguration()); args.getOptions().setStatementName(new MyStatementNameResolver()); String epl = "select * from SupportBean"; EPCompiled compiled = env.compile(epl, args); StatementNameContext ctx = MyStatementNameResolver.getContexts().get(0); assertEquals(epl, ctx.getEplSupplier().get()); assertEquals(null, ctx.getStatementName()); assertEquals(null, ctx.getModuleName()); assertEquals(0, ctx.getAnnotations().length); assertEquals(0, ctx.getStatementNumber()); env.deploy(compiled); assertEquals("hello", env.statement("hello").getName()); env.undeployAll(); } }