[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