Author: yzhishko
Date: 2010-05-05 12:53:31 -0400 (Wed, 05 May 2010)
New Revision: 21916
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2AbstractProposal.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeAttrsProposal.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeComponentProposal.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ResourcesFolderProposal.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AbstractValidationComponent.java
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/
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/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/.jsdtscope
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/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.container
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.name
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/demo/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/demo/Person.java
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/resources.properties
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/META-INF/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/META-INF/MANIFEST.MF
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/demo/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/demo/Person.class
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/resources.properties
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/faces-config.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/lib/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/lib/jbide2550.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/web.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/index.jsp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/greeting.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/inputname.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/templates/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/templates/common.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.properties
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/JSF2ComponentsValidatorTest.java
Removed:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeAttrs.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeComponent.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2ResourcesFolder.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/JSF2SourceValidator.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ComponentResolutionGenerator.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2QuickFixProcessor.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AttrTempComponent.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2CompositeTempComponent.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2URITempComponent.java
trunk/jsf/tests/org.jboss.tools.jsf.test/META-INF/MANIFEST.MF
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5930 fixed
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/JSF2SourceValidator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/JSF2SourceValidator.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/JSF2SourceValidator.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -26,16 +26,12 @@
import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
import org.eclipse.wst.validation.internal.provisional.core.IValidator;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
import org.jboss.tools.jsf.web.validation.jsf2.components.JSF2AttrTempComponent;
import org.jboss.tools.jsf.web.validation.jsf2.components.JSF2CompositeTempComponent;
import org.jboss.tools.jsf.web.validation.jsf2.components.JSF2URITempComponent;
import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ComponentModelManager;
import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
/**
*
@@ -94,34 +90,6 @@
public void validate(IRegion dirtyRegion, IValidationContext helper,
IReporter reporter) {
- if (document != null) {
- Element element = findNodeFromRegion(dirtyRegion);
- if (element == null) {
- return;
- }
- if (helper instanceof IncrementalHelper) {
- IncrementalHelper incrementalHelper = (IncrementalHelper) helper;
- IProject project = incrementalHelper.getProject();
- if (project == null) {
- return;
- }
- String[] uris = helper.getURIs();
- if (uris == null || uris.length < 1) {
- return;
- }
- String filePath = uris[0];
- if (filePath == null) {
- return;
- }
- filePath = filePath.substring(filePath.indexOf('/') + 1);
- IResource resource = project.findMember(filePath
- .substring(filePath.indexOf('/') + 1));
- if (resource instanceof IFile) {
- reportProblems(reporter, JSF2XMLValidator
- .getValidationComponents(element, (IFile) resource));
- }
- }
- }
}
private void reportProblems(IReporter reporter,
@@ -207,31 +175,4 @@
}
- private Element findNodeFromRegion(IRegion region) {
- int offset = region.getOffset();
- Element[] elements = new Element[1];
- findElementAttOffSet(offset, document.getDocumentElement(), elements);
- return elements[0];
- }
-
- private void findElementAttOffSet(int offSet, Node scanEl,
- Element[] returnEl) {
- if (scanEl instanceof IDOMElement) {
- if (isElementAttOffset(offSet, (IDOMElement) scanEl)) {
- returnEl[0] = (IDOMElement) scanEl;
- return;
- }
- NodeList childNodes = scanEl.getChildNodes();
- if (childNodes != null) {
- for (int i = 0; i < childNodes.getLength(); i++) {
- findElementAttOffSet(offSet, childNodes.item(i), returnEl);
- }
- }
- }
- }
-
- private boolean isElementAttOffset(int offSet, IDOMElement element) {
- return element.getStartOffset() == offSet;
- }
-
}
\ No newline at end of file
Deleted:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeAttrs.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeAttrs.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeAttrs.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2010 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.jsf2.action;
-
-import java.util.Map;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-import org.jboss.tools.jsf.JSFModelPlugin;
-import org.jboss.tools.jsf.messages.JSFUIMessages;
-import org.jboss.tools.jsf.web.validation.jsf2.JSF2XMLValidator;
-import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
-import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
-
-/**
- *
- * @author yzhishko
- *
- */
-
-@SuppressWarnings("restriction")
-public class CreateJSF2CompositeAttrs implements IMarkerResolution,
- ICompletionProposal {
-
- private String componentPath = null;
- private IResource validateResource = null;
- private String[] attrs = null;
-
- public CreateJSF2CompositeAttrs() {
- }
-
- public CreateJSF2CompositeAttrs(IResource validateResource,
- String compPath, String[] attrs) {
- this.validateResource = validateResource;
- this.componentPath = compPath;
- this.attrs = attrs;
- }
-
- public String getLabel() {
- return JSFUIMessages.Create_JSF_2_Interface_Attr;
- }
-
- @SuppressWarnings("unchecked")
- public void run(final IMarker marker) {
- try {
- if (marker != null) {
- validateResource = marker.getResource();
- Map attrsMap = marker.getAttributes();
- Object object = attrsMap
- .get(JSF2ResourceUtil.COMPONENT_RESOURCE_PATH_KEY);
- componentPath = (String) object;
- attrs = new String[] { (String) marker
- .getAttribute(IJSF2ValidationComponent.JSF2_ATTR_NAME_KEY) };
- }
- final IFile createdFile = JSF2ResourceUtil
- .createCompositeComponentFile(
- validateResource.getProject(), new Path(
- componentPath), attrs);
- validateResource.getProject().deleteMarkers(
- JSF2XMLValidator.JSF2_PROBLEM_ID, false, 1);
- if (createdFile != null) {
- IDE.openEditor(PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage(),
- createdFile);
- }
- Job validateJob = new Job("JSF 2 Components Validator") { //$NON-NLS-1$
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- ValidationFramework.getDefault()
- .validate(
- new IProject[] { validateResource
- .getProject() }, false, false,
- new NullProgressMonitor());
- } catch (CoreException e) {
- return new Status(IStatus.CANCEL,
- JSFModelPlugin.PLUGIN_ID, "Cancel"); //$NON-NLS-1$
- }
- return IValidatorJob.OK_STATUS;
- }
- };
- validateJob.schedule(500);
- } catch (CoreException e) {
- JSFModelPlugin.getPluginLog().logError(e);
- }
- }
-
- public void apply(IDocument document) {
- run(null);
- }
-
- public String getAdditionalProposalInfo() {
- return null;
- }
-
- public IContextInformation getContextInformation() {
- return null;
- }
-
- public String getDisplayString() {
- return JSFUIMessages.Create_JSF_2_Interface_Attr;
- }
-
- public Image getImage() {
- return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_ADD);
- }
-
- public Point getSelection(IDocument document) {
- return null;
- }
-
-}
Deleted:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeComponent.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeComponent.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeComponent.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2010 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.jsf2.action;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-import org.jboss.tools.jsf.JSFModelPlugin;
-import org.jboss.tools.jsf.messages.JSFUIMessages;
-import org.jboss.tools.jsf.web.validation.jsf2.JSF2XMLValidator;
-import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
-import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
-
-/**
- *
- * @author yzhishko
- *
- */
-
-@SuppressWarnings("restriction")
-public class CreateJSF2CompositeComponent implements IMarkerResolution,
- ICompletionProposal {
-
- private String componentPath = null;
- private IResource validateResource = null;
- private String[] attrs = null;
-
- public CreateJSF2CompositeComponent() {
- }
-
- public CreateJSF2CompositeComponent(IResource validateResource,
- String compPath, String[] attrs) {
- this.validateResource = validateResource;
- this.componentPath = compPath;
- this.attrs = attrs;
- }
-
- public String getLabel() {
- return JSFUIMessages.Create_JSF_2_Composite_Component;
- }
-
- @SuppressWarnings("unchecked")
- public void run(final IMarker marker) {
- try {
- if (marker != null) {
- validateResource = marker.getResource();
- Map attrsMap = marker.getAttributes();
- Object object = attrsMap
- .get(JSF2ResourceUtil.COMPONENT_RESOURCE_PATH_KEY);
- componentPath = (String) object;
- attrs = getAttributes(marker);
- }
- final IFile createdFile = JSF2ResourceUtil
- .createCompositeComponentFile(
- validateResource.getProject(), new Path(
- componentPath), attrs);
- validateResource.getProject().deleteMarkers(JSF2XMLValidator.JSF2_PROBLEM_ID,
- false, 1);
- if (createdFile != null) {
- IDE.openEditor(PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage(),
- createdFile);
- }
- Job validateJob = new Job("JSF 2 Components Validator") { //$NON-NLS-1$
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- ValidationFramework.getDefault()
- .validate(
- new IProject[] { validateResource
- .getProject() }, false, false,
- new NullProgressMonitor());
- } catch (CoreException e) {
- return new Status(IStatus.CANCEL,
- JSFModelPlugin.PLUGIN_ID, "Cancel"); //$NON-NLS-1$
- }
- return IValidatorJob.OK_STATUS;
- }
- };
- validateJob.schedule(500);
- } catch (CoreException e) {
- JSFModelPlugin.getPluginLog().logError(e);
- }
- }
-
- @SuppressWarnings("unchecked")
- private String[] getAttributes(IMarker marker) throws CoreException {
- Map attrsMap = marker.getAttributes();
- if (attrsMap != null) {
- Set<String> set = new HashSet<String>(0);
- Set<Entry> entries = attrsMap.entrySet();
- for (Entry entry : entries) {
- String key = (String) entry.getKey();
- if (key.startsWith(IJSF2ValidationComponent.JSF2_ATTR_NAME_KEY)) {
- set.add((String) entry.getValue());
- }
- }
- return set.toArray(new String[0]);
- }
- return null;
- }
-
- public void apply(IDocument document) {
- run(null);
- }
-
- public String getAdditionalProposalInfo() {
- return null;
- }
-
- public IContextInformation getContextInformation() {
- return null;
- }
-
- public String getDisplayString() {
- return JSFUIMessages.Create_JSF_2_Composite_Component;
- }
-
- public Image getImage() {
- return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_ADD);
- }
-
- public Point getSelection(IDocument document) {
- return null;
- }
-
-}
Deleted:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2ResourcesFolder.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2ResourcesFolder.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2ResourcesFolder.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2010 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.jsf2.action;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.wst.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
-import org.jboss.tools.jsf.JSFModelPlugin;
-import org.jboss.tools.jsf.messages.JSFUIMessages;
-import org.jboss.tools.jsf.web.validation.jsf2.JSF2XMLValidator;
-import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
-import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
-
-/**
- *
- * @author yzhishko
- *
- */
-
-@SuppressWarnings("restriction")
-public class CreateJSF2ResourcesFolder implements IMarkerResolution,
- ICompletionProposal {
-
- private String componentPath = null;
- private IResource validateResource = null;
-
- public String getLabel() {
- return JSFUIMessages.Create_JSF_2_Resources_Folder;
- }
-
- public CreateJSF2ResourcesFolder() {
- }
-
- public CreateJSF2ResourcesFolder(IResource validateResource, String compPath) {
- this.componentPath = compPath;
- this.validateResource = validateResource;
- }
-
- public void run(final IMarker marker) {
- try {
- if (marker != null) {
- componentPath = (String) marker
- .getAttribute(IJSF2ValidationComponent.JSF2_URI_NAME_KEY);
- validateResource = marker.getResource();
- }
- JSF2ResourceUtil.createResourcesFolderByNameSpace(validateResource
- .getProject(), componentPath);
- validateResource.getProject().deleteMarkers(
- JSF2XMLValidator.JSF2_PROBLEM_ID, false, 1);
- Job validateJob = new Job("JSF 2 Components Validator") { //$NON-NLS-1$
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- ValidationFramework.getDefault()
- .validate(
- new IProject[] { validateResource
- .getProject() }, false, false,
- new NullProgressMonitor());
- } catch (CoreException e) {
- return new Status(IStatus.CANCEL,
- JSFModelPlugin.PLUGIN_ID, "Cancel"); //$NON-NLS-1$
- }
- return IValidatorJob.OK_STATUS;
- }
- };
- validateJob.schedule(500);
- } catch (CoreException e) {
- JSFModelPlugin.getPluginLog().logError(e);
- }
- }
-
- public void apply(IDocument document) {
- run(null);
- }
-
- public String getAdditionalProposalInfo() {
- return null;
- }
-
- public IContextInformation getContextInformation() {
- return null;
- }
-
- public String getDisplayString() {
- return JSFUIMessages.Create_JSF_2_Resources_Folder;
- }
-
- public Image getImage() {
- return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_ADD);
- }
-
- public Point getSelection(IDocument document) {
- return null;
- }
-
-}
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2AbstractProposal.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2AbstractProposal.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2AbstractProposal.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,88 @@
+package org.jboss.tools.jsf.web.validation.jsf2.action;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jdt.internal.ui.JavaPluginImages;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.wst.validation.ValidationFramework;
+import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob;
+import org.jboss.tools.jsf.JSFModelPlugin;
+
+@SuppressWarnings("restriction")
+public abstract class JSF2AbstractProposal implements IMarkerResolution,
+ ICompletionProposal {
+
+ protected JSF2AbstractProposal() {
+
+ }
+
+ protected JSF2AbstractProposal(IResource resource) {
+ validateResource = resource;
+ }
+
+ protected IResource validateResource = null;
+
+ public String getLabel() {
+ return getDisplayString();
+ }
+
+ public final void run(IMarker marker) {
+ try {
+ runWithMarker(marker);
+ Job validateJob = new Job("JSF 2 Components Validator") { //$NON-NLS-1$
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ if (validateResource != null) {
+ ValidationFramework.getDefault().validate(
+ new IProject[] { validateResource
+ .getProject() }, false, false,
+ new NullProgressMonitor());
+ }
+ } catch (CoreException e) {
+ return new Status(IStatus.CANCEL,
+ JSFModelPlugin.PLUGIN_ID, "Cancel"); //$NON-NLS-1$
+ }
+ return IValidatorJob.OK_STATUS;
+ }
+ };
+ validateJob.schedule(500);
+ } catch (CoreException e) {
+ JSFModelPlugin.getPluginLog().logError(e);
+ }
+ }
+
+ public void apply(IDocument document) {
+ run(null);
+ }
+
+ public String getAdditionalProposalInfo() {
+ return null;
+ }
+
+ public IContextInformation getContextInformation() {
+ return null;
+ }
+
+ public Image getImage() {
+ return JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_ADD);
+ }
+
+ public Point getSelection(IDocument document) {
+ return null;
+ }
+
+ protected abstract void runWithMarker(IMarker marker) throws CoreException;
+}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ComponentResolutionGenerator.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ComponentResolutionGenerator.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ComponentResolutionGenerator.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -40,14 +40,14 @@
if (fixType != null) {
if (fixType
.equals(IJSF2ValidationComponent.JSF2_COMPOSITE_COMPONENT_TYPE)) {
- return new IMarkerResolution[] { new CreateJSF2CompositeComponent() };
+ return new IMarkerResolution[] { new JSF2CompositeComponentProposal() };
}
if (fixType
.equals(IJSF2ValidationComponent.JSF2_FIXABLE_ATTR_TYPE)) {
- return new IMarkerResolution[] { new CreateJSF2CompositeAttrs() };
+ return new IMarkerResolution[] { new JSF2CompositeAttrsProposal() };
}
if (fixType.equals(IJSF2ValidationComponent.JSF2_URI_TYPE)) {
- return new IMarkerResolution[] { new CreateJSF2ResourcesFolder() };
+ return new IMarkerResolution[] { new JSF2ResourcesFolderProposal() };
}
}
} catch (CoreException e) {
Copied:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeAttrsProposal.java
(from rev 21901,
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeAttrs.java)
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeAttrsProposal.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeAttrsProposal.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 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.jsf2.action;
+
+import java.util.Map;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.jboss.tools.jsf.messages.JSFUIMessages;
+import org.jboss.tools.jsf.web.validation.jsf2.JSF2XMLValidator;
+import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
+import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
+
+/**
+ *
+ * @author yzhishko
+ *
+ */
+
+public class JSF2CompositeAttrsProposal extends JSF2AbstractProposal {
+
+ private String componentPath = null;
+ private String[] attrs = null;
+
+ public JSF2CompositeAttrsProposal() {
+ super();
+ }
+
+ public JSF2CompositeAttrsProposal(IResource validateResource,
+ String compPath, String[] attrs) {
+ super(validateResource);
+ this.componentPath = compPath;
+ this.attrs = attrs;
+ }
+
+ public String getDisplayString() {
+ return JSFUIMessages.Create_JSF_2_Interface_Attr;
+ }
+
+ @Override
+ protected void runWithMarker(IMarker marker) throws CoreException {
+ if (marker != null) {
+ validateResource = marker.getResource();
+ Map<?, ?> attrsMap = marker.getAttributes();
+ Object object = attrsMap
+ .get(JSF2ResourceUtil.COMPONENT_RESOURCE_PATH_KEY);
+ componentPath = (String) object;
+ attrs = new String[] { (String) marker
+ .getAttribute(IJSF2ValidationComponent.JSF2_ATTR_NAME_KEY) };
+ }
+ final IFile createdFile = JSF2ResourceUtil
+ .createCompositeComponentFile(validateResource.getProject(),
+ new Path(componentPath), attrs);
+ validateResource.getProject().deleteMarkers(
+ JSF2XMLValidator.JSF2_PROBLEM_ID, false, 1);
+ if (createdFile != null) {
+ IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
+ .getActivePage(), createdFile);
+ }
+ }
+
+}
Copied:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeComponentProposal.java
(from rev 21901,
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2CompositeComponent.java)
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeComponentProposal.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2CompositeComponentProposal.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 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.jsf2.action;
+
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.jboss.tools.jsf.messages.JSFUIMessages;
+import org.jboss.tools.jsf.web.validation.jsf2.JSF2XMLValidator;
+import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
+import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
+
+/**
+ *
+ * @author yzhishko
+ *
+ */
+
+public class JSF2CompositeComponentProposal extends JSF2AbstractProposal {
+
+ private String componentPath = null;
+ private String[] attrs = null;
+
+ public JSF2CompositeComponentProposal() {
+ super();
+ }
+
+ public JSF2CompositeComponentProposal(IResource validateResource,
+ String compPath, String[] attrs) {
+ super(validateResource);
+ this.componentPath = compPath;
+ this.attrs = attrs;
+ }
+
+ @SuppressWarnings("unchecked")
+ private String[] getAttributes(IMarker marker) throws CoreException {
+ Map attrsMap = marker.getAttributes();
+ if (attrsMap != null) {
+ Set<String> set = new HashSet<String>(0);
+ Set<Entry> entries = attrsMap.entrySet();
+ for (Entry entry : entries) {
+ String key = (String) entry.getKey();
+ if (key.startsWith(IJSF2ValidationComponent.JSF2_ATTR_NAME_KEY)) {
+ set.add((String) entry.getValue());
+ }
+ }
+ return set.toArray(new String[0]);
+ }
+ return null;
+ }
+
+ public String getDisplayString() {
+ return JSFUIMessages.Create_JSF_2_Composite_Component;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void runWithMarker(IMarker marker) throws CoreException {
+ if (marker != null) {
+ validateResource = marker.getResource();
+ Map attrsMap = marker.getAttributes();
+ Object object = attrsMap
+ .get(JSF2ResourceUtil.COMPONENT_RESOURCE_PATH_KEY);
+ componentPath = (String) object;
+ attrs = getAttributes(marker);
+ }
+ final IFile createdFile = JSF2ResourceUtil
+ .createCompositeComponentFile(validateResource.getProject(),
+ new Path(componentPath), attrs);
+ validateResource.getProject().deleteMarkers(
+ JSF2XMLValidator.JSF2_PROBLEM_ID, false, 1);
+ if (createdFile != null) {
+ IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
+ .getActivePage(), createdFile);
+ }
+
+ }
+
+}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2QuickFixProcessor.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2QuickFixProcessor.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2QuickFixProcessor.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -56,18 +56,18 @@
if (type.equals(IJSF2ValidationComponent.JSF2_FIXABLE_ATTR_TYPE)) {
String[] attrs = new String[] { (String) context
.getAttribute(IJSF2ValidationComponent.JSF2_ATTR_NAME_KEY) };
- ICompletionProposal proposal = new CreateJSF2CompositeAttrs(
+ ICompletionProposal proposal = new JSF2CompositeAttrsProposal(
resource, compPath, attrs);
return new ICompletionProposal[] { proposal };
} else if (type
.equals(IJSF2ValidationComponent.JSF2_COMPOSITE_COMPONENT_TYPE)) {
- ICompletionProposal proposal = new CreateJSF2CompositeAttrs(
+ ICompletionProposal proposal = new JSF2CompositeAttrsProposal(
resource, compPath, retriveAttrsFromContext(context));
return new ICompletionProposal[] { proposal };
} else if (type.equals(IJSF2ValidationComponent.JSF2_URI_TYPE)) {
String uriPath = (String) context
.getAttribute(IJSF2ValidationComponent.JSF2_URI_NAME_KEY);
- ICompletionProposal proposal = new CreateJSF2ResourcesFolder(
+ ICompletionProposal proposal = new JSF2ResourcesFolderProposal(
resource, uriPath);
return new ICompletionProposal[] { proposal };
}
Copied:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ResourcesFolderProposal.java
(from rev 21901,
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/CreateJSF2ResourcesFolder.java)
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ResourcesFolderProposal.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/action/JSF2ResourcesFolderProposal.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 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.jsf2.action;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.jboss.tools.jsf.messages.JSFUIMessages;
+import org.jboss.tools.jsf.web.validation.jsf2.JSF2XMLValidator;
+import org.jboss.tools.jsf.web.validation.jsf2.components.IJSF2ValidationComponent;
+import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
+
+/**
+ *
+ * @author yzhishko
+ *
+ */
+
+public class JSF2ResourcesFolderProposal extends JSF2AbstractProposal {
+
+ private String componentPath = null;
+
+ public JSF2ResourcesFolderProposal() {
+ super();
+ }
+
+ public JSF2ResourcesFolderProposal(IResource validateResource, String compPath) {
+ super(validateResource);
+ this.componentPath = compPath;
+ }
+
+ public String getDisplayString() {
+ return JSFUIMessages.Create_JSF_2_Resources_Folder;
+ }
+
+ @Override
+ protected void runWithMarker(IMarker marker) throws CoreException {
+ if (marker != null) {
+ componentPath = (String) marker
+ .getAttribute(IJSF2ValidationComponent.JSF2_URI_NAME_KEY);
+ validateResource = marker.getResource();
+ }
+ JSF2ResourceUtil.createResourcesFolderByNameSpace(validateResource
+ .getProject(), componentPath);
+ validateResource.getProject().deleteMarkers(
+ JSF2XMLValidator.JSF2_PROBLEM_ID, false, 1);
+ }
+
+}
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AbstractValidationComponent.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AbstractValidationComponent.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AbstractValidationComponent.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,51 @@
+package org.jboss.tools.jsf.web.validation.jsf2.components;
+
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+
+public abstract class JSF2AbstractValidationComponent implements
+ IJSF2ValidationComponent {
+
+ private int length;
+ private int startOffSet;
+ private int line;
+ private Object[] messageParams;
+
+ public int getLength() {
+ return length;
+ }
+
+ public void setLength(int length) {
+ this.length = length;
+ }
+
+ public int getLine() {
+ return line;
+ }
+
+ public void setLine(int lineNumber) {
+ this.line = lineNumber;
+ }
+
+ public int getStartOffSet() {
+ return startOffSet;
+ }
+
+ public void setStartOffSet(int startOffSet) {
+ this.startOffSet = startOffSet;
+ }
+
+ public Object[] getMessageParams() {
+ return messageParams;
+ }
+
+ public int getSeverity() {
+ return IMessage.NORMAL_SEVERITY;
+ }
+
+ public abstract void createValidationMessage();
+
+ public void createMessageParams() {
+ this.messageParams = new Object[] { this };
+ }
+
+}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AttrTempComponent.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AttrTempComponent.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2AttrTempComponent.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -12,8 +12,6 @@
package org.jboss.tools.jsf.web.validation.jsf2.components;
import java.text.MessageFormat;
-
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.xml.core.internal.document.ElementImpl;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
import org.jboss.tools.jsf.messages.JSFUIMessages;
@@ -26,13 +24,9 @@
*/
@SuppressWarnings("restriction")
-public class JSF2AttrTempComponent implements IJSF2ValidationComponent {
+public class JSF2AttrTempComponent extends JSF2AbstractValidationComponent {
- private int length;
- private int startOffSet;
- private int line;
private String validationMessage = ""; //$NON-NLS-1$
- private Object[] messageParams;
private String type = JSF2_UNFIXABLE_ATTR_TYPE;
private ElementImpl parentEl;
private IDOMAttr attr;
@@ -43,31 +37,7 @@
this.parentEl = parentEl;
}
- public int getLength() {
- return length;
- }
-
- void setLength(int length) {
- this.length = length;
- }
-
- public int getLine() {
- return line;
- }
-
- void setLine(int lineNumber) {
- this.line = lineNumber;
- }
-
- public int getStartOffSet() {
- return startOffSet;
- }
-
- void setStartOffSet(int startOffSet) {
- this.startOffSet = startOffSet;
- }
-
- void createValidationMessage() {
+ public void createValidationMessage() {
String nodeName = parentEl.getLocalName();
this.validationMessage = MessageFormat.format(
JSFUIMessages.Missing_JSF_2_Component_Attr, attr.getName(),
@@ -78,15 +48,7 @@
return validationMessage;
}
- void createMessageParams() {
- this.messageParams = new Object[] { this };
- }
-
- public Object[] getMessageParams() {
- return messageParams;
- }
-
- void setType(String type) {
+ public void setType(String type) {
this.type = type;
}
@@ -109,8 +71,4 @@
return componentResLocation;
}
- public int getSeverity() {
- return IMessage.NORMAL_SEVERITY;
- }
-
}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2CompositeTempComponent.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2CompositeTempComponent.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2CompositeTempComponent.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -14,7 +14,6 @@
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.xml.core.internal.document.ElementImpl;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
import org.jboss.tools.jsf.messages.JSFUIMessages;
@@ -24,16 +23,13 @@
/**
*
* @author yzhishko
- *
+ *
*/
@SuppressWarnings("restriction")
-public class JSF2CompositeTempComponent implements IJSF2ValidationComponent {
- private int length;
- private int startOffSet;
- private int line;
+public class JSF2CompositeTempComponent extends JSF2AbstractValidationComponent {
+
private String validationMessage = ""; //$NON-NLS-1$
- private Object[] messageParams;
private List<String> attrNames = new ArrayList<String>(0);
private ElementImpl element;
private String componentResLoc;
@@ -42,31 +38,7 @@
this.element = element;
}
- public int getLength() {
- return length;
- }
-
- void setLength(int length) {
- this.length = length;
- }
-
- public int getLine() {
- return line;
- }
-
- void setLine(int lineNumber) {
- this.line = lineNumber;
- }
-
- public int getStartOffSet() {
- return startOffSet;
- }
-
- void setStartOffSet(int startOffSet) {
- this.startOffSet = startOffSet;
- }
-
- void createValidationMessage() {
+ public void createValidationMessage() {
String nodeName = element.getLocalName();
this.validationMessage = MessageFormat.format(
JSFUIMessages.Missing_JSF_2_Composite_Component, nodeName);
@@ -76,7 +48,8 @@
return validationMessage;
}
- void createMessageParams() {
+ @Override
+ public void createMessageParams() {
NamedNodeMap attrsMap = element.getAttributes();
if (attrsMap != null && attrsMap.getLength() != 0) {
for (int i = 0; i < attrsMap.getLength(); i++) {
@@ -84,13 +57,9 @@
attrNames.add(attr.getName());
}
}
- this.messageParams = new Object[] { this };
+ super.createMessageParams();
}
- public Object[] getMessageParams() {
- return messageParams;
- }
-
public String[] getAttrNames() {
return attrNames.toArray(new String[0]);
}
@@ -110,8 +79,4 @@
return componentResLoc;
}
- public int getSeverity() {
- return IMessage.NORMAL_SEVERITY;
- }
-
}
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2URITempComponent.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2URITempComponent.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/web/validation/jsf2/components/JSF2URITempComponent.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -12,7 +12,6 @@
package org.jboss.tools.jsf.web.validation.jsf2.components;
import java.text.MessageFormat;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.jboss.tools.jsf.messages.JSFUIMessages;
import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ResourceUtil;
@@ -22,44 +21,16 @@
*
*/
-public class JSF2URITempComponent implements IJSF2ValidationComponent {
+public class JSF2URITempComponent extends JSF2AbstractValidationComponent {
- private int length;
- private int startOffSet;
- private int line;
private String validationMessage = ""; //$NON-NLS-1$
- private Object[] messageParams;
private String URI;
public JSF2URITempComponent(String URI) {
this.URI = URI;
}
- public int getLength() {
- return length;
- }
-
- void setLength(int length) {
- this.length = length;
- }
-
- public int getLine() {
- return line;
- }
-
- void setLine(int lineNumber) {
- this.line = lineNumber;
- }
-
- public int getStartOffSet() {
- return startOffSet;
- }
-
- void setStartOffSet(int startOffSet) {
- this.startOffSet = startOffSet;
- }
-
- void createValidationMessage() {
+ public void createValidationMessage() {
String mesParam = "/resources" +
URI.replaceAll(JSF2ResourceUtil.JSF2_URI_PREFIX, ""); //$NON-NLS-1$
//$NON-NLS-2$
this.validationMessage = MessageFormat.format(
JSFUIMessages.Missing_JSF_2_Resources_Folder, mesParam);
@@ -69,14 +40,6 @@
return validationMessage;
}
- public Object[] getMessageParams() {
- return messageParams;
- }
-
- void createMessageParams() {
- messageParams = new Object[] { this };
- }
-
public String getType() {
return JSF2_URI_TYPE;
}
@@ -85,10 +48,6 @@
return ""; //$NON-NLS-1$
}
- public int getSeverity() {
- return IMessage.NORMAL_SEVERITY;
- }
-
public String getURI() {
return URI;
}
Modified: trunk/jsf/tests/org.jboss.tools.jsf.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/META-INF/MANIFEST.MF 2010-05-05 16:29:29 UTC
(rev 21915)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/META-INF/MANIFEST.MF 2010-05-05 16:53:31 UTC
(rev 21916)
@@ -21,7 +21,8 @@
org.jboss.tools.jst.web.ui,
org.jboss.tools.common.model.ui,
org.eclipse.ui.ide,
- org.eclipse.ltk.core.refactoring;bundle-version="3.5.0"
+ org.eclipse.ltk.core.refactoring;bundle-version="3.5.0",
+ org.eclipse.wst.validation;bundle-version="1.2.104"
Bundle-Activator: org.jboss.tools.jsf.plugin.JsfTestPlugin
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.classpath 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <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">
+ <attributes>
+ <attribute name="owner.project.facets" value="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">
+ <attributes>
+ <attribute name="owner.project.facets" value="jst.java"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output"
path="WebContent/WEB-INF/classes"/>
+</classpath>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.project 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +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.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</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>
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/.jsdtscope
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/.jsdtscope
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/.jsdtscope 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con"
path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con"
path="org.eclipse.wst.jsdt.launching.WebProject">
+ <attributes>
+ <attribute name="hide" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
Added:
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
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.jdt.core.prefs 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,7 @@
+#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.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added:
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
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.component 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +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>
Added:
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
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.common.project.facet.core.xml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="Apache Tomcat v6.0"/>
+ <fixed facet="jst.java"/>
+ <fixed facet="jst.web"/>
+ <installed facet="jst.java" version="5.0"/>
+ <installed facet="jst.web" version="2.5"/>
+</faceted-project>
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.container
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.container
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.container 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.name
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.name
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/.settings/org.eclipse.wst.jsdt.ui.superType.name 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1 @@
+Window
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/demo/Person.java
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/demo/Person.java
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/demo/Person.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package demo;
+
+/**
+ * Created by JBoss Tools
+ */
+public class Person {
+ private String name;
+
+ public Person() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/resources.properties
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/resources.properties
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/JavaSource/resources.properties 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,2 @@
+prompt=Your Name\:
+greeting=Hello
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/META-INF/MANIFEST.MF
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/META-INF/MANIFEST.MF
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/META-INF/MANIFEST.MF 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/demo/Person.class
===================================================================
(Binary files differ)
Property changes on:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/demo/Person.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/resources.properties
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/resources.properties
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/classes/resources.properties 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,2 @@
+prompt=Your Name\:
+greeting=Hello
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/faces-config.xml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/faces-config.xml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/faces-config.xml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="1.2"
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xi="http://www.w3.org/2001/XInclude"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
+ <managed-bean>
+ <managed-bean-name>person</managed-bean-name>
+ <managed-bean-class>demo.Person</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ <managed-property>
+ <property-name>name</property-name>
+ <value/>
+ </managed-property>
+ </managed-bean>
+ <navigation-rule>
+ <from-view-id>/pages/inputname.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>greeting</from-outcome>
+ <to-view-id>/pages/greeting.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <application>
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ <locale-config/>
+ </application>
+ <factory/>
+ <lifecycle/>
+</faces-config>
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/lib/jbide2550.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/lib/jbide2550.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/web.xml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/web.xml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/WEB-INF/web.xml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
+ <description>Facelets StarterKit</description>
+ <display-name>JSF2ComponentsValidator</display-name>
+ <context-param>
+ <param-name>com.sun.faces.validateXml</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>com.sun.faces.verifyObjects</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.DEVELOPMENT</param-name>
+ <param-value>true</param-value>
+ </context-param>
+ <context-param>
+ <param-name>facelets.REFRESH_PERIOD</param-name>
+ <param-value>2</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>client</param-value>
+ </context-param>
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+</web-app>
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/index.jsp
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/index.jsp
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/index.jsp 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,7 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head></head>
+ <body>
+ <jsp:forward page="pages/inputname.jsf" />
+ </body>
+</html>
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/greeting.xhtml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/greeting.xhtml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/greeting.xhtml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core">
+
+ <f:loadBundle basename="resources" var="msg" />
+ <ui:composition template="/templates/common.xhtml">
+ <ui:define name="pageTitle">Greeting to User</ui:define>
+ <ui:define name="pageHeader">Greeting Page</ui:define>
+ <ui:define name="body">
+ #{msg.greeting} #{person.name}!
+ </ui:define>
+ </ui:composition>
+</html>
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/inputname.xhtml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/inputname.xhtml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/pages/inputname.xhtml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:c="http://java.sun.com/jstl/core">
+
+<f:loadBundle basename="resources" var="msg" />
+
+<ui:composition template="/templates/common.xhtml"
+
xmlns:jar="http://java.sun.com/jsf/composite/jarPage"
+
xmlns:jar1="http://java.sun.com/jsf/composite/jarPage1">
+
+ <ui:define name="pageTitle">Input User Name</ui:define>
+
+ <ui:define name="pageHeader">Facelets Hello
Application</ui:define>
+
+ <ui:define name="body">
+
+ <form>
+ <jar:echo1 echo="Hello" />
+ <jar:echo echo="Hello" />
+ <jar:echo anknownAttr="1" echo="Hello" />
+ <jar1:echo echo="Hello" />
+ </form>
+
+ </ui:define>
+</ui:composition>
+</html>
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/templates/common.xhtml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/templates/common.xhtml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/WebContent/templates/common.xhtml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core">
+
+ <f:loadBundle basename="resources" var="msg" />
+ <head>
+ <title><ui:insert name="pageTitle">Page
Title</ui:insert></title>
+ <style type="text/css">
+ body {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 14px;
+ }
+ .header {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 18px;
+ }
+ .bottom {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 9px;
+ text-align: center;
+ vertical-align: middle;
+ color: #8E969D;
+ }
+ </style>
+ </head>
+
+<body bgcolor="#ffffff">
+<table style="border:1px solid #CAD6E0" align="center"
cellpadding="0" cellspacing="0" border="0"
width="400">
+<tbody>
+
+ <tr>
+ <td class="header" height="42" align="center"
valign="middle" width="100%" bgcolor="#E4EBEB">
+ <ui:insert name="pageHeader">Page Header</ui:insert>
+ </td>
+ </tr>
+ <tr>
+ <td height="1" width="100%"
bgcolor="#CAD6E0"></td>
+ </tr>
+
+ <tr>
+ <td width="100%" colspan="2">
+ <table width="100%" style="height:150px" align="left"
cellpadding="0" cellspacing="0" border="0">
+ <tbody>
+ <tr>
+ <td align="center" width="100%"
valign="middle">
+
+ <ui:insert name="body">Page Body</ui:insert>
+
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2" valign="bottom" height="1"
width="100%" bgcolor="#CAD6E0"></td>
+ </tr>
+</tbody>
+</table>
+</body>
+
+</html>
\ No newline at end of file
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.properties
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.properties
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.properties 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,3 @@
+#
+#Wed May 05 14:06:46 EEST 2010
+classpath.external=
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.xml
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.xml
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSF2ComponentsValidator/ant/build.xml 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,87 @@
+<project name="JSF2TestProject" basedir="../"
default="deploy">
+
+ <!-- Project settings -->
+ <property name="project.distname"
value="JSF2TestProject"/>
+
+ <!-- Local system paths -->
+ <property file="${basedir}/ant/build.properties"/>
+ <property name="webroot.dir"
value="${basedir}/WebContent"/>
+ <property name="webinf.dir"
value="${webroot.dir}/WEB-INF"/>
+ <property name="build.dir" value="build"/>
+
+
+ <!-- classpath for JSF 1.0 -->
+ <path id="compile.classpath">
+ <pathelement path ="${webinf.dir}/lib/commons-beanutils.jar"/>
+ <pathelement path ="${webinf.dir}/lib/commons-collections.jar"/>
+ <pathelement path ="${webinf.dir}/lib/commons-digester.jar"/>
+ <pathelement path ="${webinf.dir}/lib/commons-logging.jar"/>
+ <pathelement path ="${webinf.dir}/lib/jsf-api.jar"/>
+ <pathelement path ="${webinf.dir}/lib/jsf-impl.jar"/>
+ <pathelement path ="${webinf.dir}/lib/jstl.jar"/>
+ <pathelement path ="${webinf.dir}/lib/standard.jar"/>
+ <pathelement path ="${webinf.dir}/classes"/>
+ <pathelement path ="${classpath.external}"/>
+ <pathelement path ="${classpath}"/>
+ </path>
+
+ <!-- define your folder for deployment -->
+ <property name="deploy.dir" value="deploy"/>
+
+ <!-- Check timestamp on files -->
+ <target name="prepare">
+ <tstamp/>
+ </target>
+
+ <!-- Copy any resource or configuration files -->
+ <target name="resources">
+ <copy todir="${webinf.dir}/classes"
includeEmptyDirs="no">
+ <fileset dir="JavaSource">
+ <patternset>
+ <include name="**/*.conf"/>
+ <include name="**/*.properties"/>
+ <include name="**/*.xml"/>
+ </patternset>
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- Normal build of application -->
+ <target name="compile" depends="prepare,resources">
+ <javac srcdir="JavaSource"
destdir="${webinf.dir}/classes">
+ <classpath refid="compile.classpath"/>
+ </javac>
+ </target>
+
+ <!-- Remove classes directory for clean build -->
+ <target name="clean"
+ description="Prepare for clean build">
+ <delete dir="${webinf.dir}/classes"/>
+ <mkdir dir="${webinf.dir}/classes"/>
+ </target>
+
+ <!-- Build entire project -->
+ <target name="build" depends="prepare,compile"/>
+ <target name="rebuild" depends="clean,prepare,compile"/>
+
+ <!-- Create binary distribution -->
+ <target name="war" depends="build">
+ <mkdir dir="${build.dir}"/>
+ <war
+ basedir="${webroot.dir}"
+ warfile="${build.dir}/${project.distname}.war"
+ webxml="${webinf.dir}/web.xml">
+ <exclude name="WEB-INF/${build.dir}/**"/>
+ <exclude name="WEB-INF/src/**"/>
+ <exclude name="WEB-INF/web.xml"/>
+ </war>
+
+ </target>
+
+ <target name="deploy" depends="war">
+ <delete file="${deploy.dir}/${project.distname}.war"/>
+ <delete dir="${deploy.dir}/${project.distname}"/>
+ <copy file="${build.dir}/${project.distname}.war"
todir="${deploy.dir}"/>
+ </target>
+
+</project>
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java
===================================================================
---
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java 2010-05-05
16:29:29 UTC (rev 21915)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -7,7 +7,7 @@
*
* Contributors:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ ******************************************************************************/
package org.jboss.tools.jsf.test;
import junit.extensions.TestSetup;
@@ -17,33 +17,44 @@
import org.eclipse.jdt.internal.core.JavaModelManager;
import org.jboss.tools.jsf.model.pv.test.JSFPromptingProviderTest;
import org.jboss.tools.jsf.test.refactoring.ELVariableRefactoringTest;
+import org.jboss.tools.jsf.test.validation.JSF2ComponentsValidatorTest;
import org.jboss.tools.test.util.ProjectImportTestSetup;
public class JsfAllTests {
-// public static final String PLUGIN_ID = "org.jboss.tools.jsf";
+ // public static final String PLUGIN_ID = "org.jboss.tools.jsf";
public static Test suite() {
- TestSuite suite = new TestSuite("Test model loading for JSF projects");
- TestSuite old = new TestSuite("Tests are using JSFKickStartOldFormat");
+ TestSuite suite = new TestSuite("Test model loading for JSF projects");
//$NON-NLS-1$
+ TestSuite old = new TestSuite("Tests are using JSFKickStartOldFormat");
//$NON-NLS-1$
old.addTestSuite(JSFModelTest.class);
old.addTestSuite(ModelFormat_2_0_0_Test.class);
old.addTestSuite(JSFBeansTest.class);
- suite.addTest(new
ProjectImportTestSetup(old,"org.jboss.tools.jsf.test","projects/JSFKickStartOldFormat","JSFKickStartOldFormat"));
- suite.addTest(new ProjectImportTestSetup(new
TestSuite(JSFPromptingProviderTest.class),"org.jboss.tools.jsf.test",
JSFPromptingProviderTest.TEST_PROJECT_PATH, JSFPromptingProviderTest.TEST_PROJECT_NAME));
-
- suite.addTest(new ProjectImportTestSetup(new
TestSuite(ELVariableRefactoringTest.class),
- "org.jboss.tools.jsf.test",
- new String[]{"projects/JSFKickStartOldFormat"},
- new String[]{"JSFKickStartOldFormat"}));
+ suite.addTest(new ProjectImportTestSetup(old,
+ "org.jboss.tools.jsf.test", "projects/JSFKickStartOldFormat",
//$NON-NLS-1$ //$NON-NLS-2$
+ "JSFKickStartOldFormat")); //$NON-NLS-1$
+ suite.addTest(new ProjectImportTestSetup(new TestSuite(
+ JSFPromptingProviderTest.class),
+ "org.jboss.tools.jsf.test", //$NON-NLS-1$
+ JSFPromptingProviderTest.TEST_PROJECT_PATH,
+ JSFPromptingProviderTest.TEST_PROJECT_NAME));
+
+ suite.addTest(new ProjectImportTestSetup(new TestSuite(
+ ELVariableRefactoringTest.class), "org.jboss.tools.jsf.test",
//$NON-NLS-1$
+ new String[] { "projects/JSFKickStartOldFormat" }, //$NON-NLS-1$
+ new String[] { "JSFKickStartOldFormat" })); //$NON-NLS-1$
+ suite.addTest(new ProjectImportTestSetup(new TestSuite(
+ JSF2ComponentsValidatorTest.class), "org.jboss.tools.jsf.test",
//$NON-NLS-1$
+ new String[] { "projects/JSF2ComponentsValidator" }, //$NON-NLS-1$
+ new String[] { "JSF2ComponentsValidator" })); //$NON-NLS-1$
return new DisableJavaIndexingSetup(suite);
}
-
+
public static class DisableJavaIndexingSetup extends TestSetup {
public DisableJavaIndexingSetup(Test test) {
super(test);
}
-
+
@Override
protected void setUp() throws Exception {
JavaModelManager.getIndexManager().disable();
Added:
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
(rev 0)
+++
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/validation/JSF2ComponentsValidatorTest.java 2010-05-05
16:53:31 UTC (rev 21916)
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 Exadel, Inc. and 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:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.jsf.test.validation;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.wst.validation.ValidationFramework;
+import org.jboss.tools.test.util.ProjectImportTestSetup;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author yzhishko
+ *
+ */
+
+public class JSF2ComponentsValidatorTest extends TestCase {
+
+ private static String projectName = "JSF2ComponentsValidator"; //$NON-NLS-1$
+ private static IProject project;
+
+ public JSF2ComponentsValidatorTest() {
+ super("JSF 2 Components Validator Test"); //$NON-NLS-1$
+ }
+
+ protected void setUp() throws Exception {
+ project = ProjectImportTestSetup.loadProject(projectName);
+ project.build(IncrementalProjectBuilder.FULL_BUILD,
+ new NullProgressMonitor());
+ }
+
+ public void testJSF2ComponentsValidator() throws Exception {
+ ValidationFramework.getDefault().validate(new IProject[] { project },
+ false, false, new NullProgressMonitor());
+ IResource resource = project
+ .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(markers.length == 4);
+ 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,
+ "Resources folder \"/resources/jarPage1\" is missing in a project root
directory")); //$NON-NLS-1$
+ assertTrue(isMarkerExist(markers,
+ "Composite component \"echo1\" was not found in a project resources
directory")); //$NON-NLS-1$
+ }
+
+ private boolean isMarkerExist(IMarker[] markers, String markerMesssage)
+ throws CoreException {
+ for (int i = 0; i < markers.length; i++) {
+ if (markerMesssage.equals((String) markers[i]
+ .getAttribute("message"))) { //$NON-NLS-1$
+ return true;
+ }
+ }
+ return false;
+ }
+
+}