public EPDeployment deploy(EPCompiled compiled) throws EPDeployException { return deploy(compiled, new DeploymentOptions()); }
public static void deploy(EPRuntime runtime, EPCompiled compiled) { try { runtime.getDeploymentService().deploy(compiled, new DeploymentOptions().setDeploymentId("stockticker")); } catch (EPDeployException ex) { throw new RuntimeException(ex); } } }
private static void compileDeployWSubstitution(RegressionEnvironment env, String epl, Map<String, Object> params) { EPCompiled compiled = env.compile("@name('s0') " + epl); StatementSubstitutionParameterOption resolver = ctx -> { for (Map.Entry<String, Object> entry : params.entrySet()) { ctx.setObject(entry.getKey(), entry.getValue()); } }; env.deploy(compiled, new DeploymentOptions().setStatementSubstitutionParameter(resolver)); env.addListener("s0"); }
private static void deployWithResolver(RegressionEnvironment env, EPCompiled compiled, String statementName, StatementSubstitutionParameterOption resolver) { DeploymentOptions options = new DeploymentOptions().setStatementSubstitutionParameter(resolver); options.setStatementNameRuntime(context -> statementName); try { env.deployment().deploy(compiled, options); } catch (EPDeployException e) { throw new RuntimeException(e); } }
public static void deployAddListener(EPCompiled compiledStmt, String stmtName, UpdateListener listener, EPRuntime runtime) { try { EPDeployment deployed = runtime.getDeploymentService().deploy(compiledStmt, new DeploymentOptions().setStatementNameRuntime(ctx -> stmtName)); if (deployed.getStatements().length != 1) { throw new UnsupportedOperationException("This method is designed for a single statement"); } deployed.getStatements()[0].addListener(listener); } catch (EPDeployException e) { throw new RuntimeException(e); } }
public void run(RegressionEnvironment env) { String expression = "@name('s0') select * from pattern [every timer:at(?::int,?::int,*,*,[1,2,3,4,5])]"; Calendar cal = GregorianCalendar.getInstance(); cal.set(Calendar.MILLISECOND, 0); cal.set(2008, 7, 3, 10, 0, 0); // start on a Sunday at 6am, August 3 2008 sendTimer(cal.getTimeInMillis(), env); EPCompiled compiled = env.compile(expression); env.deploy(compiled, new DeploymentOptions().setStatementSubstitutionParameter(prepared -> { prepared.setObject(1, 0); prepared.setObject(2, 8); })); env.addListener("s0"); tryAssertion(env); env.undeployAll(); } }
private static void tryInvalidResolver(RegressionEnvironment env, EPCompiled compiled, String expected, StatementSubstitutionParameterOption resolver) { DeploymentOptions options = new DeploymentOptions().setStatementSubstitutionParameter(resolver); try { env.deployment().deploy(compiled, options); fail(); } catch (EPDeploySubstitutionParameterException e) { SupportMessageAssertUtil.assertMessage(e.getMessage(), expected); } catch (EPDeployException e) { throw new RuntimeException(e); } }
private EPStatement compileDeploy(String expression, String statementName) { try { CompilerArguments args = new CompilerArguments(runtime.getRuntimePath()); EPCompiled compiled = EPCompilerProvider.getCompiler().compile(expression, args); DeploymentOptions options = new DeploymentOptions(); options.setStatementNameRuntime(env -> statementName); return runtime.getDeploymentService().deploy(compiled, options).getStatements()[0]; } catch (Exception ex) { throw new RuntimeException("Failed to compile and deploy: " + ex.getMessage(), ex); } } }
public void run(RegressionEnvironment env) { EPCompiled compiled = env.compile("select * from SupportBean"); env.deploy(compiled, new DeploymentOptions().setDeploymentId("ABC")); try { env.runtime().getDeploymentService().deploy(compiled, new DeploymentOptions().setDeploymentId("ABC")); fail(); } catch (EPDeployDeploymentExistsException ex) { SupportMessageAssertUtil.assertMessage(ex, "Deployment by id 'ABC' already exists"); } catch (EPDeployException ex) { throw new RuntimeException(ex); } env.undeployAll(); } }
private static EPStatement[] createStmts(RegressionEnvironment env, String[] deploymentIds, String[] statementNames) { assertEquals(deploymentIds.length, statementNames.length); EPStatement[] statements = new EPStatement[statementNames.length]; EPCompiled compiled = env.compile("select * from SupportBean"); for (int i = 0; i < statementNames.length; i++) { final int num = i; try { EPDeployment deployed = env.deployment().deploy(compiled, new DeploymentOptions().setDeploymentId(deploymentIds[i]).setStatementNameRuntime(new StatementNameRuntimeOption() { public String getStatementName(StatementNameRuntimeContext env) { return statementNames[num]; } })); statements[i] = deployed.getStatements()[0]; } catch (EPDeployException e) { throw new RuntimeException(e); } } return statements; } }
private static void assertDeploy(RegressionEnvironment env, EPCompiled compiled, AtomicInteger milestone, Object userObject) { DeploymentOptions options = new DeploymentOptions(); options.setStatementUserObjectRuntime(new StatementUserObjectRuntimeOption() { public Object getUserObject(StatementUserObjectRuntimeContext env) { return userObject; } }); try { env.deployment().deploy(compiled, options); } catch (EPDeployException e) { fail(e.getMessage()); } env.undeployAll(); }
public void run(RegressionEnvironment env) { EPCompiled compiled = env.compile("select * from SupportBean;select * from SupportBean;"); try { env.deployment().deploy(compiled, new DeploymentOptions().setStatementNameRuntime(new StatementNameRuntimeOption() { public String getStatementName(StatementNameRuntimeContext env) { return "x"; } })); fail(); } catch (EPDeployException e) { assertMessage(e, "Duplicate statement name provide by statement name resolver for statement name 'x'"); } } }
public void run(RegressionEnvironment env) { env.advanceTime(0); String text = "select rstream theString from SupportBean#time(?::int)"; EPCompiled compiled = env.compile(text); env.deploy(compiled, new DeploymentOptions() .setStatementSubstitutionParameter(prepared -> prepared.setObject(1, 4)) .setStatementNameRuntime(ctx -> "s0")); env.deploy(compiled, new DeploymentOptions() .setStatementSubstitutionParameter(prepared -> prepared.setObject(1, 3)) .setStatementNameRuntime(ctx -> "s1")); env.addListener("s0").addListener("s1"); runAssertion(env); env.undeployAll(); } }
public void run(RegressionEnvironment env) { String stmtText = "@name('s0') select intPrimitive in (?::int[primitive]) as result from SupportBean"; EPCompiled compiled = env.compile(stmtText); env.deploy(compiled, new DeploymentOptions().setStatementSubstitutionParameter(prepared -> prepared.setObject(1, new int[]{10, 20, 30}))); env.addListener("s0"); env.sendEventBean(new SupportBean("E1", 10), SupportBean.class.getSimpleName()); assertTrue((Boolean) env.listener("s0").assertOneGetNewAndReset().get("result")); env.sendEventBean(new SupportBean("E2", 9), SupportBean.class.getSimpleName()); assertFalse((Boolean) env.listener("s0").assertOneGetNewAndReset().get("result")); env.undeployAll(); } }
public void run(RegressionEnvironment env) { MySubstitutionOption.getContexts().clear(); EPCompiled compiled = env.compile("@name('s0') select ?:p0:int as c0 from SupportBean"); DeploymentOptions options = new DeploymentOptions().setStatementSubstitutionParameter(new MySubstitutionOption()); options.setDeploymentId("abc"); try { env.deployment().deploy(compiled, options); fail(); } catch (EPDeployException e) { // expected } assertEquals(1, MySubstitutionOption.getContexts().size()); StatementSubstitutionParameterContext ctx = MySubstitutionOption.getContexts().get(0); assertNotNull(ctx.getAnnotations()); assertEquals("abc", ctx.getDeploymentId()); assertNotNull(ctx.getEpl()); assertTrue(ctx.getStatementId() > 0); assertEquals("s0", ctx.getStatementName()); assertEquals(Integer.class, ctx.getSubstitutionParameterTypes()[0]); assertEquals((Integer) 1, ctx.getSubstitutionParameterNames().get("p0")); } }
public void run(RegressionEnvironment env) { // External clocking sendTimer(0, env); // Set up a timer:within EPCompiled compiled = env.compile("@name('s0') select * from pattern [(every SupportBean) where timer:within(?::int days ?::int hours ?::int minutes ?::int seconds ?::int milliseconds)]"); env.deploy(compiled, new DeploymentOptions().setStatementSubstitutionParameter(prepared -> { prepared.setObject(1, 1); prepared.setObject(2, 2); prepared.setObject(3, 3); prepared.setObject(4, 4); prepared.setObject(5, 5); })); env.addListener("s0"); tryAssertion(env); env.undeployAll(); } }
public void run(RegressionEnvironment env) { MyUserObjectRuntimeOption.getContexts().clear(); String epl = "@name('s0') select * from SupportBean"; EPCompiled compiled = env.compile(epl); DeploymentOptions options = new DeploymentOptions(); options.setStatementUserObjectRuntime(new MyUserObjectRuntimeOption()); try { env.deployment().deploy(compiled, options); } catch (EPDeployException e) { fail(e.getMessage()); } StatementUserObjectRuntimeContext ctx = MyUserObjectRuntimeOption.getContexts().get(0); assertEquals("s0", ctx.getStatementName()); assertEquals(env.deploymentId("s0"), ctx.getDeploymentId()); assertSame(env.statement("s0").getAnnotations(), ctx.getAnnotations()); assertEquals(epl, ctx.getEpl()); env.undeployAll(); } }
public void run(RegressionEnvironment env) { // External clocking sendTimer(0, env); // Set up a timer:within EPCompiled compiled = env.compile("@name('s0') select * from pattern [timer:interval(?::int minute ?::int seconds)]"); env.deploy(compiled, new DeploymentOptions().setStatementSubstitutionParameter(prepared -> { prepared.setObject(1, 1); prepared.setObject(2, 2); })); env.addListener("s0"); sendTimer(62 * 1000 - 1, env); assertFalse(env.listener("s0").isInvoked()); sendTimer(62 * 1000, env); assertTrue(env.listener("s0").isInvoked()); env.undeployAll(); } }
private static void trySubstitutionParameter(RegressionEnvironment env, String substitution, Object parameter) { EPCompiled compiled = env.compile("@name('s0') select * from SupportBean(" + substitution + ".sequenceEqual({1, intPrimitive, 100}))"); env.deploy(compiled, new DeploymentOptions().setStatementSubstitutionParameter(prepared -> prepared.setObject(1, parameter))); env.addListener("s0"); env.sendEventBean(new SupportBean("E1", 10)); assertTrue(env.listener("s0").getAndClearIsInvoked()); env.sendEventBean(new SupportBean("E2", 20)); assertFalse(env.listener("s0").getAndClearIsInvoked()); env.undeployAll(); }
public void run(RegressionEnvironment env) { MyStatementNameRuntimeResolver.getContexts().clear(); String epl = "@name('s0') select * from SupportBean"; EPCompiled compiled = env.compile(epl); DeploymentOptions options = new DeploymentOptions(); options.setStatementNameRuntime(new MyStatementNameRuntimeResolver()); try { env.deployment().deploy(compiled, options); } catch (EPDeployException e) { fail(e.getMessage()); } StatementNameRuntimeContext ctx = MyStatementNameRuntimeResolver.getContexts().get(0); assertEquals("s0", ctx.getStatementName()); assertEquals(env.deploymentId("hello"), ctx.getDeploymentId()); assertSame(env.statement("hello").getAnnotations(), ctx.getAnnotations()); assertEquals(epl, ctx.getEpl()); assertEquals("hello", env.statement("hello").getName()); env.milestone(0); assertEquals("hello", env.statement("hello").getName()); env.undeployAll(); } }