private void processGlobals(PackageRegistry pkgRegistry, PackageDescr packageDescr) { for (final GlobalDescr global : packageDescr.getGlobals()) { final String identifier = global.getIdentifier(); String className = global.getType(); // JBRULES-3039: can't handle type name with generic params while (className.indexOf( '<' ) >= 0) { className = className.replaceAll( "<[^<>]+?>", "" ); } try { Class<?> clazz = pkgRegistry.getTypeResolver().resolveType(className); if ( clazz.isPrimitive() ) { this.results.add( new GlobalError( global, " Primitive types are not allowed in globals : " + className ) ); return; } pkgRegistry.getPackage().addGlobal( identifier, clazz ); this.globals.put( identifier, clazz ); } catch (final ClassNotFoundException e) { this.results.add( new GlobalError( global, e.getMessage() ) ); e.printStackTrace(); } } }
private void populateGlobalInfo(final List jars) { // populating information for the globals for ( final Iterator it = pkgDescr.getGlobals().iterator(); it.hasNext(); ) { final GlobalDescr global = (GlobalDescr) it.next(); try { final String shortTypeName = getShortNameOfClass( global.getType() ); final Class< ? > clazz = loadClass( global.getType(), jars ); if ( !this.builder.hasFieldsForType( shortTypeName ) ) { loadClassFields( clazz, shortTypeName ); this.builder.addGlobalType( global.getIdentifier(), shortTypeName ); } if ( implementsCollection( clazz ) ) { this.builder.addGlobalCollection( global.getIdentifier() ); } this.builder.addGlobalType( global.getIdentifier(), shortTypeName ); } catch ( final IOException e ) { this.errors.add( "Error while inspecting class for global: " + global.getType() + " error message: " + e.getMessage() ); } } }
private void populateGlobalInfo(final List jars) { // populating information for the globals for ( final Iterator it = pkgDescr.getGlobals().iterator(); it.hasNext(); ) { final GlobalDescr global = (GlobalDescr) it.next(); try { final String shortTypeName = getShortNameOfClass( global.getType() ); final Class< ? > clazz = loadClass( global.getType(), jars ); if ( !this.builder.hasFieldsForType( shortTypeName ) ) { loadClassFields( clazz, shortTypeName ); this.builder.addGlobalType( global.getIdentifier(), shortTypeName ); } if ( implementsCollection( clazz ) ) { this.builder.addGlobalCollection( global.getIdentifier() ); } this.builder.addGlobalType( global.getIdentifier(), shortTypeName ); } catch ( final IOException e ) { this.errors.add( "Error while inspecting class for global: " + global.getType() + " error message: " + e.getMessage() ); } } }
for (GlobalDescr descr : packageDescr.getGlobals()) { if (!currentGlobalDescrs.contains(descr)) { addGlobal(descr);
public void visitPackageDescr(final PackageDescr packageDescr) { final String packageName = packageDescr.getName(); final String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> " + XmlDumper.eol + " <package name=\"" + packageName + "\" " + XmlDumper.eol + "\txmlns=\"http://drools.org/drools-5.2\" " + XmlDumper.eol + "\txmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\" " + XmlDumper.eol + "\txs:schemaLocation=\"http://drools.org/drools-5.2 drools.org/drools-5.2.xsd\"> " + XmlDumper.eol; appendXmlDump( xmlString ); appendXmlDump( processImportsList( packageDescr.getImports() ) ); appendXmlDump( processGlobalsList( packageDescr.getGlobals() ) ); appendXmlDump( processFunctionImportsList( packageDescr.getFunctionImports() )); appendXmlDump( processFunctionsList( packageDescr.getFunctions() ) ); appendXmlDump( processRules( packageDescr.getRules() ) ); appendXmlDump( "</package>" ); }