[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