Skip to content

Commit d946f5d

Browse files
committed
Use root node determined by Parser.parse(IDocument) in UpdateUnitVersions and TargetDefinitionCodeMiningProvider
Fixes: #2135
1 parent 85b502b commit d946f5d

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ void fillCodeMinings(IDocument document, List<ICodeMining> minings) throws BadLo
4949
int line = 0;
5050
try {
5151
Parser parser = Parser.getDefault();
52-
parser.parse(document);
53-
Node target = parser.getRootNode();
52+
Node target = parser.parse(document);
5453
if (target != null) {
5554
line = document.getLineOfOffset(target.getOffsetStart());
5655
minings.add(new TargetDefinitionActivationCodeMining(line, document, this, null));

ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/command/UpdateUnitVersions.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,12 @@ public Object execute(ExecutionEvent event) throws ExecutionException {
5252
return null;
5353
}
5454

55+
Node rootNode = null;
5556
Parser parser = Parser.getDefault();
5657
try {
57-
parser.parse(document);
58+
rootNode = parser.parse(document);
5859
} catch (XMLStreamException e) {
59-
return null;
6060
}
61-
Node rootNode = parser.getRootNode();
6261
if (rootNode == null) {
6362
return null;
6463
}

ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/model/xml/Parser.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ private void initializeParser() {
5050
inputFactory = XMLInputFactory.newInstance();
5151
}
5252

53-
public void parse(IDocument document) throws XMLStreamException {
53+
public Node parse(IDocument document) throws XMLStreamException {
5454
target = null;
55+
Node parsedTarget = null;
5556
Node currentParent = null;
5657
Node currentNode = null;
5758
Iterator<XMLElement> tagReaderIterator = createXMLTagItterator(document.get());
@@ -81,8 +82,9 @@ public void parse(IDocument document) throws XMLStreamException {
8182
containerLocation.addRepositoryLocation(locationValue);
8283
}
8384
} else if (ITargetConstants.TARGET_TAG.equalsIgnoreCase(name)) {
84-
target = new Node();
85-
currentNode = target;
85+
parsedTarget = new Node();
86+
target = parsedTarget;
87+
currentNode = parsedTarget;
8688
} else {
8789
currentNode = new Node();
8890
}
@@ -107,6 +109,7 @@ public void parse(IDocument document) throws XMLStreamException {
107109
while (eventReader.hasNext()) {
108110
eventReader.nextEvent();
109111
}
112+
return parsedTarget;
110113
}
111114

112115
private Iterator<XMLElement> createXMLTagItterator(String document) {

0 commit comments

Comments
 (0)