[jboss-svn-commits] JBL Code SVN: r11296 - labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 24 08:54:07 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-04-24 08:54:06 -0400 (Tue, 24 Apr 2007)
New Revision: 11296

Modified:
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/LocationDeterminator.java
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
Log:
JBRULES-816 Refactor Column to be Pattern

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/LocationDeterminator.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/LocationDeterminator.java	2007-04-24 12:52:09 UTC (rev 11295)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/LocationDeterminator.java	2007-04-24 12:54:06 UTC (rev 11296)
@@ -12,7 +12,7 @@
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.CollectDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FieldConstraintDescr;
@@ -25,18 +25,18 @@
 
 public class LocationDeterminator {
 
-    static final Pattern COLUMN_PATTERN_START = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*[^\\s<>!=:]*", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_OPERATOR = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_CONTAINS_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+contains\\s+[^\\s<>!=:]*", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_MATCHES_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+matches\\s+[^\\s<>!=:]*", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_EXCLUDES_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+excludes\\s+[^\\s<>!=:]*", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_COMPARATOR_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s*([<>=!]+)\\s*[^\\s<>!=:]*", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_CONTAINS_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+contains\\s+[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_MATCHES_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+matches\\s+[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_EXCLUDES_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+excludes\\s+[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
-    static final Pattern COLUMN_PATTERN_COMPARATOR_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s*([<>=!]+)\\s*[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_START = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*[^\\s<>!=:]*", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_OPERATOR = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_CONTAINS_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+contains\\s+[^\\s<>!=:]*", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_MATCHES_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+matches\\s+[^\\s<>!=:]*", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_EXCLUDES_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+excludes\\s+[^\\s<>!=:]*", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_COMPARATOR_ARGUMENT = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s*([<>=!]+)\\s*[^\\s<>!=:]*", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_CONTAINS_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+contains\\s+[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_MATCHES_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+matches\\s+[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_EXCLUDES_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s+excludes\\s+[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN_COMPARATOR_END = Pattern.compile(".*[(,](\\s*(\\S*)\\s*:)?\\s*([^\\s<>!=:]+)\\s*([<>=!]+)\\s*[^\\s<>!=:,]+\\s+", Pattern.DOTALL);
 
-    static final Pattern COLUMN_PATTERN = Pattern.compile("((\\S+)\\s*:\\s*)?(\\S+)\\s*(\\(.*)", Pattern.DOTALL);
+    static final Pattern PATTERN_PATTERN = Pattern.compile("((\\S+)\\s*:\\s*)?(\\S+)\\s*(\\(.*)", Pattern.DOTALL);
     static final Pattern EXISTS_PATTERN = Pattern.compile(".*\\s+exists\\s*\\(?\\s*((\\S*)\\s*:)?\\s*\\S*", Pattern.DOTALL);
     static final Pattern NOT_PATTERN = Pattern.compile(".*\\s+not\\s*\\(?\\s*((\\S*)\\s*:)?\\s*\\S*", Pattern.DOTALL);
     static final Pattern EVAL_PATTERN = Pattern.compile(".*\\s+eval\\s*\\(\\s*([(^\\))(\\([^\\)]*\\)?)]*)", Pattern.DOTALL);
@@ -150,8 +150,8 @@
 				return new Location(LOCATION_BEGIN_OF_CONDITION);
 			}
 			return determineLocationForDescr(subDescr, backText);
-		} else if (descr instanceof ColumnDescr) {
-			ColumnDescr columnDescr = (ColumnDescr) descr;
+		} else if (descr instanceof PatternDescr) {
+			PatternDescr patternDescr = (PatternDescr) descr;
 //			int locationType;
 //			String propertyName = null;
 //			String evaluator = null;
@@ -193,16 +193,16 @@
 //			location.setProperty(LOCATION_PROPERTY_OPERATOR, evaluator); 
 //			return location;
 			// TODO: this is not completely safe, there are rare occasions where this could fail
-			Pattern pattern = Pattern.compile(".*(" + columnDescr.getObjectType() + ")\\s*\\((.*)", Pattern.DOTALL);
+			Pattern pattern = Pattern.compile(".*(" + patternDescr.getObjectType() + ")\\s*\\((.*)", Pattern.DOTALL);
 			Matcher matcher = pattern.matcher(backText);
-			String columnContents = null;
+			String patternContents = null;
 			while (matcher.find()) {
-				columnContents = "(" + matcher.group(2);
+				patternContents = "(" + matcher.group(2);
 			}
-			if (columnContents == null) {
+			if (patternContents == null) {
 				return new Location(LOCATION_BEGIN_OF_CONDITION);
 			}
-			List subDescrs = columnDescr.getDescrs();
+			List subDescrs = patternDescr.getDescrs();
 			if (subDescrs.size() > 0) {
 				Object lastDescr = subDescrs.get(subDescrs.size() - 1);
 				if (lastDescr instanceof FieldConstraintDescr) {
@@ -218,17 +218,17 @@
 							if (lastRestr.getConnective() == RestrictionConnectiveDescr.OR) {
 								connective = '|';
 							}
-							int connectiveLocation = columnContents.lastIndexOf(connective);
-							columnContents = "( " + lastFieldDescr.getFieldName() + " " + columnContents.substring(connectiveLocation + 1);
+							int connectiveLocation = patternContents.lastIndexOf(connective);
+							patternContents = "( " + lastFieldDescr.getFieldName() + " " + patternContents.substring(connectiveLocation + 1);
 						} else {
 							Location location = new Location(LOCATION_INSIDE_CONDITION_END);
-							location.setProperty(LOCATION_PROPERTY_CLASS_NAME, columnDescr.getObjectType());
+							location.setProperty(LOCATION_PROPERTY_CLASS_NAME, patternDescr.getObjectType());
 							return location;
 						}
 					}
 				}
 			}
-			return getLocationForColumn(columnContents, columnDescr.getObjectType());
+			return getLocationForPatttern(patternContents, patternDescr.getObjectType());
 		} else if (descr instanceof ExistsDescr) {
 			List subDescrs = ((ExistsDescr) descr).getDescrs();
 			if (subDescrs.size() == 0) {
@@ -343,11 +343,11 @@
 				location.setProperty(LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT, matcher.group(1));
 				return location;
 			}
-			matcher = COLUMN_PATTERN.matcher(accumulateText);
+			matcher = PATTERN_PATTERN.matcher(accumulateText);
 			if (matcher.matches()) {
 				String className = matcher.group(3);
-				String columnContents = matcher.group(4);
-				return getLocationForColumn(columnContents, className);
+				String patternContents = matcher.group(4);
+				return getLocationForPatttern(patternContents, className);
 			}
 			return new Location(LOCATION_FROM_ACCUMULATE);
 		} else if (descr instanceof CollectDescr) {
@@ -357,11 +357,11 @@
 				end = matcher.end();
 			}
 			String collectText = backText.substring(end);
-			matcher = COLUMN_PATTERN.matcher(collectText);
+			matcher = PATTERN_PATTERN.matcher(collectText);
 			if (matcher.matches()) {
 				String className = matcher.group(3);
 				String columnContents = matcher.group(4);
-				return getLocationForColumn(columnContents, className);
+				return getLocationForPatttern(columnContents, className);
 			}
 			return new Location(LOCATION_FROM_COLLECT);
 		} else if (descr instanceof EvalDescr) {
@@ -381,7 +381,7 @@
 		if (descr == null) {
 			return false;
 		}
-		if (descr instanceof ColumnDescr) {
+		if (descr instanceof PatternDescr) {
 			return descr.getEndCharacter() != -1;
 		} else if (descr instanceof ExistsDescr) {
 			List descrs = ((ExistsDescr) descr).getDescrs();
@@ -427,15 +427,15 @@
 //		return false;
 	}
 	
-	private static Location getLocationForColumn(String columnContents, String className) {
-		Matcher matcher = COLUMN_PATTERN_OPERATOR.matcher(columnContents);
+	private static Location getLocationForPatttern(String patternContents, String className) {
+		Matcher matcher = PATTERN_PATTERN_OPERATOR.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_OPERATOR);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
 			location.setProperty(LOCATION_PROPERTY_PROPERTY_NAME, matcher.group(3));
 			return location;
         }
-        matcher = COLUMN_PATTERN_COMPARATOR_ARGUMENT.matcher(columnContents);
+        matcher = PATTERN_PATTERN_COMPARATOR_ARGUMENT.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_ARGUMENT);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
@@ -443,7 +443,7 @@
 			location.setProperty(LOCATION_PROPERTY_OPERATOR, matcher.group(4));
 			return location;
         }
-        matcher = COLUMN_PATTERN_CONTAINS_ARGUMENT.matcher(columnContents);
+        matcher = PATTERN_PATTERN_CONTAINS_ARGUMENT.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_ARGUMENT);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
@@ -451,7 +451,7 @@
 			location.setProperty(LOCATION_PROPERTY_OPERATOR, "contains");
 			return location;
         }
-        matcher = COLUMN_PATTERN_EXCLUDES_ARGUMENT.matcher(columnContents);
+        matcher = PATTERN_PATTERN_EXCLUDES_ARGUMENT.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_ARGUMENT);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
@@ -459,7 +459,7 @@
 			location.setProperty(LOCATION_PROPERTY_OPERATOR, "excludes");
 			return location;
         }
-        matcher = COLUMN_PATTERN_MATCHES_ARGUMENT.matcher(columnContents);
+        matcher = PATTERN_PATTERN_MATCHES_ARGUMENT.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_ARGUMENT);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
@@ -467,31 +467,31 @@
 			location.setProperty(LOCATION_PROPERTY_OPERATOR, "matches");
 			return location;
         }
-        matcher = COLUMN_PATTERN_CONTAINS_END.matcher(columnContents);
+        matcher = PATTERN_PATTERN_CONTAINS_END.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_END);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
 			return location;
         }
-        matcher = COLUMN_PATTERN_MATCHES_END.matcher(columnContents);
+        matcher = PATTERN_PATTERN_MATCHES_END.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_END);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
 			return location;
         }
-        matcher = COLUMN_PATTERN_EXCLUDES_END.matcher(columnContents);
+        matcher = PATTERN_PATTERN_EXCLUDES_END.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_END);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
 			return location;
         }
-        matcher = COLUMN_PATTERN_COMPARATOR_END.matcher(columnContents);
+        matcher = PATTERN_PATTERN_COMPARATOR_END.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_END);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);
 			return location;
         }
-		matcher = COLUMN_PATTERN_START.matcher(columnContents);
+		matcher = PATTERN_PATTERN_START.matcher(patternContents);
         if (matcher.matches()) {
 			Location location = new Location(LOCATION_INSIDE_CONDITION_START);
 			location.setProperty(LOCATION_PROPERTY_CLASS_NAME, className);

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2007-04-24 12:52:09 UTC (rev 11295)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2007-04-24 12:54:06 UTC (rev 11296)
@@ -24,7 +24,7 @@
 import org.drools.lang.descr.AccumulateDescr;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FactTemplateDescr;
 import org.drools.lang.descr.FieldBindingDescr;
@@ -675,13 +675,13 @@
 		if (descr == null) {
 			return;
 		}
-		if (descr instanceof ColumnDescr) {
-			String name = ((ColumnDescr) descr).getIdentifier();
+		if (descr instanceof PatternDescr) {
+			String name = ((PatternDescr) descr).getIdentifier();
 			if (name != null) {
-				result.put(name, ((ColumnDescr) descr).getObjectType());
+				result.put(name, ((PatternDescr) descr).getObjectType());
 			}
-			getRuleSubParameters(result, ((ColumnDescr) descr).getDescrs(),
-					((ColumnDescr) descr).getObjectType());
+			getRuleSubParameters(result, ((PatternDescr) descr).getDescrs(),
+					((PatternDescr) descr).getObjectType());
 		} else if (descr instanceof AndDescr) {
 			getRuleParameters(result, ((AndDescr) descr).getDescrs());
 		} else if (descr instanceof OrDescr) {
@@ -691,12 +691,12 @@
 		} else if (descr instanceof NotDescr) {
 			getRuleParameters(result, ((NotDescr) descr).getDescrs());
 		} else if (descr instanceof FromDescr) {
-			getRuleParameters(result, ((FromDescr) descr).getReturnedColumn());
+			getRuleParameters(result, ((FromDescr) descr).getReturnedPattern());
 		} else if (descr instanceof AccumulateDescr) {
 			AccumulateDescr accumulateDescr = (AccumulateDescr) descr;
-			getRuleParameters(result, accumulateDescr.getResultColumn());
-			if (accumulateDescr.getSourceColumn() != null) {
-				getRuleParameters(result, accumulateDescr.getSourceColumn());
+			getRuleParameters(result, accumulateDescr.getResultPattern());
+			if (accumulateDescr.getSourcePattern() != null) {
+				getRuleParameters(result, accumulateDescr.getSourcePattern());
 			}
 		}
 




More information about the jboss-svn-commits mailing list