Author: dazarov
Date: 2011-11-30 15:40:26 -0500 (Wed, 30 Nov 2011)
New Revision: 36799
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorMarkerResolution.java
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorResolutionGenerator.java
Log:
"Disable Facelet HTML Validator" quick fix
https://issues.jboss.org/browse/JBIDE-9366
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorMarkerResolution.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorMarkerResolution.java 2011-11-30
20:20:32 UTC (rev 36798)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorMarkerResolution.java 2011-11-30
20:40:26 UTC (rev 36799)
@@ -37,12 +37,10 @@
IMarkerResolution2 {
private static final String MARKER_TYPE =
"org.eclipse.jst.jsf.facelet.ui.FaceletValidationMarker";
private IFile file;
- private boolean forProject;
private String label;
- public DisableFaceletHTMLValidatorMarkerResolution(IFile file, boolean forProject){
+ public DisableFaceletHTMLValidatorMarkerResolution(IFile file){
this.file = file;
- this.forProject = forProject;
label = JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_TITLE;
}
@@ -66,22 +64,12 @@
public void run(IMarker marker) {
MessageDialog dialog = null;
- if(forProject){
- dialog = new MessageDialog(getShell(), label, null,
- NLS.bind(JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_MESSAGE,
file.getName())+
- NLS.bind(JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_PROJECT_QUESTION,
file.getProject().getName()),
- MessageDialog.QUESTION_WITH_CANCEL,
- new String[]{"Cancel", "Workspace",
file.getProject().getName()},
- 0);
- }else{
- dialog = new MessageDialog(getShell(), label, null,
- NLS.bind(JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_MESSAGE,
file.getName())+
- JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_WORKSPACE_QUESTION,
- MessageDialog.QUESTION_WITH_CANCEL,
- new String[]{"Cancel", "Ok"},
- 0);
-
- }
+ dialog = new MessageDialog(getShell(), label, null,
+ NLS.bind(JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_MESSAGE,
file.getName())+
+ NLS.bind(JsfUIMessages.DISABLE_FACELET_HTML_VALIDATOR_MARKER_RESOLUTION_PROJECT_QUESTION,
file.getProject().getName()),
+ MessageDialog.QUESTION_WITH_CANCEL,
+ new String[]{"Cancel", "Workspace",
file.getProject().getName()},
+ 0);
int result = dialog.open();
if(result == 1){
disableOnWorkspace();
@@ -110,8 +98,30 @@
private void disableOnProject(){
MutableProjectSettings projectSettings =
ValidationFramework.getDefault().getProjectSettings(file.getProject());
+ projectSettings.setOverride(true);
IMutableValidator[] validators = projectSettings.getValidators();
- if(disableValidator(validators,
DisableFaceletHTMLValidatorResolutionGenerator.VALIDATOR_ID)){
+ if(!disableValidator(validators,
DisableFaceletHTMLValidatorResolutionGenerator.VALIDATOR_ID)){
+ projectSettings = null;
+ MutableWorkspaceSettings workspaceSettings=null;
+ try {
+ workspaceSettings = ValidationFramework.getDefault().getWorkspaceSettings();
+ } catch (InvocationTargetException e) {
+ JsfUiPlugin.getPluginLog().logError(e);
+ }
+ if(workspaceSettings != null){
+ IMutableValidator[] workspaceValidators = workspaceSettings.getValidators();
+ IMutableValidator faceletHTMLValidator = findValidator(workspaceValidators,
DisableFaceletHTMLValidatorResolutionGenerator.VALIDATOR_ID);
+ if(faceletHTMLValidator != null){
+ faceletHTMLValidator.setBuildValidation(false);
+ faceletHTMLValidator.setManualValidation(false);
+ validators = new IMutableValidator[1];
+ validators[0] = faceletHTMLValidator;
+ projectSettings = new MutableProjectSettings(file.getProject(), validators);
+ projectSettings.setOverride(true);
+ }
+ }
+ }
+ if(projectSettings != null){
ValidationFramework.getDefault().applyChanges(projectSettings, true);
try {
file.getProject().deleteMarkers(MARKER_TYPE, true, IResource.DEPTH_INFINITE);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorResolutionGenerator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorResolutionGenerator.java 2011-11-30
20:20:32 UTC (rev 36798)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/marker/DisableFaceletHTMLValidatorResolutionGenerator.java 2011-11-30
20:40:26 UTC (rev 36799)
@@ -17,7 +17,6 @@
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolutionGenerator2;
import org.eclipse.wst.validation.IMutableValidator;
-import org.eclipse.wst.validation.MutableProjectSettings;
import org.eclipse.wst.validation.MutableWorkspaceSettings;
import org.eclipse.wst.validation.ValidationFramework;
import org.jboss.tools.jsf.ui.JsfUiPlugin;
@@ -33,19 +32,12 @@
public IMarkerResolution[] getResolutions(IMarker marker) {
if(isNeedToCreate(marker)){
- boolean forProject = false;
- IFile file = (IFile)marker.getResource();
IMutableValidator[] validators;
- MutableProjectSettings projectSettings =
ValidationFramework.getDefault().getProjectSettings(file.getProject());
- validators = projectSettings.getValidators();
- if(DisableFaceletHTMLValidatorMarkerResolution.findValidator(validators, VALIDATOR_ID)
!= null){
- forProject = true;
- }
try {
MutableWorkspaceSettings workspaceSettings =
ValidationFramework.getDefault().getWorkspaceSettings();
validators = workspaceSettings.getValidators();
if(DisableFaceletHTMLValidatorMarkerResolution.findValidator(validators,
VALIDATOR_ID) != null){
- return new IMarkerResolution[] {new
DisableFaceletHTMLValidatorMarkerResolution((IFile)marker.getResource(), forProject)};
+ return new IMarkerResolution[] {new
DisableFaceletHTMLValidatorMarkerResolution((IFile)marker.getResource())};
}
} catch (InvocationTargetException e) {
JsfUiPlugin.getPluginLog().logError(e);