private PackageDescrBuilderImpl() { super( null, new PackageDescr() ); }
public Object start(final String uri, final String localName, final Attributes attrs, final ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder( localName, attrs ); final String ruleSetName = attrs.getValue( "name" ); if ( ruleSetName == null || ruleSetName.trim().equals( "" ) ) { throw new SAXParseException( "<package> requires a 'name' attribute", parser.getLocator() ); } final PackageDescr packageDescr = new PackageDescr( ruleSetName.trim() ); parser.setData( packageDescr ); return packageDescr; }
private void registerTypeDeclaration(String packageName, TypeDeclaration typeDeclaration) { if ( typeDeclaration.getNature() == TypeDeclaration.Nature.DECLARATION || packageName.equals(typeDeclaration.getTypeClass().getPackage().getName()) ) { PackageRegistry packageRegistry = pkgRegistryMap.get( packageName ); if (packageRegistry != null) { packageRegistry.getPackage().addTypeDeclaration( typeDeclaration ); } else { newPackage( new PackageDescr( packageName, "" ) ); pkgRegistryMap.get( packageName ).getPackage().addTypeDeclaration( typeDeclaration ); } } }
pkgBuilder.addPackage( new PackageDescr( pkgName ) ); pkgReg = pkgBuilder.getPackageRegistry( pkgName );
pkgBuilder.addPackage(new PackageDescr(packageName)); pkgReg = pkgBuilder.getPackageRegistry(packageName);
@Test public void testEclipseCompiler() throws Exception { System.setProperty("drools.dialect.java.compiler", "ECLIPSE"); JarInputStream jis = new JarInputStream(this.getClass().getResourceAsStream("/billasurf.jar")); List<JarInputStream> l = new ArrayList<JarInputStream>(); l.add(jis); BRMSPackageBuilder builder = new BRMSPackageBuilder(new Properties(), new ClassLoaderBuilder(l).buildClassLoader()); PackageDescr pc = new PackageDescr("foo.bar"); builder.addPackage(pc); String header = "import com.billasurf.Person\n import com.billasurf.Board"; builder.addPackageFromDrl(new StringReader(header)); assertFalse(builder.hasErrors()); JavaDialectConfiguration javaConf = (JavaDialectConfiguration) builder.getPackageBuilderConfiguration().getDialectConfiguration("java"); assertEquals(JavaDialectConfiguration.ECLIPSE, javaConf.getCompiler()); }
@Test public void testDefaultCompiler() throws Exception { JarInputStream jis = new JarInputStream(this.getClass().getResourceAsStream("/billasurf.jar")); List<JarInputStream> l = new ArrayList<JarInputStream>(); l.add(jis); Properties properties = new Properties(); properties.setProperty("drools.accumulate.function.groupCount", "org.drools.base.accumulators.MaxAccumulateFunction"); BRMSPackageBuilder builder = new BRMSPackageBuilder(properties, new ClassLoaderBuilder(l).buildClassLoader()); assertEquals("org.drools.base.accumulators.MaxAccumulateFunction", builder.getPackageBuilderConfiguration().getAccumulateFunction("groupCount").getClass().getName()); PackageDescr pc = new PackageDescr("foo.bar"); builder.addPackage(pc); String header = "import com.billasurf.Person\n import com.billasurf.Board"; builder.addPackageFromDrl(new StringReader(header)); assertFalse(builder.hasErrors()); JavaDialectConfiguration javaConf = (JavaDialectConfiguration) builder.getPackageBuilderConfiguration().getDialectConfiguration("java"); assertEquals(JavaDialectConfiguration.ECLIPSE, javaConf.getCompiler()); }
PackageDescr packageDescr = new PackageDescr( newPkg.getName() ); pkgRegistry = newPackage( packageDescr ); mergePackage( this.pkgRegistryMap.get( packageDescr.getNamespace() ), packageDescr );
@Test public void testGeneratedBeansExtendsPOJOSimple() throws Exception { JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) ); List<JarInputStream> jarInputStreams = new ArrayList<JarInputStream>(); jarInputStreams.add( jis ); BRMSPackageBuilder builder = new BRMSPackageBuilder( new Properties(), new ClassLoaderBuilder( jarInputStreams ).buildClassLoader() ); PackageDescr pc = new PackageDescr( "foo.bar" ); builder.addPackage( pc ); String header = "import com.billasurf.Person\n" + "declare Person \n" + "end\n"; builder.addPackageFromDrl( new StringReader( header ) ); assertFalse( builder.hasErrors() ); String rule1 = "rule foo \n" + "when \n" + "Person(age==27, name=='mike') \n" + "then \n" + "System.out.println(42);\n" + "end"; builder.addPackageFromDrl( new StringReader( rule1 ) ); if ( builder.hasErrors() ) { System.err.println( builder.getErrors().getErrors()[0].getMessage() ); } assertFalse( builder.hasErrors() ); assertEquals( "foo.bar", builder.getPackage().getName() ); }
new ClassLoaderBuilder( jarInputStreams ).buildClassLoader() ); PackageDescr pc = new PackageDescr( "foo.bar" ); builder.addPackage( pc );
@Test public void testGeneratedBeans() throws Exception { JarInputStream jis = new JarInputStream(this.getClass().getResourceAsStream("/billasurf.jar")); List<JarInputStream> jarInputStreams = new ArrayList<JarInputStream>(); jarInputStreams.add(jis); BRMSPackageBuilder builder = new BRMSPackageBuilder(new Properties(), new ClassLoaderBuilder(jarInputStreams).buildClassLoader()); builder.getPackageBuilderConfiguration().setDefaultPackageName( "foo.bar" ); PackageDescr pc = new PackageDescr("foo.bar"); builder.addPackage(pc); String header = "import com.billasurf.Person\n import com.billasurf.Board\n declare GenBean \n name: String \n end"; builder.addPackageFromDrl(new StringReader(header)); assertFalse(builder.hasErrors()); JavaDialectConfiguration javaConf = (JavaDialectConfiguration) builder.getPackageBuilderConfiguration().getDialectConfiguration("java"); assertEquals(JavaDialectConfiguration.ECLIPSE, javaConf.getCompiler()); String ruleAtom = "rule foo \n when \n Person() \n GenBean(name=='mike')\n then \n System.out.println(42); end"; builder.addPackageFromDrl(new StringReader(ruleAtom)); if (builder.hasErrors()) { System.err.println(builder.getErrors().getErrors()[0].getMessage()); } assertFalse(builder.hasErrors()); ruleAtom = "rule foo2 \n when \n Person() \n then \n System.out.println(42); end"; builder.addPackageFromDrl(new StringReader(ruleAtom)); if (builder.hasErrors()) { System.err.println(builder.getErrors().getErrors()[0].getMessage()); } assertFalse(builder.hasErrors()); assertEquals("foo.bar", builder.getPackage().getName()); }
new ClassLoaderBuilder( jarInputStreams ).buildClassLoader() ); PackageDescr pc = new PackageDescr( "foo.bar" ); builder.addPackage( pc );
PackageDescr altDescr = new PackageDescr( typeDescr.getNamespace() ); if ( typeDescr instanceof TypeDeclarationDescr ) { altDescr.addTypeDeclaration( (TypeDeclarationDescr) typeDescr );
builder.getPackageBuilderConfiguration().setDefaultPackageName( "foo.bar" ); PackageDescr pc = new PackageDescr( "foo.bar" ); builder.addPackage( pc );