[jboss-svn-commits] JBL Code SVN: r5197 - in labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools: lang/descr semantics/java
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 20 11:18:03 EDT 2006
Author: mark.proctor at jboss.com
Date: 2006-07-20 11:18:00 -0400 (Thu, 20 Jul 2006)
New Revision: 5197
Added:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java
Removed:
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
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.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.
Deleted: 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 15:15:15 UTC (rev 5196)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraint.java 2006-07-20 15:18:00 UTC (rev 5197)
@@ -1,51 +0,0 @@
-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
Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java (from rev 5191, 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 14:47:34 UTC (rev 5191)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java 2006-07-20 15:18:00 UTC (rev 5197)
@@ -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 LiteralRestrictionDescr extends RestrictionDescr {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 320;
+ private String evaluator;
+ private String text;
+ private boolean staticFieldValue;
+
+ public LiteralRestrictionDescr( final String evaluator,
+ final String text) {
+ this( evaluator,
+ text,
+ false );
+ }
+
+ public LiteralRestrictionDescr(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
Deleted: 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 15:15:15 UTC (rev 5196)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictiveDescr.java 2006-07-20 15:18:00 UTC (rev 5197)
@@ -1,59 +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 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/semantics/java/RuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java 2006-07-20 15:15:15 UTC (rev 5196)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java 2006-07-20 15:18:00 UTC (rev 5197)
@@ -38,6 +38,9 @@
import org.drools.compiler.RuleError;
import org.drools.lang.descr.AndDescr;
import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.LiteralRestrictionDescr;
+import org.drools.lang.descr.ReturnValueRestrictionDescr;
import org.drools.lang.descr.VariableDescr;
import org.drools.lang.descr.ColumnDescr;
import org.drools.lang.descr.ConditionalElementDescr;
@@ -52,6 +55,7 @@
import org.drools.lang.descr.QueryDescr;
import org.drools.lang.descr.ReturnValueDescr;
import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
import org.drools.rule.And;
import org.drools.rule.VariableConstraint;
import org.drools.rule.Column;
@@ -427,6 +431,31 @@
}
private void build(final Column column,
+ final FieldConstraintDescr fieldConstraintDescr) {
+
+ for ( final Iterator it = fieldConstraintDescr.getRestrictions().iterator(); it.hasNext(); ) {
+ final Object object = it.next();
+ if ( object instanceof FieldBindingDescr ) {
+ build( fieldConstraintDescr,
+ (FieldBindingDescr) object );
+ } else if ( object instanceof LiteralRestrictionDescr ) {
+ build( fieldConstraintDescr,
+ (LiteralRestrictionDescr) object );
+ } else if ( object instanceof VariableRestrictionDescr ) {
+ build( fieldConstraintDescr,
+ (VariableRestrictionDescr) object );
+ } else if ( object instanceof ReturnValueRestrictionDescr ) {
+ build( fieldConstraintDescr,
+ (ReturnValueRestrictionDescr) object );
+ } //else if ( object instanceof PredicateDescr ) {
+// build( column,
+// (PredicateDescr) object );
+// }
+ }
+
+ }
+
+ private void build(final Column column,
final FieldBindingDescr fieldBindingDescr) {
Declaration declaration = (Declaration) this.declarations.get( fieldBindingDescr.getIdentifier() );
if ( declaration != null ) {
@@ -459,8 +488,8 @@
}
}
- private void build(final Column column,
- final VariableDescr variableDescr) {
+ private void build(final FieldConstraintDescr fieldConstraintDescr,
+ final VariableRestrictionDescr variableRestrictionDescr) {
if ( variableDescr.getIdentifier() == null || variableDescr.getIdentifier().equals( "" ) ) {
this.errors.add( new RuleError( this.rule,
variableDescr,
@@ -500,8 +529,8 @@
evaluator ) );
}
- private void build(final Column column,
- final LiteralDescr literalDescr) {
+ private void build(final FieldConstraintDescr fieldConstraintDescr,
+ final LiteralRestrictionDescr literalRestrictionDescr) {
final Class clazz = ((ClassObjectType) column.getObjectType()).getClassType();
More information about the jboss-svn-commits
mailing list