[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