[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