Update to -Bug 243878 - first API addition causes cascade of errors
Change-Id: I872b8161ac07461a0acc75c15798ad30877b11b9
Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java
index 8f73fcd..045767f 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java
@@ -83,10 +83,11 @@
new ConfigureProblemSeverityForAPIToolsResolution(marker) };
}
case IApiMarkerConstants.SINCE_TAG_MARKER_ID: {
- IMarkerResolution[] res = hasVersionProblems() ?
+ IMarker markerVersion = getVersionProblems(marker);
+ IMarkerResolution[] res = (markerVersion != null) ?
new IMarkerResolution[] {
new ConfigureProblemSeverityForAPIToolsResolution(marker),
- new SinceTagAfterVersionUpdateResolution(marker),
+ new SinceTagAfterVersionUpdateResolution(markerVersion, marker),
new SinceTagResolution(marker),
new FilterProblemResolution(marker),
new FilterProblemWithCommentResolution(marker) }:
@@ -189,17 +190,32 @@
}
- private boolean hasVersionProblems() {
+ private IMarker getVersionProblems(IMarker marker) {
+ IProject project = null;
+ IProject project2 = null;
+ IResource resource = marker.getResource();
+ if (resource != null) {
+ project = resource.getProject();
+ }
IMarker markerVersion = null;
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
try {
IMarker[] findMarkers = root.findMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, false,
IResource.DEPTH_INFINITE);
- if (findMarkers.length == 1) {
- markerVersion = findMarkers[0];
+ for (IMarker iMarker : findMarkers) {
+ IResource resource2 = iMarker.getResource();
+ if (resource2 != null) {
+ project2 = resource2.getProject();
+ if(project !=null && project2 !=null) {
+ if(project.equals(project2)) {
+ markerVersion = iMarker;
+ break;
+ }
+ }
+ }
}
} catch (CoreException e) {
}
- return markerVersion != null;
+ return markerVersion;
}
}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagAfterVersionUpdateResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagAfterVersionUpdateResolution.java
index 5e3e0cf..d56b6d4 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagAfterVersionUpdateResolution.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagAfterVersionUpdateResolution.java
@@ -14,34 +14,18 @@
package org.eclipse.pde.api.tools.ui.internal.markers;
import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
public class SinceTagAfterVersionUpdateResolution extends SinceTagResolution {
IMarker markerVersion = null;
- public SinceTagAfterVersionUpdateResolution(IMarker marker) {
+ public SinceTagAfterVersionUpdateResolution(IMarker markerVer ,IMarker marker) {
super(marker);
- updateVersionMarker();
+ markerVersion = markerVer;
}
- private void updateVersionMarker() {
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- try {
- IMarker[] findMarkers = root.findMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, false,
- IResource.DEPTH_INFINITE);
- if (findMarkers.length == 1) {
- markerVersion = findMarkers[0];
- }
- } catch (CoreException e) {
-
- }
- }
@Override
public String getLabel() {
@@ -49,9 +33,6 @@
}
@Override
public void run(final IMarker marker) {
-
-
-
if (markerVersion != null) {
new VersionNumberingResolution(markerVersion).run(markerVersion);
this.newVersionValue = markerVersion.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null);