[jboss-svn-commits] JBL Code SVN: r31211 - in labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor: server/util and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 25 17:49:57 EST 2010


Author: baunax
Date: 2010-01-25 17:49:56 -0500 (Mon, 25 Jan 2010)
New Revision: 31211

Added:
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java
Modified:
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java
Log:
refactored ExpressionFormLine to each part be in its own class

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionField.java	2010-01-25 22:49:56 UTC (rev 31211)
@@ -0,0 +1,26 @@
+package org.drools.guvnor.client.modeldriven.brl;
+
+
+public class ExpressionField extends ExpressionPart {
+	private String fieldName;
+	private String fieldType; 
+	
+	@SuppressWarnings("unused")
+	private ExpressionField() {}
+
+	public ExpressionField(String fieldName, String fieldType) {
+		super();
+		this.fieldName = fieldName;
+		this.fieldType = fieldType;
+	}
+
+	@Override
+	public String getText() {
+		return fieldName + (getNext() == null ? "" : getNext().getText());
+	}
+
+	@Override
+	public String getType() {
+		return fieldType;
+	}
+}


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

Modified: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java	2010-01-25 22:48:38 UTC (rev 31210)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionFormLine.java	2010-01-25 22:49:56 UTC (rev 31211)
@@ -1,16 +1,31 @@
 package org.drools.guvnor.client.modeldriven.brl;
 
-/**
- * This is a free form line which will be rendered and displayed-as-is.
- * Allows users to put anything in via guided editor. Use with caution.
- *
- * @author Michael Neale
- *
- */
+import java.util.LinkedList;
+
 public class ExpressionFormLine implements IAction, IPattern {
+	
+    private LinkedList<ExpressionPart> parts = new LinkedList<ExpressionPart>() ;
+    
+    public ExpressionFormLine() {}
 
-    public String text;
-
-    public ExpressionFormLine() {
-    }
+	public String getText() {
+		return parts.isEmpty() ? "" : parts.getFirst().getText();
+	}
+	
+	public void appendPart(ExpressionPart part) {
+		if (!parts.isEmpty()) {
+			parts.getLast().setNext(part);
+		}
+		parts.add(part);
+	}
+	
+	public void removeLast() {
+		if (!parts.isEmpty()) {
+			parts.removeLast();
+		}
+	}
+	
+	public String getType() {
+		return parts.getLast().getType();
+	}
 }

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionMethod.java	2010-01-25 22:49:56 UTC (rev 31211)
@@ -0,0 +1,65 @@
+package org.drools.guvnor.client.modeldriven.brl;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+public class ExpressionMethod extends ExpressionPart {
+	private String methodName;
+	private String returnType;
+
+	private Map<String, ExpressionPart> params = new LinkedHashMap<String, ExpressionPart>();
+
+	@SuppressWarnings("unused")
+	private ExpressionMethod() {
+	}
+	
+	public ExpressionMethod(String methodName, String returnType) {
+		super();
+		this.methodName = methodName;
+		this.returnType = returnType;
+	}
+
+	public String getMethodName() {
+		return methodName;
+	}
+
+	public Map<String, ExpressionPart> getParams() {
+		return params;
+	}
+
+	public void setParams(Map<String, ExpressionPart> params) {
+		this.params = params;
+	}
+
+	public void setMethodName(String methodName) {
+		this.methodName = methodName;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	@Override
+	public String getText() {
+		return methodName + paramsToString()
+				+ (getNext() == null ? "" : getNext().getText());
+	}
+
+	private String paramsToString() {
+		String sep = ", ";
+		StringBuilder s = new StringBuilder();
+		for (ExpressionPart expr : params.values()) {
+			s.append(sep).append(expr.getText());
+		}
+		return "(" + s.substring(sep.length()) + ")";
+	}
+
+	@Override
+	public String getType() {
+		return returnType;
+	}
+}


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

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionPart.java	2010-01-25 22:49:56 UTC (rev 31211)
@@ -0,0 +1,35 @@
+package org.drools.guvnor.client.modeldriven.brl;
+
+public abstract class ExpressionPart implements IPattern, IAction {
+	private ExpressionPart prev;
+	private ExpressionPart next;
+
+	public ExpressionPart() {}
+
+	public abstract String getText();
+
+	public abstract String getType();
+	
+	public ExpressionPart getPrevious() {
+		return prev;
+	}
+
+	public void setPrevious(ExpressionPart prev) {
+		this.prev = prev;
+		prev.next = this;
+	}
+
+	public ExpressionPart getNext() {
+		return next;
+	}
+
+	public void setNext(ExpressionPart next) {
+		this.next = next;
+		next.prev = this;
+	}
+
+	@Override
+	public String toString() {
+		return getText();
+	}
+}


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

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/ExpressionVariable.java	2010-01-25 22:49:56 UTC (rev 31211)
@@ -0,0 +1,30 @@
+package org.drools.guvnor.client.modeldriven.brl;
+
+
+public class ExpressionVariable extends ExpressionPart {
+	private FactPattern fact;
+	
+	@SuppressWarnings("unused")
+	private ExpressionVariable() {}
+
+	public ExpressionVariable(FactPattern fact) {
+		if (!fact.isBound()) {
+			throw new RuntimeException("the fact is not bounded: " + fact);
+		}
+		this.fact = fact;
+	}
+
+	@Override
+	public String getText() {
+		return fact.boundName + (getNext() != null ? "." + getNext().getText() : "");
+	}
+
+	public FactPattern getFact() {
+		return fact;
+	}
+
+	@Override
+	public String getType() {
+		return fact.factType;
+	}
+}


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

Modified: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java	2010-01-25 22:48:38 UTC (rev 31210)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/server/util/BRDRLPersistence.java	2010-01-25 22:49:56 UTC (rev 31211)
@@ -238,13 +238,13 @@
 			this.generateFactPattern(pattern.patterns[subIndex]);
 		}
 
-                private void renderExpression(ExpressionFormLine expression){
-                    buf.append(expression.text);
-                }
+		private void renderExpression(ExpressionFormLine expression) {
+			buf.append(expression.getText());
+		}
 
 		public void visitDSLSentence(final DSLSentence sentence) {
 			buf.append("\t\t");
-			buf.append(sentence.toString());
+			buf.append(sentence);
 			buf.append("\n");
 		}
 



More information about the jboss-svn-commits mailing list