[jboss-svn-commits] JBL Code SVN: r17397 - in labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools: base/evaluators and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 25 16:49:38 EST 2007


Author: haruki_zaemon
Date: 2007-12-25 16:49:38 -0500 (Tue, 25 Dec 2007)
New Revision: 17397

Modified:
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/BaseEvaluator.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/SalienceInteger.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ValueType.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/Operator.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Declaration.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/GroupElement.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Package.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Pattern.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Rule.java
   labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/spi/PatternExtractor.java
Log:
Use Objenesis to bypass constructors...also improved performance by around 28%!

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/BaseEvaluator.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/BaseEvaluator.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/BaseEvaluator.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -40,9 +40,6 @@
 
     private ValueType type;
 
-    protected BaseEvaluator() {
-    }
-
     public BaseEvaluator(final ValueType type,
                          final Operator operator) {
         this.type = type;

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -46,9 +46,6 @@
     private Class                    clazz;
     private transient FieldExtractor extractor;
 
-    private ClassFieldExtractor() {
-    }
-
     public ClassFieldExtractor(final Class clazz,
                                final String fieldName) {
         this( clazz,

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ClassObjectType.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -46,9 +46,6 @@
     // Constructors
     // ------------------------------------------------------------
 
-    private ClassObjectType() {
-    }
-
     /**
      * Creates a new class object type with shadow disabled.
      *

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/SalienceInteger.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/SalienceInteger.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/SalienceInteger.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -19,9 +19,6 @@
 
     private int value;
 
-    private SalienceInteger() {
-    }
-
     public SalienceInteger(int value) {
         this.value = value;
     }

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ValueType.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ValueType.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/ValueType.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -95,9 +95,6 @@
     private Class            classType;
     private int              simpleType;
 
-    private ValueType() {
-    }
-
     private ValueType(final String name,
                       final Class classType,
                       final int simpleType) {

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/EqualityEvaluatorsDefinition.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -1955,15 +1955,12 @@
     }
 
     static class StringEqualEvaluator extends BaseEvaluator implements Resolvable {
-        public final static Evaluator INSTANCE = new StringEqualEvaluator(ValueType.STRING_TYPE, Operator.EQUAL);
+        public final static Evaluator INSTANCE = new StringEqualEvaluator();
 
         private StringEqualEvaluator() {
+            super(ValueType.STRING_TYPE, Operator.EQUAL);
         }
 
-        private StringEqualEvaluator(ValueType type, Operator operator) {
-            super(type, operator);
-        }
-
         public boolean evaluate(InternalWorkingMemory workingMemory,
                                 final Extractor extractor,
                                 final Object object1, final FieldValue object2) {

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/Operator.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/Operator.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/evaluators/Operator.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -80,9 +80,6 @@
     private String  operator;
     private boolean isNegated;
 
-    private Operator() {
-    }
-
     private Operator(final String operator,
                      final boolean isNegated) {
         this.operator = operator;

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/base/field/ObjectFieldImpl.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -38,9 +38,6 @@
     private boolean     isCharacter;
     private boolean     isString;
 
-    private ObjectFieldImpl() {
-    }
-
     public ObjectFieldImpl(final Object value) {
         setValue(value);
     }

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -2,6 +2,9 @@
 
 import org.drools.base.ClassFieldExtractorCache;
 import static org.drools.common.DroolsObjectStreamConstants.*;
+import org.drools.objenesis.Objenesis;
+import org.drools.objenesis.ObjenesisStd;
+import org.drools.objenesis.instantiator.ObjectInstantiator;
 
 import java.io.DataInputStream;
 import java.io.Externalizable;
@@ -21,6 +24,7 @@
 
 // TODO: Change access protection for calling constructor
 public class DroolsObjectInputStream extends DataInputStream implements ObjectInput {
+    private static final Objenesis OBJENESIS = new ObjenesisStd();
     private final Map objectsByHandle = new HashMap();
     private ClassLoader classLoader;
     private InternalRuleBase ruleBase;
@@ -238,24 +242,8 @@
     }
 
     private Externalizable createExternalizable(Class clazz) {
-        try {
-            Constructor constructor = clazz.getDeclaredConstructor();
-            boolean accessible = constructor.isAccessible();
-            constructor.setAccessible(true);
-            try {
-                return (Externalizable) constructor.newInstance();
-            } catch (IllegalAccessException e) {
-                throw new IllegalStateException(e);
-            } catch (InvocationTargetException e) {
-                throw new IllegalStateException(e);
-            } catch (InstantiationException e) {
-                throw new IllegalStateException(e);
-            } finally {
-                constructor.setAccessible(accessible);
-            }
-        } catch (NoSuchMethodException e) {
-            throw new IllegalStateException(e);
-        }
+        ObjectInstantiator instantiator = OBJENESIS.getInstantiatorOf(clazz);
+        return (Externalizable) instantiator.newInstance();
     }
 
     private String unmarshalString() throws IOException {

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Declaration.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Declaration.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Declaration.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -97,9 +97,6 @@
     // Constructors
     // ------------------------------------------------------------
 
-    private Declaration() {
-    }
-
     /**
      * Construct.
      *

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/GroupElement.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/GroupElement.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/GroupElement.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -40,7 +40,8 @@
     private Type              type;
     private List              children;
 
-    private GroupElement() {
+    public GroupElement() {
+        this( AND );
     }
 
     public GroupElement(final Type type) {
@@ -249,7 +250,7 @@
         GroupElement cloned = null;
 
         try {
-            cloned = (GroupElement) this.getClass().newInstance();
+            cloned = this.getClass().newInstance();
         } catch ( final InstantiationException e ) {
             throw new RuntimeException( "Could not clone '" + this.getClass().getName() + "'" );
         } catch ( final IllegalAccessException e ) {

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/ImportDeclaration.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -33,9 +33,6 @@
     private String target;
     private boolean isEvent;
 
-    private ImportDeclaration() {
-    }
-
     /**
      * Creates an import declaration for the given target.
      *

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralConstraint.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -37,9 +37,6 @@
 
     private LiteralRestriction restriction;
 
-    private LiteralConstraint() {
-    }
-
     public LiteralConstraint(final FieldExtractor extractor,
                              final Evaluator evaluator,
                              final FieldValue field) {

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -43,9 +43,6 @@
 
     private LiteralContextEntry  contextEntry;
 
-    private LiteralRestriction() {
-    }
-
     public LiteralRestriction(final FieldValue field,
                               final Evaluator evaluator,
                               final FieldExtractor fieldExtractor) {
@@ -155,9 +152,6 @@
         public Object             object;
         public ContextEntry       next;
 
-        private LiteralContextEntry() {
-        }
-
         public LiteralContextEntry(final FieldExtractor extractor) {
             this.extractor = extractor;
         }

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Package.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Package.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Package.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -85,14 +85,6 @@
     // ------------------------------------------------------------
 
     /**
-     * Default constructor - for Externalizable. This should never be used by a user, as it
-     * will result in an invalid state for the instance.
-     */
-    private Package() {
-
-    }
-
-    /**
      * Construct.
      *
      * @param name

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/PackageCompilationData.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -73,13 +73,6 @@
         } );
     }
 
-    /**
-     * Default constructor - for Externalizable. This should never be used by a user, as it
-     * will result in an invalid state for the instance.
-     */
-    private PackageCompilationData() {
-    }
-
     public PackageCompilationData(final ClassLoader parentClassLoader) {
         initClassLoader( parentClassLoader );
         this.invokerLookups = new HashMap();

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Pattern.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Pattern.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Pattern.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -48,9 +48,6 @@
     // the position of the related fact inside the tuple;
     private int               offset;
 
-    private Pattern() {
-    }
-
     public Pattern(final int index,
                    final ObjectType objectType) {
         this( index,

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Rule.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Rule.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/rule/Rule.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -107,9 +107,6 @@
     // Constructors
     // ------------------------------------------------------------
 
-    private Rule() {
-    }
-
     /**
      * Construct a
      * <code>Rule<code> with the given name for the specified pkg parent

Modified: labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/spi/PatternExtractor.java
===================================================================
--- labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/spi/PatternExtractor.java	2007-12-25 06:32:35 UTC (rev 17396)
+++ labs/jbossrules/branches/serialization/drools-core/src/main/java/org/drools/spi/PatternExtractor.java	2007-12-25 21:49:38 UTC (rev 17397)
@@ -39,9 +39,6 @@
 
     private ObjectType        objectType;
 
-    private PatternExtractor() {
-    }
-
     public PatternExtractor(final ObjectType objectType) {
         this.objectType = objectType;
     }




More information about the jboss-svn-commits mailing list