@SuppressWarnings("unchecked") public <T extends SingleValueKnowledgeBuilderOption> T getOption(Class<T> option) { if ( DefaultDialectOption.class.equals( option ) ) { return (T) this.defaultDialect; } else if ( DumpDirOption.class.equals( option ) ) { return (T) DumpDirOption.get( this.dumpDirectory ); } else if ( ProcessStringEscapesOption.class.equals( option ) ) { return (T) (this.processStringEscapes ? ProcessStringEscapesOption.YES : ProcessStringEscapesOption.NO); } else if ( DefaultPackageNameOption.class.equals( option ) ) { return (T) DefaultPackageNameOption.get( this.defaultPackageName ); } else if ( ClassLoaderCacheOption.class.equals( option ) ) { return (T) (this.classLoaderCache ? ClassLoaderCacheOption.ENABLED : ClassLoaderCacheOption.DISABLED); } else if ( PropertySpecificOption.class.equals( option ) ) { return (T)propertySpecificOption; } return null; }
/** * @param classLoader */ protected void initKnowledgeBuilderConfiguration(final ClassLoader classLoader) { Properties props = new Properties(); props.setProperty("drools.dialect.java.compiler", "JANINO"); this.knowledgeBuilderConf = newKnowledgeBuilderConfiguration(props, classLoader); // In development, dump drools generated files if (Boolean.getBoolean("jonas.developer")) { File dumpDir = new File(System.getProperty("java.io.tmpdir"), "drools_dump"); boolean exists = dumpDir.exists(); if (!exists) { exists = dumpDir.mkdir(); } if (exists && dumpDir.isDirectory()) { debug("WorkingMemory[<name>] Drools dump directory set to {0}", dumpDir); knowledgeBuilderConf.setOption(DumpDirOption.get(dumpDir)); } } }