[jboss-svn-commits] JBL Code SVN: r9779 - in labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools: semantics/java and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 26 19:04:40 EST 2007


Author: mark.proctor at jboss.com
Date: 2007-02-26 19:04:40 -0500 (Mon, 26 Feb 2007)
New Revision: 9779

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/dialect/mvel/MVELFromBuilder.java
Removed:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java
Log:
JBRULES-708 MVEL Integration
-More interface/implementation seperation for dialects

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/dialect/mvel/MVELFromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/dialect/mvel/MVELFromBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/dialect/mvel/MVELFromBuilder.java	2007-02-27 00:04:40 UTC (rev 9779)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2006 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.
+ */
+
+package org.drools.dialect.mvel;
+
+import java.io.Serializable;
+
+import org.drools.base.DroolsMVELFactory;
+import org.drools.base.dataproviders.MVELDataProvider;
+import org.drools.compiler.RuleError;
+import org.drools.lang.descr.AccessorDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.FromDescr;
+import org.drools.rule.Column;
+import org.drools.rule.ConditionalElement;
+import org.drools.rule.From;
+import org.drools.semantics.java.builder.BuildContext;
+import org.drools.semantics.java.builder.BuildUtils;
+import org.drools.semantics.java.builder.ColumnBuilder;
+import org.drools.semantics.java.builder.ConditionalElementBuilder;
+import org.drools.spi.DataProvider;
+import org.mvel.CompiledExpression;
+import org.mvel.ExpressionParser;
+import org.mvel.MVEL;
+
+/**
+ * A builder for "from" conditional element
+ * 
+ * @author etirelli
+ */
+public class MVELFromBuilder
+    implements
+    ConditionalElementBuilder {
+
+    /**
+     * @inheritDoc
+     */
+    public ConditionalElement build(final BuildContext context,
+                                    final BuildUtils utils,
+                                    final ColumnBuilder columnBuilder,
+                                    final BaseDescr descr) {
+        FromDescr fromDescr = (FromDescr) descr;
+
+        final Column column = columnBuilder.build( context,
+                                                   utils,
+                                                   fromDescr.getReturnedColumn() );
+
+        if ( column == null ) {
+            return null;
+        }
+
+        AccessorDescr accessor = (AccessorDescr) fromDescr.getDataSource();
+        DataProvider dataProvider = null;
+        try {
+//            JFDIParser parser = createParser( utils,
+//                                              accessor.toString() );
+            DroolsMVELFactory factory = new DroolsMVELFactory( );
+            factory.setDeclarationMap( context.getDeclarationResolver().getDeclarations() );
+            factory.setGlobalsMap( context.getPkg().getGlobals() );
+            
+            //parser.setValueHandlerFactory( factory );
+            Serializable compiled = MVEL.compileExpression( accessor.toString() );
+
+            dataProvider = new MVELDataProvider( compiled,
+                                                 factory );
+        } catch ( final Exception e ) {
+            context.getErrors().add( new RuleError( context.getRule(),
+                                                    fromDescr,
+                                                    null,
+                                                    "Unable to build expression for 'from' node '" + accessor.toString() + "'" ) );
+            return null;
+        }
+
+        return new From( column,
+                         dataProvider );
+    }
+}

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	2007-02-27 00:02:42 UTC (rev 9778)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/RuleBuilder.java	2007-02-27 00:04:40 UTC (rev 9779)
@@ -29,6 +29,7 @@
 import org.drools.dialect.java.JavaAccumulateBuilder;
 import org.drools.dialect.java.JavaConsequenceBuilder;
 import org.drools.dialect.java.JavaEvalBuilder;
+import org.drools.dialect.mvel.MVELFromBuilder;
 import org.drools.lang.descr.AccumulateDescr;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
@@ -51,7 +52,6 @@
 import org.drools.semantics.java.builder.ColumnBuilder;
 import org.drools.semantics.java.builder.ConditionalElementBuilder;
 import org.drools.semantics.java.builder.ConsequenceBuilder;
-import org.drools.semantics.java.builder.FromBuilder;
 import org.drools.semantics.java.builder.GroupElementBuilder;
 import org.drools.semantics.java.builder.RuleClassBuilder;
 
@@ -91,7 +91,7 @@
         builders.put( EvalDescr.class,
                       new JavaEvalBuilder() );
         builders.put( FromDescr.class,
-                      new FromBuilder() );
+                      new MVELFromBuilder() );
         builders.put( CollectDescr.class,
                       new CollectBuilder() );
         builders.put( AccumulateDescr.class,

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java	2007-02-27 00:02:42 UTC (rev 9778)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/builder/FromBuilder.java	2007-02-27 00:04:40 UTC (rev 9779)
@@ -1,86 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-
-package org.drools.semantics.java.builder;
-
-import java.io.Serializable;
-
-import org.drools.base.DroolsMVELFactory;
-import org.drools.base.dataproviders.MVELDataProvider;
-import org.drools.compiler.RuleError;
-import org.drools.lang.descr.AccessorDescr;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.FromDescr;
-import org.drools.rule.Column;
-import org.drools.rule.ConditionalElement;
-import org.drools.rule.From;
-import org.drools.spi.DataProvider;
-import org.mvel.CompiledExpression;
-import org.mvel.ExpressionParser;
-import org.mvel.MVEL;
-
-/**
- * A builder for "from" conditional element
- * 
- * @author etirelli
- */
-public class FromBuilder
-    implements
-    ConditionalElementBuilder {
-
-    /**
-     * @inheritDoc
-     */
-    public ConditionalElement build(final BuildContext context,
-                                    final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
-                                    final BaseDescr descr) {
-        FromDescr fromDescr = (FromDescr) descr;
-
-        final Column column = columnBuilder.build( context,
-                                                   utils,
-                                                   fromDescr.getReturnedColumn() );
-
-        if ( column == null ) {
-            return null;
-        }
-
-        AccessorDescr accessor = (AccessorDescr) fromDescr.getDataSource();
-        DataProvider dataProvider = null;
-        try {
-//            JFDIParser parser = createParser( utils,
-//                                              accessor.toString() );
-            DroolsMVELFactory factory = new DroolsMVELFactory( );
-            factory.setDeclarationMap( context.getDeclarationResolver().getDeclarations() );
-            factory.setGlobalsMap( context.getPkg().getGlobals() );
-            
-            //parser.setValueHandlerFactory( factory );
-            Serializable compiled = MVEL.compileExpression( accessor.toString() );
-
-            dataProvider = new MVELDataProvider( compiled,
-                                                 factory );
-        } catch ( final Exception e ) {
-            context.getErrors().add( new RuleError( context.getRule(),
-                                                    fromDescr,
-                                                    null,
-                                                    "Unable to build expression for 'from' node '" + accessor.toString() + "'" ) );
-            return null;
-        }
-
-        return new From( column,
-                         dataProvider );
-    }
-}




More information about the jboss-svn-commits mailing list