Author: akazakov
Date: 2010-07-29 14:51:50 -0400 (Thu, 29 Jul 2010)
New Revision: 23813
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam2FacetInstallDelegate.java
Log:
https://jira.jboss.org/browse/JBIDE-6747 Don't add com.sun.facelets.FaceletViewHandler
into faces-config.xml 2.0
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam2FacetInstallDelegate.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam2FacetInstallDelegate.java 2010-07-29
18:49:06 UTC (rev 23812)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam2FacetInstallDelegate.java 2010-07-29
18:51:50 UTC (rev 23813)
@@ -30,7 +30,9 @@
import org.eclipse.jst.jsf.facesconfig.util.FacesConfigArtifactEdit;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
import org.jboss.tools.seam.core.SeamCorePlugin;
+import org.w3c.dom.Element;
// TODO: why not just *one* global filter set to avoid any missing names ? (assert for it
in our unittests!
public class Seam2FacetInstallDelegate extends SeamFacetAbstractInstallDelegate{
@@ -210,17 +212,29 @@
applicationType.getLocaleConfig().add(locale);
}
boolean viewHandlerExists = false;
- for (Iterator iterator = applications.iterator(); iterator.hasNext();) {
- ApplicationType application = (ApplicationType) iterator.next();
- EList viewHandlers = application.getViewHandler();
- for (Iterator iterator2 = viewHandlers.iterator(); iterator2.hasNext();) {
- ViewHandlerType viewHandlerType = (ViewHandlerType)iterator2.next();
- if
("com.sun.facelets.FaceletViewHandler".equals(viewHandlerType.getTextContent().trim()))
{
+ IDOMModel domModel = facesConfigEdit.getIDOMModel();
+ if(domModel!=null) {
+ Element facesConfigElement = domModel.getDocument().getDocumentElement();
+ if(facesConfigElement!=null) {
+ if(facesConfigElement.getAttribute("version").startsWith("1"))
{
+ for (Iterator iterator = applications.iterator(); iterator.hasNext();) {
+ ApplicationType application = (ApplicationType) iterator.next();
+ EList viewHandlers = application.getViewHandler();
+ for (Iterator iterator2 = viewHandlers.iterator(); iterator2.hasNext();) {
+ ViewHandlerType viewHandlerType = (ViewHandlerType)iterator2.next();
+ if
("com.sun.facelets.FaceletViewHandler".equals(viewHandlerType.getTextContent().trim()))
{
+ viewHandlerExists = true;
+ break;
+ }
+ }
+ }
+ } else {
+ // Don't add facelet view handler for JSF 2
viewHandlerExists = true;
- break;
}
}
}
+
if (!viewHandlerExists) {
ViewHandlerType viewHandler = FacesConfigFactory.eINSTANCE.createViewHandlerType();
viewHandler.setTextContent("com.sun.facelets.FaceletViewHandler");