You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2012/01/16 16:08:02 UTC

svn commit: r1232018 - /uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/codeassist/TextMarkerCompletionEngine.java

Author: pkluegl
Date: Mon Jan 16 15:08:01 2012
New Revision: 1232018

URL: http://svn.apache.org/viewvc?rev=1232018&view=rev
Log:
UIMA-2334
refactored string match and added toLowerCase()

Modified:
    uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/codeassist/TextMarkerCompletionEngine.java

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/codeassist/TextMarkerCompletionEngine.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/codeassist/TextMarkerCompletionEngine.java?rev=1232018&r1=1232017&r2=1232018&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/codeassist/TextMarkerCompletionEngine.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-ide/src/main/java/org/apache/uima/textmarker/ide/core/codeassist/TextMarkerCompletionEngine.java Mon Jan 16 15:08:01 2012
@@ -174,7 +174,7 @@ public class TextMarkerCompletionEngine 
           TextMarkerModuleDeclaration parsed, String startPart, int type, String complString) {
     Collection<String> importedEngines = parsed.descriptorInfo.getImportedEngines();
     for (String string : importedEngines) {
-      if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+      if (match(complString, string)) {
         addProposal(complString, string, CompletionProposal.PACKAGE_REF);
       }
     }
@@ -182,7 +182,7 @@ public class TextMarkerCompletionEngine 
     for (String each : importedScripts) {
       String[] split = each.split("\\.");
       String string = split[split.length - 1];
-      if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+      if (match(complString, string)) {
         addProposal(complString, string, CompletionProposal.PACKAGE_REF);
       }
     }
@@ -198,7 +198,7 @@ public class TextMarkerCompletionEngine 
     }
     for (IMethod m : blocks) {
       String string = m.getElementName();
-      if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+      if (match(complString, string)) {
         addProposal(complString, string, CompletionProposal.PACKAGE_REF);
       }
     }
@@ -219,7 +219,7 @@ public class TextMarkerCompletionEngine 
         }
       }
       for (String string : scripts) {
-        if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+        if (match(complString, string)) {
           addProposal(complString, string, CompletionProposal.PACKAGE_REF);
         }
       }
@@ -234,7 +234,7 @@ public class TextMarkerCompletionEngine 
         }
       }
       for (String string : engines) {
-        if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+        if (match(complString, string)) {
           addProposal(complString, string, CompletionProposal.PACKAGE_REF);
         }
       }
@@ -249,7 +249,7 @@ public class TextMarkerCompletionEngine 
         }
       }
       for (String string : tss) {
-        if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+        if (match(complString, string)) {
           addProposal(complString, string, CompletionProposal.PACKAGE_REF);
         }
       }
@@ -327,7 +327,7 @@ public class TextMarkerCompletionEngine 
   private void doCompletionOnDeclaration(ISourceModule cu, String startPart) {
     String[] keywords = TextMarkerKeywordsManager.getKeywords(ITextMarkerKeywords.DECLARATION);
     for (String string : keywords) {
-      if (string.startsWith(startPart) || removeLowerCase(string).startsWith(startPart)) {
+      if (match(startPart, string)) {
         addProposal(startPart, string, CompletionProposal.KEYWORD);
       }
     }
@@ -400,7 +400,7 @@ public class TextMarkerCompletionEngine 
           String startPart, int type, String complString) {
     String[] keywords = TextMarkerKeywordsManager.getKeywords(ITextMarkerKeywords.ACTION);
     for (String string : keywords) {
-      if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+      if (match(complString, string)) {
         addProposal(complString, string, CompletionProposal.METHOD_NAME_REFERENCE);
       }
     }
@@ -413,7 +413,7 @@ public class TextMarkerCompletionEngine 
     }
     String[] keywords = TextMarkerKeywordsManager.getKeywords(ITextMarkerKeywords.CONDITION);
     for (String string : keywords) {
-      if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+      if (match(complString, string)) {
         addProposal(complString, string, CompletionProposal.METHOD_NAME_REFERENCE);
       }
     }
@@ -430,7 +430,7 @@ public class TextMarkerCompletionEngine 
     } catch (Exception e) {
     }
     for (String string : types) {
-      if (string.startsWith(complString) || removeLowerCase(string).startsWith(complString)) {
+      if (match(complString, string)) {
         addProposal(complString, string, CompletionProposal.TYPE_REF);
       }
     }
@@ -465,6 +465,11 @@ public class TextMarkerCompletionEngine 
     }
   }
 
+  private boolean match(String complString, String string) {
+    return string.toLowerCase().startsWith(complString.toLowerCase())
+            || removeLowerCase(string).startsWith(complString);
+  }
+
   private void collectFields(SourceMethod sm, List<IField> fields) throws ModelException {
     IModelElement[] children = sm.getChildren();
     for (IModelElement me : children) {
@@ -546,9 +551,10 @@ public class TextMarkerCompletionEngine 
     char[] fieldName = field.getElementName().toCharArray();
     char[] complFragment = complString.toCharArray();
 
-    if (CharOperation.camelCaseMatch(complString.toCharArray(), fieldName)) {
+    if (CharOperation.camelCaseMatch(complString.toCharArray(), fieldName)
+            || match(complString, field.getElementName())) {
 
-      int relevance = RelevanceConstants.R_DEFAULT;
+      int relevance = RelevanceConstants.R_DEFAULT +1;
       relevance += computeRelevanceForCaseMatching(complFragment, fieldName);
 
       // accept result
@@ -581,9 +587,9 @@ public class TextMarkerCompletionEngine 
     if (complString.length() > 0) {
       pattern = complString.toCharArray();
     }
-    if (CharOperation.camelCaseMatch(pattern, fieldName)) {
+    if (CharOperation.camelCaseMatch(pattern, fieldName) || match(complString, string)) {
 
-      int relevance = RelevanceConstants.R_DEFAULT;
+      int relevance = RelevanceConstants.R_DEFAULT +1;
       relevance += computeRelevanceForCaseMatching(complFragment, fieldName);
 
       // accept result