From 844b2fa4bd661d9aa11521c13088eac928cefe43 Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Tue, 17 Aug 2010 02:17:06 +0000 Subject: [PATCH] fixed too long link in the problem details --- .../ui/AbstractCodanProblemDetailsProvider.java | 12 +++++++++--- .../eclipse/cdt/codan/ui/CodanEditorUtility.java | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanProblemDetailsProvider.java b/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanProblemDetailsProvider.java index 508d3101648..d55eb2fd3bb 100644 --- a/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanProblemDetailsProvider.java +++ b/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/AbstractCodanProblemDetailsProvider.java @@ -111,15 +111,21 @@ public abstract class AbstractCodanProblemDetailsProvider { public String getStyledProblemMessage() { String message = escapeForLink(getProblemMessage()); String href = getLocationHRef(); - String link = href.replaceFirst("^file:", ""); //$NON-NLS-1$ //$NON-NLS-2$ - link = link.replaceFirst("#(\\d+)$", ":$1"); //$NON-NLS-1$//$NON-NLS-2$ - return "" + link + " \n" + message; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + String link = getLocation(); + return "" + link + " \n" + message + "\n"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ } protected String getLocationHRef() { return CodanEditorUtility.getLocationHRef(marker); } + /** + * @since 1.1 + */ + protected String getLocation() { + return CodanEditorUtility.getLocation(marker); + } + /** * Return styled problem description. This text would be used in Link * widget. diff --git a/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/CodanEditorUtility.java b/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/CodanEditorUtility.java index ace76961c61..a3b5abf3fe1 100644 --- a/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/CodanEditorUtility.java +++ b/codan/org.eclipse.cdt.codan.ui/src/org/eclipse/cdt/codan/ui/CodanEditorUtility.java @@ -113,4 +113,19 @@ public class CodanEditorUtility { String href = loc + "#" + line; //$NON-NLS-1$ return href; } + + /** + * @param marker + * @return + * @since 1.1 + */ + public static String getLocation(IMarker marker) { + String loc = marker.getResource().getFullPath().toPortableString(); + String loc2 = marker.getAttribute(IMarker.LOCATION, ""); //$NON-NLS-1$ + int line = marker.getAttribute(IMarker.LINE_NUMBER, 0); + if (loc2.length() > 0) { + loc = loc2.replaceAll("[^:]*: ", ""); //$NON-NLS-1$ //$NON-NLS-2$ + } + return loc + ":" + line; //$NON-NLS-1$ + } }