public Consequence getConsequence() { return getRule().getConsequence(); }
public Consequence getConsequence() { return getRule().getConsequence(); }
public Consequence getConsequence() { return getRule().getConsequence(); }
@Test public void testDefaultConsequenceCompilation() { String consequence = " System.out.println(\"this is a test\");\n "; setupTest( consequence, new HashMap<String, Object>() ); assertNotNull( context.getRule().getConsequence() ); assertFalse( context.getRule().hasNamedConsequences() ); assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker ); assertTrue( context.getRule().getConsequence() instanceof Consequence ); }
@Test public void testDefaultConsequenceCompilation() { String consequence = " System.out.println(\"this is a test\");\n "; setupTest( consequence, new HashMap<String, Object>() ); assertNotNull( context.getRule().getConsequence() ); assertFalse( context.getRule().hasNamedConsequences() ); assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker ); assertTrue( context.getRule().getConsequence() instanceof Consequence ); }
@Test public void testDefaultConsequenceWithSingleNamedConsequenceCompilation() { String defaultCon = " System.out.println(\"this is a test\" + $cheese);\n "; Map<String, Object> namedConsequences = new HashMap<String, Object>(); String name1 = " System.out.println(\"this is a test name1\" + $cheese);\n "; namedConsequences.put( "name1", name1 ); setupTest( defaultCon, namedConsequences); assertEquals( 1, context.getRule().getNamedConsequences().size() ); assertTrue( context.getRule().getConsequence() instanceof MVELConsequence ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof MVELConsequence ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) ); }
@Test public void testDefaultConsequenceCompilation() { String consequence = " System.out.println(\"this is a test:\" + $cheese);\n " + "c1 = new Cheese().{ type = $cheese.type };" + "c2 = new Cheese().{ type = $map[$cheese.type] };" + "c3 = new Cheese().{ type = $map['key'] };"; setupTest( consequence, new HashMap<String, Object>() ); assertNotNull( context.getRule().getConsequence() ); assertFalse( context.getRule().hasNamedConsequences() ); assertTrue( context.getRule().getConsequence() instanceof MVELConsequence ); }
@Test public void testDefaultConsequenceWithSingleNamedConsequenceCompilation() { String defaultCon = " System.out.println(\"this is a test\");\n "; Map<String, Object> namedConsequences = new HashMap<String, Object>(); String name1 = " System.out.println(\"this is a test name1\");\n "; namedConsequences.put( "name1", name1 ); setupTest( defaultCon, namedConsequences); assertEquals( 1, context.getRule().getNamedConsequences().size() ); assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker ); assertTrue( context.getRule().getConsequence() instanceof Consequence ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof CompiledInvoker ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof Consequence ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) ); }
@Test public void testDefaultConsequenceWithSingleNamedConsequenceCompilation() { String defaultCon = " System.out.println(\"this is a test\");\n "; Map<String, Object> namedConsequences = new HashMap<String, Object>(); String name1 = " System.out.println(\"this is a test name1\");\n "; namedConsequences.put( "name1", name1 ); setupTest( defaultCon, namedConsequences); assertEquals( 1, context.getRule().getNamedConsequences().size() ); assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker ); assertTrue( context.getRule().getConsequence() instanceof Consequence ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof CompiledInvoker ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof Consequence ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) ); }
RuleImpl ri = ... Consequence cons = ri.getConsequence();
@Test public void testDefaultConsequenceWithMultipleNamedConsequenceCompilation() { String defaultCon = " System.out.println(\"this is a test\" + $cheese);\n "; Map<String, Object> namedConsequences = new HashMap<String, Object>(); String name1 = " System.out.println(\"this is a test name1\" + $cheese);\n "; namedConsequences.put( "name1", name1 ); String name2 = " System.out.println(\"this is a test name2\" + $cheese);\n "; namedConsequences.put( "name2", name2 ); setupTest( defaultCon, namedConsequences); assertEquals( 2, context.getRule().getNamedConsequences().size() ); assertTrue( context.getRule().getConsequence() instanceof MVELConsequence ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof MVELConsequence ); assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof MVELConsequence ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name2" ) ); assertNotSame( context.getRule().getNamedConsequences().get( "name1"), context.getRule().getNamedConsequences().get( "name2" ) ); } }
@Test public void testDefaultConsequenceWithMultipleNamedConsequenceCompilation() { String defaultCon = " System.out.println(\"this is a test\");\n "; Map<String, Object> namedConsequences = new HashMap<String, Object>(); String name1 = " System.out.println(\"this is a test name1\");\n "; namedConsequences.put( "name1", name1 ); String name2 = " System.out.println(\"this is a test name2\");\n "; namedConsequences.put( "name2", name2 ); setupTest( defaultCon, namedConsequences); assertEquals( 2, context.getRule().getNamedConsequences().size() ); assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker ); assertTrue( context.getRule().getConsequence() instanceof Consequence ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof CompiledInvoker ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof Consequence ); assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof CompiledInvoker ); assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof Consequence ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name2" ) ); assertNotSame( context.getRule().getNamedConsequences().get( "name1"), context.getRule().getNamedConsequences().get( "name2" ) ); }
@Test public void testDefaultConsequenceWithMultipleNamedConsequenceCompilation() { String defaultCon = " System.out.println(\"this is a test\");\n "; Map<String, Object> namedConsequences = new HashMap<String, Object>(); String name1 = " System.out.println(\"this is a test name1\");\n "; namedConsequences.put( "name1", name1 ); String name2 = " System.out.println(\"this is a test name2\");\n "; namedConsequences.put( "name2", name2 ); setupTest( defaultCon, namedConsequences); assertEquals( 2, context.getRule().getNamedConsequences().size() ); assertTrue( context.getRule().getConsequence() instanceof CompiledInvoker ); assertTrue( context.getRule().getConsequence() instanceof Consequence ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof CompiledInvoker ); assertTrue( context.getRule().getNamedConsequences().get( "name1" ) instanceof Consequence ); assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof CompiledInvoker ); assertTrue( context.getRule().getNamedConsequences().get( "name2" ) instanceof Consequence ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name1" ) ); assertNotSame( context.getRule().getConsequence(), context.getRule().getNamedConsequences().get( "name2" ) ); assertNotSame( context.getRule().getNamedConsequences().get( "name1"), context.getRule().getNamedConsequences().get( "name2" ) ); }
assertNotSame( rule1.getConsequence(), rule2.getConsequence() ); assertEquals(rule1.getConsequence(), rule2.getConsequence() ); assertNotSame( rule1.getConsequence(), rule3.getConsequence() ); assertThat(rule1.getConsequence(), not( equalTo( rule3.getConsequence() ) ) );
@Test public void testDebug() throws Exception { String rule = "package com.sample; dialect \"mvel\" rule myRule when then\n System.out.println( \"test\" ); end"; KnowledgeBuilderImpl builder = new KnowledgeBuilderImpl(); DrlParser parser = new DrlParser(LanguageLevelOption.DRL5); PackageDescr packageDescr = parser.parse(null, rule); RuleDescr ruleDescr = packageDescr.getRules().get(0); builder = new KnowledgeBuilderImpl( ); builder.addPackage(packageDescr); InternalKnowledgePackage pkg = builder.getPackage("com.sample"); MVELConsequence consequence = (MVELConsequence) pkg.getRule("myRule").getConsequence(); String sourceName = ((CompiledExpression) consequence.getCompExpr()).getSourceName(); System.out.println(sourceName); String ruleName = ruleDescr.getNamespace() + "." + ruleDescr.getClassName(); System.out.println(ruleName); assertEquals(sourceName, ruleName); }
MVELConsequence mvelCons = (MVELConsequence) rule.getConsequence(); mvelCons.compile( (MVELDialectRuntimeData) pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectRuntimeRegistry().getDialectData( "mvel" ) ); String s = DebugTools.decompile( mvelCons.getCompExpr() );
knowledgeHelper.setActivation( activation ); rule.getConsequence().evaluate( knowledgeHelper, ((StatefulKnowledgeSessionImpl)workingMemory) ); assertEquals( new Integer( 1 ), knowledgeHelper.setActivation( activation ); rule.getConsequence().evaluate( knowledgeHelper, ((StatefulKnowledgeSessionImpl)workingMemory) ); assertEquals( new Integer( 2 ),
kbHelper.setActivation( item ); try { ((MVELConsequence) context.getRule().getConsequence()).compile( (MVELDialectRuntimeData) pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectRuntimeRegistry().getDialectData( "mvel" ) ); context.getRule().getConsequence().evaluate( kbHelper, ksession ); fail( "should throw an exception, as 'if' is not allowed" );
knowledgeHelper.setActivation( activation ); newRule.getConsequence().evaluate( knowledgeHelper, ((StatefulKnowledgeSessionImpl)workingMemory) ); assertEquals( new Integer( 1 ),
final DefaultKnowledgeHelper kbHelper = new DefaultKnowledgeHelper( ksession ); kbHelper.setActivation( item ); ((MVELConsequence) context.getRule().getConsequence()).compile( (MVELDialectRuntimeData) pkgBuilder.getPackageRegistry( pkg.getName() ).getDialectRuntimeRegistry().getDialectData( "mvel" )); context.getRule().getConsequence().evaluate( kbHelper, ksession );