@Test public void testGlobal() throws Exception { PackageDescr pack = (PackageDescr) parseResource( "compilationUnit", "globals.drl" ); assertEquals( 1, pack.getRules().size() ); final RuleDescr rule = (RuleDescr) pack.getRules().get( 0 ); assertEquals( 1, rule.getLhs().getDescrs().size() ); assertEquals( 1, pack.getImports().size() ); assertEquals( 2, pack.getGlobals().size() ); final GlobalDescr foo = (GlobalDescr) pack.getGlobals().get( 0 ); assertEquals( "java.lang.String", foo.getType() ); assertEquals( "foo", foo.getIdentifier() ); final GlobalDescr bar = (GlobalDescr) pack.getGlobals().get( 1 ); assertEquals( "java.lang.Integer", bar.getType() ); assertEquals( "bar", bar.getIdentifier() ); }
@Test public void testGlobals() { PackageDescr pkg = DescrFactory.newPackage() .name( "org.drools.compiler" ) .newGlobal().type( "java.util.List" ).identifier( "list" ).end() .newGlobal().type( "Person" ).identifier( "bob" ).end() .getDescr(); assertEquals( 2, pkg.getGlobals().size() ); assertEquals( "java.util.List", pkg.getGlobals().get( 0 ).getType() ); assertEquals( "list", pkg.getGlobals().get( 0 ).getIdentifier() ); assertEquals( "Person", pkg.getGlobals().get( 1 ).getType() ); assertEquals( "bob", pkg.getGlobals().get( 1 ).getIdentifier() ); KiePackage kpkg = compilePkgDescr( pkg ); assertEquals( "org.drools.compiler", kpkg.getName() ); }
@Test public void testSemicolon() throws Exception { final PackageDescr pkg = (PackageDescr) parseResource( "compilationUnit", "semicolon.drl" ); assertFalse( parser.getErrors().toString(), parser.hasErrors() ); assertEquals( "org.drools.compiler", pkg.getName() ); assertEquals( 1, pkg.getGlobals().size() ); assertEquals( 3, pkg.getRules().size() ); final RuleDescr rule1 = (RuleDescr) pkg.getRules().get( 0 ); assertEquals( 2, rule1.getLhs().getDescrs().size() ); final RuleDescr query1 = (RuleDescr) pkg.getRules().get( 1 ); assertEquals( 3, query1.getLhs().getDescrs().size() ); final RuleDescr rule2 = (RuleDescr) pkg.getRules().get( 2 ); assertEquals( 2, rule2.getLhs().getDescrs().size() ); }
@Test public void testParseGlobal() throws Exception { final XmlPackageReader xmlPackageReader = getXmReader(); xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseGlobal.xml" ) ) ); final PackageDescr packageDescr = xmlPackageReader.getPackageDescr(); assertNotNull( packageDescr ); assertEquals( "com.sample", packageDescr.getName() ); final List imports = packageDescr.getImports(); assertEquals( 2, imports.size() ); assertEquals( "java.util.HashMap", ((ImportDescr) imports.get( 0 )).getTarget() ); assertEquals( "org.drools.compiler.*", ((ImportDescr) imports.get( 1 )).getTarget() ); final List globals = packageDescr.getGlobals(); assertEquals( 2, globals.size() ); final GlobalDescr x = (GlobalDescr) globals.get( 0 ); final GlobalDescr yada = (GlobalDescr) globals.get( 1 ); assertEquals( "com.sample.X", x.getType() ); assertEquals( "x", x.getIdentifier() ); assertEquals( "com.sample.Yada", yada.getType() ); assertEquals( "yada", yada.getIdentifier() ); }
((ImportDescr) imports.get( 1 )).getTarget() ); final List globals = packageDescr.getGlobals(); assertEquals( 2, globals.size() );
((ImportDescr) imports.get( 1 )).getTarget() ); final List globals = packageDescr.getGlobals(); assertEquals( 2, globals.size() );
pkg.getGlobals().size() ); GlobalDescr global = pkg.getGlobals().get( 0 ); assertEquals( "java.util.List<java.util.Map<String,Integer>>", global.getType() ); global.getEndCharacter() ); global = pkg.getGlobals().get( 1 ); assertEquals( "Integer", global.getType() );
((ImportDescr) imports.get( 1 )).getTarget() ); final List globals = packageDescr.getGlobals(); assertEquals( 2, globals.size() );
private RuleDescr parseDrl( ExpandedDRLInfo expandedDRLInfo ) { DrlParser drlParser = new DrlParser(); PackageDescr packageDescr = null; try { packageDescr = drlParser.parse( true, expandedDRLInfo.plainDrl ); } catch ( DroolsParserException e ) { throw new RuntimeException( e ); } expandedDRLInfo.registerGlobalDescrs( packageDescr.getGlobals() ); return packageDescr.getRules().get( 0 ); }
private RuleDescr parseDrl(final ExpandedDRLInfo expandedDRLInfo) { DrlParser drlParser = new DrlParser(); PackageDescr packageDescr; try { packageDescr = drlParser.parse(true, expandedDRLInfo.plainDrl); if (drlParser.hasErrors()) { throw new RuleModelUnmarshallingException(); } } catch (DroolsParserException e) { throw new RuntimeException(e); } expandedDRLInfo.registerGlobalDescrs(packageDescr.getGlobals()); return packageDescr.getRules().get(0); }
visit(attrDescr); for( GlobalDescr globDesc : descr.getGlobals() ) { visit(globDesc);
visit(funcImportDescr); for (GlobalDescr globalDescr : descr.getGlobals()) { visit(globalDescr);