Bug 541511 - Editing a .target file make the code mining vanish

Use "target" element start line and  line=0 for invalid cases

Change-Id: I5e5b263c4dc160c2369c51994ac99719f6d84167
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
diff --git a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java
index d374e33..6c8061a 100644
--- a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java
+++ b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/codemining/TargetDefinitionCodeMiningProvider.java
@@ -46,18 +46,20 @@
 	}
 
 	void fillCodeMinings(IDocument document, List<ICodeMining> minings) throws BadLocationException {
+		int line = 0;
 		try {
 			Parser parser = Parser.getDefault();
 			parser.parse(document);
 			Node target = parser.getRootNode();
 			if (target != null) {
-				minings.add(new TargetDefinitionActivationCodeMining(2, document, this, null));
+				line = document.getLineOfOffset(target.getOffsetStart());
+				minings.add(new TargetDefinitionActivationCodeMining(line, document, this, null));
 			} else {
-				minings.add(new TargetDefinitionActivationCodeMining(2, document, this,
+				minings.add(new TargetDefinitionActivationCodeMining(line, document, this,
 						Messages.TargetDefinitionCodeMiningProvider_e_format_invalid));
 			}
 		} catch (XMLStreamException e) {
-			minings.add(new TargetDefinitionActivationCodeMining(2, document, this,
+			minings.add(new TargetDefinitionActivationCodeMining(line, document, this,
 					Messages.TargetDefinitionCodeMiningProvider_e_format_invalid));
 		}
 	}