[jboss-svn-commits] JBL Code SVN: r5191 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/compiler main/java/org/drools/lang main/java/org/drools/lang/descr main/java/org/drools/semantics/java main/java/org/drools/xml test/java/org/drools/lang test/java/org/drools/lang/descr test/java/org/drools/xml

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 20 10:47:53 EDT 2006


Author: mark.proctor at jboss.com
Date: 2006-07-20 10:47:34 -0400 (Thu, 20 Jul 2006)
New Revision: 5191

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraint.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictiveDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/Restriction.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionConnectiveDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueRestrictionDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/VariableRestrictionDescr.java
Removed:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BoundVariableDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueDescr.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PredicateDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/BoundVariableHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/LiteralHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ReturnValueHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java
Log:
JBRULES-333
-Added new Restriction paradigm, so each FieldConstraint can have multiple restrictions
-Compiler is currently broken, this is being committed so that Mic can fix the parser.

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -299,7 +299,7 @@
                                                          ruleDescr.getName(),
                                                          "java",
                                                          this.src );
-        ruleDescr.SetClassName( ucFirst( ruleClassName ) );
+        ruleDescr.setClassName( ucFirst( ruleClassName ) );
 
         final RuleBuilder builder = new RuleBuilder( getTypeResolver(),
                                                      classFieldExtractorCache );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -23,7 +23,7 @@
 
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -80,7 +80,7 @@
         this.template = "\t " + name + " " + value + DrlDumper.eol;
     }
 
-    public void visitBoundVariableDescr(final BoundVariableDescr descr) {
+    public void visitBoundVariableDescr(final VariableDescr descr) {
         this.template = new String();
         this.template = descr.getFieldName() + " " + descr.getEvaluator() + " " + descr.getIdentifier();
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/RuleParser.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -3753,7 +3753,7 @@
                             bvc=(Token)input.LT(1);
                             match(input,ID,FOLLOW_ID_in_constraint1899); 
 
-                            							d = new BoundVariableDescr( f.getText(), op.getText(), bvc.getText() );
+                            							d = new VariableDescr( f.getText(), op.getText(), bvc.getText() );
                             							d.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
                             							constraints.add( d );
                             						

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BoundVariableDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BoundVariableDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BoundVariableDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -1,47 +0,0 @@
-package org.drools.lang.descr;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class BoundVariableDescr extends PatternDescr {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 7739599208890839005L;
-    private String fieldName;
-    private String evaluator;
-    private String declarationIdentifier;
-
-    public BoundVariableDescr(final String fieldName,
-                              final String evaluator,
-                              final String identifier) {
-        this.fieldName = fieldName;
-        this.declarationIdentifier = identifier;
-        this.evaluator = evaluator;
-    }
-
-    public String getFieldName() {
-        return this.fieldName;
-    }
-
-    public String getEvaluator() {
-        return this.evaluator;
-    }
-
-    public String getIdentifier() {
-        return this.declarationIdentifier;
-    }
-}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraint.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraint.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,51 @@
+package org.drools.lang.descr;
+
+import java.util.List;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This represents a literal node in the rule language. This is
+ * a constraint on a single field of a column. 
+ * The "text" contains the content, which may also be an enumeration. 
+ */
+public class FieldConstraint extends PatternDescr {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 320;
+    private String  fieldName;
+    private List    restrictions;
+
+    public FieldConstraint(final String fieldName) {
+        this.fieldName = fieldName;
+    }
+
+    public String getFieldName() {
+        return this.fieldName;
+    }
+    
+    public void addRestriction(RestrictionDescr restriction) {
+        this.restrictions.add( restriction );
+    }
+    
+    public List getRestrictions() {
+        return this.restrictions;
+    }
+
+    
+}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -1,68 +0,0 @@
-package org.drools.lang.descr;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * This represents a literal node in the rule language. This is
- * a constraint on a single field of a column. 
- * The "text" contains the content, which may also be an enumeration. 
- */
-public class LiteralDescr extends PatternDescr {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 3738269402511714153L;
-    private String  fieldName;
-    private String  evaluator;
-    private String  text;
-    private boolean staticFieldValue;
-
-    public LiteralDescr(final String fieldName,
-                        final String evaluator,
-                        final String text) {
-        this( fieldName,
-              evaluator,
-              text,
-              false );
-    }
-
-    public LiteralDescr(final String fieldName,
-                        final String evaluator,
-                        final String text,
-                        final boolean staticFieldValue) {
-        this.fieldName = fieldName;
-        this.text = text;
-        this.evaluator = evaluator;
-        this.staticFieldValue = staticFieldValue;
-    }
-
-    public boolean isStaticFieldValue() {
-        return this.staticFieldValue;
-    }
-
-    public String getFieldName() {
-        return this.fieldName;
-    }
-
-    public String getEvaluator() {
-        return this.evaluator;
-    }
-
-    public String getText() {
-        return this.text;
-    }
-}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictiveDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictiveDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictiveDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,59 @@
+package org.drools.lang.descr;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This represents a literal node in the rule language. This is
+ * a constraint on a single field of a column. 
+ * The "text" contains the content, which may also be an enumeration. 
+ */
+public class LiteralRestrictiveDescr extends RestrictionDescr {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 320;
+    private String  evaluator;
+    private String  text;
+    private boolean staticFieldValue;
+
+    public LiteralRestrictiveDescr( final String evaluator,
+                        final String text) {
+        this( evaluator,
+              text,
+              false );
+    }
+
+    public LiteralRestrictiveDescr(final String evaluator,
+                        final String text,
+                        final boolean staticFieldValue) {
+        this.text = text;
+        this.evaluator = evaluator;
+        this.staticFieldValue = staticFieldValue;
+    }
+
+    public boolean isStaticFieldValue() {
+        return this.staticFieldValue;
+    }
+
+    public String getEvaluator() {
+        return this.evaluator;
+    }
+
+    public String getText() {
+        return this.text;
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -25,35 +25,37 @@
     implements
     Serializable {
 
-    private static final long serialVersionUID = 8250082341310416977L;
+    private static final long serialVersionUID = 320;
     private int               line;
     private int               column;
-	private int endLine;
-	private int endColumn;
+    private int               endLine;
+    private int               endColumn;
 
-	public void setLocation(int line, int column) {
-		this.line   = line;
-		this.column = column;
-	}
-	
-	public void setEndLocation(int line, int column) {
-		this.endLine = line;
-		this.endColumn = column;
-	}
-	
-	public int getLine() {
-		return this.line;
-	}
-	
-	public int getColumn() {
-		return this.column;
-	}
-	
-	public int getEndLine() {
-		return this.endLine;
-	}
-	
-	public int getEndColumn() {
-		return this.endColumn;
-	}
+    public void setLocation(int line,
+                            int column) {
+        this.line = line;
+        this.column = column;
+    }
+
+    public void setEndLocation(int line,
+                               int column) {
+        this.endLine = line;
+        this.endColumn = column;
+    }
+
+    public int getLine() {
+        return this.line;
+    }
+
+    public int getColumn() {
+        return this.column;
+    }
+
+    public int getEndLine() {
+        return this.endLine;
+    }
+
+    public int getEndColumn() {
+        return this.endColumn;
+    }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PredicateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PredicateDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PredicateDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -20,7 +20,7 @@
     /**
      * 
      */
-    private static final long serialVersionUID = 1274917549785412384L;
+    private static final long serialVersionUID = 320;
     private final String fieldName;
     private String       text;
 

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/Restriction.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/Restriction.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/Restriction.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,22 @@
+package org.drools.lang.descr;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+public class Restriction extends PatternDescr {
+ 
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionConnectiveDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionConnectiveDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionConnectiveDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,22 @@
+package org.drools.lang.descr;
+
+public class RestrictionConnectiveDescr extends RestrictionDescr {    
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 320;
+    private final static int AND = 0;
+    private final static int OR = 1;
+    
+    private int connective;
+
+    public RestrictionConnectiveDescr(int connective) {
+        super();
+        this.connective = connective;
+    }
+
+    public int getConnective() {
+        return this.connective;
+    }
+            
+}

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,26 @@
+package org.drools.lang.descr;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This represents a literal node in the rule language. This is
+ * a constraint on a single field of a column. 
+ * The "text" contains the content, which may also be an enumeration. 
+ */
+public class RestrictionDescr extends PatternDescr {
+
+}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -1,80 +0,0 @@
-package org.drools.lang.descr;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-public class ReturnValueDescr extends PatternDescr {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 478782161375380651L;
-    private String   fieldName;
-    private String   evaluator;
-    private String   text;
-    private String[] declarations;
-
-    private String   classMethodName;
-
-    public ReturnValueDescr(final String fieldName,
-                            final String evaluator) {
-        this.fieldName = fieldName;
-        this.evaluator = evaluator;
-    }
-
-    public ReturnValueDescr(final String fieldName,
-                            final String evaluator,
-                            final String text) {
-        this.fieldName = fieldName;
-        this.evaluator = evaluator;
-        this.text = text;
-    }
-
-    public String getFieldName() {
-        return this.fieldName;
-    }
-
-    public String getClassMethodName() {
-        return this.classMethodName;
-    }
-
-    public void setClassMethodName(final String classMethodName) {
-        this.classMethodName = classMethodName;
-    }
-
-    public String getEvaluator() {
-        return this.evaluator;
-    }
-
-    public String getText() {
-        return this.text;
-    }
-
-    public void setText(final String text) {
-        this.text = text;
-    }
-
-    public void setDeclarations(final String[] declarations) {
-        this.declarations = declarations;
-    }
-
-    public String[] getDeclarations() {
-        return this.declarations;
-    }
-
-    public String toString() {
-        return "[ReturnValue: field=" + this.fieldName + "; evaluator=" + this.evaluator + "; text=" + this.text + "]";
-    }
-}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueRestrictionDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueRestrictionDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ReturnValueRestrictionDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,73 @@
+package org.drools.lang.descr;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class ReturnValueRestrictionDescr extends PatternDescr {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 478782161375380651L;
+    private String   evaluator;
+    private String   text;
+    private String[] declarations;
+
+    private String   classMethodName;
+
+    public ReturnValueRestrictionDescr(final String fieldName,
+                            final String evaluator) {
+        this.evaluator = evaluator;
+    }
+
+    public ReturnValueRestrictionDescr(final String fieldName,
+                            final String evaluator,
+                            final String text) {
+        this.evaluator = evaluator;
+        this.text = text;
+    }
+
+    public String getClassMethodName() {
+        return this.classMethodName;
+    }
+
+    public void setClassMethodName(final String classMethodName) {
+        this.classMethodName = classMethodName;
+    }
+
+    public String getEvaluator() {
+        return this.evaluator;
+    }
+
+    public String getText() {
+        return this.text;
+    }
+
+    public void setText(final String text) {
+        this.text = text;
+    }
+
+    public void setDeclarations(final String[] declarations) {
+        this.declarations = declarations;
+    }
+
+    public String[] getDeclarations() {
+        return this.declarations;
+    }
+
+    public String toString() {
+        return "[ReturnValue: evaluator=" + this.evaluator + "; text=" + this.text + "]";
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -56,7 +56,7 @@
         return this.className;
     }
 
-    public void SetClassName(final String className) {
+    public void setClassName(final String className) {
         this.className = className;
     }
 

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/VariableRestrictionDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/VariableRestrictionDescr.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/VariableRestrictionDescr.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -0,0 +1,40 @@
+package org.drools.lang.descr;
+
+/*
+ * Copyright 2005 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class VariableRestrictionDescr extends PatternDescr {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 320;
+    private String            evaluator;
+    private String            declarationIdentifier;
+
+    public VariableRestrictionDescr(final String evaluator,
+                                    final String identifier) {
+        this.declarationIdentifier = identifier;
+        this.evaluator = evaluator;
+    }
+
+    public String getEvaluator() {
+        return this.evaluator;
+    }
+
+    public String getIdentifier() {
+        return this.declarationIdentifier;
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -38,7 +38,7 @@
 import org.drools.compiler.RuleError;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
@@ -53,7 +53,7 @@
 import org.drools.lang.descr.ReturnValueDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.rule.And;
-import org.drools.rule.BoundVariableConstraint;
+import org.drools.rule.VariableConstraint;
 import org.drools.rule.Column;
 import org.drools.rule.Declaration;
 import org.drools.rule.EvalCondition;
@@ -412,9 +412,9 @@
             } else if ( object instanceof LiteralDescr ) {
                 build( column,
                        (LiteralDescr) object );
-            } else if ( object instanceof BoundVariableDescr ) {
+            } else if ( object instanceof VariableDescr ) {
                 build( column,
-                       (BoundVariableDescr) object );
+                       (VariableDescr) object );
             } else if ( object instanceof ReturnValueDescr ) {
                 build( column,
                        (ReturnValueDescr) object );
@@ -460,42 +460,42 @@
     }
 
     private void build(final Column column,
-                       final BoundVariableDescr boundVariableDescr) {
-        if ( boundVariableDescr.getIdentifier() == null || boundVariableDescr.getIdentifier().equals( "" ) ) {
+                       final VariableDescr variableDescr) {
+        if ( variableDescr.getIdentifier() == null || variableDescr.getIdentifier().equals( "" ) ) {
             this.errors.add( new RuleError( this.rule,
-                                            boundVariableDescr,
+                                            variableDescr,
                                             null,
-                                            "Identifier not defined for binding field '" + boundVariableDescr.getFieldName() + "'" ) );
+                                            "Identifier not defined for binding field '" + variableDescr.getFieldName() + "'" ) );
             return;
         }
 
         final Class clazz = ((ClassObjectType) column.getObjectType()).getClassType();
 
-        final FieldExtractor extractor = getFieldExtractor( boundVariableDescr,
+        final FieldExtractor extractor = getFieldExtractor( variableDescr,
                                                             clazz,
-                                                            boundVariableDescr.getFieldName() );
+                                                            variableDescr.getFieldName() );
         if ( extractor == null ) {
             return;
         }
 
-        final Declaration declaration = (Declaration) this.declarations.get( boundVariableDescr.getIdentifier() );
+        final Declaration declaration = (Declaration) this.declarations.get( variableDescr.getIdentifier() );
 
         if ( declaration == null ) {
             this.errors.add( new RuleError( this.rule,
-                                            boundVariableDescr,
+                                            variableDescr,
                                             null,
-                                            "Unable to return Declaration for identifier '" + boundVariableDescr.getIdentifier() + "'" ) );
+                                            "Unable to return Declaration for identifier '" + variableDescr.getIdentifier() + "'" ) );
             return;
         }
 
-        final Evaluator evaluator = getEvaluator( boundVariableDescr,
+        final Evaluator evaluator = getEvaluator( variableDescr,
                                                   extractor.getObjectType().getValueType(),
-                                                  boundVariableDescr.getEvaluator() );
+                                                  variableDescr.getEvaluator() );
         if ( evaluator == null ) {
             return;
         }
 
-        column.addConstraint( new BoundVariableConstraint( extractor,
+        column.addConstraint( new VariableConstraint( extractor,
                                                            declaration,
                                                            evaluator ) );
     }
@@ -552,9 +552,9 @@
             return;
         }
 
-        column.addConstraint( new LiteralConstraint( field,
-                                                     extractor,
-                                                     evaluator ) );
+        column.addConstraint( new LiteralConstraint( extractor,
+                                                     evaluator,
+                                                     field ) );
     }
 
     private void build(final Column column,

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/BoundVariableHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/BoundVariableHandler.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/BoundVariableHandler.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.LiteralDescr;
@@ -52,7 +52,7 @@
             this.validPeers.add( PredicateDescr.class );
             this.validPeers.add( ReturnValueDescr.class );
             this.validPeers.add( FieldBindingDescr.class );
-            this.validPeers.add( BoundVariableDescr.class );
+            this.validPeers.add( VariableDescr.class );
             this.allowNesting = false;
         }
     }
@@ -81,30 +81,30 @@
                                          this.xmlPackageReader.getLocator() );
         }
 
-        final BoundVariableDescr boundVariableDescr = new BoundVariableDescr( fieldName,
+        final VariableDescr variableDescr = new VariableDescr( fieldName,
                                                                         evaluator,
                                                                         identifier );
 
-        return boundVariableDescr;
+        return variableDescr;
     }
 
     public Object end(final String uri,
                       final String localName) throws SAXException {
         final Configuration config = this.xmlPackageReader.endConfiguration();
 
-        final BoundVariableDescr boundVariableDescr = (BoundVariableDescr) this.xmlPackageReader.getCurrent();
+        final VariableDescr variableDescr = (VariableDescr) this.xmlPackageReader.getCurrent();
 
         final LinkedList parents = this.xmlPackageReader.getParents();
         final ListIterator it = parents.listIterator( parents.size() );
         it.previous();
         final ColumnDescr columnDescr = (ColumnDescr) it.previous();
 
-        columnDescr.addDescr( boundVariableDescr );
+        columnDescr.addDescr( variableDescr );
 
         return null;
     }
 
     public Class generateNodeFor() {
-        return BoundVariableDescr.class;
+        return VariableDescr.class;
     }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.LiteralDescr;
@@ -52,7 +52,7 @@
             this.validPeers.add( PredicateDescr.class );
             this.validPeers.add( ReturnValueDescr.class );
             this.validPeers.add( FieldBindingDescr.class );
-            this.validPeers.add( BoundVariableDescr.class );
+            this.validPeers.add( VariableDescr.class );
             this.allowNesting = false;
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/LiteralHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/LiteralHandler.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/LiteralHandler.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.LiteralDescr;
@@ -52,7 +52,7 @@
             this.validPeers.add( PredicateDescr.class );
             this.validPeers.add( ReturnValueDescr.class );
             this.validPeers.add( FieldBindingDescr.class );
-            this.validPeers.add( BoundVariableDescr.class );
+            this.validPeers.add( VariableDescr.class );
             this.allowNesting = false;
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.LiteralDescr;
@@ -52,7 +52,7 @@
             this.validPeers.add( PredicateDescr.class );
             this.validPeers.add( ReturnValueDescr.class );
             this.validPeers.add( FieldBindingDescr.class );
-            this.validPeers.add( BoundVariableDescr.class );
+            this.validPeers.add( VariableDescr.class );
             this.allowNesting = false;
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ReturnValueHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ReturnValueHandler.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ReturnValueHandler.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.LiteralDescr;
@@ -52,7 +52,7 @@
             this.validPeers.add( PredicateDescr.class );
             this.validPeers.add( ReturnValueDescr.class );
             this.validPeers.add( FieldBindingDescr.class );
-            this.validPeers.add( BoundVariableDescr.class );
+            this.validPeers.add( VariableDescr.class );
             this.allowNesting = false;
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -23,7 +23,7 @@
 
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -72,7 +72,7 @@
         this.template = "<rule-attribute name=\"" + attributeDescr.getName() + "\" value=\"" + attributeDescr.getValue() + "\" />" + XmlDumper.eol;
     }
 
-    public void visitBoundVariableDescr(final BoundVariableDescr descr) {
+    public void visitBoundVariableDescr(final VariableDescr descr) {
         this.template = new String();
         this.template = "<bound-variable field-name=\"" + descr.getFieldName() + "\" evaluator=\"" + getEvaluator( descr.getEvaluator() ) + "\" identifier=\"" + descr.getIdentifier() + "\" />" + XmlDumper.eol;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -32,7 +32,7 @@
 import org.drools.compiler.DrlParser;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -1069,7 +1069,7 @@
         assertEquals( "bob",
                       literalDescr.getText() );
 
-        final BoundVariableDescr variableDescr = (BoundVariableDescr) person.getDescrs().get( 2 );
+        final VariableDescr variableDescr = (VariableDescr) person.getDescrs().get( 2 );
         assertEquals( "likes",
                       variableDescr.getFieldName() );
         assertEquals( "==",
@@ -1479,7 +1479,7 @@
 
         final NotDescr not = (NotDescr) rule.getLhs().getDescrs().get( 1 );
         column = (ColumnDescr) not.getDescrs().get( 0 );
-        final BoundVariableDescr boundVariable = (BoundVariableDescr) column.getDescrs().get( 0 );
+        final VariableDescr boundVariable = (VariableDescr) column.getDescrs().get( 0 );
         assertEquals( "type",
                       boundVariable.getFieldName() );
         assertEquals( "==",

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -19,14 +19,14 @@
         final AndDescr and = new AndDescr();
         final ColumnDescr col1 = new ColumnDescr( "Foo" );
         col1.setIdentifier( "foo" );
-        col1.addDescr( new BoundVariableDescr( "foo",
+        col1.addDescr( new VariableDescr( "foo",
                                                "==",
                                                "bar" ) );
         and.addDescr( col1 );
 
         final ColumnDescr col2 = new ColumnDescr( "Foo" );
         col2.setIdentifier( "foo" );
-        col2.addDescr( new BoundVariableDescr( "bar",
+        col2.addDescr( new VariableDescr( "bar",
                                                "==",
                                                "baz" ) );
         and.addDescr( col2 );
@@ -53,9 +53,9 @@
         assertEquals( 2,
                       col1.getDescrs().size() );
         assertEquals( "bar",
-                      ((BoundVariableDescr) col1.getDescrs().get( 0 )).getIdentifier() );
+                      ((VariableDescr) col1.getDescrs().get( 0 )).getIdentifier() );
         assertEquals( "baz",
-                      ((BoundVariableDescr) col1.getDescrs().get( 1 )).getIdentifier() );
+                      ((VariableDescr) col1.getDescrs().get( 1 )).getIdentifier() );
     }
 
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java	2006-07-20 09:14:11 UTC (rev 5190)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java	2006-07-20 14:47:34 UTC (rev 5191)
@@ -8,7 +8,7 @@
 
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.BoundVariableDescr;
+import org.drools.lang.descr.VariableDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -271,13 +271,13 @@
         assertEquals( "var1",
                       fieldBindingDescr.getIdentifier() );
 
-        final BoundVariableDescr boundVariableDescr = (BoundVariableDescr) column3.getDescrs().get( 4 );
+        final VariableDescr variableDescr = (VariableDescr) column3.getDescrs().get( 4 );
         assertEquals( "field1",
-                      boundVariableDescr.getFieldName() );
+                      variableDescr.getFieldName() );
         assertEquals( "==",
-                      boundVariableDescr.getEvaluator() );
+                      variableDescr.getEvaluator() );
         assertEquals( "var1",
-                      boundVariableDescr.getIdentifier() );
+                      variableDescr.getIdentifier() );
 
         final NotDescr notDescr = (NotDescr) lhsDescr.getDescrs().get( 5 );
         assertEquals( 1,




More information about the jboss-svn-commits mailing list