Author: akazakov
Date: 2011-06-10 16:50:48 -0400 (Fri, 10 Jun 2011)
New Revision: 32020
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationPreferencePage.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferenceInitializer.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositeComponentValidator.java
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ICompositeTagLibrary.java
Removed:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/editor/pref/template/
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositionComponentValidator.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composition/
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java
trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.properties
trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.xml
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.java
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.properties
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationConfigurationBlock.java
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.properties
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferences.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.jdt.core.prefs
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.component
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/JSF2ComponentsValidatorTest.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/TagLibraryManager.java
Log:
https://issues.jboss.org/browse/JBIDE-9088
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -223,8 +223,10 @@
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
Set<IPath> resources = new HashSet<IPath>(); // Resources which we have
// to validate.
+ Set<IPath> resourcesToClean = new HashSet<IPath>(); // Resource which we
should remove from validation context
Dependencies ds = cdiProject.getNature().getDefinitions().getDependencies();
for(IFile file: changedFiles) {
+ resourcesToClean.add(file.getFullPath());
Set<IPath> dd = ds.getDirectDependencies(file.getFullPath());
if(dd != null) {
for (IPath p: dd) {
@@ -295,7 +297,8 @@
// Validate all collected linked resources.
// Remove all links between collected resources because they will be
// linked again during validation.
- getValidationContext().removeLinkedCoreResources(SHORT_ID, resources);
+ resourcesToClean.addAll(resources);
+ getValidationContext().removeLinkedCoreResources(SHORT_ID, resourcesToClean);
// We should remove markers from the source files at first
for(IFile file: filesToValidate) {
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.properties
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.properties 2011-06-10 20:43:05 UTC (rev
32019)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.properties 2011-06-10 20:50:48 UTC (rev
32020)
@@ -19,5 +19,5 @@
JSFELValidationDelegate=JSF EL Validator
-ComponentCompositionProblemName=JSF Composition Component Problem
-ComponentCompositionValidator=JSF Composition Component Validator
\ No newline at end of file
+ComponentCompositeProblemName=JSF Composite Component Problem
+ComponentCompositeValidator=JSF Composite Component Validator
\ No newline at end of file
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2011-06-10 20:43:05 UTC (rev 32019)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2011-06-10 20:50:48 UTC (rev 32020)
@@ -490,23 +490,27 @@
</delegate>
</extension>
- <extension id="compositionproblem"
name="%ComponentCompositionProblemName"
point="org.eclipse.core.resources.markers">
+ <extension id="compositeproblem"
name="%ComponentCompositeProblemName"
point="org.eclipse.core.resources.markers">
<super type="org.jboss.tools.jst.web.kb.kbproblemmarker">
</super>
<persistent value="true">
</persistent>
</extension>
- <!--extension
- id="CompositionComponentValidator"
+ <extension
+ id="CompositeComponentValidator"
point="org.jboss.tools.jst.web.kb.validator">
<validator
-
class="org.jboss.tools.jsf.web.validation.composition.CompositionComponentValidator"
- name="%ComponentCompositionValidator"
- id="org.jboss.tools.jsf.CompositionComponentValidator">
+
class="org.jboss.tools.jsf.web.validation.composite.CompositeComponentValidator"
+ name="%ComponentCompositeValidator"
+ id="org.jboss.tools.jsf.CompositeComponentValidator">
</validator>
- </extension-->
+ </extension>
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer
class="org.jboss.tools.jsf.web.validation.JSFSeverityPreferenceInitializer"/>
+ </extension>
+
<extension
point="org.jboss.tools.common.model.modelnatures">
<modelnature
@@ -534,7 +538,7 @@
<adapter type="org.eclipse.core.resources.IProject"/>
</factory>
</extension>
- <extension
+ <!--extension
id="jsf2"
name="%JSF2_ComponentsValidator.name"
point="org.eclipse.wst.validation.validatorV2">
@@ -601,7 +605,7 @@
<super
type="org.eclipse.core.resources.textmarker">
</super>
- </extension>
+ </extension -->
<extension
point="org.eclipse.wst.sse.ui.sourcevalidation">
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferenceInitializer.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferenceInitializer.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferenceInitializer.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * 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 org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.IScopeContext;
+import org.jboss.tools.common.preferences.SeverityPreferences;
+import org.jboss.tools.jsf.JSFModelPlugin;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class JSFSeverityPreferenceInitializer extends AbstractPreferenceInitializer {
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+ */
+ @Override
+ public void initializeDefaultPreferences() {
+ IEclipsePreferences defaultPreferences = ((IScopeContext)
DefaultScope.INSTANCE).getNode(JSFModelPlugin.PLUGIN_ID);
+ defaultPreferences.putBoolean(SeverityPreferences.ENABLE_BLOCK_PREFERENCE_NAME, true);
+ defaultPreferences.put(SeverityPreferences.WRONG_BUILDER_ORDER_PREFERENCE_NAME,
JSFSeverityPreferences.ERROR);
+ for (String name : JSFSeverityPreferences.SEVERITY_OPTION_NAMES) {
+ defaultPreferences.put(name, SeverityPreferences.ERROR);
+ }
+ defaultPreferences.put(JSFSeverityPreferences.UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE,
JSFSeverityPreferences.WARNING);
+ defaultPreferences.put(JSFSeverityPreferences.UNKNOWN_COMPOSITE_COMPONENT_NAME,
JSFSeverityPreferences.WARNING);
+ defaultPreferences.putInt(SeverityPreferences.MAX_NUMBER_OF_MARKERS_PREFERENCE_NAME,
SeverityPreferences.DEFAULT_MAX_NUMBER_OF_MARKERS_PER_FILE);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferenceInitializer.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferences.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferences.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFSeverityPreferences.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -27,10 +27,10 @@
private static JSFSeverityPreferences INSTANCE = new JSFSeverityPreferences();
// Mark tag which can't be found.
- public static final String UNKNOWN_COMPOSITION_COMPONENT_NAME =
INSTANCE.createSeverityOption("unknownComponent"); //$NON-NLS-1$
+ 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_COMPOSITION_COMPONENT_ATTRIBUTE =
INSTANCE.createSeverityOption("unknownAttribute"); //$NON-NLS-1$
+ public static final String UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE =
INSTANCE.createSeverityOption("unknownAttribute"); //$NON-NLS-1$
/**
* @return the only instance of JSFSeverityPreferences
@@ -47,7 +47,7 @@
*/
@Override
protected String createSeverityOption(String shortName) {
- String name = getPluginId() + ".composition.validator.problem." + shortName;
//$NON-NLS-1$
+ String name = getPluginId() + ".composite.validator.problem." + shortName;
//$NON-NLS-1$
SEVERITY_OPTION_NAMES.add(name);
return name;
}
@@ -77,7 +77,7 @@
}
public static boolean shouldValidateEL(IProject project) {
- return !(SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project,
UNKNOWN_COMPOSITION_COMPONENT_NAME)) &&
- SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project,
UNKNOWN_COMPOSITION_COMPONENT_ATTRIBUTE)));
+ return !(SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project,
UNKNOWN_COMPOSITE_COMPONENT_NAME)) &&
+ SeverityPreferences.IGNORE.equals(INSTANCE.getProjectPreference(project,
UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE)));
}
}
\ No newline at end of file
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/JSFValidationMessage.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -6,8 +6,8 @@
private static final String BUNDLE_NAME =
"org.jboss.tools.jsf.web.validation.messages"; //$NON-NLS-1$
- public static String UNKNOWN_COMPOSITION_COMPONENT_NAME;
- public static String UNKNOWN_COMPOSITION_COMPONENT_ATTRIBUTE;
+ public static String UNKNOWN_COMPOSITE_COMPONENT_NAME;
+ public static String UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE;
public static String SEARCHING_RESOURCES;
public static String VALIDATING_RESOURCE;
Copied:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositeComponentValidator.java
(from rev 31916,
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composition/CompositionComponentValidator.java)
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositeComponentValidator.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositeComponentValidator.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -0,0 +1,389 @@
+/*******************************************************************************
+ * 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.composite;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.sse.core.StructuredModelManager;
+import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.validation.internal.core.ValidationException;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.jboss.tools.common.el.core.resolver.ELContext;
+import org.jboss.tools.jsf.JSFModelPlugin;
+import org.jboss.tools.jsf.project.JSFNature;
+import org.jboss.tools.jsf.web.validation.JSFSeverityPreferences;
+import org.jboss.tools.jsf.web.validation.JSFValidationMessage;
+import org.jboss.tools.jst.web.kb.IPageContext;
+import org.jboss.tools.jst.web.kb.KbProjectFactory;
+import org.jboss.tools.jst.web.kb.PageContextFactory;
+import org.jboss.tools.jst.web.kb.internal.KbBuilder;
+import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
+import org.jboss.tools.jst.web.kb.internal.validation.KBValidator;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
+import org.jboss.tools.jst.web.kb.taglib.IComponent;
+import org.jboss.tools.jst.web.kb.taglib.ICompositeTagLibrary;
+import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
+import org.jboss.tools.jst.web.kb.taglib.TagLibraryManager;
+import org.jboss.tools.jst.web.kb.validation.IProjectValidationContext;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * JSF 2 composite component validator.
+ *
+ * @author Alexey Kazakov
+ */
+public class CompositeComponentValidator extends KBValidator {
+
+ public static final String ID =
"org.jboss.tools.jsf.CompositeComponentValidator"; //$NON-NLS-1$
+ public static final String PROBLEM_TYPE =
"org.jboss.tools.jsf.compositeproblem"; //$NON-NLS-1$
+ public static final String SHORT_ID = "jboss.jsf.core"; //$NON-NLS-1$
+
+ private static final String COMPOSITE_COMPONENT_URI_PREFIX =
"http://java.sun.com/jsf/composite/"; //$NON-NLS-1$
+
+ private IProject currentProject;
+ private IContainer webRootFolder;
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#init(org.eclipse.core.resources.IProject,
org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper,
org.jboss.tools.jst.web.kb.validation.IProjectValidationContext,
org.eclipse.wst.validation.internal.provisional.core.IValidator,
org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ @Override
+ public void init(IProject project, ContextValidationHelper validationHelper,
IProjectValidationContext context,
org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter
reporter) {
+ super.init(project, validationHelper, context, manager, reporter);
+ currentProject = null;
+ webRootFolder = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#validate(java.util.Set,
org.eclipse.core.resources.IProject,
org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper,
org.jboss.tools.jst.web.kb.validation.IProjectValidationContext,
org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager,
org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ public IStatus validate(Set<IFile> changedFiles, IProject project,
ContextValidationHelper validationHelper, IProjectValidationContext validationContext,
ValidatorManager manager, IReporter reporter) throws ValidationException {
+ init(project, validationHelper, validationContext, manager, reporter);
+ displaySubtask(JSFValidationMessage.SEARCHING_RESOURCES, new
String[]{project.getName()});
+
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+
+ Set<IFile> filesToValidate = new HashSet<IFile>();
+ Set<IPath> pathesToClean = new HashSet<IPath>();
+ for (IFile file : changedFiles) {
+ pathesToClean.add(file.getFullPath());
+ // If the changed file is a composition component then collect all the pages which use
this component.
+ if(file.isAccessible() && notValidatedYet(file)) {
+ filesToValidate.add(file);
+ ITagLibrary[] libs = TagLibraryManager.getLibraries(file.getParent());
+ for (ITagLibrary lib : libs) {
+ if(lib instanceof ICompositeTagLibrary) {
+ Set<IPath> pathes =
getValidationContext().getCoreResourcesByVariableName(SHORT_ID, getComponentUri(lib,
file), false);
+ if(pathes!=null) {
+ for (IPath path : pathes) {
+ IFile page = root.getFile(path);
+ if(page!=null && page.isAccessible()) {
+ filesToValidate.add(page);
+ pathesToClean.add(page.getFullPath());
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Remove all links between collected resources because they will be
+ // linked again during validation.
+ getValidationContext().removeLinkedCoreResources(SHORT_ID, pathesToClean);
+
+ for (IFile file : filesToValidate) {
+ validateResource(file);
+ }
+
+ return OK_STATUS;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.validation.IValidator#validateAll(org.eclipse.core.resources.IProject,
org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper,
org.jboss.tools.jst.web.kb.validation.IProjectValidationContext,
org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager,
org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ public IStatus validateAll(IProject project, ContextValidationHelper validationHelper,
IProjectValidationContext validationContext, ValidatorManager manager, IReporter reporter)
throws ValidationException {
+ init(project, validationHelper, validationContext, manager, reporter);
+ displaySubtask(JSFValidationMessage.VALIDATING_PROJECT, new
String[]{project.getName()});
+
+ Set<IFile> files = validationHelper.getProjectSetRegisteredFiles();
+ Set<IFile> filesToValidate = new HashSet<IFile>();
+ for (IFile file : files) {
+ if(file.isAccessible()) {
+ if(notValidatedYet(file)) {
+ filesToValidate.add(file);
+ }
+ }
+ }
+ for (IFile file : filesToValidate) {
+ validateResource(file);
+ }
+
+ return OK_STATUS;
+ }
+
+ private String getComponentUri(ITagLibrary lib, IFile file) {
+ String fullName = file.getName();
+ String name = fullName;
+ String ext = file.getFileExtension();
+ if(ext!=null) {
+ name = name.substring(0, name.lastIndexOf("." + ext));
+ }
+ return lib.getURI() + ":" + name;
+ }
+
+ private void validateResource(IFile file) {
+ if(shouldFileBeValidated(file)) {
+ displaySubtask(JSFValidationMessage.VALIDATING_RESOURCE, new
String[]{file.getProject().getName(), file.getName()});
+ removeAllMessagesFromResource(file);
+ coreHelper.getValidationContextManager().addValidatedProject(this,
file.getProject());
+ ELContext context = PageContextFactory.createPageContext(file);
+ if(context!=null && context instanceof IPageContext) {
+ IPageContext pageContext = (IPageContext)context;
+ Set<String> uris = pageContext.getURIs();
+ for (String uri : uris) {
+ // Validate pages which use
http://java.sun.com/jsf/composite/* name spaces only.
+ if(uri.startsWith(COMPOSITE_COMPONENT_URI_PREFIX)) {
+ IModelManager manager = StructuredModelManager.getModelManager();
+ if (manager != null) {
+ IStructuredModel model = null;
+ try {
+ model = manager.getModelForRead(file);
+ if (model instanceof IDOMModel) {
+ IDOMModel domModel = (IDOMModel) model;
+ IDOMDocument document = domModel.getDocument();
+ validateNode(file, document.getDocumentElement());
+ }
+ } catch (CoreException e) {
+ JSFModelPlugin.getPluginLog().logError(e);
+ } catch (IOException e) {
+ JSFModelPlugin.getPluginLog().logError(e);
+ } finally {
+ if (model != null) {
+ model.releaseFromRead();
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ private void validateNode(IFile file, Node node) {
+ if (node instanceof Element) {
+ String namespaceURI = node.getNamespaceURI();
+ if (namespaceURI != null &&
namespaceURI.startsWith(COMPOSITE_COMPONENT_URI_PREFIX)) {
+ validateComponent(file, node);
+ }
+ NodeList children = node.getChildNodes();
+ for (int i = 0; i < children.getLength(); i++) {
+ validateNode(file, children.item(i));
+ }
+ }
+ }
+
+ private void validateComponent(IFile file, Node xmlComponent) {
+ String tagName = xmlComponent.getLocalName();
+ if(tagName==null) {
+ return;
+ }
+ ITagLibrary[] libs = KbProjectFactory.getKbProject(file.getProject(),
true).getTagLibraries(xmlComponent.getNamespaceURI());
+ if(libs.length>0) {
+ IComponent kbComponent = libs[0].getComponent(tagName);
+ if(kbComponent!=null) {
+ // Save the link between the composition component URI and the validating page
+ getValidationContext().addLinkedCoreResource(SHORT_ID, libs[0].getURI() +
":" + kbComponent.getName(), file.getFullPath(), false);
+
+ NamedNodeMap map = xmlComponent.getAttributes();
+ for (int i = 0; i < map.getLength(); i++) {
+ Node xmlAttribute = map.item(i);
+ String attributeName = xmlAttribute.getNodeName();
+ if(!"id".equals(attributeName) &&
kbComponent.getAttribute(attributeName)==null && xmlAttribute instanceof
IndexedRegion) {
+ // Mark unknown attribute name
+ IndexedRegion region = (IndexedRegion)xmlAttribute;
+ int offset = region.getStartOffset();
+ int length = attributeName.length();
+ addError(JSFValidationMessage.UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE,
JSFSeverityPreferences.UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE, new String[]{attributeName,
tagName}, length, offset, file);
+ }
+ }
+ } else {
+ addError(file, xmlComponent, tagName);
+ }
+ } else {
+ addError(file, xmlComponent, tagName);
+ }
+ }
+
+ /**
+ * Mark unknown tag name
+ * @param file
+ * @param xmlComponent
+ * @param tagName
+ */
+ private void addError(IFile file, Node xmlComponent, String tagName) {
+ if(xmlComponent instanceof IndexedRegion) {
+ IndexedRegion region = (IndexedRegion)xmlComponent;
+ int offset = region.getStartOffset();
+ int length = xmlComponent.getNodeName().length() + 1;
+ addError(JSFValidationMessage.UNKNOWN_COMPOSITE_COMPONENT_NAME,
JSFSeverityPreferences.UNKNOWN_COMPOSITE_COMPONENT_NAME, new String[]{tagName}, length,
offset, file);
+ }
+ }
+
+ private boolean enabled = true;
+
+ private boolean shouldFileBeValidated(IFile file) {
+ if(!file.isAccessible()) {
+ return false;
+ }
+ IProject project = file.getProject();
+ if(!file.isSynchronized(IResource.DEPTH_ZERO)) {
+ // The resource is out of sync with the file system
+ // Just ignore this resource.
+ return false;
+ }
+ if(!project.equals(currentProject)) {
+ currentProject = project;
+ enabled = isEnabled(project);
+ if(!enabled) {
+ return false;
+ }
+ if(webRootFolder!=null && !project.equals(webRootFolder.getProject())) {
+ webRootFolder = null;
+ }
+ if(webRootFolder==null) {
+ IFacetedProject facetedProject = null;
+ try {
+ facetedProject = ProjectFacetsManager.create(project);
+ } catch (CoreException e) {
+ JSFModelPlugin.getDefault().logError(e);
+ }
+ if(facetedProject!=null &&
facetedProject.getProjectFacetVersion(IJ2EEFacetConstants.DYNAMIC_WEB_FACET)!=null) {
+ IVirtualComponent component = ComponentCore.createComponent(project);
+ if(component!=null) {
+ IVirtualFolder webRootVirtFolder = component.getRootFolder().getFolder(new
Path("/")); //$NON-NLS-1$
+ webRootFolder = webRootVirtFolder.getUnderlyingFolder();
+ }
+ }
+ }
+ currentProject = project;
+ }
+
+ // Validate files from Web-Content only (in case of WTP project)
+ return enabled && webRootFolder!=null &&
webRootFolder.getLocation().isPrefixOf(file.getLocation()) &&
PageContextFactory.isPage(file);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#getId()
+ */
+ public String getId() {
+ return ID;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#getBuilderId()
+ */
+ public String getBuilderId() {
+ return KbBuilder.BUILDER_ID;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.validation.IValidator#getValidatingProjects(org.eclipse.core.resources.IProject)
+ */
+ public IValidatingProjectTree getValidatingProjects(IProject project) {
+ return createSimpleValidatingProjectTree(project);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.validation.IValidator#shouldValidate(org.eclipse.core.resources.IProject)
+ */
+ public boolean shouldValidate(IProject project) {
+ try {
+ return project != null
+ && project.isAccessible()
+ && project.hasNature(JSFNature.NATURE_ID)
+ && validateBuilderOrder(project)
+ && isEnabled(project);
+ } catch (CoreException e) {
+ JSFModelPlugin.getDefault().logError(e);
+ }
+ return false;
+ }
+
+ private boolean validateBuilderOrder(IProject project) throws CoreException {
+ return ValidatorManager.validateBuilderOrder(project, getBuilderId(), getId(),
JSFSeverityPreferences.getInstance());
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.validation.IValidator#isEnabled(org.eclipse.core.resources.IProject)
+ */
+ public boolean isEnabled(IProject project) {
+ return JSFSeverityPreferences.isValidationEnabled(project);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getPreference(org.eclipse.core.resources.IProject,
java.lang.String)
+ */
+ protected String getPreference(IProject project, String preferenceKey) {
+ return JSFSeverityPreferences.getInstance().getProjectPreference(project,
preferenceKey);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getMaxNumberOfMarkersPerFile(org.eclipse.core.resources.IProject)
+ */
+ public int getMaxNumberOfMarkersPerFile(IProject project) {
+ return JSFSeverityPreferences.getMaxNumberOfProblemMarkersPerFile(project);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getMarkerType()
+ */
+ public String getMarkerType() {
+ return PROBLEM_TYPE;
+ }
+}
\ No newline at end of file
Property changes on:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositeComponentValidator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositionComponentValidator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composition/CompositionComponentValidator.java 2011-06-08
17:13:02 UTC (rev 31916)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/composite/CompositionComponentValidator.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * 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.composition;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.jboss.tools.common.el.core.resolver.ELContext;
-import org.jboss.tools.jsf.JSFModelPlugin;
-import org.jboss.tools.jsf.project.JSFNature;
-import org.jboss.tools.jsf.web.validation.JSFSeverityPreferences;
-import org.jboss.tools.jsf.web.validation.JSFValidationMessage;
-import org.jboss.tools.jst.web.kb.IPageContext;
-import org.jboss.tools.jst.web.kb.PageContextFactory;
-import org.jboss.tools.jst.web.kb.internal.KbBuilder;
-import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
-import org.jboss.tools.jst.web.kb.internal.validation.KBValidator;
-import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
-import org.jboss.tools.jst.web.kb.validation.IProjectValidationContext;
-import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
-
-/**
- * JSF 2 composition component validator.
- *
- * @author Alexey Kazakov
- */
-public class CompositionComponentValidator extends KBValidator {
-
- public static final String ID =
"org.jboss.tools.jsf.CompositionComponentValidator"; //$NON-NLS-1$
- public static final String PROBLEM_TYPE =
"org.jboss.tools.jsf.compositionproblem"; //$NON-NLS-1$
-
- private IProject currentProject;
- private IContainer webRootFolder;
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#init(org.eclipse.core.resources.IProject,
org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper,
org.jboss.tools.jst.web.kb.validation.IProjectValidationContext,
org.eclipse.wst.validation.internal.provisional.core.IValidator,
org.eclipse.wst.validation.internal.provisional.core.IReporter)
- */
- @Override
- public void init(IProject project, ContextValidationHelper validationHelper,
IProjectValidationContext context,
org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter
reporter) {
- super.init(project, validationHelper, context, manager, reporter);
- currentProject = null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.jst.web.kb.validation.IValidator#validate(java.util.Set,
org.eclipse.core.resources.IProject,
org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper,
org.jboss.tools.jst.web.kb.validation.IProjectValidationContext,
org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager,
org.eclipse.wst.validation.internal.provisional.core.IReporter)
- */
- public IStatus validate(Set<IFile> changedFiles, IProject project,
ContextValidationHelper validationHelper, IProjectValidationContext validationContext,
ValidatorManager manager, IReporter reporter) throws ValidationException {
- displaySubtask(JSFValidationMessage.SEARCHING_RESOURCES);
- init(project, validationHelper, validationContext, manager, reporter);
- webRootFolder = null;
-
- return OK_STATUS;
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.validation.IValidator#validateAll(org.eclipse.core.resources.IProject,
org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper,
org.jboss.tools.jst.web.kb.validation.IProjectValidationContext,
org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager,
org.eclipse.wst.validation.internal.provisional.core.IReporter)
- */
- public IStatus validateAll(IProject project, ContextValidationHelper validationHelper,
IProjectValidationContext validationContext, ValidatorManager manager, IReporter reporter)
throws ValidationException {
- displaySubtask(JSFValidationMessage.SEARCHING_RESOURCES);
- init(project, validationHelper, validationContext, manager, reporter);
- webRootFolder = null;
-
- return OK_STATUS;
- }
-
- private void validateResource(IFile file) {
- if(shouldFileBeValidated(file)) {
- coreHelper.getValidationContextManager().addValidatedProject(this,
file.getProject());
- removeAllMessagesFromResource(file);
- ELContext context = PageContextFactory.createPageContext(file);
- if(context!=null && context instanceof IPageContext) {
- IPageContext pageContext = (IPageContext)context;
- }
- }
- }
-
- private boolean enabled = true;
-
- private boolean shouldFileBeValidated(IFile file) {
- if(!file.isAccessible()) {
- return false;
- }
- IProject project = file.getProject();
- if(!file.isSynchronized(IResource.DEPTH_ZERO)) {
- // The resource is out of sync with the file system
- // Just ignore this resource.
- return false;
- }
- if(!project.equals(currentProject)) {
- currentProject = project;
- enabled = isEnabled(project);
- if(!enabled) {
- return false;
- }
- if(webRootFolder!=null && !project.equals(webRootFolder.getProject())) {
- webRootFolder = null;
- }
- if(webRootFolder==null) {
- IFacetedProject facetedProject = null;
- try {
- facetedProject = ProjectFacetsManager.create(project);
- } catch (CoreException e) {
- JSFModelPlugin.getDefault().logError(e);
- }
- if(facetedProject!=null &&
facetedProject.getProjectFacetVersion(IJ2EEFacetConstants.DYNAMIC_WEB_FACET)!=null) {
- IVirtualComponent component = ComponentCore.createComponent(project);
- if(component!=null) {
- IVirtualFolder webRootVirtFolder = component.getRootFolder().getFolder(new
Path("/")); //$NON-NLS-1$
- webRootFolder = webRootVirtFolder.getUnderlyingFolder();
- }
- }
- }
- currentProject = project;
- }
-
- // Validate files from Web-Content only (in case of WTP project)
- return enabled && webRootFolder!=null &&
webRootFolder.getLocation().isPrefixOf(file.getLocation()) &&
PageContextFactory.isPage(file);
- }
-
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.jst.web.kb.validation.IValidator#getId()
- */
- public String getId() {
- return ID;
- }
-
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.jst.web.kb.validation.IValidator#getBuilderId()
- */
- public String getBuilderId() {
- return KbBuilder.BUILDER_ID;
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.validation.IValidator#getValidatingProjects(org.eclipse.core.resources.IProject)
- */
- public IValidatingProjectTree getValidatingProjects(IProject project) {
- return createSimpleValidatingProjectTree(project);
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.validation.IValidator#shouldValidate(org.eclipse.core.resources.IProject)
- */
- public boolean shouldValidate(IProject project) {
- try {
- return project != null
- && project.isAccessible()
- && project.hasNature(JSFNature.NATURE_ID)
- && validateBuilderOrder(project)
- && isEnabled(project);
- } catch (CoreException e) {
- JSFModelPlugin.getDefault().logError(e);
- }
- return false;
- }
-
- private boolean validateBuilderOrder(IProject project) throws CoreException {
- return ValidatorManager.validateBuilderOrder(project, getBuilderId(), getId(),
JSFSeverityPreferences.getInstance());
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.validation.IValidator#isEnabled(org.eclipse.core.resources.IProject)
- */
- public boolean isEnabled(IProject project) {
- return JSFSeverityPreferences.isValidationEnabled(project);
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getPreference(org.eclipse.core.resources.IProject,
java.lang.String)
- */
- protected String getPreference(IProject project, String preferenceKey) {
- return JSFSeverityPreferences.getInstance().getProjectPreference(project,
preferenceKey);
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getMaxNumberOfMarkersPerFile(org.eclipse.core.resources.IProject)
- */
- public int getMaxNumberOfMarkersPerFile(IProject project) {
- return JSFSeverityPreferences.getMaxNumberOfProblemMarkersPerFile(project);
- }
-
- /*
- * (non-Javadoc)
- * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getMarkerType()
- */
- public String getMarkerType() {
- return PROBLEM_TYPE;
- }
-}
\ No newline at end of file
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/messages.properties 2011-06-10
20:50:48 UTC (rev 32020)
@@ -1,6 +1,6 @@
#
-UNKNOWN_COMPOSITION_COMPONENT_NAME=Unknown composition component "{0}"
-UNKNOWN_COMPOSITION_COMPONENT_ATTRIBUTE=Unknown attribute "{0}" of composition
component "{1}"
+UNKNOWN_COMPOSITE_COMPONENT_NAME=Unknown composite component "{0}"
+UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE=Unknown attribute "{0}" of composite
component "{1}"
#Messages for Progress Monitor
SEARCHING_RESOURCES=project "{0}"; searching resources for validation (JSF
Validator)
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.text.ext/src/org/jboss/tools/jsf/text/ext/hyperlink/JsfJSPTagNameHyperlink.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -92,7 +92,7 @@
// String attributeName = p.getProperty(IWebPromptingProvider.ATTRIBUTE);
IComponent c = ls[0].getComponent(tagName);
if(c != null) {
- IResource r = ((AbstractComponent)c).getResource();
+ IResource r = c.getResource();
if(r instanceof IFile) {
IEditorPart part = null;
IFile f = (IFile)r;
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.properties
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.properties 2011-06-10 20:43:05 UTC
(rev 32019)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.properties 2011-06-10 20:50:48 UTC
(rev 32020)
@@ -23,6 +23,9 @@
PreferencePage_JSFImplementations=JSF Environment
PreferencePage_JSFFlowTabbed=JSF Flow Diagram
+PreferencePage_Validation=Validation
+PreferencePage_JSFValidation=JSF Validation
+
NewWizardCat_JBossTools=JBoss Tools
NewWizardCat_JSF=JSF
NewWizardCat_Struts=Struts
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.xml 2011-06-10 20:43:05 UTC (rev
32019)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/plugin.xml 2011-06-10 20:50:48 UTC (rev
32020)
@@ -2,6 +2,20 @@
<?eclipse version="3.0"?>
<plugin>
+ <extension
+ point="org.eclipse.ui.propertyPages">
+ <page
+ name="%PreferencePage_JSFValidation"
+
class="org.jboss.tools.jsf.ui.preferences.JSFValidationPreferencePage"
+
id="org.jboss.tools.jsf.ui.propertyPages.JSFValidationPreferencePage">
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject">
+ <test property="org.eclipse.core.resources.projectNature"
value="org.jboss.tools.jsf.jsfnature"/>
+ </adapt>
+ </enabledWhen>
+ </page>
+ </extension>
+
<extension point="org.eclipse.ui.preferencePages">
<page category="org.jboss.tools.common.model.ui"
class="org.jboss.tools.jsf.ui.preferences.JSFStudioPreferencesPage"
@@ -26,6 +40,12 @@
class="org.jboss.tools.jsf.ui.preferences.JSFFlowTabbedPreferencesPage"
id="org.jboss.tools.jsf.ui.jsfflowdiagram"
name="%PreferencePage_JSFFlowTabbed"/>
+ <page
+ category="org.jboss.tools.jsf.ui"
+
class="org.jboss.tools.jsf.ui.preferences.JSFValidationPreferencePage"
+
id="org.jboss.tools.jsf.ui.preferences.JSFValidationPreferencePage"
+ name="%PreferencePage_Validation">
+ </page>
</extension>
<extension id="e" name="XML Editors"
point="org.jboss.tools.common.model.ui.xmlEditor">
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -26,7 +26,7 @@
public static String JSFValidationConfigurationBlock_common_description;
//Expression Language
- public static String JSFValidationConfigurationBlock_section_composition_components;
+ public static String JSFValidationConfigurationBlock_section_composite_components;
public static String JSFValidationConfigurationBlock_pb_unknownComponent_label;
public static String JSFValidationConfigurationBlock_pb_unknownAttribute_label;
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.properties
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.properties 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFSeverityPreferencesMessages.properties 2011-06-10
20:50:48 UTC (rev 32020)
@@ -13,9 +13,9 @@
JSFValidationConfigurationBlock_common_description=Select the severity level for the
following optional JSF validation problems:
##Expression Language
-JSFValidationConfigurationBlock_section_composition_components=Composition Components
-JSFValidationConfigurationBlock_pb_unknownComponent_label=Unknown composition component:
-JSFValidationConfigurationBlock_pb_unknownAttribute_label=Unknown composition component
attribute:
+JSFValidationConfigurationBlock_section_composite_components=Composite Components
+JSFValidationConfigurationBlock_pb_unknownComponent_label=Unknown composite component:
+JSFValidationConfigurationBlock_pb_unknownAttribute_label=Unknown composite component
attribute:
JSF_VALIDATION_CONFIGURATION_BLOCK_JSF_VALIDATION_CONFIGURATION_BLOCK=JSFValidationConfigurationBlock
-JSF_VALIDATION_PREFERENCE_PAGE_JSF_VALIDATOR=JSF Validator
\ No newline at end of file
+JSF_VALIDATION_PREFERENCE_PAGE_JSF_VALIDATOR=JSF Validation
\ No newline at end of file
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationConfigurationBlock.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationConfigurationBlock.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationConfigurationBlock.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -28,17 +28,17 @@
private static final String SETTINGS_SECTION_NAME =
JSFSeverityPreferencesMessages.JSF_VALIDATION_CONFIGURATION_BLOCK_JSF_VALIDATION_CONFIGURATION_BLOCK;
- private static SectionDescription SECTION_COMPOSITION_COMPONENTS = new
SectionDescription(
- JSFSeverityPreferencesMessages.JSFValidationConfigurationBlock_section_composition_components,
+ private static SectionDescription SECTION_COMPOSITE_COMPONENTS = new
SectionDescription(
+ JSFSeverityPreferencesMessages.JSFValidationConfigurationBlock_section_composite_components,
new String[][]{
- {JSFSeverityPreferences.UNKNOWN_COMPOSITION_COMPONENT_NAME,
JSFSeverityPreferencesMessages.JSFValidationConfigurationBlock_pb_unknownComponent_label},
- {JSFSeverityPreferences.UNKNOWN_COMPOSITION_COMPONENT_ATTRIBUTE,
JSFSeverityPreferencesMessages.JSFValidationConfigurationBlock_pb_unknownAttribute_label},
+ {JSFSeverityPreferences.UNKNOWN_COMPOSITE_COMPONENT_NAME,
JSFSeverityPreferencesMessages.JSFValidationConfigurationBlock_pb_unknownComponent_label},
+ {JSFSeverityPreferences.UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE,
JSFSeverityPreferencesMessages.JSFValidationConfigurationBlock_pb_unknownAttribute_label},
},
JSFModelPlugin.PLUGIN_ID
);
private static SectionDescription[] ALL_SECTIONS = new SectionDescription[] {
- SECTION_COMPOSITION_COMPONENTS
+ SECTION_COMPOSITE_COMPONENTS
};
private static Key[] getKeys() {
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationPreferencePage.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationPreferencePage.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationPreferencePage.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * 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.ui.preferences;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
+import org.jboss.tools.common.ui.preferences.SeverityPreferencePage;
+import org.jboss.tools.jsf.JSFModelPlugin;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class JSFValidationPreferencePage extends SeverityPreferencePage {
+
+ public static final String PREF_ID =
"org.jboss.tools.jsf.ui.preferences.JSFValidationPreferencePage"; //$NON-NLS-1$
+ public static final String PROP_ID =
"org.jboss.tools.jsf.ui.propertyPages.JSFValidationPreferencePage";
//$NON-NLS-1$
+
+ public JSFValidationPreferencePage() {
+ setPreferenceStore(JSFModelPlugin.getDefault().getPreferenceStore());
+ setTitle(JSFSeverityPreferencesMessages.JSF_VALIDATION_PREFERENCE_PAGE_JSF_VALIDATOR);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#getPreferencePageID()
+ */
+ @Override
+ protected String getPreferencePageID() {
+ return PREF_ID;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage#getPropertyPageID()
+ */
+ @Override
+ protected String getPropertyPageID() {
+ return PROP_ID;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ public void createControl(Composite parent) {
+ IWorkbenchPreferenceContainer container = (IWorkbenchPreferenceContainer)
getContainer();
+ fConfigurationBlock = new
JSFValidationConfigurationBlock(getNewStatusChangedListener(), getProject(), container);
+
+ super.createControl(parent);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/preferences/JSFValidationPreferencePage.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath 2011-06-10
20:50:48 UTC (rev 32020)
@@ -3,14 +3,14 @@
<classpathentry kind="src" path="JavaSource"/>
<classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.module.container"/>
- <classpathentry kind="con"
path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache
Tomcat v6.0">
+ <classpathentry kind="con"
path="org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/JBoss
6.0 Runtime">
<attributes>
- <attribute name="owner.project.facets" value="jst.web"/>
+ <attribute name="owner.project.facets"
value="jst.jsf;jst.web"/>
</attributes>
</classpathentry>
- <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_16">
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
- <attribute name="owner.project.facets" value="jst.java"/>
+ <attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="InternalClassFolder"/>
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project 2011-06-10
20:50:48 UTC (rev 32020)
@@ -1,43 +1,43 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>JSF2ComponentsValidator</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.common.project.facet.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
- <nature>org.jboss.tools.jsf.jsfnature</nature>
- <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
- <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
- <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JSF2ComponentsValidator</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.jboss.tools.jsf.jsfnature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ </natures>
+</projectDescription>
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.jdt.core.prefs 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.jdt.core.prefs 2011-06-10
20:50:48 UTC (rev 32020)
@@ -1,7 +1,9 @@
#Wed May 05 14:06:47 EEST 2010
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.6
+
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.component
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.component 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.component 2011-06-10
20:50:48 UTC (rev 32020)
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
-<wb-module deploy-name="JSF2ComponentsValidator">
-<wb-resource deploy-path="/" source-path="/WebContent"/>
-<wb-resource deploy-path="/WEB-INF/classes"
source-path="/JavaSource"/>
-<property name="java-output-path"
value="/JSF2TestProject/WebContent/WEB-INF/classes"/>
-<property name="context-root"
value="JSF2ComponentsValidator"/>
-</wb-module>
-</project-modules>
+ <wb-module deploy-name="JSF2ComponentsValidator">
+ <wb-resource deploy-path="/"
source-path="/WebContent"/>
+ <wb-resource deploy-path="/WEB-INF/classes"
source-path="/JavaSource"/>
+ <property name="context-root"
value="JSF2ComponentsValidator"/>
+ <property name="java-output-path"
value="/JSF2ComponentsValidator/WebContent/WEB-INF/classes"/>
+ </wb-module>
+</project-modules>
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml 2011-06-10
20:50:48 UTC (rev 32020)
@@ -0,0 +1,7 @@
+<root>
+ <facet id="jst.jsf">
+ <node name="libprov">
+ <attribute name="provider-id"
value="jsf-user-library-provider"/>
+ </node>
+ </facet>
+</root>
Property changes on:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.xml 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.xml 2011-06-10
20:50:48 UTC (rev 32020)
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
- <runtime name="Apache Tomcat v6.0"/>
- <fixed facet="jst.java"/>
+ <runtime name="JBoss 6.0 Runtime"/>
+ <fixed facet="wst.jsdt.web"/>
+ <fixed facet="jst.jsf"/>
<fixed facet="jst.web"/>
- <installed facet="jst.java" version="5.0"/>
- <installed facet="jst.web" version="2.5"/>
+ <fixed facet="java"/>
+ <installed facet="java" version="1.6"/>
+ <installed facet="jst.web" version="3.0"/>
+ <installed facet="jst.jsf" version="2.0"/>
+ <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/JSF2ComponentsValidatorTest.java
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/JSF2ComponentsValidatorTest.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/JSF2ComponentsValidatorTest.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -13,7 +13,10 @@
import java.io.IOException;
import java.io.InputStream;
+import java.text.MessageFormat;
+import junit.framework.TestCase;
+
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
@@ -24,11 +27,10 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.wst.validation.ValidationFramework;
import org.jboss.tools.jsf.jsf2.util.JSF2ResourceUtil;
+import org.jboss.tools.jsf.web.validation.JSFValidationMessage;
import org.jboss.tools.test.util.JobUtils;
import org.jboss.tools.test.util.ProjectImportTestSetup;
-import junit.framework.TestCase;
-
/**
*
* @author yzhishko
@@ -67,17 +69,11 @@
.findMember("/WebContent/pages/inputname.xhtml"); //$NON-NLS-1$
assertNotNull(resource);
IMarker[] markers = resource.findMarkers(
- "org.jboss.tools.jsf.jsf2problemmarker", false, 1); //$NON-NLS-1$
- assertNotNull(markers);
- assertTrue(isMarkerExist(markers,
- "Composite component \"echo\" was not found in a project resources
directory")); //$NON-NLS-1$
- assertTrue(isMarkerExist(markers,
- "Attribute \"anknownAttr\" is not defined for \"echo\"
composite component")); //$NON-NLS-1$
- assertTrue(isMarkerExist(
- markers,
- "JSF 2 Resources folder \"/resources/jarPage1\" is missing in a
project web directory")); //$NON-NLS-1$
- assertTrue(isMarkerExist(markers,
- "Composite component \"echo1\" was not found in a project resources
directory")); //$NON-NLS-1$
+ "org.jboss.tools.jsf.compositeproblem", false, 1); //$NON-NLS-1$
+ assertEquals(3, markers.length);
+ assertTrue(isMarkerExist(markers,
MessageFormat.format(JSFValidationMessage.UNKNOWN_COMPOSITE_COMPONENT_NAME,
"echo"))); //$NON-NLS-1$
+ assertTrue(isMarkerExist(markers,
MessageFormat.format(JSFValidationMessage.UNKNOWN_COMPOSITE_COMPONENT_NAME,
"echo1"))); //$NON-NLS-1$
+ assertTrue(isMarkerExist(markers,
MessageFormat.format(JSFValidationMessage.UNKNOWN_COMPOSITE_COMPONENT_ATTRIBUTE,
"anknownAttr", "echo"))); //$NON-NLS-1$
}
private boolean isMarkerExist(IMarker[] markers, String markerMesssage)
@@ -90,5 +86,4 @@
}
return false;
}
-
-}
+}
\ No newline at end of file
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -2,17 +2,27 @@
import org.jboss.tools.jst.web.kb.internal.KbXMLStoreConstants;
import org.jboss.tools.jst.web.kb.internal.taglib.AbstractTagLib;
+import org.jboss.tools.jst.web.kb.taglib.ICompositeTagLibrary;
-public class CompositeTagLibrary extends AbstractTagLib {
+public class CompositeTagLibrary extends AbstractTagLib implements ICompositeTagLibrary
{
public CompositeTagLibrary() {}
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.internal.taglib.AbstractTagLib#clone()
+ */
+ @Override
public CompositeTagLibrary clone() throws CloneNotSupportedException {
return (CompositeTagLibrary)super.clone();
}
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.internal.KbObject#getXMLClass()
+ */
+ @Override
public String getXMLClass() {
return KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY;
}
-
-}
+}
\ No newline at end of file
Added:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ICompositeTagLibrary.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ICompositeTagLibrary.java
(rev 0)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ICompositeTagLibrary.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * 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.jst.web.kb.taglib;
+
+/**
+ * Represents a composite component library.
+ * @author Alexey Kazakov
+ */
+public interface ICompositeTagLibrary {
+
+}
\ No newline at end of file
Property changes on:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ICompositeTagLibrary.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/TagLibraryManager.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/TagLibraryManager.java 2011-06-10
20:43:05 UTC (rev 32019)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/TagLibraryManager.java 2011-06-10
20:50:48 UTC (rev 32020)
@@ -16,6 +16,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
import org.jboss.tools.jst.web.kb.IKbProject;
import org.jboss.tools.jst.web.kb.KbProjectFactory;
@@ -41,16 +42,16 @@
}
/**
- * Returns all the tag libraries which defined in the file (TLD, facelet tag lib,
composite component, etc.)
+ * Returns all the tag libraries which defined in the resource (TLD, facelet tag lib,
etc.)
* @param file
* @return
*/
- public static ITagLibrary[] getLibraries(IFile file) {
- IKbProject kbProject = KbProjectFactory.getKbProject(file.getProject(), true);
+ public static ITagLibrary[] getLibraries(IResource resource) {
+ IKbProject kbProject = KbProjectFactory.getKbProject(resource.getProject(), true);
if(kbProject == null) {
return new ITagLibrary[0];
}
- return kbProject.getTagLibraries(file.getFullPath());
+ return kbProject.getTagLibraries(resource.getFullPath());
}
/**