[jboss-svn-commits] JBL Code SVN: r19076 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/compiler and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 18 19:32:42 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-18 19:32:42 -0400 (Tue, 18 Mar 2008)
New Revision: 19076

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
Log:
-fixed  bad merge

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java	2008-03-18 23:20:07 UTC (rev 19075)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PackageDescr.java	2008-03-18 23:32:42 UTC (rev 19076)
@@ -28,17 +28,18 @@
     /**
      *
      */
-    private static final long serialVersionUID = 400L;
-    private String      name;
-    private String      documentation;
+    private static final long          serialVersionUID = 400L;
+    private String                     name;
+    private String                     documentation;
 
-    private List              imports          = Collections.EMPTY_LIST;
-    private List              functionImports  = Collections.EMPTY_LIST;
-    private List              attributes       = Collections.EMPTY_LIST;
-    private List              globals          = Collections.EMPTY_LIST;
-    private List              factTemplates    = Collections.EMPTY_LIST;
-    private List              functions        = Collections.EMPTY_LIST;
-    private List              rules            = Collections.EMPTY_LIST;
+    private List                       imports          = Collections.EMPTY_LIST;
+    private List                       functionImports  = Collections.EMPTY_LIST;
+    private List                       attributes       = Collections.EMPTY_LIST;
+    private List                       globals          = Collections.EMPTY_LIST;
+    private List                       factTemplates    = Collections.EMPTY_LIST;
+    private List                       functions        = Collections.EMPTY_LIST;
+    private List                       rules            = Collections.EMPTY_LIST;
+    private List<TypeDeclarationDescr> typeDeclarations = Collections.emptyList();
 
     public PackageDescr() {
     }
@@ -54,30 +55,31 @@
         this.documentation = documentation;
     }
 
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        super.readExternal(in);
-        name    = (String)in.readObject();
-        documentation   = (String)in.readObject();
-        imports    = (List)in.readObject();
-        functionImports    = (List)in.readObject();
-        attributes    = (List)in.readObject();
-        globals    = (List)in.readObject();
-        factTemplates    = (List)in.readObject();
-        functions    = (List)in.readObject();
-        rules    = (List)in.readObject();
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        super.readExternal( in );
+        name = (String) in.readObject();
+        documentation = (String) in.readObject();
+        imports = (List) in.readObject();
+        functionImports = (List) in.readObject();
+        attributes = (List) in.readObject();
+        globals = (List) in.readObject();
+        factTemplates = (List) in.readObject();
+        functions = (List) in.readObject();
+        rules = (List) in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
-        super.writeExternal(out);
-        out.writeObject(name);
-        out.writeObject(documentation);
-        out.writeObject(imports);
-        out.writeObject(functionImports);
-        out.writeObject(attributes);
-        out.writeObject(globals);
-        out.writeObject(factTemplates);
-        out.writeObject(functions);
-        out.writeObject(rules);
+        super.writeExternal( out );
+        out.writeObject( name );
+        out.writeObject( documentation );
+        out.writeObject( imports );
+        out.writeObject( functionImports );
+        out.writeObject( attributes );
+        out.writeObject( globals );
+        out.writeObject( factTemplates );
+        out.writeObject( functions );
+        out.writeObject( rules );
     }
 
     public String getName() {
@@ -164,11 +166,11 @@
             //check for attr in rule
             for ( Iterator iterator = rule.getAttributes().iterator(); iterator.hasNext(); ) {
                 AttributeDescr ruleAt = (AttributeDescr) iterator.next();
-                if (ruleAt.getName().equals( at.getName() )) {
+                if ( ruleAt.getName().equals( at.getName() ) ) {
                     overridden = true;
                 }
             }
-            if (!overridden) {
+            if ( !overridden ) {
                 rule.addAttribute( at );
             }
         }
@@ -178,4 +180,15 @@
     public List getRules() {
         return this.rules;
     }
+
+    public void addTypeDeclaration(TypeDeclarationDescr declaration) {
+        if ( this.typeDeclarations == Collections.EMPTY_LIST ) {
+            this.typeDeclarations = new ArrayList<TypeDeclarationDescr>();
+        }
+        this.typeDeclarations.add( declaration );
+    }
+
+    public List<TypeDeclarationDescr> getTypeDeclarations() {
+        return this.typeDeclarations;
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-03-18 23:20:07 UTC (rev 19075)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-03-18 23:32:42 UTC (rev 19076)
@@ -36,19 +36,20 @@
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.StatefulSession;
+import org.drools.StockTick;
 import org.drools.WorkingMemory;
-import org.drools.integrationtests.SerializationHelper;
 import org.drools.base.DefaultKnowledgeHelper;
 import org.drools.common.ActivationGroupNode;
 import org.drools.common.DroolsObjectInputStream;
+import org.drools.common.DroolsObjectOutputStream;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.LogicalDependency;
 import org.drools.common.RuleFlowGroupNode;
-import org.drools.common.DroolsObjectOutputStream;
 import org.drools.commons.jci.compilers.EclipseJavaCompiler;
 import org.drools.commons.jci.compilers.JaninoJavaCompiler;
 import org.drools.commons.jci.compilers.JavaCompiler;
 import org.drools.facttemplates.Fact;
+import org.drools.integrationtests.SerializationHelper;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
@@ -68,6 +69,7 @@
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.TypeDeclarationDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.process.core.Process;
 import org.drools.process.core.Variable;
@@ -82,6 +84,7 @@
 import org.drools.rule.PredicateConstraint;
 import org.drools.rule.ReturnValueConstraint;
 import org.drools.rule.Rule;
+import org.drools.rule.TypeDeclaration;
 import org.drools.rule.builder.dialect.java.JavaDialect;
 import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
 import org.drools.spi.Activation;
@@ -1025,7 +1028,32 @@
             fail( "Should not raise any exception: " + e.getMessage() );
         }
     }
+    
+    public void testTypeDeclaration() throws Exception {
+        PackageDescr pkgDescr = new PackageDescr( "org.test" );
+        TypeDeclarationDescr typeDescr = new TypeDeclarationDescr( "StockTick" );
+        typeDescr.addAttribute( TypeDeclarationDescr.ATTR_ROLE,
+                                "event" );
+        typeDescr.addAttribute( TypeDeclarationDescr.ATTR_CLASS,
+                                "org.drools.StockTick" );
+        pkgDescr.addTypeDeclaration( typeDescr );
 
+        PackageBuilder builder = new PackageBuilder();
+        builder.addPackage( pkgDescr );
+
+        Package pkg = builder.getPackage();
+        assertEquals( 1,
+                      pkg.getTypeDeclarations().size() );
+
+        TypeDeclaration type = pkg.getTypeDeclaration( "StockTick" );
+        assertEquals( "StockTick",
+                      type.getTypeName() );
+        assertEquals( TypeDeclaration.Role.EVENT,
+                      type.getRole() );
+        assertEquals( StockTick.class,
+                      type.getTypeClass() );
+    }    
+
     private void createReturnValueRule(final PackageDescr packageDescr,
                                        final String expression) {
         final RuleDescr ruleDescr = new RuleDescr( "rule-1" );




More information about the jboss-svn-commits mailing list