Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSopot Cela2017-02-02 14:17:39 +0000
committerSopot Cela2017-02-20 13:34:16 +0000
commitf8f235dba342270c6cf97d1a45c64afbf4eab4d8 (patch)
tree4a4f7d494b787927f29dbabdf45fa3f4dadd0fae
parente7a35100a2bf17bca1d43e1f9af5991061f71bd2 (diff)
downloadeclipse.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.java23
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()]);

Back to the top