Bug 510854 - The descriptions for quick fixes pop-up for "API tool
error" are wrong





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/FilterProblemResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java
index ae7e18c..814181d 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -61,7 +61,10 @@
 				args = value.split("#"); //$NON-NLS-1$
 			}
 			int id = fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0);
-			return ApiProblemFactory.getLocalizedMessage(ApiProblemFactory.getProblemMessageId(id), args);
+			return MessageFormat.format(MarkerMessages.FilterProblemResolution_0_desc,
+					ApiProblemFactory.getLocalizedMessage(ApiProblemFactory.getProblemMessageId(id), args),
+					resolveCategoryName());
+
 		} catch (CoreException e) {
 		}
 		return null;
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemWithCommentResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemWithCommentResolution.java
index 0fc30a0..8dfac1a 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemWithCommentResolution.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemWithCommentResolution.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2015 IBM Corporation and others.
+ * Copyright (c) 2010, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,9 +12,12 @@
 
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jdt.core.IJavaElement;
 import org.eclipse.jdt.ui.JavaElementLabels;
+import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
+import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
 import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
 
 import com.ibm.icu.text.MessageFormat;
@@ -55,6 +58,23 @@
 	}
 
 	@Override
+	public String getDescription() {
+		try {
+			String value = (String) fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_MESSAGE_ARGUMENTS);
+			String[] args = new String[0];
+			if (value != null) {
+				args = value.split("#"); //$NON-NLS-1$
+			}
+			int id = fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0);
+			return MessageFormat.format(MarkerMessages.FilterProblemWithCommentResolution_create_commented_filter_desc,
+					ApiProblemFactory.getLocalizedMessage(ApiProblemFactory.getProblemMessageId(id), args),
+					resolveCategoryName());
+		} catch (CoreException e) {
+		}
+		return null;
+	}
+
+	@Override
 	public void run(IMarker[] markers, IProgressMonitor monitor) {
 		CreateApiFilterOperation op = new CreateApiFilterOperation(markers, true);
 		op.setSystem(true);
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java
index 5328f5c..a6a4bbf 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2011 IBM Corporation and others.
+ * Copyright (c) 2008, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -26,6 +26,7 @@
 	public static String DuplicateAnnotationResolution_remove_duplicate_annotation;
 	public static String DuplicateTagResolution_remove_dupe_tag_resolution_label;
 	public static String FilterProblemResolution_0;
+	public static String FilterProblemResolution_0_desc;
 	public static String FilterProblemResolution_compatible;
 	public static String FilterProblemResolution_create_filters_for_problems;
 	public static String FilterProblemResolution_default_profile;
@@ -34,8 +35,10 @@
 	public static String FilterProblemResolution_version_number;
 	public static String FilterProblemResolution_api_component;
 	public static String FilterProblemWithCommentResolution_create_commented_filter;
+	public static String FilterProblemWithCommentResolution_create_commented_filter_desc;
 	public static String FilterProblemWithCommentResolution_create_commented_filters;
 	public static String ExplainProblemResolution_explain_incompatibility;
+	public static String ExplainProblemResolution_explain_incompatibility_desc;
 	public static String InstallEEDescriptionProblemResolution_0;
 	public static String InstallEEDescriptionProblemResolution_1;
 	public static String MissingEEDescriptionProblemResolution_0;
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ProblemExplainIncompatibilityResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ProblemExplainIncompatibilityResolution.java
index 79cefa3..e586815 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ProblemExplainIncompatibilityResolution.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ProblemExplainIncompatibilityResolution.java
@@ -28,6 +28,8 @@
 import org.eclipse.ui.progress.UIJob;
 import org.eclipse.ui.views.markers.WorkbenchMarkerResolution;
 
+import com.ibm.icu.text.MessageFormat;
+
 /**
  * Marker resolution for explaining a specific API tool error as quickfix
  * resolution
@@ -56,7 +58,8 @@
 				args = value.split("#"); //$NON-NLS-1$
 			}
 			int id = fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0);
-			return ApiProblemFactory.getLocalizedMessage(ApiProblemFactory.getProblemMessageId(id), args);
+			return MessageFormat.format(MarkerMessages.ExplainProblemResolution_explain_incompatibility_desc,
+					ApiProblemFactory.getLocalizedMessage(ApiProblemFactory.getProblemMessageId(id), args));
 		} catch (CoreException e) {
 		}
 		return null;
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties
index 98cc17a..294c384 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties
@@ -18,15 +18,18 @@
 DuplicateAnnotationResolution_remove_duplicate_annotation=Remove duplicate ''{0}'' annotation
 DuplicateTagResolution_remove_dupe_tag_resolution_label=Remove duplicate ''{0}'' tag
 FilterProblemResolution_0=Create a {1} problem filter for ''{0}''
+FilterProblemResolution_0_desc=Creates a {1} problem filter without comment for API tools problem:<br> <br> {0}
 FilterProblemResolution_compatible=compatibility
 FilterProblemResolution_create_filters_for_problems=Create filters for the selected problems
 ExplainProblemResolution_explain_incompatibility=Explain incompatibility
+ExplainProblemResolution_explain_incompatibility_desc=Opens help to explain incompatibility for API tool problem:<br> <br> {0}
 FilterProblemResolution_default_profile=API baseline
 FilterProblemResolution_api_component=API component
 FilterProblemResolution_since_tag=since tag
 FilterProblemResolution_usage=usage
 FilterProblemResolution_version_number=version number
 FilterProblemWithCommentResolution_create_commented_filter=Create a commented {1} problem filter for ''{0}''
+FilterProblemWithCommentResolution_create_commented_filter_desc=Creates a {1} problem filter with comment for API tools problem:<br> <br> {0}
 FilterProblemWithCommentResolution_create_commented_filters=Create commented filters for the selected problems
 InstallEEDescriptionProblemResolution_0=Install execution environment descriptions
 InstallEEDescriptionProblemResolution_1=Navigate to the install software dialog to install execution environment descriptions