diff options
author | Sopot Cela | 2017-02-02 14:17:39 +0000 |
---|---|---|
committer | Sopot Cela | 2017-02-20 13:34:16 +0000 |
commit | f8f235dba342270c6cf97d1a45c64afbf4eab4d8 (patch) | |
tree | 4a4f7d494b787927f29dbabdf45fa3f4dadd0fae | |
parent | e7a35100a2bf17bca1d43e1f9af5991061f71bd2 (diff) | |
download | eclipse.pde.ui-f8f235dba342270c6cf97d1a45c64afbf4eab4d8.tar.gz eclipse.pde.ui-f8f235dba342270c6cf97d1a45c64afbf4eab4d8.tar.xz eclipse.pde.ui-f8f235dba342270c6cf97d1a45c64afbf4eab4d8.zip |
Bug 511568 - IU id autocomplete improvements for .target generic editorI20170222-2000I20170221-2000
Now autocomplete propses to replace if there is already an IU id. Change
also contains some refactoring with regard to names and safety.
Change-Id: I096f623984d7d0df726add85c8991fc384271e11
Signed-off-by: Sopot Cela <scela@redhat.com>
-rw-r--r-- | ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/InstallableUnitProposal.java (renamed from ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/VersionProposal.java) | 4 | ||||
-rw-r--r-- | ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/processors/AttributeValueCompletionProcessor.java | 23 |
2 files changed, 14 insertions, 13 deletions
diff --git a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/VersionProposal.java b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/InstallableUnitProposal.java index a66105364f..dde72429cf 100644 --- a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/VersionProposal.java +++ b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/InstallableUnitProposal.java @@ -17,7 +17,7 @@ import org.eclipse.jface.text.contentassist.IContextInformation; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; -public class VersionProposal implements ICompletionProposal { +public class InstallableUnitProposal implements ICompletionProposal { private static final String REPLACE_STRING = " (replace)";//$NON-NLS-1$ private String completionString; @@ -25,7 +25,7 @@ public class VersionProposal implements ICompletionProposal { private int length; private boolean replace; - public VersionProposal(String completionString, int offset, int length, boolean replace) { + public InstallableUnitProposal(String completionString, int offset, int length, boolean replace) { this.completionString = completionString; this.offset = offset; this.length = length; diff --git a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/processors/AttributeValueCompletionProcessor.java b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/processors/AttributeValueCompletionProcessor.java index bc4bae19e1..57e68387d0 100644 --- a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/processors/AttributeValueCompletionProcessor.java +++ b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/autocomplete/processors/AttributeValueCompletionProcessor.java @@ -15,7 +15,7 @@ import java.util.List; import org.eclipse.jface.text.contentassist.CompletionProposal; import org.eclipse.jface.text.contentassist.ICompletionProposal; -import org.eclipse.pde.internal.genericeditor.target.extension.autocomplete.VersionProposal; +import org.eclipse.pde.internal.genericeditor.target.extension.autocomplete.InstallableUnitProposal; import org.eclipse.pde.internal.genericeditor.target.extension.model.ITargetConstants; import org.eclipse.pde.internal.genericeditor.target.extension.model.LocationNode; import org.eclipse.pde.internal.genericeditor.target.extension.model.RepositoryCache; @@ -50,7 +50,8 @@ public class AttributeValueCompletionProcessor extends DelegateProcessor { UnitNode node = rootNode.getEnclosingUnit(offset); - if (acKey.equalsIgnoreCase(ITargetConstants.UNIT_ID_ATTR)) { + boolean replaceId = false; + if (ITargetConstants.UNIT_ID_ATTR.equalsIgnoreCase(acKey)) { if (node != null) { LocationNode location = node.getParent(); String repoLocation = location.getRepositoryLocation(); @@ -63,13 +64,14 @@ public class AttributeValueCompletionProcessor extends DelegateProcessor { return getInformativeProposal(); } List<UnitNode> units = cache.getUnitsByPrefix(repoLocation, prefix); - return convertToProposals(units); + replaceId = !("".equals(node.getId()));//$NON-NLS-1$ + return convertToProposals(units, replaceId); } } - boolean replace = false; - if (acKey.equalsIgnoreCase(ITargetConstants.UNIT_VERSION_ATTR)) { + boolean replaceVersion = false; + if (ITargetConstants.UNIT_VERSION_ATTR.equalsIgnoreCase(acKey)) { if (node != null) { LocationNode location = node.getParent(); String repoLocation = location.getRepositoryLocation(); @@ -83,8 +85,8 @@ public class AttributeValueCompletionProcessor extends DelegateProcessor { } List<UnitNode> byPrefix = cache.getUnitsByPrefix(repoLocation, node.getId()); List<String> versions = byPrefix.get(0).getAvailableVersions(); - replace = !("".equals(node.getVersion()));//$NON-NLS-1$ - return convertToVersionProposals(versions, replace); + replaceVersion = !("".equals(node.getVersion()));//$NON-NLS-1$ + return convertToVersionProposals(versions, replaceVersion); } } @@ -114,18 +116,17 @@ public class AttributeValueCompletionProcessor extends DelegateProcessor { continue; } - ICompletionProposal proposal = new VersionProposal(version, offset, prefix.length(), + ICompletionProposal proposal = new InstallableUnitProposal(version, offset, prefix.length(), replace); result.add(proposal); } return result.toArray(new ICompletionProposal[result.size()]); } - private ICompletionProposal[] convertToProposals(List<UnitNode> units) { + private ICompletionProposal[] convertToProposals(List<UnitNode> units, boolean replace) { List<ICompletionProposal> result = new ArrayList<>(); for (UnitNode unit : units) { - CompletionProposal proposal = new CompletionProposal(unit.getId(), offset - prefix.length(), - prefix.length(), unit.getId().length() + 1); + ICompletionProposal proposal = new InstallableUnitProposal(unit.getId(), offset, prefix.length(), replace); result.add(proposal); } return result.toArray(new ICompletionProposal[result.size()]); |