Author: alexsmirnov
Date: 2010-03-23 14:40:50 -0400 (Tue, 23 Mar 2010)
New Revision: 16656
Added:
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/EventValueBinding.java
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
branches/framework-shared/impl-jsf2/src/main/resources/META-INF/faces-config.xml
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/EventValueBinding.java
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
branches/framework-shared/impl/src/main/resources/
branches/framework-shared/impl/src/main/resources/META-INF/
branches/framework-shared/impl/src/main/resources/META-INF/faces-config.xml
Removed:
branches/framework-shared/impl-jsf2/src/test/java/org/richfaces/
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/EventValueBinding.java
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
branches/framework-shared/impl-shared/src/main/resources/META-INF/faces-config.xml
Modified:
branches/framework-shared/impl-jsf2/pom.xml
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/RenderPhaseUIDataAdaptorVisitor.java
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/UIDataAdaptorBase.java
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/context/ContextInitParameters.java
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/event/InitPhaseListener.java
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/taglib/RowKeyConverterRule.java
branches/framework-shared/impl-shared/src/main/java/org/richfaces/webapp/taglib/UIComponentELTagBase.java
branches/framework-shared/impl/pom.xml
Log:
https://jira.jboss.org/jira/browse/RF-8529
Modified: branches/framework-shared/impl/pom.xml
===================================================================
--- branches/framework-shared/impl/pom.xml 2010-03-23 16:16:55 UTC (rev 16655)
+++ branches/framework-shared/impl/pom.xml 2010-03-23 18:40:50 UTC (rev 16656)
@@ -28,6 +28,7 @@
<goal>shade</goal>
</goals>
<configuration>
+ <createSourcesJar>true</createSourcesJar>
<artifactSet>
<includes>
<include>org.richfaces.framework:richfaces-impl-shared</include>
@@ -70,7 +71,17 @@
<groupId>org.richfaces.framework</groupId>
<artifactId>richfaces-impl-shared</artifactId>
<version>3.3.3-SNAPSHOT</version>
- <optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <version>1.8.1</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Copied:
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/EventValueBinding.java
(from rev 16654,
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/EventValueBinding.java)
===================================================================
---
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/EventValueBinding.java
(rev 0)
+++
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/EventValueBinding.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -0,0 +1,75 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.component;
+
+import org.richfaces.webapp.taglib.ValueBindingValueExpressionAdaptor;
+
+
+/**
+ * Inner class for build event string for parent component.
+ *
+ * @author shura (latest modification by $Author: alexsmirnov $)
+ * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:57:38 $ Disadvantages -
+ * not rebuild event string setted as EL expression. TODO - save
+ * expressions for build event string at render phase.
+ */
+public class EventValueBinding extends ValueBindingValueExpressionAdaptor {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -6583167387542332290L;
+
+ /**
+ * Default constructor for restoreState.
+ */
+ public EventValueBinding() {
+ super(new EventValueExpression());
+ }
+
+ /**
+ * Constructor for build from AjaxComponent.
+ *
+ * @param update
+ */
+ public EventValueBinding(AjaxSupport update) {
+ super(new EventValueExpression(update));
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.component.StateHolder#isTransient()
+ */
+ public boolean isTransient() {
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.component.StateHolder#setTransient(boolean)
+ */
+ public void setTransient(boolean newTransientValue) {
+ }
+
+}
\ No newline at end of file
Copied:
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
(from rev 16654,
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java)
===================================================================
---
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
(rev 0)
+++
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -0,0 +1,100 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+package org.ajax4jsf.component;
+
+import java.sql.ResultSet;
+import java.util.Collections;
+import java.util.List;
+
+import javax.faces.model.ArrayDataModel;
+import javax.faces.model.DataModel;
+import javax.faces.model.ListDataModel;
+import javax.faces.model.ResultDataModel;
+import javax.faces.model.ResultSetDataModel;
+import javax.faces.model.ScalarDataModel;
+import javax.servlet.jsp.jstl.sql.Result;
+
+import org.ajax4jsf.model.DataComponentState;
+import org.ajax4jsf.model.ExtendedDataModel;
+import org.ajax4jsf.model.Range;
+import org.ajax4jsf.model.SequenceDataModel;
+import org.ajax4jsf.model.SequenceRange;
+
+/**
+ * @author asmirnov
+ *
+ */
+public abstract class SequenceDataAdaptor extends UIDataAdaptor {
+
+ protected DataComponentState createComponentState() {
+ // Create component state based on this instance.
+ return new DataComponentState(){
+
+ public Range getRange() {
+ return new SequenceRange(getFirst(),getRows());
+ }
+ };
+
+ }
+
+ protected ExtendedDataModel createDataModel() {
+ return (ExtendedDataModel) getDataModel();
+ }
+
+ protected DataModel getDataModel() {
+ // Synthesize a DataModel around our current value if possible
+ // TODO - for jsf 1.2 use method from superclass ?
+ Object current = getValue();
+ DataModel model;
+ if (current == null) {
+ model = new SequenceDataModel(new ListDataModel(Collections.EMPTY_LIST));
+ } else if (current instanceof ExtendedDataModel) {
+ model = (DataModel) current;
+ } else if (current instanceof DataModel) {
+ model = new SequenceDataModel((DataModel) current);
+ } else if (current instanceof List) {
+ model = new SequenceDataModel(new ListDataModel((List<?>) current));
+ } else if (Object[].class.isAssignableFrom(current.getClass())) {
+ model = new SequenceDataModel(new ArrayDataModel((Object[]) current));
+ } else if (current instanceof ResultSet) {
+ model = new SequenceDataModel(new ResultSetDataModel((ResultSet) current));
+ } else if (current instanceof Result) {
+ model = new SequenceDataModel(new ResultDataModel((Result) current));
+ } else {
+ model = new SequenceDataModel(new ScalarDataModel(current));
+ }
+ return (model);
+ }
+
+ protected void setDataModel(DataModel model) {
+ ExtendedDataModel iterableModel;
+ if( null == model){
+ iterableModel = null;
+ } else if (model instanceof ExtendedDataModel) {
+ iterableModel = (ExtendedDataModel) model;
+ } else {
+ iterableModel = new SequenceDataModel(model);
+ }
+ setExtendedDataModel(iterableModel);
+ }
+
+
+}
Property changes on:
branches/framework-shared/impl/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: branches/framework-shared/impl/src/main/resources/META-INF/faces-config.xml (from
rev 16654,
branches/framework-shared/impl-shared/src/main/resources/META-INF/faces-config.xml)
===================================================================
--- branches/framework-shared/impl/src/main/resources/META-INF/faces-config.xml
(rev 0)
+++ branches/framework-shared/impl/src/main/resources/META-INF/faces-config.xml 2010-03-23
18:40:50 UTC (rev 16656)
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
+
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"
+ version="1.2">
+ <factory>
+ <render-kit-factory>org.ajax4jsf.renderkit.ChameleonRenderKitFactory</render-kit-factory>
+ <!--
+ <lifecycle-factory>org.ajax4jsf.application.DebugLifecycleFactory</lifecycle-factory>
+ -->
+ </factory>
+ <application>
+ <!--
+ <variable-resolver>org.richfaces.skin.SkinVariableResolver</variable-resolver>
+ <property-resolver>org.richfaces.skin.SkinPropertyResolver</property-resolver>
+ <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler>
+ -->
+ <state-manager>org.ajax4jsf.application.AjaxStateManager</state-manager>
+ </application>
+ <lifecycle>
+ <phase-listener>org.ajax4jsf.event.AjaxPhaseListener</phase-listener>
+ <phase-listener>org.ajax4jsf.event.InitPhaseListener</phase-listener>
+ </lifecycle>
+ <managed-bean>
+ <managed-bean-name>a4j</managed-bean-name>
+ <managed-bean-class>org.richfaces.VersionBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>a4jSkin</managed-bean-name>
+ <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>richSkin</managed-bean-name>
+ <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>ajaxContext</managed-bean-name>
+
<managed-bean-class>org.ajax4jsf.context.AjaxContextImpl</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <component>
+
+ <component-type>javax.faces.ViewRoot</component-type>
+
<component-class>org.ajax4jsf.component.AjaxViewRoot</component-class>
+
+ <component-extension>
+ <component-family>javax.faces.ViewRoot</component-family>
+ </component-extension>
+
+ </component>
+
+ <render-kit>
+
+ <renderer>
+ <description>
+ override the viewroot
+ </description>
+ <component-family>javax.faces.ViewRoot</component-family>
+ <renderer-type>javax.faces.ViewRoot</renderer-type>
+
<renderer-class>org.ajax4jsf.renderkit.AjaxViewRootRenderer</renderer-class>
+ </renderer>
+ <!--
+ <renderer>
+ <component-family>javax.faces.Form</component-family>
+ <renderer-type>javax.faces.Form</renderer-type>
+
<renderer-class>org.ajax4jsf.renderkit.html.AjaxFormRenderer</renderer-class>
+ </renderer>
+ <renderer>
+ <component-family>javax.faces.Command</component-family>
+ <renderer-type>javax.faces.Link</renderer-type>
+
<renderer-class>org.ajax4jsf.renderkit.html.HtmlCommandLinkRenderer</renderer-class>
+ </renderer>
+ -->
+ </render-kit>
+</faces-config>
Modified: branches/framework-shared/impl-jsf2/pom.xml
===================================================================
--- branches/framework-shared/impl-jsf2/pom.xml 2010-03-23 16:16:55 UTC (rev 16655)
+++ branches/framework-shared/impl-jsf2/pom.xml 2010-03-23 18:40:50 UTC (rev 16656)
@@ -1,23 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>framework</artifactId>
- <groupId>org.richfaces</groupId>
- <version>3.3.3-SNAPSHOT</version>
- </parent>
- <groupId>org.richfaces.framework</groupId>
- <artifactId>richfaces-impl-jsf2</artifactId>
- <version>3.3.3-SNAPSHOT</version>
- <name>impl-jsf2</name>
- <url>http://maven.apache.org</url>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
+<project
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
+
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>framework</artifactId>
+ <groupId>org.richfaces</groupId>
+ <version>3.3.3-SNAPSHOT</version>
+ </parent>
+ <groupId>org.richfaces.framework</groupId>
+ <artifactId>richfaces-impl-jsf2</artifactId>
+ <version>3.3.3-SNAPSHOT</version>
+ <name>impl-jsf2</name>
+ <url>http://maven.apache.org</url>
+ <build>
+ <plugins>
+ <plugin>
+ <!-- Necessary due to
http://jira.codehaus.org/browse/MINSTALL-41 -->
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>1.3.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <createSourcesJar>true</createSourcesJar>
+ <artifactSet>
+ <includes>
+ <include>org.richfaces.framework:richfaces-impl-shared</include>
+ </includes>
+ </artifactSet>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>clover</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.atlassian.maven.plugins</groupId>
+ <artifactId>maven-clover2-plugin</artifactId>
+ <configuration>
+ <includesAllSourceRoots>false</includesAllSourceRoots>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.framework</groupId>
+ <artifactId>richfaces-api</artifactId>
+ <version>3.3.3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.framework</groupId>
+ <artifactId>richfaces-impl-shared</artifactId>
+ <version>3.3.3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <version>1.8.1</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
</project>
Added:
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/EventValueBinding.java
===================================================================
---
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/EventValueBinding.java
(rev 0)
+++
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/EventValueBinding.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -0,0 +1,75 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.ajax4jsf.component;
+
+import org.richfaces.webapp.taglib.ValueBindingValueExpressionAdaptor;
+
+
+/**
+ * Inner class for build event string for parent component.
+ *
+ * @author shura (latest modification by $Author: alexsmirnov $)
+ * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:57:38 $ Disadvantages -
+ * not rebuild event string setted as EL expression. TODO - save
+ * expressions for build event string at render phase.
+ */
+public class EventValueBinding extends ValueBindingValueExpressionAdaptor {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -6583167387542332290L;
+
+ /**
+ * Default constructor for restoreState.
+ */
+ public EventValueBinding() {
+ super(new EventValueExpression());
+ }
+
+ /**
+ * Constructor for build from AjaxComponent.
+ *
+ * @param update
+ */
+ public EventValueBinding(AjaxSupport update) {
+ super(new EventValueExpression(update));
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.component.StateHolder#isTransient()
+ */
+ public boolean isTransient() {
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.component.StateHolder#setTransient(boolean)
+ */
+ public void setTransient(boolean newTransientValue) {
+ }
+
+}
\ No newline at end of file
Property changes on:
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/EventValueBinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added:
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
===================================================================
---
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
(rev 0)
+++
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -0,0 +1,100 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+package org.ajax4jsf.component;
+
+import java.sql.ResultSet;
+import java.util.Collections;
+import java.util.List;
+
+import javax.faces.model.ArrayDataModel;
+import javax.faces.model.DataModel;
+import javax.faces.model.ListDataModel;
+import javax.faces.model.ResultDataModel;
+import javax.faces.model.ResultSetDataModel;
+import javax.faces.model.ScalarDataModel;
+import javax.servlet.jsp.jstl.sql.Result;
+
+import org.ajax4jsf.model.DataComponentState;
+import org.ajax4jsf.model.ExtendedDataModel;
+import org.ajax4jsf.model.Range;
+import org.ajax4jsf.model.SequenceDataModel;
+import org.ajax4jsf.model.SequenceRange;
+
+/**
+ * @author asmirnov
+ *
+ */
+public abstract class SequenceDataAdaptor extends UIDataAdaptor {
+
+ protected DataComponentState createComponentState() {
+ // Create component state based on this instance.
+ return new DataComponentState(){
+
+ public Range getRange() {
+ return new SequenceRange(getFirst(),getRows());
+ }
+ };
+
+ }
+
+ protected ExtendedDataModel createDataModel() {
+ return (ExtendedDataModel) getDataModel();
+ }
+
+ protected DataModel getDataModel() {
+ // Synthesize a DataModel around our current value if possible
+ // TODO - for jsf 1.2 use method from superclass ?
+ Object current = getValue();
+ DataModel model;
+ if (current == null) {
+ model = new SequenceDataModel(new ListDataModel(Collections.EMPTY_LIST));
+ } else if (current instanceof ExtendedDataModel) {
+ model = (DataModel) current;
+ } else if (current instanceof DataModel) {
+ model = new SequenceDataModel((DataModel) current);
+ } else if (current instanceof List) {
+ model = new SequenceDataModel(new ListDataModel((List<?>) current));
+ } else if (Object[].class.isAssignableFrom(current.getClass())) {
+ model = new SequenceDataModel(new ArrayDataModel((Object[]) current));
+ } else if (current instanceof ResultSet) {
+ model = new SequenceDataModel(new ResultSetDataModel((ResultSet) current));
+ } else if (current instanceof Result) {
+ model = new SequenceDataModel(new ResultDataModel((Result) current));
+ } else {
+ model = new SequenceDataModel(new ScalarDataModel(current));
+ }
+ return (model);
+ }
+
+ protected void setDataModel(DataModel model) {
+ ExtendedDataModel iterableModel;
+ if( null == model){
+ iterableModel = null;
+ } else if (model instanceof ExtendedDataModel) {
+ iterableModel = (ExtendedDataModel) model;
+ } else {
+ iterableModel = new SequenceDataModel(model);
+ }
+ setExtendedDataModel(iterableModel);
+ }
+
+
+}
Property changes on:
branches/framework-shared/impl-jsf2/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: branches/framework-shared/impl-jsf2/src/main/resources/META-INF/faces-config.xml
===================================================================
--- branches/framework-shared/impl-jsf2/src/main/resources/META-INF/faces-config.xml
(rev 0)
+++
branches/framework-shared/impl-jsf2/src/main/resources/META-INF/faces-config.xml 2010-03-23
18:40:50 UTC (rev 16656)
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
+
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_2_0.xsd"
+ version="2.0">
+ <factory>
+ <render-kit-factory>org.ajax4jsf.renderkit.ChameleonRenderKitFactory</render-kit-factory>
+ <partial-view-context-factory>org.richfaces.context.PartialViewContextFactoryImpl</partial-view-context-factory>
+ </factory>
+ <application>
+ <!--
+ <variable-resolver>org.richfaces.skin.SkinVariableResolver</variable-resolver>
+ <property-resolver>org.richfaces.skin.SkinPropertyResolver</property-resolver>
+ <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler>
+ -->
+ <state-manager>org.ajax4jsf.application.AjaxStateManager</state-manager>
+ </application>
+ <lifecycle>
+ <phase-listener>org.ajax4jsf.event.AjaxPhaseListener</phase-listener>
+ <phase-listener>org.ajax4jsf.event.InitPhaseListener</phase-listener>
+ </lifecycle>
+ <managed-bean>
+ <managed-bean-name>a4j</managed-bean-name>
+ <managed-bean-class>org.richfaces.VersionBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>a4jSkin</managed-bean-name>
+ <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>richSkin</managed-bean-name>
+ <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>ajaxContext</managed-bean-name>
+
<managed-bean-class>org.ajax4jsf.context.AjaxContextImpl</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <component>
+
+ <component-type>javax.faces.ViewRoot</component-type>
+
<component-class>org.ajax4jsf.component.AjaxViewRoot</component-class>
+
+ <component-extension>
+ <component-family>javax.faces.ViewRoot</component-family>
+ </component-extension>
+
+ </component>
+
+ <render-kit>
+
+ <renderer>
+ <description>
+ override the viewroot
+ </description>
+ <component-family>javax.faces.ViewRoot</component-family>
+ <renderer-type>javax.faces.ViewRoot</renderer-type>
+
<renderer-class>org.ajax4jsf.renderkit.AjaxViewRootRenderer</renderer-class>
+ </renderer>
+ </render-kit>
+</faces-config>
Deleted:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/EventValueBinding.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/EventValueBinding.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/EventValueBinding.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -1,75 +0,0 @@
-/**
- * License Agreement.
- *
- * Rich Faces - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.ajax4jsf.component;
-
-import org.richfaces.webapp.taglib.ValueBindingValueExpressionAdaptor;
-
-
-/**
- * Inner class for build event string for parent component.
- *
- * @author shura (latest modification by $Author: alexsmirnov $)
- * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:57:38 $ Disadvantages -
- * not rebuild event string setted as EL expression. TODO - save
- * expressions for build event string at render phase.
- */
-public class EventValueBinding extends ValueBindingValueExpressionAdaptor {
-
- /**
- *
- */
- private static final long serialVersionUID = -6583167387542332290L;
-
- /**
- * Default constructor for restoreState.
- */
- public EventValueBinding() {
- super(new EventValueExpression());
- }
-
- /**
- * Constructor for build from AjaxComponent.
- *
- * @param update
- */
- public EventValueBinding(AjaxSupport update) {
- super(new EventValueExpression(update));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see javax.faces.component.StateHolder#isTransient()
- */
- public boolean isTransient() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see javax.faces.component.StateHolder#setTransient(boolean)
- */
- public void setTransient(boolean newTransientValue) {
- }
-
-}
\ No newline at end of file
Modified:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/RenderPhaseUIDataAdaptorVisitor.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/RenderPhaseUIDataAdaptorVisitor.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/RenderPhaseUIDataAdaptorVisitor.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -40,8 +40,8 @@
*/
public void beforeComponent(UIComponent component, PhaseEvent event,
Object state) {
- if (component instanceof UIDataAdaptor) {
- ((UIDataAdaptor) component).beforeRenderResponse(event.getFacesContext());
+ if (component instanceof UIDataAdaptorBase) {
+ ((UIDataAdaptorBase) component).beforeRenderResponse(event.getFacesContext());
}
}
Deleted:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/SequenceDataAdaptor.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -1,100 +0,0 @@
-/**
- * License Agreement.
- *
- * Rich Faces - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-package org.ajax4jsf.component;
-
-import java.sql.ResultSet;
-import java.util.Collections;
-import java.util.List;
-
-import javax.faces.model.ArrayDataModel;
-import javax.faces.model.DataModel;
-import javax.faces.model.ListDataModel;
-import javax.faces.model.ResultDataModel;
-import javax.faces.model.ResultSetDataModel;
-import javax.faces.model.ScalarDataModel;
-import javax.servlet.jsp.jstl.sql.Result;
-
-import org.ajax4jsf.model.DataComponentState;
-import org.ajax4jsf.model.ExtendedDataModel;
-import org.ajax4jsf.model.Range;
-import org.ajax4jsf.model.SequenceDataModel;
-import org.ajax4jsf.model.SequenceRange;
-
-/**
- * @author asmirnov
- *
- */
-public abstract class SequenceDataAdaptor extends UIDataAdaptor {
-
- protected DataComponentState createComponentState() {
- // Create component state based on this instance.
- return new DataComponentState(){
-
- public Range getRange() {
- return new SequenceRange(getFirst(),getRows());
- }
- };
-
- }
-
- protected ExtendedDataModel createDataModel() {
- return (ExtendedDataModel) getDataModel();
- }
-
- protected DataModel getDataModel() {
- // Synthesize a DataModel around our current value if possible
- // TODO - for jsf 1.2 use method from superclass ?
- Object current = getValue();
- DataModel model;
- if (current == null) {
- model = new SequenceDataModel(new ListDataModel(Collections.EMPTY_LIST));
- } else if (current instanceof ExtendedDataModel) {
- model = (DataModel) current;
- } else if (current instanceof DataModel) {
- model = new SequenceDataModel((DataModel) current);
- } else if (current instanceof List) {
- model = new SequenceDataModel(new ListDataModel((List<?>) current));
- } else if (Object[].class.isAssignableFrom(current.getClass())) {
- model = new SequenceDataModel(new ArrayDataModel((Object[]) current));
- } else if (current instanceof ResultSet) {
- model = new SequenceDataModel(new ResultSetDataModel((ResultSet) current));
- } else if (current instanceof Result) {
- model = new SequenceDataModel(new ResultDataModel((Result) current));
- } else {
- model = new SequenceDataModel(new ScalarDataModel(current));
- }
- return (model);
- }
-
- protected void setDataModel(DataModel model) {
- ExtendedDataModel iterableModel;
- if( null == model){
- iterableModel = null;
- } else if (model instanceof ExtendedDataModel) {
- iterableModel = (ExtendedDataModel) model;
- } else {
- iterableModel = new SequenceDataModel(model);
- }
- setExtendedDataModel(iterableModel);
- }
-
-
-}
Modified:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/UIDataAdaptorBase.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/UIDataAdaptorBase.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/component/UIDataAdaptorBase.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -504,7 +504,7 @@
private static final AjaxChildrenRenderer _childrenRenderer = new AjaxChildrenRenderer()
{
protected Class<? extends UIComponent> getComponentClass() {
- return UIDataAdaptor.class;
+ return UIDataAdaptorBase.class;
}
};
@@ -653,7 +653,7 @@
DataComponentState state = null;
if (this._currentState == null) {
// Check for binding state to user bean.
- ValueExpression valueBinding =
getValueExpression(UIDataAdaptor.COMPONENT_STATE_ATTRIBUTE);
+ ValueExpression valueBinding =
getValueExpression(UIDataAdaptorBase.COMPONENT_STATE_ATTRIBUTE);
FacesContext facesContext = getFacesContext();
ELContext elContext = facesContext.getELContext();
if (null != valueBinding) {
Modified:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/context/ContextInitParameters.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/context/ContextInitParameters.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/context/ContextInitParameters.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -25,7 +25,6 @@
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
-import org.ajax4jsf.application.AjaxStateManager;
/**
* This class hold all methods for get application init parameters. Created for
@@ -75,6 +74,8 @@
public static final String
HANDLE_VIEW_EXPIRED_ON_CLIENT="org.ajax4jsf.handleViewExpiredOnClient";
public static final String[] DATATABLE_USES_VIEW_LOCALE =
{"org.richfaces.datatableUsesViewLocale"};
+
+ public static final int DEFAULT_NUMBER_OF_VIEWS = 16;
public static final boolean isSerializeServerState(FacesContext context) {
return getBoolean(context, SERIALIZE_SERVER_STATE, false);
@@ -96,7 +97,7 @@
*/
public static int getNumbersOfViewsInSession(FacesContext context) {
return getInteger(context, NUMBER_OF_VIEWS_IN_SESSION,
- AjaxStateManager.DEFAULT_NUMBER_OF_VIEWS);
+ DEFAULT_NUMBER_OF_VIEWS);
}
/**
@@ -106,7 +107,7 @@
*/
public static int getNumbersOfLogicalViews(FacesContext context) {
return getInteger(context, NUMBER_OF_LOGICAL_VIEWS_IN_SESSION,
- AjaxStateManager.DEFAULT_NUMBER_OF_VIEWS);
+ DEFAULT_NUMBER_OF_VIEWS);
}
/**
Modified:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/event/InitPhaseListener.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/event/InitPhaseListener.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/event/InitPhaseListener.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -34,7 +34,6 @@
import javax.faces.lifecycle.Lifecycle;
import javax.faces.lifecycle.LifecycleFactory;
-import org.ajax4jsf.application.AjaxStateManager;
import org.ajax4jsf.application.AjaxViewHandler;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -44,7 +44,6 @@
import org.ajax4jsf.Messages;
import org.ajax4jsf.application.AjaxViewHandler;
import org.ajax4jsf.component.AjaxRegionBrige;
-import org.ajax4jsf.component.UIDataAdaptor;
import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.context.ContextInitParameters;
import org.ajax4jsf.renderkit.AjaxContainerRenderer;
Modified:
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/taglib/RowKeyConverterRule.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/taglib/RowKeyConverterRule.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/ajax4jsf/webapp/taglib/RowKeyConverterRule.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -22,7 +22,7 @@
import javax.faces.convert.Converter;
-import org.ajax4jsf.component.UIDataAdaptor;
+import org.ajax4jsf.component.UIDataAdaptorBase;
import com.sun.facelets.FaceletContext;
import com.sun.facelets.tag.MetaRule;
@@ -48,7 +48,7 @@
@Override
public void applyMetadata(FaceletContext ctx, Object instance) {
- ((UIDataAdaptor) instance).setValueExpression("rowKeyConverter",
+ ((UIDataAdaptorBase) instance).setValueExpression("rowKeyConverter",
attribute.getValueExpression(ctx, Converter.class));
}
@@ -67,7 +67,7 @@
public void applyMetadata(FaceletContext ctx, Object instance) {
Converter converter = ctx.getFacesContext().getApplication()
.createConverter(converterId);
- ((UIDataAdaptor) instance).setRowKeyConverter(converter);
+ ((UIDataAdaptorBase) instance).setRowKeyConverter(converter);
}
}
@@ -86,7 +86,7 @@
public Metadata applyRule(String name, TagAttribute attribute,
MetadataTarget meta) {
- if (meta.isTargetInstanceOf(UIDataAdaptor.class)) {
+ if (meta.isTargetInstanceOf(UIDataAdaptorBase.class)) {
if ("rowKeyConverter".equals(name)) {
if (attribute.isLiteral()) {
return new StaticConverterMetadata(attribute.getValue());
Modified:
branches/framework-shared/impl-shared/src/main/java/org/richfaces/webapp/taglib/UIComponentELTagBase.java
===================================================================
---
branches/framework-shared/impl-shared/src/main/java/org/richfaces/webapp/taglib/UIComponentELTagBase.java 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/java/org/richfaces/webapp/taglib/UIComponentELTagBase.java 2010-03-23
18:40:50 UTC (rev 16656)
@@ -34,7 +34,7 @@
import javax.faces.webapp.UIComponentELTag;
import org.ajax4jsf.Messages;
-import org.ajax4jsf.component.UIDataAdaptor;
+import org.ajax4jsf.component.UIDataAdaptorBase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -86,8 +86,8 @@
protected void setRowKeyConverterProperty(UIComponent component, ValueExpression
converter) {
if (converter != null) {
- if (component instanceof UIDataAdaptor) {
- UIDataAdaptor data = (UIDataAdaptor) component;
+ if (component instanceof UIDataAdaptorBase) {
+ UIDataAdaptorBase data = (UIDataAdaptorBase) component;
if (!converter.isLiteralText()) {
component.setValueExpression("rowKeyConverter", converter);
} else {
Deleted:
branches/framework-shared/impl-shared/src/main/resources/META-INF/faces-config.xml
===================================================================
---
branches/framework-shared/impl-shared/src/main/resources/META-INF/faces-config.xml 2010-03-23
16:16:55 UTC (rev 16655)
+++
branches/framework-shared/impl-shared/src/main/resources/META-INF/faces-config.xml 2010-03-23
18:40:50 UTC (rev 16656)
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
-
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"
- version="1.2">
- <factory>
- <render-kit-factory>org.ajax4jsf.renderkit.ChameleonRenderKitFactory</render-kit-factory>
- <!--
- <lifecycle-factory>org.ajax4jsf.application.DebugLifecycleFactory</lifecycle-factory>
- -->
- </factory>
- <application>
- <!--
- <variable-resolver>org.richfaces.skin.SkinVariableResolver</variable-resolver>
- <property-resolver>org.richfaces.skin.SkinPropertyResolver</property-resolver>
- <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler>
- -->
- <state-manager>org.ajax4jsf.application.AjaxStateManager</state-manager>
- </application>
- <lifecycle>
- <phase-listener>org.ajax4jsf.event.AjaxPhaseListener</phase-listener>
- <phase-listener>org.ajax4jsf.event.InitPhaseListener</phase-listener>
- </lifecycle>
- <managed-bean>
- <managed-bean-name>a4j</managed-bean-name>
- <managed-bean-class>org.richfaces.VersionBean</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>a4jSkin</managed-bean-name>
- <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>richSkin</managed-bean-name>
- <managed-bean-class>org.richfaces.skin.SkinBean</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>ajaxContext</managed-bean-name>
-
<managed-bean-class>org.ajax4jsf.context.AjaxContextImpl</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
- </managed-bean>
- <component>
-
- <component-type>javax.faces.ViewRoot</component-type>
-
<component-class>org.ajax4jsf.component.AjaxViewRoot</component-class>
-
- <component-extension>
- <component-family>javax.faces.ViewRoot</component-family>
- </component-extension>
-
- </component>
-
- <render-kit>
-
- <renderer>
- <description>
- override the viewroot
- </description>
- <component-family>javax.faces.ViewRoot</component-family>
- <renderer-type>javax.faces.ViewRoot</renderer-type>
-
<renderer-class>org.ajax4jsf.renderkit.AjaxViewRootRenderer</renderer-class>
- </renderer>
- <!--
- <renderer>
- <component-family>javax.faces.Form</component-family>
- <renderer-type>javax.faces.Form</renderer-type>
-
<renderer-class>org.ajax4jsf.renderkit.html.AjaxFormRenderer</renderer-class>
- </renderer>
- <renderer>
- <component-family>javax.faces.Command</component-family>
- <renderer-type>javax.faces.Link</renderer-type>
-
<renderer-class>org.ajax4jsf.renderkit.html.HtmlCommandLinkRenderer</renderer-class>
- </renderer>
- -->
- </render-kit>
-</faces-config>