[jboss-svn-commits] JBL Code SVN: r18942 - in labs/jbossrules/branches/ming-serialization: drools-compiler/src/main/java/org/drools/rule/builder and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 13 16:44:18 EDT 2008


Author: mingjin
Date: 2008-03-13 16:44:18 -0400 (Thu, 13 Mar 2008)
New Revision: 18942

Modified:
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
   labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/BaseClassFieldExtractor.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/FieldFactory.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ValueType.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
   labs/jbossrules/branches/ming-serialization/drools-core/src/test/java/org/drools/common/DroolsObjectIOTest.java
Log:
fixed more static references.

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -82,11 +82,11 @@
                            mapping );
         for ( final Iterator it = mapping.getEntries().iterator(); it.hasNext(); ) {
             final DSLMappingEntry entry = (DSLMappingEntry) it.next();
-            if ( entry.getSection() == DSLMappingEntry.KEYWORD ) {
+            if ( DSLMappingEntry.KEYWORD.equals(entry.getSection()) ) {
                 this.keywords.add( entry );
-            } else if ( entry.getSection() == DSLMappingEntry.CONDITION ) {
+            } else if ( DSLMappingEntry.CONDITION.equals(entry.getSection()) ) {
                 this.condition.add( entry );
-            } else if ( entry.getSection() == DSLMappingEntry.CONSEQUENCE ) {
+            } else if ( DSLMappingEntry.CONSEQUENCE.equals(entry.getSection()) ) {
                 this.consequence.add( entry );
             } else {
                 // if any, then add to them both condition and consequence

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -861,7 +861,7 @@
                                              final boolean reportError) {
         FieldExtractor extractor = null;
 
-        if ( objectType.getValueType() == ValueType.FACTTEMPLATE_TYPE ) {
+        if ( ValueType.FACTTEMPLATE_TYPE.equals(objectType.getValueType()) ) {
             //@todo use extractor cache            
             final FactTemplate factTemplate = ((FactTemplateObjectType) objectType).getFactTemplate();
             extractor = new FactTemplateFieldExtractor( factTemplate,

Modified: labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -170,6 +170,7 @@
                                            5 );
         workingMemory.insert( stilton );
 
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         assertEquals( new Integer( 5 ),
@@ -211,7 +212,7 @@
         final Cheese brie = new Cheese( "brie",
                                         5 );
         workingMemory.insert( brie );
-
+//        workingMemory    = SerializationHelper.serializeObject(workingMemory);
         workingMemory.fireAllRules();
 
         assertEquals( 2,
@@ -663,7 +664,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/BaseClassFieldExtractor.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/BaseClassFieldExtractor.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/BaseClassFieldExtractor.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -79,6 +79,8 @@
         index   = in.readInt();
         fieldType   = (Class)in.readObject();
         valueType   = (ValueType)in.readObject();
+        if (valueType != null)
+            valueType   = ValueType.determineValueType(valueType.getClassType());
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -79,6 +79,8 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         objectTypeClass = (Class)in.readObject();
         valueType       = (ValueType)in.readObject();
+        if (valueType != null)
+            valueType   = ValueType.determineValueType(valueType.getClassType());
         isEvent         = in.readBoolean();
     }
 

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/FieldFactory.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/FieldFactory.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/FieldFactory.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -43,53 +43,53 @@
             valueType = ValueType.NULL_TYPE;
         }
 
-        if ( valueType == ValueType.NULL_TYPE ) {
+        if ( ValueType.NULL_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( null );
-        } else if ( valueType == ValueType.PCHAR_TYPE ) {
+        } else if ( ValueType.PCHAR_TYPE.equals(valueType) ) {
             field = new LongFieldImpl( value.charAt( 0 ) );
-        } else if ( valueType == ValueType.PBYTE_TYPE ) {
+        } else if ( ValueType.PBYTE_TYPE.equals(valueType) ) {
             field = new LongFieldImpl( Long.parseLong( value ) );
-        } else if ( valueType == ValueType.PSHORT_TYPE ) {
+        } else if ( ValueType.PSHORT_TYPE.equals(valueType) ) {
             field = new LongFieldImpl( Long.parseLong( value ) );
-        } else if ( valueType == ValueType.PINTEGER_TYPE ) {
+        } else if ( ValueType.PINTEGER_TYPE.equals(valueType) ) {
             field = new LongFieldImpl( Long.parseLong( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.PLONG_TYPE ) {
+        } else if ( ValueType.PLONG_TYPE.equals(valueType) ) {
             field = new LongFieldImpl( Long.parseLong( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.PFLOAT_TYPE ) {
+        } else if ( ValueType.PFLOAT_TYPE.equals(valueType) ) {
             field = new DoubleFieldImpl( Float.parseFloat( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.PDOUBLE_TYPE ) {
+        } else if ( ValueType.PDOUBLE_TYPE.equals(valueType) ) {
             field = new DoubleFieldImpl( Double.parseDouble( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.PBOOLEAN_TYPE ) {
+        } else if ( ValueType.PBOOLEAN_TYPE.equals(valueType) ) {
             field = new BooleanFieldImpl( Boolean.valueOf( value ).booleanValue() );
-        } else if ( valueType == ValueType.CHAR_TYPE ) {
+        } else if ( ValueType.CHAR_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Character( value.charAt( 0 ) ) );
-        } else if ( valueType == ValueType.BYTE_TYPE ) {
+        } else if ( ValueType.BYTE_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Byte( value ) );
-        } else if ( valueType == ValueType.SHORT_TYPE ) {
+        } else if ( ValueType.SHORT_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Short( value ) );
-        } else if ( valueType == ValueType.INTEGER_TYPE ) {
+        } else if ( ValueType.INTEGER_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Integer( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.LONG_TYPE ) {
+        } else if ( ValueType.LONG_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Long( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.FLOAT_TYPE ) {
+        } else if ( ValueType.FLOAT_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Float( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.DOUBLE_TYPE ) {
+        } else if ( ValueType.DOUBLE_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new Double( stripNumericType( value ) ) );
-        } else if ( valueType == ValueType.BOOLEAN_TYPE ) {
+        } else if ( ValueType.BOOLEAN_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( Boolean.valueOf( value ) );
-        } else if ( valueType == ValueType.STRING_TYPE ) {
+        } else if ( ValueType.STRING_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value.intern() );
-        } else if ( valueType == ValueType.DATE_TYPE ) {
+        } else if ( ValueType.DATE_TYPE.equals(valueType) ) {
             //MN: I think its fine like this, seems to work !
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.ARRAY_TYPE ) {
+        } else if ( ValueType.ARRAY_TYPE.equals(valueType) ) {
             //MN: I think its fine like this.
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.OBJECT_TYPE ) {
+        } else if ( ValueType.OBJECT_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.BIG_DECIMAL_TYPE ) {
+        } else if ( ValueType.BIG_DECIMAL_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new BigDecimal( value ) );
-        } else if ( valueType == ValueType.BIG_INTEGER_TYPE ) {
+        } else if ( ValueType.BIG_INTEGER_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( new BigInteger( value ) );
         }
 
@@ -103,85 +103,85 @@
             valueType = ValueType.NULL_TYPE;
         }
 
-        if ( valueType == ValueType.NULL_TYPE ) {
+        if ( ValueType.NULL_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( null );
-        } else if ( valueType == ValueType.PCHAR_TYPE ) {
+        } else if ( ValueType.PCHAR_TYPE.equals(valueType) ) {
             if( value instanceof String && ((String)value).length() == 1 ) {
                 field = new LongFieldImpl( ((String) value).charAt(0) );
             } else {
                 field = new LongFieldImpl( ((Character) value).charValue() );
             } 
-        } else if ( valueType == ValueType.PBYTE_TYPE ) {
+        } else if ( ValueType.PBYTE_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new LongFieldImpl( Byte.parseByte( (String) value) );
             } else {
                 field = new LongFieldImpl( ((Number) value).byteValue() );
             } 
-        } else if ( valueType == ValueType.PSHORT_TYPE ) {
+        } else if ( ValueType.PSHORT_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new LongFieldImpl( Short.parseShort( (String) value) );
             } else {
                 field = new LongFieldImpl( ((Number) value).shortValue() );
             } 
-        } else if ( valueType == ValueType.PINTEGER_TYPE ) {
+        } else if ( ValueType.PINTEGER_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new LongFieldImpl( Integer.parseInt( stripNumericType( (String) value ) ) );
             } else {
                 field = new LongFieldImpl( ((Number) value).intValue() );
             } 
-        } else if ( valueType == ValueType.PLONG_TYPE ) {
+        } else if ( ValueType.PLONG_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new LongFieldImpl( Long.parseLong( stripNumericType( (String) value ) ) );
             } else {
                 field = new LongFieldImpl( ((Number) value).longValue() );
             } 
-        } else if ( valueType == ValueType.PFLOAT_TYPE ) {
+        } else if ( ValueType.PFLOAT_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new DoubleFieldImpl( Float.parseFloat( stripNumericType( (String) value ) ) );
             } else {
                 field = new DoubleFieldImpl( ((Number) value).floatValue() );
             } 
-        } else if ( valueType == ValueType.PDOUBLE_TYPE ) {
+        } else if ( ValueType.PDOUBLE_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new DoubleFieldImpl( Double.parseDouble( stripNumericType( (String) value ) ) );
             } else {
                 field = new DoubleFieldImpl( ((Number) value).doubleValue() );
             } 
-        } else if ( valueType == ValueType.PBOOLEAN_TYPE ) {
+        } else if ( ValueType.PBOOLEAN_TYPE.equals(valueType) ) {
             if( value instanceof String ) {
                 field = new BooleanFieldImpl( Boolean.valueOf( (String) value).booleanValue() );
             } else {
                 field = new BooleanFieldImpl( ((Boolean) value).booleanValue() );
             } 
-        } else if ( valueType == ValueType.CHAR_TYPE ) {
+        } else if ( ValueType.CHAR_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.BYTE_TYPE ) {
+        } else if ( ValueType.BYTE_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.SHORT_TYPE ) {
+        } else if ( ValueType.SHORT_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.INTEGER_TYPE ) {
+        } else if ( ValueType.INTEGER_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.LONG_TYPE ) {
+        } else if ( ValueType.LONG_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.FLOAT_TYPE ) {
+        } else if ( ValueType.FLOAT_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.DOUBLE_TYPE ) {
+        } else if ( ValueType.DOUBLE_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.BOOLEAN_TYPE ) {
+        } else if ( ValueType.BOOLEAN_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.STRING_TYPE ) {
+        } else if ( ValueType.STRING_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.DATE_TYPE ) {
+        } else if ( ValueType.DATE_TYPE.equals(valueType) ) {
             //MN: I think its fine like this, seems to work !
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.ARRAY_TYPE ) {
+        } else if ( ValueType.ARRAY_TYPE.equals(valueType) ) {
             //MN: I think its fine like this.
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.OBJECT_TYPE ) {
+        } else if ( ValueType.OBJECT_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.BIG_DECIMAL_TYPE ) {
+        } else if ( ValueType.BIG_DECIMAL_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
-        } else if ( valueType == ValueType.BIG_INTEGER_TYPE ) {
+        } else if ( ValueType.BIG_INTEGER_TYPE.equals(valueType) ) {
             field = new ObjectFieldImpl( value );
         }
 

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ValueType.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ValueType.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/base/ValueType.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -203,8 +203,12 @@
     public boolean equals(final Object object) {
         if ( object == this ) {
             return true;
+        } else if (object instanceof ValueType) {
+            ValueType   that    = (ValueType)object;
+            return classType == that.classType &&
+                   simpleType == that.simpleType &&
+                   (name == that.name || name != null && name.equals(that.name));
         }
-
         return false;
     }
 
@@ -213,7 +217,9 @@
     }
 
     public boolean isNumber() {
-        return (this.simpleType == SimpleValueType.INTEGER || this.simpleType == SimpleValueType.DECIMAL || this.simpleType == SimpleValueType.CHAR);
+        return (this.simpleType == SimpleValueType.INTEGER ||
+                this.simpleType == SimpleValueType.DECIMAL ||
+                this.simpleType == SimpleValueType.CHAR);
     }
 
     public boolean isIntegerNumber() {

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -101,9 +101,9 @@
      * @param constraint
      */
     public void addConstraint(Constraint constraint) {
-        if ( constraint.getType() == ConstraintType.ALPHA ) {
+        if ( ConstraintType.ALPHA.equals(constraint.getType())) {
             this.addAlphaConstraint( (AlphaNodeFieldConstraint) constraint );
-        } else if ( constraint.getType() == ConstraintType.BETA ) {
+        } else if ( ConstraintType.BETA.equals(constraint.getType())) {
             this.addBetaConstraint( (BetaNodeFieldConstraint) constraint );
         } else {
             throw new RuntimeDroolsException( "Constraint type MUST be known in advance.");

Modified: labs/jbossrules/branches/ming-serialization/drools-core/src/test/java/org/drools/common/DroolsObjectIOTest.java
===================================================================
--- labs/jbossrules/branches/ming-serialization/drools-core/src/test/java/org/drools/common/DroolsObjectIOTest.java	2008-03-13 20:41:55 UTC (rev 18941)
+++ labs/jbossrules/branches/ming-serialization/drools-core/src/test/java/org/drools/common/DroolsObjectIOTest.java	2008-03-13 20:44:18 UTC (rev 18942)
@@ -29,11 +29,17 @@
     private static final String TEST_FILE   = "test.dat";
     private static final GroupElement   testGroupElement    = new GroupElement();
 
+    static class Test implements Serializable {
+        String  str = TEST_FILE;
+    }
     public void testFileIO() throws Exception {
         File    file    = new File(getClass().getResource("DroolsObjectIOTest.class").getFile());
+        ByteArrayOutputStream   bytes   = new ByteArrayOutputStream();
+        new ObjectOutputStream(bytes).writeObject(new Test());
+        Test    t   = (Test)new ObjectInputStream(new ByteArrayInputStream(bytes.toByteArray())).readObject();
+        String  str = TEST_FILE;
+        file    = new File(file.getParent().replaceAll("%20", " "), str);
 
-        file    = new File(file.getParent().replaceAll("%20", " "), TEST_FILE);
-
         DroolsObjectOutputStream    out = new DroolsObjectOutputStream(new FileOutputStream(file));
 
         out.writeObject(testGroupElement);




More information about the jboss-svn-commits mailing list