diff options
| author | Vikas Chandra | 2019-07-03 13:44:54 +0000 |
|---|---|---|
| committer | Vikas Chandra | 2019-07-03 13:44:54 +0000 |
| commit | 5fde2c88d5031beea616762bd36cba5861ace1e9 (patch) | |
| tree | a5d900fe3165cd2668fbf54b983b56f2b3326573 | |
| parent | 1aace0178242bc1548108225851b5caf9fe7f1bf (diff) | |
| download | eclipse.pde.ui-5fde2c88d5031beea616762bd36cba5861ace1e9.tar.gz eclipse.pde.ui-5fde2c88d5031beea616762bd36cba5861ace1e9.tar.xz eclipse.pde.ui-5fde2c88d5031beea616762bd36cba5861ace1e9.zip | |
Update to -Bug 243878 - first API addition causes cascade of errorsI20190704-0245I20190703-1800
Change-Id: I872b8161ac07461a0acc75c15798ad30877b11b9
Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
2 files changed, 24 insertions, 27 deletions
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 8f73fcdc01..045767f00e 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 @@ public class ApiMarkerResolutionGenerator implements IMarkerResolutionGenerator2 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 @@ public class ApiMarkerResolutionGenerator implements IMarkerResolutionGenerator2 } - 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 5e3e0cf4ae..d56b6d4dc4 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 @@ public class SinceTagAfterVersionUpdateResolution extends SinceTagResolution { } @Override public void run(final IMarker marker) { - - - if (markerVersion != null) { new VersionNumberingResolution(markerVersion).run(markerVersion); this.newVersionValue = markerVersion.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null); |
