/******************************************************************************* * Copyright (c) 2011 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.web.validation; import java.util.HashSet; import java.util.Set; import org.eclipse.core.resources.IProject; import org.jboss.tools.common.preferences.SeverityPreferences; import org.jboss.tools.jsf.JSFModelPlugin; /** * @author Alexey kazakov */ public class JSFSeverityPreferences extends SeverityPreferences { public static final Set<String> SEVERITY_OPTION_NAMES = new HashSet<String>(); private static JSFSeverityPreferences INSTANCE = new JSFSeverityPreferences(); // Mark tag which can't be found. public static final String UNKNOWN_COMPOSITE_COMPONENT_NAME = INSTANCE.createSeverityOption("unknownComponent"); //$NON-NLS-1$ // Mark attribute which can't be found. public static final String UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE = INSTANCE.createSeverityOption("unknownAttribute"); //$NON-NLS-1$ // Strict taglib validation public static final String UNKNOWN_TAGLIB_COMPONENT = INSTANCE.createSeverityOption("unknownTaglibComponent"); //$NON-NLS-1$ public static final String UNKNOWN_TAGLIB_ATTRIBUTE = INSTANCE.createSeverityOption("unknownTaglibAttribute"); //$NON-NLS-1$ //Faces Config //Application public static final String INVALID_ACTION_LISTENER = INSTANCE.createSeverityOption("invalidActionListener"); //$NON-NLS-1$ public static final String INVALID_NAVIGATION_HANDLER = INSTANCE.createSeverityOption("invalidNavigationHandler"); //$NON-NLS-1$ public static final String INVALID_PROPERTY_RESOLVER = INSTANCE.createSeverityOption("invalidPropertyResolver"); //$NON-NLS-1$ public static final String INVALID_STATE_MANAGER = INSTANCE.createSeverityOption("invalidStateManager"); //$NON-NLS-1$ public static final String INVALID_VARIABLE_RESOLVER = INSTANCE.createSeverityOption("invalidVariableResolver"); //$NON-NLS-1$ public static final String INVALID_VIEW_HANDLER = INSTANCE.createSeverityOption("invalidViewHandler"); //$NON-NLS-1$ //Component public static final String INVALID_COMPONENT_CLASS = INSTANCE.createSeverityOption("invalidComponentClass"); //$NON-NLS-1$ //Converter public static final String INVALID_CONVERTER_CLASS = INSTANCE.createSeverityOption("invalidConverterClass"); //$NON-NLS-1$ public static final String INVALID_CONVERTER_FOR_CLASS = INSTANCE.createSeverityOption("invalidConverterForClass"); //$NON-NLS-1$ //Factory public static final String INVALID_APPLICATION_FACTORY = INSTANCE.createSeverityOption("invalidApplicationFactory"); //$NON-NLS-1$ public static final String INVALID_FACES_CONTEXT_FACTORY = INSTANCE.createSeverityOption("invalidFacesContextFactory"); //$NON-NLS-1$ public static final String INVALID_LIFECYCLE_FACTORY = INSTANCE.createSeverityOption("invalidLifecycleFactory"); //$NON-NLS-1$ public static final String INVALID_RENDER_KIT_FACTORY = INSTANCE.createSeverityOption("invalidRenderKitFactory"); //$NON-NLS-1$ //List/Map entries public static final String INVALID_VALUE_CLASS = INSTANCE.createSeverityOption("invalidValueClass"); //$NON-NLS-1$ public static final String INVALID_KEY_CLASS = INSTANCE.createSeverityOption("invalidKeyClass"); //$NON-NLS-1$ //Beans public static final String INVALID_BEAN_CLASS = INSTANCE.createSeverityOption("invalidBeanClass"); //$NON-NLS-1$ public static final String INVALID_PROPERTY_CLASS = INSTANCE.createSeverityOption("invalidPropertyClass"); //$NON-NLS-1$ //Phase Listener public static final String INVALID_PHASE_LISTENER = INSTANCE.createSeverityOption("invalidPhaseListener"); //$NON-NLS-1$ //Render Kit public static final String INVALID_RENDER_KIT_CLASS = INSTANCE.createSeverityOption("invalidRenderKitClass"); //$NON-NLS-1$ //Renderer public static final String INVALID_RENDERER_CLASS = INSTANCE.createSeverityOption("invalidRendererClass"); //$NON-NLS-1$ //Validator public static final String INVALID_VALIDATOR_CLASS = INSTANCE.createSeverityOption("invalidValidatorClass"); //$NON-NLS-1$ //web.xml public static final String INVALID_CONFIG_FILES = INSTANCE.createSeverityOption("invalidConfigFiles"); //$NON-NLS-1$ //Navigation public static final String INVALID_FROM_VIEW_ID = INSTANCE.createSeverityOption("invalidFromViewId"); //$NON-NLS-1$ public static final String INVALID_TO_VIEW_ID = INSTANCE.createSeverityOption("invalidToViewId"); //$NON-NLS-1$ /** * @return the only instance of JSFSeverityPreferences */ public static JSFSeverityPreferences getInstance() { return INSTANCE; } private JSFSeverityPreferences() { } /* (non-Javadoc) * @see org.jboss.tools.common.preferences.SeverityPreferences#createSeverityOption(java.lang.String) */ @Override protected String createSeverityOption(String shortName) { String name = getPluginId() + ".composite.validator.problem." + shortName; //$NON-NLS-1$ SEVERITY_OPTION_NAMES.add(name); return name; } /* (non-Javadoc) * @see org.jboss.tools.common.preferences.SeverityPreferences#getPluginId() */ @Override protected String getPluginId() { return JSFModelPlugin.PLUGIN_ID; } /* (non-Javadoc) * @see org.jboss.tools.common.preferences.SeverityPreferences#getSeverityOptionNames() */ @Override protected Set<String> getSeverityOptionNames() { return SEVERITY_OPTION_NAMES; } public static boolean isValidationEnabled(IProject project) { return INSTANCE.isEnabled(project); } public static int getMaxNumberOfProblemMarkersPerFile(IProject project) { return INSTANCE.getMaxNumberOfProblemMarkersPerResource(project); } public static boolean shouldValidateTagLibs(IProject project) { return !(SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project, UNKNOWN_TAGLIB_COMPONENT)) && SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project, UNKNOWN_TAGLIB_ATTRIBUTE))); } public static boolean shouldValidateTagLibTags(IProject project) { return !SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project, UNKNOWN_TAGLIB_COMPONENT)); } public static boolean shouldValidateTagLibTagAttributes(IProject project) { return !SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project, UNKNOWN_TAGLIB_ATTRIBUTE)); } }