diff options
author | Karen Butzke | 2012-09-05 21:05:28 +0000 |
---|---|---|
committer | Karen Butzke | 2012-09-06 14:05:19 +0000 |
commit | d1074325f2fb45d2d996ca555f40b09533a11d30 (patch) | |
tree | 97aadf18683a3fdab7de3b012b89ec949147926c /jpa | |
parent | 310c14b5db2728dce4d42f103b2c1935a3445d64 (diff) | |
download | webtools.dali-d1074325f2fb45d2d996ca555f40b09533a11d30.tar.gz webtools.dali-d1074325f2fb45d2d996ca555f40b09533a11d30.tar.xz webtools.dali-d1074325f2fb45d2d996ca555f40b09533a11d30.zip |
Correctly fixed java code completion filtering
Diffstat (limited to 'jpa')
17 files changed, 61 insertions, 23 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaBaseColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaBaseColumn.java index 366eaeecd1..2e8f9695a2 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaBaseColumn.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaBaseColumn.java @@ -343,7 +343,7 @@ public abstract class AbstractJavaBaseColumn<A extends BaseColumnAnnotation, O e } protected Iterable<String> getJavaCandidateTableNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateTableNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateTableNames()); } public Iterable<String> getCandidateTableNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaMultiRelationshipMapping.java index c1fff2a524..36e3c02b11 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaMultiRelationshipMapping.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaMultiRelationshipMapping.java @@ -921,7 +921,7 @@ public abstract class AbstractJavaMultiRelationshipMapping<A extends Relationshi } protected Iterable<String> getJavaCandidateMapKeyNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateMapKeyNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateMapKeyNames()); } public Iterable<String> getCandidateMapKeyNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaNamedColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaNamedColumn.java index dfd73b88d9..74b844379e 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaNamedColumn.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaNamedColumn.java @@ -226,7 +226,7 @@ public abstract class AbstractJavaNamedColumn<A extends NamedColumnAnnotation, O } protected Iterable<String> getJavaCandidateNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateNames()); } protected Iterable<String> getCandidateNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaOverride.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaOverride.java index ca38f18f39..95f632bc9e 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaOverride.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaOverride.java @@ -197,7 +197,7 @@ public abstract class AbstractJavaOverride<C extends JavaOverrideContainer, A ex } protected Iterable<String> getJavaCandidateNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateNames()); } protected abstract Iterable<String> getCandidateNames(); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaSequenceGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaSequenceGenerator.java index 185506f6e9..5fcab0b3f4 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaSequenceGenerator.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaSequenceGenerator.java @@ -119,7 +119,7 @@ public abstract class AbstractJavaSequenceGenerator<A extends SequenceGeneratorA } protected Iterable<String> getJavaCandidateSequences() { - return StringTools.convertToJavaStringLiterals(this.getCandidateSequences()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateSequences()); } protected Iterable<String> getCandidateSequences() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaTable.java index 25cb1ae62b..bc460ada91 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaTable.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaTable.java @@ -431,7 +431,7 @@ public abstract class AbstractJavaTable<A extends BaseTableAnnotation> } protected Iterable<String> getJavaCandidateNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateNames()); } protected Iterable<String> getCandidateNames() { @@ -444,7 +444,7 @@ public abstract class AbstractJavaTable<A extends BaseTableAnnotation> } protected Iterable<String> getJavaCandidateSchemata() { - return StringTools.convertToJavaStringLiterals(this.getCandidateSchemata()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateSchemata()); } protected Iterable<String> getCandidateSchemata() { @@ -456,7 +456,7 @@ public abstract class AbstractJavaTable<A extends BaseTableAnnotation> } protected Iterable<String> getJavaCandidateCatalogs() { - return StringTools.convertToJavaStringLiterals(this.getCandidateCatalogs()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateCatalogs()); } protected Iterable<String> getCandidateCatalogs() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaMappedByRelationshipStrategy.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaMappedByRelationshipStrategy.java index 8427255472..2b3b40dc8f 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaMappedByRelationshipStrategy.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/GenericJavaMappedByRelationshipStrategy.java @@ -184,7 +184,7 @@ public class GenericJavaMappedByRelationshipStrategy } protected Iterable<String> getJavaCandidateMappedByAttributeNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateMappedByAttributeNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateMappedByAttributeNames()); } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaGeneratedValue.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaGeneratedValue.java index 6b3243edbf..b80d5c20d5 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaGeneratedValue.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaGeneratedValue.java @@ -175,7 +175,7 @@ public class GenericJavaGeneratedValue } protected Iterable<String> getJavaCandidateGeneratorNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateGeneratorNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateGeneratorNames()); } protected Iterable<String> getCandidateGeneratorNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaJoinColumn.java index 1fcefbf7b4..31256f4f82 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaJoinColumn.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaJoinColumn.java @@ -169,7 +169,7 @@ public class GenericJavaJoinColumn } protected Iterable<String> getJavaCandidateReferencedColumnNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateReferencedColumnNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateReferencedColumnNames()); } protected Iterable<String> getCandidateReferencedColumnNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaPrimaryKeyJoinColumn.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaPrimaryKeyJoinColumn.java index 080de3f68e..bb0e182d5a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaPrimaryKeyJoinColumn.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaPrimaryKeyJoinColumn.java @@ -165,7 +165,7 @@ public class GenericJavaPrimaryKeyJoinColumn } protected Iterable<String> getJavaCandidateReferencedColumnNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateReferencedColumnNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateReferencedColumnNames()); } protected Iterable<String> getCandidateReferencedColumnNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaTableGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaTableGenerator.java index aabe2d850e..38f8077179 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaTableGenerator.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaTableGenerator.java @@ -473,7 +473,7 @@ public class GenericJavaTableGenerator } protected Iterable<String> getJavaCandidateTables() { - return StringTools.convertToJavaStringLiterals(this.getCandidateTables()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateTables()); } protected Iterable<String> getCandidateTables() { @@ -488,7 +488,7 @@ public class GenericJavaTableGenerator } protected Iterable<String> getJavaCandidateSchemata() { - return StringTools.convertToJavaStringLiterals(this.getCandidateSchemata()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateSchemata()); } protected Iterable<String> getCandidateSchemata() { @@ -503,7 +503,7 @@ public class GenericJavaTableGenerator } protected Iterable<String> getJavaCandidateCatalogs(Filter<String> filter) { - return StringTools.convertToJavaStringLiterals(this.getCandidateCatalogs(filter)); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateCatalogs(filter)); } protected Iterable<String> getCandidateCatalogs(Filter<String> filter) { @@ -522,7 +522,7 @@ public class GenericJavaTableGenerator } protected Iterable<String> getJavaCandidateColumnNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateColumnNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateColumnNames()); } protected Iterable<String> getCandidateColumnNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaUniqueConstraint.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaUniqueConstraint.java index ca35d3e1dd..e2d8fc30d0 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaUniqueConstraint.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaUniqueConstraint.java @@ -99,7 +99,7 @@ public class GenericJavaUniqueConstraint } protected Iterable<String> getJavaCandidateColumnNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateColumnNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateColumnNames()); } protected Iterable<String> getCandidateColumnNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/AbstractJavaElementCollectionMapping2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/AbstractJavaElementCollectionMapping2_0.java index 517a490c42..69201aff12 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/AbstractJavaElementCollectionMapping2_0.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/AbstractJavaElementCollectionMapping2_0.java @@ -1409,7 +1409,7 @@ public abstract class AbstractJavaElementCollectionMapping2_0 } protected Iterable<String> getJavaCandidateMapKeyNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateMapKeyNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateMapKeyNames()); } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/GenericJavaMapsIdDerivedIdentityStrategy2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/GenericJavaMapsIdDerivedIdentityStrategy2_0.java index 0f626f728b..7911ec65ba 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/GenericJavaMapsIdDerivedIdentityStrategy2_0.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa2/context/java/GenericJavaMapsIdDerivedIdentityStrategy2_0.java @@ -274,7 +274,7 @@ public class GenericJavaMapsIdDerivedIdentityStrategy2_0 } protected Iterable<String> getSortedJavaValueChoices() { - return StringTools.convertToJavaStringLiterals(this.getSortedCandidateIdAttributeNames()); + return StringTools.convertToJavaStringLiteralContents(this.getSortedCandidateIdAttributeNames()); } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaTenantDiscriminatorColumn2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaTenantDiscriminatorColumn2_3.java index 2977a295fd..19c80e62a7 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaTenantDiscriminatorColumn2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/EclipseLinkJavaTenantDiscriminatorColumn2_3.java @@ -250,7 +250,7 @@ public class EclipseLinkJavaTenantDiscriminatorColumn2_3 } protected Iterable<String> getJavaCandidateTableNames() { - return StringTools.convertToJavaStringLiterals(this.getCandidateTableNames()); + return StringTools.convertToJavaStringLiteralContents(this.getCandidateTableNames()); } public Iterable<String> getCandidateTableNames() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java index acf02acbc8..df784df379 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java @@ -132,7 +132,7 @@ public class JavaEclipseLinkConvert } protected Iterable<String> getJavaCandidateConverterNames() { - return StringTools.convertToJavaStringLiterals(this.getConverterNames()); + return StringTools.convertToJavaStringLiteralContents(this.getConverterNames()); } /** diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaJavaCompletionProposalComputer.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaJavaCompletionProposalComputer.java index 5afb4eb5b0..f80687a36d 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaJavaCompletionProposalComputer.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaJavaCompletionProposalComputer.java @@ -23,7 +23,10 @@ import org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer; import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext; import org.eclipse.jface.text.contentassist.CompletionProposal; import org.eclipse.jface.text.contentassist.ICompletionProposal; +import org.eclipse.jpt.common.utility.Filter; import org.eclipse.jpt.common.utility.internal.CollectionTools; +import org.eclipse.jpt.common.utility.internal.StringTools; +import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable; import org.eclipse.jpt.jpa.core.JpaFile; import org.eclipse.jpt.jpa.core.JpaStructureNode; import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType; @@ -113,6 +116,12 @@ public class JpaJavaCompletionProposalComputer CompletionContext cc = context.getCoreContext(); + // the context's "token" is really a sort of "prefix" - it does NOT + // correspond to the "start" and "end" we get below... + char[] prefix = cc.getToken(); + Filter<String> filter = this.buildPrefixFilter(prefix); + // the token "kind" tells us if we are in a String literal already - CompletionContext.TOKEN_KIND_STRING_LITERAL + int tokenKind = cc.getTokenKind(); // the token "start" is the offset of the token's first character int tokenStart = cc.getTokenStart(); // the token "end" is the offset of the token's last character (yuk) @@ -123,6 +132,7 @@ public class JpaJavaCompletionProposalComputer // System.out.println("token start: " + tokenStart); // System.out.println("token end: " + tokenEnd); +// System.out.println("token kind: " + tokenKind); // String source = cu.getSource(); // String token = source.substring(Math.max(0, tokenStart), Math.min(source.length(), tokenEnd + 1)); // System.out.println("token: =>" + token + "<="); @@ -131,13 +141,22 @@ public class JpaJavaCompletionProposalComputer List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>(); for (JpaStructureNode structureNode : rootStructureNodes) { - for (String s : ((JavaPersistentType) structureNode).getCompletionProposals(context.getInvocationOffset())) { - proposals.add(new CompletionProposal(s, tokenStart, tokenEnd - tokenStart + 1, s.length())); + for (String s : this.getCompletionProposals((JavaPersistentType) structureNode, context.getInvocationOffset(), filter)) { + if (tokenKind == CompletionContext.TOKEN_KIND_STRING_LITERAL) {//already quoted + proposals.add(new CompletionProposal(s , tokenStart + 1, tokenEnd - tokenStart - 1, s.length())); + } + else {//add the quotes + proposals.add(new CompletionProposal("\"" + s + "\"", tokenStart, tokenEnd - tokenStart + 1, s.length() + 2)); //$NON-NLS-1$ //$NON-NLS-2$ + } } } return proposals; } + private Iterable<String> getCompletionProposals(JavaPersistentType structureNode, int pos, Filter<String> filter) { + return new FilteringIterable<String>(structureNode.getCompletionProposals(pos), filter); + } + private IFile getCorrespondingResource(ICompilationUnit cu) { try { return (IFile) cu.getCorrespondingResource(); @@ -163,4 +182,23 @@ public class JpaJavaCompletionProposalComputer public void sessionEnded() { // do nothing } + + private Filter<String> buildPrefixFilter(char[] prefix) { + return (prefix == null) ? + Filter.Transparent.<String>instance() : + new IgnoreCasePrefixFilter(prefix); + } + + private static class IgnoreCasePrefixFilter + implements Filter<String> + { + private final String prefix; + IgnoreCasePrefixFilter(char[] prefix) { + super(); + this.prefix = new String(prefix); + } + public boolean accept(String s) { + return StringTools.stringStartsWithIgnoreCase(s, this.prefix); + } + } } |