[jboss-svn-commits] JBL Code SVN: r25647 - in labs/jbossrules/trunk: drools-api/src/main/java/org/drools/builder/conf and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Mar 14 11:22:53 EDT 2009
Author: tirelli
Date: 2009-03-14 11:22:53 -0400 (Sat, 14 Mar 2009)
New Revision: 25647
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/conf/DefaultPackageNameOption.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPackageDeclaration.drl
Modified:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeans.drl
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldWriter.java
Log:
JBRULES-1951: enabling default package configuration
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/KnowledgeBuilderConfiguration.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -73,6 +73,8 @@
* <li>drools.accumulate.function.min = org.drools.base.accumulators.MinAccumulateFunction</li>
* <li>drools.accumulate.function.count = org.drools.base.accumulators.CountAccumulateFunction</li>
* <li>drools.accumulate.function.sum = org.drools.base.accumulators.SumAccumulateFunction</li>
+ * <li>drools.accumulate.function.collectSet = org.drools.base.accumulators.CollectSetAccumulateFunction</li>
+ * <li>drools.accumulate.function.collectList = org.drools.base.accumulators.CollectListAccumulateFunction</li>
* </ul>
* </p>
*/
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/conf/DefaultPackageNameOption.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/conf/DefaultPackageNameOption.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/conf/DefaultPackageNameOption.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2008 Red Hat
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.drools.builder.conf;
+
+
+/**
+ * A class for the default package name configuration.
+ *
+ * @author etirelli
+ */
+public class DefaultPackageNameOption implements SingleValueKnowledgeBuilderOption {
+
+ private static final long serialVersionUID = -8461267995706982981L;
+
+ /**
+ * The property name for the default package name
+ */
+ public static final String PROPERTY_NAME = "drools.defaultPackageName";
+
+ /**
+ * package name
+ */
+ private final String packageName;
+
+ /**
+ * Private constructor to enforce the use of the factory method
+ * @param packageName
+ */
+ private DefaultPackageNameOption( String packageName ) {
+ this.packageName = packageName;
+ }
+
+ /**
+ * This is a factory method for this DefaultPackageName configuration.
+ * The factory method is a best practice for the case where the
+ * actual object construction is changed in the future.
+ *
+ * @param packageName the name of the package to be configured as default
+ *
+ * @return the actual type safe default package name configuration.
+ */
+ public static DefaultPackageNameOption get( String packageName ) {
+ return new DefaultPackageNameOption( packageName );
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getPropertyName() {
+ return PROPERTY_NAME;
+ }
+
+ /**
+ * Returns the name of the package configured as default
+ *
+ * @return
+ */
+ public String getPackageName() {
+ return packageName;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((packageName == null) ? 0 : packageName.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if ( this == obj ) return true;
+ if ( obj == null ) return false;
+ if ( getClass() != obj.getClass() ) return false;
+ DefaultPackageNameOption other = (DefaultPackageNameOption) obj;
+ if ( packageName == null ) {
+ if ( other.packageName != null ) return false;
+ } else if ( !packageName.equals( other.packageName ) ) return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "DefaultPackageNameOption( name="+packageName+" )";
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/builder/conf/DefaultPackageNameOption.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -121,11 +121,6 @@
private ReteooRuleBase ruleBase;
/**
- * Current default package
- */
- private String defaultNamespace;
-
- /**
* default dialect
*/
private final String defaultDialect;
@@ -227,7 +222,6 @@
this.rootClassLoader = new CompositeClassLoader( this.configuration.getClassLoader() );
- this.defaultNamespace = pkg.getName();
this.defaultDialect = this.configuration.getDefaultDialect();
this.pkgRegistryMap = new HashMap<String, PackageRegistry>();
@@ -586,18 +580,10 @@
}
}
- if ( !isEmpty( packageDescr.getNamespace() ) ) {
- // use the default namespace
- if ( checkNamespace( packageDescr.getNamespace() ) ) {
- this.defaultNamespace = packageDescr.getNamespace();
- } else {
- //force the default.
- packageDescr.setNamespace( this.defaultNamespace );
- }
- } else {
- // packagedescr defines a new default namespace
- packageDescr.setNamespace( this.defaultNamespace );
+ if ( isEmpty( packageDescr.getNamespace() ) ) {
+ packageDescr.setNamespace( this.configuration.getDefaultPackageName() );
}
+ checkNamespace( packageDescr.getNamespace() );
PackageRegistry pkgRegistry = this.pkgRegistryMap.get( packageDescr.getNamespace() );
if ( pkgRegistry == null ) {
@@ -613,8 +599,8 @@
// only try to compile if there are no parse errors
if ( !hasErrors() ) {
- for ( final Iterator it = packageDescr.getFactTemplates().iterator(); it.hasNext(); ) {
- addFactTemplate( (FactTemplateDescr) it.next() );
+ for ( final FactTemplateDescr factTempl : packageDescr.getFactTemplates() ) {
+ addFactTemplate( packageDescr, factTempl );
}
if ( !packageDescr.getFunctions().isEmpty() ) {
@@ -623,7 +609,7 @@
FunctionDescr functionDescr = (FunctionDescr) it.next();
if ( isEmpty( functionDescr.getNamespace() ) ) {
// make sure namespace is set on components
- functionDescr.setNamespace( this.defaultNamespace );
+ functionDescr.setNamespace( packageDescr.getNamespace() );
}
if ( isEmpty( functionDescr.getDialect() ) ) {
// make sure namespace is set on components
@@ -654,7 +640,7 @@
RuleDescr ruleDescr = (RuleDescr) it.next();
if ( isEmpty( ruleDescr.getNamespace() ) ) {
// make sure namespace is set on components
- ruleDescr.setNamespace( this.defaultNamespace );
+ ruleDescr.setNamespace( packageDescr.getNamespace() );
}
if ( isEmpty( ruleDescr.getDialect() ) ) {
ruleDescr.addAttribute( new AttributeDescr( "dialect", pkgRegistry.getDialect() ) );
@@ -683,8 +669,6 @@
*/
private boolean checkNamespace(String newName) {
if ( this.configuration == null ) return true;
- if ( this.defaultNamespace == null ) return true;
- if ( this.defaultNamespace.equals( newName ) ) return true;
return this.configuration.isAllowMultipleNamespaces();
}
@@ -851,10 +835,8 @@
// }
private void validateUniqueRuleNames(final PackageDescr packageDescr) {
- final Set names = new HashSet();
- String namespace = packageDescr.getNamespace();
- for ( final Iterator iter = packageDescr.getRules().iterator(); iter.hasNext(); ) {
- final RuleDescr rule = (RuleDescr) iter.next();
+ final Set<String> names = new HashSet<String>();
+ for ( final RuleDescr rule : packageDescr.getRules() ) {
final String name = rule.getName();
if ( names.contains( name ) ) {
this.results.add( new ParserError( "Duplicate rule name: " + name,
@@ -900,34 +882,25 @@
}
private void mergePackage(final PackageDescr packageDescr) {
- PackageRegistry pkgRegistry;
- if ( isEmpty( packageDescr.getName() ) ) {
- pkgRegistry = this.pkgRegistryMap.get( this.defaultNamespace );
- } else {
- pkgRegistry = this.pkgRegistryMap.get( packageDescr.getNamespace() );
- }
+ PackageRegistry pkgRegistry = this.pkgRegistryMap.get( packageDescr.getNamespace() );
- final List imports = packageDescr.getImports();
- for ( final Iterator it = imports.iterator(); it.hasNext(); ) {
- ImportDescr importEntry = (ImportDescr) it.next();
+ for ( final ImportDescr importEntry : packageDescr.getImports() ) {
pkgRegistry.addImport( importEntry.getTarget() );
}
processTypeDeclarations( packageDescr );
- for ( final Iterator it = packageDescr.getFunctionImports().iterator(); it.hasNext(); ) {
- String importEntry = ((FunctionImportDescr) it.next()).getTarget();
+ for ( final FunctionImportDescr functionImport : packageDescr.getFunctionImports() ) {
+ String importEntry = functionImport.getTarget();
pkgRegistry.addStaticImport( importEntry );
pkgRegistry.getPackage().addStaticImport( importEntry );
}
- final List globals = packageDescr.getGlobals();
- for ( final Iterator it = globals.iterator(); it.hasNext(); ) {
- final GlobalDescr global = (GlobalDescr) it.next();
+ for ( final GlobalDescr global : packageDescr.getGlobals() ) {
final String identifier = global.getIdentifier();
final String className = global.getType();
- Class clazz;
+ Class<?> clazz;
try {
clazz = pkgRegistry.getTypeResolver().resolveType( className );
pkgRegistry.getPackage().addGlobal( identifier,
@@ -947,24 +920,15 @@
* @param packageDescr
*/
private void processTypeDeclarations(final PackageDescr packageDescr) {
- PackageRegistry defaultRegistry;
- if ( isEmpty( packageDescr.getName() ) ) {
- defaultRegistry = this.pkgRegistryMap.get( this.defaultNamespace );
- } else {
- defaultRegistry = this.pkgRegistryMap.get( packageDescr.getNamespace() );
- }
+ PackageRegistry defaultRegistry = this.pkgRegistryMap.get( packageDescr.getNamespace() );
PackageRegistry pkgRegistry = null;
for ( TypeDeclarationDescr typeDescr : packageDescr.getTypeDeclarations() ) {
// make sure namespace is set on components
if ( isEmpty( typeDescr.getNamespace() ) ) {
- // use the default namespace
- typeDescr.setNamespace( defaultRegistry.getPackage().getName() );
- pkgRegistry = defaultRegistry;
- } else {
- // use the namespace specified by the type declaration
- pkgRegistry = this.pkgRegistryMap.get( typeDescr.getNamespace() );
+ typeDescr.setNamespace( packageDescr.getNamespace() );
}
+ pkgRegistry = this.pkgRegistryMap.get( typeDescr.getNamespace() );
TypeDeclaration type = new TypeDeclaration( typeDescr.getTypeName() );
if ( resource != null && ((InternalResource) resource).hasURL() ) {
@@ -1152,10 +1116,10 @@
pkgRegistry.getTypeResolver() );
}
- private void addFactTemplate(final FactTemplateDescr factTemplateDescr) {
+ private void addFactTemplate(final PackageDescr pkgDescr, final FactTemplateDescr factTemplateDescr) {
final List fields = new ArrayList();
int index = 0;
- PackageRegistry pkgRegistry = this.pkgRegistryMap.get( this.defaultNamespace );
+ PackageRegistry pkgRegistry = this.pkgRegistryMap.get( pkgDescr.getNamespace() );
for ( final Iterator it = factTemplateDescr.getFields().iterator(); it.hasNext(); ) {
final FieldTemplateDescr fieldTemplateDescr = (FieldTemplateDescr) it.next();
FieldTemplate fieldTemplate = null;
@@ -1217,7 +1181,10 @@
* Compiled packages are serializable.
*/
public Package getPackage() {
- PackageRegistry pkgRegistry = this.pkgRegistryMap.get( this.defaultNamespace );
+ PackageRegistry pkgRegistry = null;
+ if( ! this.pkgRegistryMap.isEmpty() ) {
+ pkgRegistry = (PackageRegistry) this.pkgRegistryMap.values().toArray()[0];
+ }
Package pkg = null;
if ( pkgRegistry != null ) {
pkg = pkgRegistry.getPackage();
@@ -1308,10 +1275,6 @@
this.results.clear();
}
- public String getDefaultNamespace() {
- return this.defaultNamespace;
- }
-
public String getDefaultDialect() {
return this.defaultDialect;
}
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -31,6 +31,7 @@
import org.drools.builder.KnowledgeBuilderConfiguration;
import org.drools.builder.conf.AccumulateFunctionOption;
import org.drools.builder.conf.DefaultDialectOption;
+import org.drools.builder.conf.DefaultPackageNameOption;
import org.drools.builder.conf.DumpDirOption;
import org.drools.builder.conf.EvaluatorOption;
import org.drools.builder.conf.KnowledgeBuilderOption;
@@ -83,7 +84,7 @@
implements
KnowledgeBuilderConfiguration {
- private Map dialectConfigurations;
+ private Map<String, DialectConfiguration> dialectConfigurations;
private DefaultDialectOption defaultDialect;
@@ -105,6 +106,8 @@
private boolean processStringEscapes = true;
+ private String defaultPackageName;
+
public boolean isAllowMultipleNamespaces() {
return allowMultipleNamespaces;
}
@@ -168,7 +171,7 @@
this.chainedProperties.addProperties( properties );
}
- this.dialectConfigurations = new HashMap();
+ this.dialectConfigurations = new HashMap<String, DialectConfiguration>();
buildDialectConfigurationMap();
@@ -181,6 +184,10 @@
setProperty( ProcessStringEscapesOption.PROPERTY_NAME,
this.chainedProperties.getProperty( ProcessStringEscapesOption.PROPERTY_NAME,
"true" ) );
+
+ setProperty( DefaultPackageNameOption.PROPERTY_NAME,
+ this.chainedProperties.getProperty( DefaultPackageNameOption.PROPERTY_NAME,
+ "org.drools.pkg" ) );
}
public void setProperty(String name,
@@ -199,6 +206,8 @@
this.evaluatorRegistry.addEvaluatorDefinition( value );
} else if ( name.equals( DumpDirOption.PROPERTY_NAME ) ) {
buildDumpDirectory( value );
+ } else if ( name.equals( DefaultPackageNameOption.PROPERTY_NAME ) ) {
+ setDefaultPackageName( value );
} else if ( name.equals( ProcessStringEscapesOption.PROPERTY_NAME ) ) {
setProcessStringEscapes( Boolean.parseBoolean( value ) );
}
@@ -212,6 +221,8 @@
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 ) );
@@ -610,6 +621,14 @@
public void setProcessStringEscapes(boolean processStringEscapes) {
this.processStringEscapes = processStringEscapes;
}
+
+ public String getDefaultPackageName() {
+ return defaultPackageName;
+ }
+
+ public void setDefaultPackageName(String defaultPackageName) {
+ this.defaultPackageName = defaultPackageName;
+ }
@SuppressWarnings("unchecked")
public <T extends SingleValueKnowledgeBuilderOption> T getOption(Class<T> option) {
@@ -619,6 +638,8 @@
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 );
}
return null;
}
@@ -648,6 +669,9 @@
this.evaluatorRegistry.addEvaluatorDefinition( (EvaluatorDefinition) ((EvaluatorOption)option).getEvaluatorDefinition() );
} else if ( option instanceof ProcessStringEscapesOption ) {
this.processStringEscapes = ((ProcessStringEscapesOption) option).isProcessStringEscapes();
+ } else if ( option instanceof DefaultPackageNameOption ) {
+ setDefaultPackageName( ((DefaultPackageNameOption) option).getPackageName() );
}
}
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/builder/KnowledgeBuilderConfigurationTest.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -28,6 +28,7 @@
import org.drools.base.evaluators.EvaluatorDefinition;
import org.drools.builder.conf.AccumulateFunctionOption;
import org.drools.builder.conf.DefaultDialectOption;
+import org.drools.builder.conf.DefaultPackageNameOption;
import org.drools.builder.conf.DumpDirOption;
import org.drools.builder.conf.EvaluatorOption;
import org.drools.builder.conf.ProcessStringEscapesOption;
@@ -230,6 +231,35 @@
config.getProperty( ProcessStringEscapesOption.PROPERTY_NAME ) );
}
+ public void testDefaultPackageNameConfiguration() {
+ // setting the default dialect using the type safe method
+ config.setOption( DefaultPackageNameOption.get( "org.test" ) );
+
+ // checking the type safe getOption() method
+ assertEquals( DefaultPackageNameOption.get( "org.test" ),
+ config.getOption( DefaultPackageNameOption.class ) );
+ // checking string conversion
+ assertEquals( "org.test",
+ config.getOption( DefaultPackageNameOption.class ).getPackageName() );
+ // checking the string based getProperty() method
+ assertEquals( "org.test",
+ config.getProperty( DefaultPackageNameOption.PROPERTY_NAME ) );
+
+ // setting the default dialect using the string based setProperty() method
+ config.setProperty( DefaultPackageNameOption.PROPERTY_NAME,
+ "org.drools" );
+
+ // checking the type safe getOption() method
+ assertEquals( DefaultPackageNameOption.get( "org.drools" ),
+ config.getOption( DefaultPackageNameOption.class ) );
+ // checking string conversion
+ assertEquals( "org.drools",
+ config.getOption( DefaultPackageNameOption.class ).getPackageName() );
+ // checking the string based getProperty() method
+ assertEquals( "org.drools",
+ config.getProperty( DefaultPackageNameOption.PROPERTY_NAME ) );
+ }
+
/**
* an accumulate function implemented as an inner class
* @author admin
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -6180,7 +6180,7 @@
assertEquals( Integer.valueOf( 10 ), results.get( 0 ) );
}
- public void FIXME_testDRLWithoutPackageDeclaration() throws Exception {
+ public void testDRLWithoutPackageDeclaration() throws Exception {
final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add( ResourceFactory.newInputStreamResource( getClass().getResourceAsStream( "test_NoPackageDeclaration.drl" ) ),
ResourceType.DRL );
@@ -6188,16 +6188,17 @@
final KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
- final List results = new ArrayList();
+ // no package defined, so it is set to the default
+ final FactType factType = kbase.getFactType( "org.drools.pkg", "Person" );
+ assertNotNull( factType );
+ final Object bob = factType.newInstance();
+ factType.set( bob, "name", "Bob" );
+ factType.set( bob, "age", Integer.valueOf( 30 ) );
final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
+ final List results = new ArrayList();
session.setGlobal( "results", results );
- final FactType factType = kbase.getFactType( "", "Person" );
- final Object bob = factType.newInstance();
- factType.set( bob, "name", "Bob" );
- factType.set( bob, "age", Integer.valueOf( 30 ) );
-
session.insert( bob );
session.fireAllRules();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeans.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeans.drl 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_GeneratedBeans.drl 2009-03-14 15:22:53 UTC (rev 25647)
@@ -9,6 +9,7 @@
end
declare Person
+ name : String
age: int
likes: Cheese
end
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPackageDeclaration.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPackageDeclaration.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPackageDeclaration.drl 2009-03-14 15:22:53 UTC (rev 25647)
@@ -0,0 +1,18 @@
+global java.util.List results
+
+function boolean test( Object o1, Object o2 ) {
+ return o1.equals(o2);
+}
+
+declare Person
+ name : String @key
+ age : int
+end
+
+rule "TestRule"
+when
+ $p : Person( name == "Bob" );
+then
+ results.add( $p );
+end
+
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldWriter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldWriter.java 2009-03-14 08:16:21 UTC (rev 25646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldWriter.java 2009-03-14 15:22:53 UTC (rev 25647)
@@ -47,36 +47,8 @@
final String fieldName) {
this.className = className;
this.fieldName = fieldName;
-// this.clazz = clazz;
-// this.fieldName = fieldName;
-// init( findClassLoader( classLoader ),
-// factory );
}
-// public ClassFieldWriter(final Class< ? > clazz,
-// final String fieldName,
-// final ClassLoader classLoader,
-// final ClassFieldAccessorFactory factory) {
-// this.clazz = clazz;
-// this.fieldName = fieldName;
-// init( findClassLoader( classLoader ),
-// factory );
-// }
-
-// /**
-// * @param classLoader
-// */
-// private ClassLoader findClassLoader(final ClassLoader classLoader) {
-// ClassLoader loader = classLoader;
-// if ( loader == null ) {
-// loader = Thread.currentThread().getContextClassLoader();
-// if ( loader == null ) {
-// loader = this.getClass().getClassLoader();
-// }
-// }
-// return loader;
-// }
-
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject( className );
out.writeObject( fieldName );
@@ -87,17 +59,6 @@
className = (String) is.readObject();
fieldName = (String) is.readObject();
}
-//
-// private void init(final ClassLoader classLoader,
-// final ClassFieldAccessorFactory factory) {
-// try {
-// this.writer = factory.getClassFieldWriter( this.clazz,
-// this.fieldName,
-// classLoader );
-// } catch ( final Exception e ) {
-// throw new RuntimeDroolsException( e );
-// }
-// }
public void setWriteAccessor(WriteAccessor writer) {
this.writer = writer;
More information about the jboss-svn-commits
mailing list