[jboss-svn-commits] JBL Code SVN: r26901 - in labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools: xml and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 10 07:59:36 EDT 2009
Author: dsotty
Date: 2009-06-10 07:59:35 -0400 (Wed, 10 Jun 2009)
New Revision: 26901
Modified:
labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java
labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/EqvDescr.java
labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java
labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/XorDescr.java
labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/xml/RuleMLDumper.java
Log:
Modified: labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java 2009-06-10 11:59:23 UTC (rev 26900)
+++ labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/AndDescr.java 2009-06-10 11:59:35 UTC (rev 26901)
@@ -31,20 +31,36 @@
public AndDescr() {
}
- public void addDescr(final BaseDescr baseDescr) {
- this.descrs.add( baseDescr );
- }
public void addDescrFirst(final BaseDescr baseDescr) {
this.descrs.add( 0 , baseDescr );
}
+ public void addDescr(final BaseDescr baseDescr) {
+ this.descrs.add( baseDescr );
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add( fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
+ }
+
public void insertDescr(int index,
final BaseDescr baseDescr) {
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add(index, fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
this.descrs.add( index,
baseDescr );
}
+
public void insertBeforeLast(final Class clazz,
final BaseDescr baseDescr) {
if ( this.descrs.isEmpty() ) {
@@ -69,7 +85,10 @@
public void addOrMerge(final BaseDescr baseDescr) {
if ( baseDescr instanceof AndDescr && ! overrides(this,baseDescr) ) {
- this.descrs.addAll( ((AndDescr) baseDescr).getDescrs() );
+ for( BaseDescr descr : (List<BaseDescr>)((AndDescr) baseDescr).getDescrs() ) {
+ addDescr( descr );
+ }
+ //this.descrs.addAll( ((AndDescr) baseDescr).getDescrs() );
} else {
addDescr( baseDescr );
}
Modified: labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java 2009-06-10 11:59:23 UTC (rev 26900)
+++ labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java 2009-06-10 11:59:35 UTC (rev 26901)
@@ -1091,32 +1091,43 @@
pattern.setEndCharacter(dataType.getEndCharacter());
pattern.setObjectType(dataType.getText());
+// if (null != exprList && exprList.size() > 0) {
+//
+// if (exprList.size() == 1) {
+// if (exprList.get(0) instanceof FieldBindingDescr
+// && ((FieldBindingDescr) exprList.get(0))
+// .getFieldConstraint().getRestriction()
+// .getRestrictions().size() > 0) {
+// pattern.getConstraint().addDescr(exprList.get(0));
+// pattern.getConstraint().addDescr(
+// ((FieldBindingDescr) exprList.get(0))
+// .getFieldConstraint());
+// } else {
+// pattern.getConstraint().addOrMerge(exprList.get(0));
+// }
+// } else {
+// for (BaseDescr constraint : exprList) {
+// pattern.getConstraint().addDescr(constraint);
+// if (constraint instanceof FieldBindingDescr
+// && ((FieldBindingDescr) constraint)
+// .getFieldConstraint().getRestriction()
+// .getRestrictions().size() > 0) {
+// pattern.getConstraint().addDescr(
+// ((FieldBindingDescr) constraint)
+// .getFieldConstraint());
+// }
+// }
+// }
+
if (null != exprList && exprList.size() > 0) {
if (exprList.size() == 1) {
- if (exprList.get(0) instanceof FieldBindingDescr
- && ((FieldBindingDescr) exprList.get(0))
- .getFieldConstraint().getRestriction()
- .getRestrictions().size() > 0) {
- pattern.getConstraint().addDescr(exprList.get(0));
- pattern.getConstraint().addDescr(
- ((FieldBindingDescr) exprList.get(0))
- .getFieldConstraint());
- } else {
- pattern.getConstraint().addOrMerge(exprList.get(0));
- }
+ pattern.getConstraint().addOrMerge(exprList.get(0));
} else {
for (BaseDescr constraint : exprList) {
pattern.getConstraint().addDescr(constraint);
- if (constraint instanceof FieldBindingDescr
- && ((FieldBindingDescr) constraint)
- .getFieldConstraint().getRestriction()
- .getRestrictions().size() > 0) {
- pattern.getConstraint().addDescr(
- ((FieldBindingDescr) constraint)
- .getFieldConstraint());
- }
}
}
+
pattern.setEndCharacter(exprList.get(exprList.size() - 1)
.getEndCharacter());
}
@@ -1210,7 +1221,12 @@
*/
public FieldConstraintDescr setupFieldConstraint(
FieldConstraintDescr field, BaseDescr descr) {
- return setupFieldConstraint(field, descr, new ArrayList<AttributeDescr>());
+ //return setupFieldConstraint(field, descr, new ArrayList<AttributeDescr>());
+ if (null != descr && descr instanceof RestrictionDescr) {
+ field.getRestriction().addOrMerge((RestrictionDescr) descr);
+ }
+ return field;
+
}
public FieldConstraintDescr setupFieldConstraint(
Modified: labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/EqvDescr.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/EqvDescr.java 2009-06-10 11:59:23 UTC (rev 26900)
+++ labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/EqvDescr.java 2009-06-10 11:59:35 UTC (rev 26901)
@@ -34,26 +34,38 @@
}
public void addDescr(final BaseDescr baseDescr) {
- if (this.descrs.size() >= 2)
- throw new RuntimeDroolsException("Eqv is Binary");
-
this.descrs.add( baseDescr );
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add( fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
}
-
- public void addDescrFirst(final BaseDescr baseDescr) {
- if (this.descrs.size() >= 2)
- throw new RuntimeDroolsException("Eqv is Binary");
-
- this.descrs.add( 0 , baseDescr );
- }
-
public void insertDescr(int index,
final BaseDescr baseDescr) {
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add(index, fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
this.descrs.add( index,
baseDescr );
}
+
+ public void addDescrFirst(final BaseDescr baseDescr) {
+// if (this.descrs.size() >= 2)
+// throw new RuntimeDroolsException("Eqv is Binary");
+
+ this.descrs.add( 0 , baseDescr );
+ }
+
+
public void insertBeforeLast(final Class clazz,
final BaseDescr baseDescr) {
if ( this.descrs.isEmpty() ) {
@@ -77,8 +89,11 @@
}
public void addOrMerge(final BaseDescr baseDescr) {
- if ( baseDescr instanceof EqvDescr ) {
- this.descrs.addAll( ((EqvDescr) baseDescr).getDescrs() );
+ if ( baseDescr instanceof EqvDescr && ! overrides(this,baseDescr)) {
+ for( BaseDescr descr : (List<BaseDescr>)((EqvDescr) baseDescr).getDescrs() ) {
+ addDescr( descr );
+ }
+ //this.descrs.addAll( ((EqvDescr) baseDescr).getDescrs() );
} else {
addDescr( baseDescr );
}
Modified: labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java 2009-06-10 11:59:23 UTC (rev 26900)
+++ labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/OrDescr.java 2009-06-10 11:59:35 UTC (rev 26901)
@@ -47,30 +47,54 @@
addDescr( baseDescr );
}
- public void insertDescr(int index, final BaseDescr baseDescr) {
- this.descrs.add( index, baseDescr );
- }
+
public void addDescr(final BaseDescr baseDescr) {
this.descrs.add( baseDescr );
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add( fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
}
-
- public void addDescrFirst(final BaseDescr baseDescr) {
- this.descrs.add( 0 , baseDescr );
+ public void insertDescr(int index,
+ final BaseDescr baseDescr) {
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add(index, fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
+ this.descrs.add( index,
+ baseDescr );
}
+
public List getDescrs() {
return this.descrs;
}
public void addOrMerge(final BaseDescr baseDescr) {
if( baseDescr instanceof OrDescr && ! overrides(this,baseDescr)) {
- this.descrs.addAll( ((OrDescr)baseDescr).getDescrs() );
+ // this.descrs.addAll( ((OrDescr)baseDescr).getDescrs() );
+ for( BaseDescr descr : (List<BaseDescr>)((OrDescr) baseDescr).getDescrs() ) {
+ addDescr( descr );
+ }
} else {
this.descrs.add( baseDescr );
}
}
+
+ public void addDescrFirst(BaseDescr baseDescr) {
+ // TODO Auto-generated method stub
+
+ }
+
+
}
\ No newline at end of file
Modified: labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/XorDescr.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/XorDescr.java 2009-06-10 11:59:23 UTC (rev 26900)
+++ labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/lang/descr/XorDescr.java 2009-06-10 11:59:35 UTC (rev 26901)
@@ -34,26 +34,39 @@
}
public void addDescr(final BaseDescr baseDescr) {
- if (this.descrs.size() >= 2)
- throw new RuntimeDroolsException("Xor is Binary");
-
this.descrs.add( baseDescr );
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add( fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
}
-
- public void addDescrFirst(final BaseDescr baseDescr) {
- if (this.descrs.size() >= 2)
- throw new RuntimeDroolsException("Xor is Binary");
-
- this.descrs.add( 0 , baseDescr );
- }
-
public void insertDescr(int index,
final BaseDescr baseDescr) {
+ if( baseDescr instanceof FieldBindingDescr ) {
+ FieldBindingDescr fbd = (FieldBindingDescr) baseDescr;
+ if( fbd.getFieldConstraint() != null ) {
+ this.descrs.add(index, fbd.getFieldConstraint() );
+ fbd.setFieldConstraint( null );
+ }
+ }
this.descrs.add( index,
baseDescr );
}
+
+
+ public void addDescrFirst(final BaseDescr baseDescr) {
+// if (this.descrs.size() >= 2)
+// throw new RuntimeDroolsException("Xor is Binary");
+
+ this.descrs.add( 0 , baseDescr );
+ }
+
+
public void insertBeforeLast(final Class clazz,
final BaseDescr baseDescr) {
if ( this.descrs.isEmpty() ) {
@@ -77,8 +90,11 @@
}
public void addOrMerge(final BaseDescr baseDescr) {
- if ( baseDescr instanceof XorDescr ) {
- this.descrs.addAll( ((XorDescr) baseDescr).getDescrs() );
+ if ( baseDescr instanceof XorDescr && ! overrides(this,baseDescr)) {
+// this.descrs.addAll( ((XorDescr) baseDescr).getDescrs() );
+ for( BaseDescr descr : (List<BaseDescr>)((XorDescr) baseDescr).getDescrs() ) {
+ addDescr( descr );
+ }
} else {
addDescr( baseDescr );
}
Modified: labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/xml/RuleMLDumper.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/xml/RuleMLDumper.java 2009-06-10 11:59:23 UTC (rev 26900)
+++ labs/jbossrules/branches/DroolsChance/drools-compiler/src/main/java/org/drools/xml/RuleMLDumper.java 2009-06-10 11:59:35 UTC (rev 26901)
@@ -428,44 +428,44 @@
public void visitFieldBindingDescr(final FieldBindingDescr descr) {
- String varName = context.currentObjectVariable + "."
- + descr.getIdentifier();
+// String varName = context.currentObjectVariable + "."
+// + descr.getIdentifier();
+//
+// context.setCurrentField(descr.getFieldConstraint().getFieldName());
+// context.trySetCurrentFieldVariable(varName);
+//
+// // bypass the fieldConstraint
+// List<? extends BaseDescr> list = checkListType(descr
+// .getFieldConstraint().getRestrictions());
+//
+//// for (BaseDescr d : list) {
+//// inheritDecorations(d,descr);
+//// }
+//
+// if (list.size() > 0) {
+// visitChildren(context.getCurrentElement(), list);
+// } else {
+// // Unconstrained field binding Object( $var : field )
+// Element atom = dox.createElement("Atom");
+// decorateWithAttribs(atom,descr);
+// Element rel = dox.createElement("Rel");
+// attachAsOp(atom, rel);
+//
+// Element slot = dox.createElement("slot");
+// Element field = dox.createElement("Ind");
+// field.setAttribute("type",context.getCurrentFieldType());
+// field.setTextContent(context.getCurrentField());
+// slot.appendChild(field);
+//
+// Element value = dox.createElement("Var");
+// value.setTextContent(context.getCurrentFieldVariable());
+// slot.appendChild(value);
+//
+// atom.appendChild(slot);
+//
+// context.getCurrentElement().appendChild(atom);
+// }
- context.setCurrentField(descr.getFieldConstraint().getFieldName());
- context.trySetCurrentFieldVariable(varName);
-
- // bypass the fieldConstraint
- List<? extends BaseDescr> list = checkListType(descr
- .getFieldConstraint().getRestrictions());
-
-// for (BaseDescr d : list) {
-// inheritDecorations(d,descr);
-// }
-
- if (list.size() > 0) {
- visitChildren(context.getCurrentElement(), list);
- } else {
- // Unconstrained field binding Object( $var : field )
- Element atom = dox.createElement("Atom");
- decorateWithAttribs(atom,descr);
- Element rel = dox.createElement("Rel");
- attachAsOp(atom, rel);
-
- Element slot = dox.createElement("slot");
- Element field = dox.createElement("Ind");
- field.setAttribute("type",context.getCurrentFieldType());
- field.setTextContent(context.getCurrentField());
- slot.appendChild(field);
-
- Element value = dox.createElement("Var");
- value.setTextContent(context.getCurrentFieldVariable());
- slot.appendChild(value);
-
- atom.appendChild(slot);
-
- context.getCurrentElement().appendChild(atom);
- }
-
}
private BaseDescr inheritDecorations(BaseDescr target, BaseDescr source) {
More information about the jboss-svn-commits
mailing list