[jboss-svn-commits] JBL Code SVN: r13894 - 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
Mon Jul 30 21:46:09 EDT 2007


Author: pombredanne
Date: 2007-07-30 21:46:09 -0400 (Mon, 30 Jul 2007)
New Revision: 13894

Modified:
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java
Log:
JBRULES-1013: Fixed compilation error following changhes of interface son ClassTypeResolver in r13869. Added a new utility method getUniqueImports returning a Set

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2007-07-31 01:42:40 UTC (rev 13893)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2007-07-31 01:46:09 UTC (rev 13894)
@@ -21,7 +21,6 @@
 import org.drools.util.StringUtils;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jdt.core.CompletionContext;
-import org.eclipse.jdt.core.CompletionProposal;
 import org.eclipse.jdt.core.CompletionRequestor;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
@@ -73,12 +72,12 @@
                                           int documentOffset) {
         try {
 	        IDocument doc = viewer.getDocument();
-	        String backText = readBackwards( documentOffset, doc );            
-	
+	        String backText = readBackwards( documentOffset, doc );
+
 	        String prefix = CompletionUtil.stripLastWord(backText);
-	        
+
 	        List props = null;
-	        Matcher matcher = IMPORT_PATTERN.matcher(backText); 
+	        Matcher matcher = IMPORT_PATTERN.matcher(backText);
 	        if (matcher.matches()) {
 	        	String classNameStart = backText.substring(backText.lastIndexOf("import") + 7);
 	        	props = getAllClassProposals(classNameStart, documentOffset, prefix);
@@ -122,14 +121,14 @@
         }
         return result;
     }
-    
+
 	private List getAllClassProposals(final String classNameStart, final int documentOffset, final String prefix) {
 		final List list = new ArrayList();
 		IEditorInput input = getEditor().getEditorInput();
 		if (input instanceof IFileEditorInput) {
 			IProject project = ((IFileEditorInput) input).getFile().getProject();
 			IJavaProject javaProject = JavaCore.create(project);
-			
+
 			CompletionRequestor requestor = new CompletionRequestor() {
 				public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
 					String className = new String(proposal.getCompletion());
@@ -138,7 +137,7 @@
 						prop.setImage(DroolsPluginImages.getImage(DroolsPluginImages.PACKAGE));
 						list.add(prop);
 					} else if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) {
-						RuleCompletionProposal prop = new RuleCompletionProposal(documentOffset - prefix.length(), classNameStart.length() - proposal.getReplaceStart(), className, className + ";"); 
+						RuleCompletionProposal prop = new RuleCompletionProposal(documentOffset - prefix.length(), classNameStart.length() - proposal.getReplaceStart(), className, className + ";");
 						prop.setImage(DroolsPluginImages.getImage(DroolsPluginImages.CLASS));
 						list.add(prop);
 					}
@@ -258,7 +257,7 @@
 
 		CompletionProposalCollector collector = new CompletionProposalCollector(javaProject);
 		collector.acceptContext(new CompletionContext());
-		
+
         try {
             IEvaluationContext evalContext = javaProject.newEvaluationContext();
             List imports = getImports();
@@ -308,6 +307,12 @@
         return Collections.EMPTY_LIST;
     }
 
+    protected Set getUniqueImports() {
+            HashSet set = new HashSet();
+			set.addAll(getImports());
+			return set;
+    }
+
     protected List getFunctions() {
         if ( getEditor() instanceof DRLRuleEditor ) {
             return ((DRLRuleEditor) getEditor()).getFunctions();

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-07-31 01:42:40 UTC (rev 13893)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/RuleCompletionProcessor.java	2007-07-31 01:46:09 UTC (rev 13894)
@@ -67,7 +67,7 @@
 		try {
 			final List list = new ArrayList();
 			IDocument doc = viewer.getDocument();
-			
+
 			String backText = readBackwards(documentOffset, doc);
 			final String prefix = CompletionUtil.stripLastWord(backText);
 
@@ -105,7 +105,7 @@
 			// possible if doing code completion directly after "then"
 			return;
 		}
-		String consequenceWithoutPrefix = 
+		String consequenceWithoutPrefix =
 			consequence.substring(0,consequence.length() - prefix.length());
 
         if ( context == null ) {
@@ -133,7 +133,7 @@
         }
 	}
 
-	protected void addLHSCompletionProposals(List list, int documentOffset, 
+	protected void addLHSCompletionProposals(List list, int documentOffset,
 			Location location, String prefix, String backText) {
 		switch (location.getType()) {
 		case Location.LOCATION_LHS_BEGIN_OF_CONDITION:
@@ -220,7 +220,7 @@
 						documentOffset, prefix, className, list);
 				if (!isTemplate) {
 					ClassTypeResolver resolver = new ClassTypeResolver(
-							getImports(), ProjectClassLoader
+							getUniqueImports(), ProjectClassLoader
 									.getProjectClassLoader(getEditor()));
 					try {
 						String currentClass = className;
@@ -242,7 +242,7 @@
 						Class clazz = resolver.resolveType(currentClass);
 						if (clazz != null) {
 							if (Map.class.isAssignableFrom(clazz)) {
-								p = new RuleCompletionProposal(documentOffset - prefix.length(), 
+								p = new RuleCompletionProposal(documentOffset - prefix.length(),
 									prefix.length(), "this['']", "this['']", 6);
 								p.setImage(METHOD_ICON);
 								list.add(p);
@@ -252,14 +252,14 @@
 							Iterator iterator2 = inspector.getFieldNames().keySet().iterator();
 							while (iterator2.hasNext()) {
 								String name = (String) iterator2.next();
-								p = new RuleCompletionProposal(documentOffset - prefix.length(), 
+								p = new RuleCompletionProposal(documentOffset - prefix.length(),
 										prefix.length(), name, name + " ");
 								p.setImage(METHOD_ICON);
 								list.add(p);
 								Class type = (Class) types.get(name);
 								if (type != null && Map.class.isAssignableFrom(type)) {
 									name += "['']";
-									p = new RuleCompletionProposal(documentOffset - prefix.length(), 
+									p = new RuleCompletionProposal(documentOffset - prefix.length(),
 										prefix.length(), name, name, name.length() - 2);
 									p.setImage(METHOD_ICON);
 									list.add(p);
@@ -505,7 +505,7 @@
 							return type;
 						}
 						ClassTypeResolver resolver = new ClassTypeResolver(
-								getImports(), ProjectClassLoader
+								getUniqueImports(), ProjectClassLoader
 										.getProjectClassLoader(getEditor()));
 						try {
 							Class clazz = resolver.resolveType(type);
@@ -541,7 +541,7 @@
 			return "java.lang.Object";
 		}
 		ClassTypeResolver resolver = new ClassTypeResolver(
-			getImports(), ProjectClassLoader
+				getUniqueImports(), ProjectClassLoader
 				.getProjectClassLoader(getEditor()));
 		try {
 			Class clazz = resolver.resolveType(className);
@@ -633,7 +633,7 @@
 		class1 = convertToNonPrimitiveClass(class1);
 		class2 = convertToNonPrimitiveClass(class2);
 		// TODO add code to take primitive types into account
-		ClassTypeResolver resolver = new ClassTypeResolver(getImports(), ProjectClassLoader
+		ClassTypeResolver resolver = new ClassTypeResolver(getUniqueImports(), ProjectClassLoader
 				.getProjectClassLoader(getEditor()));
 		try {
 			Class clazz1 = resolver.resolveType(class1);
@@ -707,7 +707,7 @@
 		list.add(prop);
 	}
 
-	private void addRHSJavaCompletionProposals(List list, int documentOffset, String prefix, String backText, 
+	private void addRHSJavaCompletionProposals(List list, int documentOffset, String prefix, String backText,
 			String consequence) {
 		list.addAll(getJavaCompletionProposals(documentOffset, consequence, prefix,
 				getRuleParameters(backText)));




More information about the jboss-svn-commits mailing list