[jboss-svn-commits] JBL Code SVN: r31411 - labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 4 15:06:56 EST 2010


Author: baunax
Date: 2010-02-04 15:06:56 -0500 (Thu, 04 Feb 2010)
New Revision: 31411

Modified:
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollection.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollectionIndex.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java
   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/ExpressionMethod.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionText.java
   labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java
Log:
removed getText method, changed to use a visitor

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollection.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollection.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollection.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -10,11 +10,6 @@
 			String genericType, String parametricType) {
 		super(name, classType, genericType, parametricType);
 	}
-
-	@Override
-	public String getText() {
-		return "." + getName() + (getNext() == null ? "" : getNext().getText());
-	}
 	
 	@Override
 	public void accept(ExpressionVisitor visitor) {

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollectionIndex.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollectionIndex.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionCollectionIndex.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -15,12 +15,6 @@
 	}
 	
 	@Override
-	public String getText() {
-		return "["  + paramsToString() + "]"
-				+ (getNext() == null ? "" : getNext().getText());
-	}
-	
-	@Override
 	public void accept(ExpressionVisitor visitor) {
 		visitor.visit(this);
 	}

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -13,10 +13,10 @@
 		super(fieldName, fieldClassType, fieldGenericType, parametricType);
 	}
 	
-	@Override
-	public String getText() {
-		return "." + getName() + (getNext() == null ? "" : getNext().getText());
-	}
+//	@Override
+//	public String getText() {
+//		return "." + getName() + (getNext() == null ? "" : getNext().getText());
+//	}
 
 	@Override
 	public void accept(ExpressionVisitor visitor) {

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -1,6 +1,7 @@
 package org.drools.guvnor.client.modeldriven.brl;
 
 import java.util.LinkedList;
+import java.util.Map;
 
 public class ExpressionFormLine implements IAction, IPattern, Cloneable {
 	
@@ -21,7 +22,8 @@
 	}
 
 	public String getText() {
-		return parts.isEmpty() ? "" : parts.getFirst().getText();
+		return new ToStringVisitor().buildString(getRootExpression());
+		//return parts.isEmpty() ? "" : parts.getFirst().getText();
 	}
 	
 	public void appendPart(ExpressionPart part) {
@@ -76,6 +78,79 @@
 	}
 
 	public ExpressionPart getRootExpression() {
-		return parts.getFirst();
+		return parts.isEmpty() ? null : parts.getFirst();
 	}
+	
+	private static class ToStringVisitor implements ExpressionVisitor {
+		private StringBuilder str;
+		
+		public String buildString(ExpressionPart exp) {
+			if (exp == null) {
+				return "";
+			}
+			str = new StringBuilder();
+			exp.accept(this);
+			return str.toString();
+		}
+		
+		public void visit(ExpressionPart part) {
+			throw new IllegalStateException("can't generate text for: " + part.getClass().getName());
+		}
+
+		public void visit(ExpressionField part) {
+			str.append('.').append(part.getName());
+			moveNext(part);
+		}
+
+		public void visit(ExpressionMethod part) {
+			str.append('.').append(part.getName())
+				.append('(')
+				.append(paramsToString(part.getParams()))
+				.append(')');
+			moveNext(part);
+		}
+
+		public void visit(ExpressionVariable part) {
+			str.append(part.getName());
+			moveNext(part);			
+		}
+
+		public void visit(ExpressionGlobalVariable part) {
+			str.append(part.getName());
+			moveNext(part);
+		}
+
+		public void visit(ExpressionCollection part) {
+			str.append('.').append(part.getName());
+			moveNext(part);
+		}
+
+		public void visit(ExpressionCollectionIndex part) {
+			str.append('[').append(paramsToString(part.getParams())).append(']');
+			moveNext(part);
+		}
+
+		public void visit(ExpressionText part) {
+			str.append(part.getName());
+			moveNext(part);
+		}
+
+		private String paramsToString(Map<String, ExpressionFormLine> params) {
+			if (params.isEmpty()) {
+				return "";
+			}
+			ToStringVisitor stringVisitor = new ToStringVisitor();
+			StringBuilder strParams = new StringBuilder();
+			for (ExpressionFormLine param : params.values()) {
+				strParams.append(", ").append(stringVisitor.buildString(param.getRootExpression()));
+			}
+			return strParams.substring(2);
+		}
+		
+		private void moveNext(ExpressionPart exp) {
+			if (exp.getNext() != null) {
+				exp.getNext().accept(this);
+			}
+		}
+	}
 }

Modified: 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	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionGlobalVariable.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -16,8 +16,7 @@
 	}
 
 	@Override
-	public String getText() {
-		return getName() + (getNext() == null ? "" : getNext().getText());
+	public void accept(ExpressionVisitor visitor) {
+		visitor.visit(this);
 	}
-
 }

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -30,12 +30,6 @@
 		this.params.put(name, expression);
 	}
 
-	@Override
-	public String getText() {
-		return "." + getName() + "(" + paramsToString() + ")"
-				+ (getNext() == null ? "" : getNext().getText());
-	}
-
 	protected String paramsToString() {
 		if (params.isEmpty()) {
 			return "";

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -26,8 +26,6 @@
 		return name;
 	}
 	
-	public abstract String getText();
-
 	public final String getClassType() {
 		return classType;
 	}
@@ -64,7 +62,7 @@
 
 	@Override
 	public String toString() {
-		return getText();
+		return getName();
 	}
 	
 	public void accept(ExpressionVisitor visitor) {

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionText.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionText.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionText.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -13,11 +13,6 @@
 	public ExpressionText(String name) {
 		super(name, "java.lang.String", SuggestionCompletionEngine.TYPE_STRING);
 	}
-
-	@Override
-	public String getText() {
-		return getName() + (getNext() == null ? "" : getNext().getClass());
-	}
 	
 	@Override
 	public void accept(ExpressionVisitor visitor) {

Modified: labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java	2010-02-04 20:06:24 UTC (rev 31410)
+++ labs/jbossrules/branches/guvnor_expressionEditor3_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java	2010-02-04 20:06:56 UTC (rev 31411)
@@ -15,11 +15,6 @@
 		this.fact = fact;
 	}
 
-	@Override
-	public String getText() {
-		return fact.boundName + (getNext() != null ? getNext().getText() : "");
-	}
-
 	public FactPattern getFact() {
 		return fact;
 	}



More information about the jboss-svn-commits mailing list