[jboss-svn-commits] JBL Code SVN: r14378 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Aug 19 21:32:20 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-08-19 21:32:20 -0400 (Sun, 19 Aug 2007)
New Revision: 14378

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EvalDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java
Log:
-can now insert a descr before the last given object type

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -91,6 +91,10 @@
     public void addDescr(final BaseDescr patternDescr) {
         throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }
 
     public List getDescrs() {
         // nothing to do

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -34,20 +34,33 @@
     public void addDescr(final BaseDescr baseDescr) {
         this.descrs.add( baseDescr );
     }
-    
-    public void insertDescr(int index, final BaseDescr baseDescr) {
-        this.descrs.add( index, baseDescr );
+
+    public void insertDescr(int index,
+                            final BaseDescr baseDescr) {
+        this.descrs.add( index,
+                         baseDescr );
     }
 
+    public void insertBeforeLast(final Class clazz,
+                                 final BaseDescr baseDescr) {
+        for ( int i = this.descrs.size() - 1; i >= 0; i-- ) {
+            if ( clazz.isInstance( this.descrs.get( i ) ) ) {
+                insertDescr( i,
+                             baseDescr );
+                return;
+            }
+        }
+    }
+
     public List getDescrs() {
         return this.descrs;
     }
 
     public void addOrMerge(final BaseDescr baseDescr) {
-        if( baseDescr instanceof AndDescr ) {
-            this.descrs.addAll( ((AndDescr)baseDescr).getDescrs() );
+        if ( baseDescr instanceof AndDescr ) {
+            this.descrs.addAll( ((AndDescr) baseDescr).getDescrs() );
         } else {
-            this.descrs.add( baseDescr );
+            addDescr( baseDescr );
         }
     }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -55,6 +55,10 @@
     public void addDescr(final BaseDescr patternDescr) {
         throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }    
 
     public List getDescrs() {
         // nothing to do

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -20,6 +20,8 @@
 
 public interface ConditionalElementDescr {
 
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr );
+    
     public void addDescr(BaseDescr baseDescr);
     
     public void addOrMerge(final BaseDescr baseDescr);

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EvalDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EvalDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/EvalDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -71,6 +71,10 @@
     public void addDescr(final BaseDescr baseDescr) {
         throw new UnsupportedOperationException("Can't add descriptors to "+this.getClass().getName());        
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }    
 
     public void addOrMerge(BaseDescr baseDescr) {
         throw new UnsupportedOperationException("Can't add descriptors to "+this.getClass().getName());        

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -39,6 +39,10 @@
     public void addDescr(final BaseDescr baseDescr) {
         this.descrs.add( baseDescr );
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }    
 
     public List getDescrs() {
         return this.descrs;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -45,6 +45,10 @@
         // cast to make sure we are adding a pattern descriptor
         this.patterns.add( baseDescr );
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }    
 
     /* (non-Javadoc)
      * @see org.drools.lang.descr.ConditionalElementDescr#getDescrs()

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -22,6 +22,10 @@
     public void addDescr(final BaseDescr baseDescr) {
         throw new UnsupportedOperationException("Can't add descriptors to "+this.getClass().getName());        
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }    
 
     public List getDescrs() {
         return Collections.EMPTY_LIST;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -39,6 +39,10 @@
     public void addDescr(final BaseDescr baseDescr) {
         this.descrs.add( baseDescr );
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) { 
+        throw new UnsupportedOperationException( "Can't add descriptors to " + this.getClass().getName() );
+    }    
 
     public List getDescrs() {
         return this.descrs;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java	2007-08-20 01:30:51 UTC (rev 14377)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java	2007-08-20 01:32:20 UTC (rev 14378)
@@ -30,6 +30,21 @@
 
     public OrDescr() {
     }
+    
+    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr ) {        
+        if(clazz.isInstance( baseDescr )) {
+            for ( int i = this.descrs.size()-1; i >= 0; i-- ) {
+                if ( this.descrs.get( i ) instanceof FieldConstraintDescr ) {
+                    insertDescr( i-1, baseDescr );
+                    return;
+                }                
+            }
+        }        
+    }
+    
+    public void insertDescr(int index, final BaseDescr baseDescr) {
+        this.descrs.add( index, baseDescr );
+    }    
 
     public void addDescr(final BaseDescr baseDescr) {
         this.descrs.add( baseDescr );




More information about the jboss-svn-commits mailing list