[jbosstools-commits] JBoss Tools SVN: r42131 - in trunk/common/plugins: org.jboss.tools.common.ui/META-INF and 2 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Jun 20 19:42:21 EDT 2012


Author: dazarov
Date: 2012-06-20 19:42:20 -0400 (Wed, 20 Jun 2012)
New Revision: 42131

Modified:
   trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF
   trunk/common/plugins/org.jboss.tools.common.ui/plugin.xml
   trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityMarkerResolution.java
   trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java
   trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/TempMarkerManager.java
Log:
Make Quick Fix "Configure Problem Severity" work on Temporary annotations https://issues.jboss.org/browse/JBIDE-12232

Modified: trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF	2012-06-20 23:30:53 UTC (rev 42130)
+++ trunk/common/plugins/org.jboss.tools.common.ui/META-INF/MANIFEST.MF	2012-06-20 23:42:20 UTC (rev 42131)
@@ -24,14 +24,15 @@
  org.eclipse.ui.navigator;bundle-version="3.5.100",
  org.eclipse.ui.navigator.resources;bundle-version="3.4.300",
  org.eclipse.debug.ui;bundle-version="3.7.0",
- org.jboss.tools.common.validation;bundle-version="3.3.0",
+ org.jboss.tools.common.validation,
  org.eclipse.ui.cheatsheets;bundle-version="3.4.0",
  org.eclipse.jdt.core.manipulation;bundle-version="1.4.0",
  org.eclipse.ltk.core.refactoring;bundle-version="3.5.200",
  org.eclipse.jpt.common.core;bundle-version="1.0.0",
  org.eclipse.ltk.ui.refactoring;bundle-version="3.6.0",
  org.eclipse.wst.server.ui;bundle-version="1.3.0",
- org.eclipse.jdt.junit;bundle-version="3.7.0"
+ org.eclipse.jdt.junit;bundle-version="3.7.0",
+ org.jboss.tools.common.text.xml
 Export-Package: org.jboss.tools.common.ui,
  org.jboss.tools.common.ui.databinding,
  org.jboss.tools.common.ui.dialog,

Modified: trunk/common/plugins/org.jboss.tools.common.ui/plugin.xml
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/plugin.xml	2012-06-20 23:30:53 UTC (rev 42130)
+++ trunk/common/plugins/org.jboss.tools.common.ui/plugin.xml	2012-06-20 23:42:20 UTC (rev 42131)
@@ -39,4 +39,7 @@
             <actionSet id="org.eclipse.wst.server.ui.internal.webbrowser.actionSet"/>
          </perspectiveExtension>
       </extension>
+      <extension point="org.jboss.tools.common.text.xml.quickFix">
+		<quick-fix-generator generator-class="org.jboss.tools.common.ui.marker.ConfigureProblemSeverityResolutionGenerator" id="org.jboss.tools.common.ui.marker.ConfigureProblemSeverityResolutionGenerator" />
+    </extension>
 </plugin>

Modified: trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityMarkerResolution.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityMarkerResolution.java	2012-06-20 23:30:53 UTC (rev 42130)
+++ trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityMarkerResolution.java	2012-06-20 23:42:20 UTC (rev 42131)
@@ -24,8 +24,12 @@
 import org.eclipse.jface.preference.IPreferenceNode;
 import org.eclipse.jface.preference.IPreferencePage;
 import org.eclipse.jface.preference.PreferenceManager;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContextInformation;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
 import org.eclipse.ui.IMarkerResolution2;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.dialogs.PreferencesUtil;
@@ -38,7 +42,7 @@
  * @author Daniel Azarov
  */
 public class ConfigureProblemSeverityMarkerResolution implements
-		IMarkerResolution2 {
+		IMarkerResolution2, ICompletionProposal {
 	private static final int PREFERENCE_SIZE = 40;
 	private static final String DOTS = "...";
 	
@@ -131,4 +135,29 @@
 			return label;
 		}
 	}
+
+	@Override
+	public void apply(IDocument document) {
+		run(null);
+	}
+
+	@Override
+	public Point getSelection(IDocument document) {
+		return null;
+	}
+
+	@Override
+	public String getAdditionalProposalInfo() {
+		return label;
+	}
+
+	@Override
+	public String getDisplayString() {
+		return label;
+	}
+
+	@Override
+	public IContextInformation getContextInformation() {
+		return null;
+	}
 }

Modified: trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java	2012-06-20 23:30:53 UTC (rev 42130)
+++ trunk/common/plugins/org.jboss.tools.common.ui/src/org/jboss/tools/common/ui/marker/ConfigureProblemSeverityResolutionGenerator.java	2012-06-20 23:42:20 UTC (rev 42131)
@@ -11,6 +11,8 @@
 package org.jboss.tools.common.ui.marker;
 
 import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
@@ -20,9 +22,13 @@
 import org.eclipse.jdt.core.ILocalVariable;
 import org.eclipse.jdt.core.IMethod;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.source.Annotation;
 import org.eclipse.ui.IMarkerResolution;
 import org.eclipse.ui.IMarkerResolutionGenerator2;
+import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
 import org.jboss.tools.common.EclipseUtil;
+import org.jboss.tools.common.text.xml.quickfix.IQuickFixGenerator;
 import org.jboss.tools.common.ui.CommonUIPlugin;
 import org.jboss.tools.common.validation.ValidationErrorManager;
 
@@ -30,7 +36,7 @@
  * @author Daniel Azarov
  */
 public class ConfigureProblemSeverityResolutionGenerator implements
-		IMarkerResolutionGenerator2 {
+		IMarkerResolutionGenerator2, IQuickFixGenerator {
 
 	@Override
 	public IMarkerResolution[] getResolutions(IMarker marker) {
@@ -107,5 +113,36 @@
 		String attribute = marker.getAttribute(ValidationErrorManager.PREFERENCE_PAGE_ID_NAME, null);
 		return attribute; 
 	}
+	
+	private String getPreferenceKey(TemporaryAnnotation annotation){
+		String attribute = (String)annotation.getAttributes().get(ValidationErrorManager.PREFERENCE_KEY_ATTRIBUTE_NAME);
+		return attribute; 
+	}
 
+	private String getPreferencePageId(TemporaryAnnotation annotation){
+		String attribute = (String)annotation.getAttributes().get(ValidationErrorManager.PREFERENCE_PAGE_ID_NAME);
+		return attribute; 
+	}
+
+	@Override
+	public boolean hasProposals(Annotation annotation) {
+		if(annotation instanceof TemporaryAnnotation){
+			return getPreferenceKey((TemporaryAnnotation)annotation) != null && getPreferencePageId((TemporaryAnnotation)annotation) != null;
+		}
+		return false;
+	}
+
+	@Override
+	public List<ICompletionProposal> getProposals(Annotation annotation) {
+		ArrayList<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>();
+		if(annotation instanceof TemporaryAnnotation){
+			String preferenceKey = getPreferenceKey((TemporaryAnnotation)annotation);
+			String preferencePageId = getPreferencePageId((TemporaryAnnotation)annotation);
+			if(preferenceKey != null && preferencePageId != null){
+				proposals.add(new ConfigureProblemSeverityMarkerResolution(preferencePageId, preferenceKey));
+			}
+		}
+		return proposals;
+	}
+
 }

Modified: trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/TempMarkerManager.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/TempMarkerManager.java	2012-06-20 23:30:53 UTC (rev 42130)
+++ trunk/common/plugins/org.jboss.tools.common.validation/src/org/jboss/tools/common/validation/TempMarkerManager.java	2012-06-20 23:42:20 UTC (rev 42131)
@@ -162,6 +162,13 @@
 			}
 		}
 		IMessage message = addMesssage(validationManager, this.reporter, offset, length, target, lineNumber, severity, textMessage, messageArguments, getMessageBundleName());
+		
+		String preferencePageId = getPreferencePageId();
+		if(preferencePageId != null && preferenceKey != null){
+			message.setAttribute(PREFERENCE_KEY_ATTRIBUTE_NAME, preferenceKey);
+			message.setAttribute(PREFERENCE_PAGE_ID_NAME, preferencePageId);
+		}
+		
 		return message;
 	}
 



More information about the jbosstools-commits mailing list