From: Jan P. <jp...@us...> - 2006-10-21 14:40:13
|
Update of /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors/util In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv11605/src/org/epic/perleditor/editors/util Modified Files: Tag: stable PerlValidator.java MarkerUtil.java Log Message: Fixed bug [ 1563114 ] EPIC removes all problem markers for Perl files. Index: PerlValidator.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors/util/PerlValidator.java,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -u -d -r1.13 -r1.13.2.1 --- PerlValidator.java 23 Dec 2005 23:31:51 -0000 1.13 +++ PerlValidator.java 21 Oct 2006 14:40:08 -0000 1.13.2.1 @@ -25,7 +25,10 @@ * @author jploski */ public class PerlValidator extends PerlValidatorBase -{ +{ + public static final String PROBLEM_MARKER = + PerlEditorPlugin.getUniqueIdentifier() + ".perlProblemMarker"; //$NON-NLS-1$ + private static PerlValidator instance; private PerlValidator() @@ -81,12 +84,12 @@ protected void addMarker(IResource resource, Map attributes) { - new MarkerUtil(resource).addMarker(attributes, IMarker.PROBLEM); + new MarkerUtil(resource).addMarker(attributes, PROBLEM_MARKER); } protected void clearAllUsedMarkers(IResource resource) { - new MarkerUtil(resource).clearAllUsedFlags(IMarker.PROBLEM); + new MarkerUtil(resource).clearAllUsedFlags(PROBLEM_MARKER); } protected IResource getErrorResource(ParsedErrorLine line, IResource resource) @@ -130,12 +133,14 @@ ParsedErrorLine line, IResource resource) { return new MarkerUtil(resource).isMarkerPresent( - IMarker.PROBLEM, line.getLineNumber(), line.getMessage(), true); + PROBLEM_MARKER, line.getLineNumber(), line.getMessage(), true); } protected void removeUnusedMarkers(IResource resource) { - new MarkerUtil(resource).removeUnusedMarkers(IMarker.PROBLEM); + MarkerUtil util = new MarkerUtil(resource); + util.removeObsoleteProblemMarkers(); // TODO: remove when no longer needed + util.removeUnusedMarkers(PROBLEM_MARKER); } /** Index: MarkerUtil.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor/src/org/epic/perleditor/editors/util/MarkerUtil.java,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -d -r1.3 -r1.3.2.1 --- MarkerUtil.java 26 Sep 2005 23:44:54 -0000 1.3 +++ MarkerUtil.java 21 Oct 2006 14:40:08 -0000 1.3.2.1 @@ -96,6 +96,33 @@ public void removeUnusedMarkers(String markerType) { removeUnusedMarkers(markerType, null); } + + public void removeObsoleteProblemMarkers() + { + // Note: on 2006-10-21 bug #1563114 was fixed: EPIC now uses its own + // marker type in order not to interfere with other plug-ins. + // The code below is here only to remove the problem markers persisted + // by EPIC *before* this fix. It should be removed some day in the + // future, as it also (incorrectly) removes old problem markers set + // by other plug-ins. + + try + { + IMarker[] markers = fResource.findMarkers( + IMarker.PROBLEM, true, IResource.DEPTH_ONE); + + for(int i = 0; i < markers.length; i++) + { + if (markers[i].getCreationTime() < 1161441375673L) + markers[i].delete(); + } + } + catch (CoreException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } /** * Deletes all unused markers of given type |