[jboss-svn-commits] JBL Code SVN: r31402 - in labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban: drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 4 09:50:15 EST 2010


Author: baunax
Date: 2010-02-04 09:50:14 -0500 (Thu, 04 Feb 2010)
New Revision: 31402

Added:
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionGlobalVariable.java
Modified:
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/CopyExpressionVisitor.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVisitor.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java
Log:
added support for Global Variables

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/CopyExpressionVisitor.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/CopyExpressionVisitor.java	2010-02-04 14:35:29 UTC (rev 31401)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/CopyExpressionVisitor.java	2010-02-04 14:50:14 UTC (rev 31402)
@@ -53,6 +53,12 @@
 		moveNext(part);
 	}
 
+	public void visit(ExpressionGlobalVariable part) {
+		add(new ExpressionGlobalVariable(part.getName(), part.getClassType(), part.getGenericType(), part.getParametricType()));
+		moveNext(part);
+		
+	}
+	
 	private void copyMethodParams(ExpressionMethod part, ExpressionMethod method) {
 		Map<String, ExpressionFormLine> params = new HashMap<String, ExpressionFormLine>();
 		for (Map.Entry<String, ExpressionFormLine> entry : part.getParams().entrySet()) {
@@ -76,4 +82,6 @@
 			curr = p;
 		}
 	}
+
+
 }

Added: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionGlobalVariable.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionGlobalVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionGlobalVariable.java	2010-02-04 14:50:14 UTC (rev 31402)
@@ -0,0 +1,23 @@
+package org.drools.guvnor.client.modeldriven.brl;
+
+public class ExpressionGlobalVariable extends ExpressionPart {
+
+	protected ExpressionGlobalVariable() {
+	}
+
+	public ExpressionGlobalVariable(String name, String classType,
+			String genericType) {
+		super(name, classType, genericType);
+	}
+
+	public ExpressionGlobalVariable(String name, String classType,
+			String genericType, String parametricType) {
+		super(name, classType, genericType, parametricType);
+	}
+
+	@Override
+	public String getText() {
+		return getName() + (getNext() == null ? "" : getNext().getText());
+	}
+
+}


Property changes on: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionGlobalVariable.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVisitor.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVisitor.java	2010-02-04 14:35:29 UTC (rev 31401)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVisitor.java	2010-02-04 14:50:14 UTC (rev 31402)
@@ -5,6 +5,7 @@
 	void visit(ExpressionField part);
 	void visit(ExpressionMethod part);
 	void visit(ExpressionVariable part);
+	void visit(ExpressionGlobalVariable part);
 	void visit(ExpressionCollection part);
 	void visit(ExpressionCollectionIndex part);
 	void visit(ExpressionText part);

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java	2010-02-04 14:35:29 UTC (rev 31401)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ExpressionBuilder.java	2010-02-04 14:50:14 UTC (rev 31402)
@@ -13,6 +13,7 @@
 import org.drools.guvnor.client.modeldriven.brl.ExpressionCollectionIndex;
 import org.drools.guvnor.client.modeldriven.brl.ExpressionField;
 import org.drools.guvnor.client.modeldriven.brl.ExpressionFormLine;
+import org.drools.guvnor.client.modeldriven.brl.ExpressionGlobalVariable;
 import org.drools.guvnor.client.modeldriven.brl.ExpressionMethod;
 import org.drools.guvnor.client.modeldriven.brl.ExpressionPart;
 import org.drools.guvnor.client.modeldriven.brl.ExpressionText;
@@ -51,7 +52,7 @@
 			panel.add(createStartPointWidget());
 		} else {
 			panel.add(new Label(expression.getText()));
-			panel.add(getWidgetForCurrentType(null));
+			panel.add(getWidgetForCurrentType());
 		}
 		initWidget(panel);
 	}
@@ -90,26 +91,32 @@
 	private void startPointChange(String value) {
 		panel.clear();
 		Widget w;
-		if (value.startsWith(VARIABLE_VALUE_PREFIX)) {
-			FactPattern fact = getRuleModel().getBoundFact(
-					value.substring(VARIABLE_VALUE_PREFIX.length() + 1));
+		int dotPos = value.indexOf('.');
+		String prefix = value.substring(0, dotPos);
+		String attrib = value.substring(dotPos + 1);
+		if (prefix.equals(VARIABLE_VALUE_PREFIX)) {
+			FactPattern fact = getRuleModel().getBoundFact(attrib);
 			ExpressionVariable variable = new ExpressionVariable(fact);
 			expression.appendPart(variable);
-			w = getWidgetForCurrentType(null);
+			
+		} else if (prefix.equals(GLOBAL_VARIABLE_VALUE_PREFIX)) {
+			String globalVarType = getCompletionEngine().getGlobalVariable(attrib);
+			ExpressionGlobalVariable variable = new ExpressionGlobalVariable(attrib, globalVarType, globalVarType);
+			expression.appendPart(variable);
+		}
+		w = getWidgetForCurrentType();
 
-			if (!expression.isEmpty()) {
-				panel.add(new Label(expression.getText()));
-			}
-			if (w != null) {
-				panel.add(w);
-			}
+		if (!expression.isEmpty()) {
+			panel.add(new Label(expression.getText()));
 		}
-
+		if (w != null) {
+			panel.add(w);
+		}
 		// panel.add(getWidgetFor(startPoint.getValue(index)));
 		// ExpressionBuilder.this.expression.appendText(v);
 	}
 
-	private Widget getWidgetForCurrentType(String prevFactName) {
+	private Widget getWidgetForCurrentType() {
 		if (expression.isEmpty()) {
 			return createStartPointWidget();
 		}
@@ -222,7 +229,7 @@
 				}
 			}
 		}
-		Widget w = getWidgetForCurrentType(prevFactName);
+		Widget w = getWidgetForCurrentType();
 
 		panel.clear();
 		if (!expression.isEmpty()) {



More information about the jboss-svn-commits mailing list