public String getProperty(String name) { name = name.trim(); if ( StringUtils.isEmpty( name ) ) { return null; } if ( name.equals( DefaultDialectOption.PROPERTY_NAME ) ) { return getDefaultDialect(); } else if ( name.equals( DefaultPackageNameOption.PROPERTY_NAME ) ) { return getDefaultPackageName(); } else if ( name.startsWith( AccumulateFunctionOption.PROPERTY_NAME ) ) { int index = AccumulateFunctionOption.PROPERTY_NAME.length(); AccumulateFunction function = this.accumulateFunctions.get( name.substring( index ) ); return function != null ? function.getClass().getName() : null; } else if ( name.startsWith( EvaluatorOption.PROPERTY_NAME ) ) { String key = name.substring( name.lastIndexOf( '.' ) + 1 ); EvaluatorDefinition evalDef = this.evaluatorRegistry.getEvaluatorDefinition( key ); return evalDef != null ? evalDef.getClass().getName() : null; } else if ( name.equals( DumpDirOption.PROPERTY_NAME ) ) { return this.dumpDirectory != null ? this.dumpDirectory.toString() : null; } else if ( name.equals( ProcessStringEscapesOption.PROPERTY_NAME ) ) { return String.valueOf( isProcessStringEscapes() ); } else if ( name.equals( ClassLoaderCacheOption.PROPERTY_NAME ) ) { return String.valueOf( isClassLoaderCacheEnabled() ); } else if (name.startsWith(KBuilderSeverityOption.PROPERTY_NAME)){ String key = name.substring(name.lastIndexOf('.') + 1 ); ResultSeverity severity = this.severityMap.get(key); return severity.toString(); } return null; }
public PackageBuilder( RuleBase ruleBase, PackageBuilderConfiguration configuration ) { if (configuration == null) { this.configuration = new PackageBuilderConfiguration(); } else { this.configuration = configuration; } if (ruleBase != null) { this.rootClassLoader = ( (InternalRuleBase) ruleBase ).getRootClassLoader(); } else { this.rootClassLoader = this.configuration.getClassLoader(); } this.rootClassLoader.addClassLoader(getClass().getClassLoader()); this.dateFormats = null;//(DateFormats) this.environment.get( EnvironmentName.DATE_FORMATS ); if (this.dateFormats == null) { this.dateFormats = new DateFormatsImpl(); //this.environment.set( EnvironmentName.DATE_FORMATS , this.dateFormats ); } // FIXME, we need to get drools to support "default" namespace. //this.defaultNamespace = pkg.getName(); this.defaultDialect = this.configuration.getDefaultDialect(); this.pkgRegistryMap = new LinkedHashMap<String, PackageRegistry>(); this.results = new ArrayList<KnowledgeBuilderResult>(); this.ruleBase = (ReteooRuleBase) ruleBase; globals = new HashMap<String, Class<?>>(); processBuilder = createProcessBuilder(); builtinTypes = new HashMap<String, TypeDeclaration>(); initBuiltinTypeDeclarations(); }
public PackageBuilder( Package pkg, PackageBuilderConfiguration configuration ) { if (configuration == null) { this.configuration = new PackageBuilderConfiguration(); } else { this.configuration = configuration; } this.dateFormats = null;//(DateFormats) this.environment.get( EnvironmentName.DATE_FORMATS ); if (this.dateFormats == null) { this.dateFormats = new DateFormatsImpl(); //this.environment.set( EnvironmentName.DATE_FORMATS , this.dateFormats ); } this.rootClassLoader = this.configuration.getClassLoader(); this.rootClassLoader.addClassLoader( getClass().getClassLoader() ); this.defaultDialect = this.configuration.getDefaultDialect(); this.pkgRegistryMap = new LinkedHashMap<String, PackageRegistry>(); this.results = new ArrayList<KnowledgeBuilderResult>(); PackageRegistry pkgRegistry = new PackageRegistry( this, pkg ); pkgRegistry.setDialect( this.defaultDialect ); this.pkgRegistryMap.put( pkg.getName(), pkgRegistry ); globals = new HashMap<String, Class<?>>(); processBuilder = createProcessBuilder(); builtinTypes = new HashMap<String, TypeDeclaration>(); initBuiltinTypeDeclarations(); }