[ajax4jsf-svn-commits] JBoss Ajax4JSF SVN: r144 - in trunk: framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter and 13 other directories.
ajax4jsf-svn-commits at lists.jboss.org
ajax4jsf-svn-commits at lists.jboss.org
Mon Apr 30 21:07:48 EDT 2007
Author: alexsmirnov
Date: 2007-04-30 21:07:48 -0400 (Mon, 30 Apr 2007)
New Revision: 144
Added:
trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TestTreeModel.java
trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TreeBacker.java
trunk/samples/tomahawkCompability/src/main/webapp/pages/tabbedPanel.jsp
trunk/samples/tomahawkCompability/src/main/webapp/pages/tree2.jsp
trunk/samples/useCases/src/main/java/org/ajax4jsf/RepeatData.java
trunk/samples/useCases/src/main/resources/logging.properties
trunk/samples/useCases/src/main/webapp/pages/repeat.jsp
trunk/samples/useCases/src/main/webapp/pages/repeat.xhtml
trunk/samples/useCases/src/main/webapp/pages/setCookie.xhtml
trunk/samples/useCases/src/main/webapp/pages/testCookie.xhtml
Removed:
trunk/samples/tomahawkCompability/src/main/webapp/pages/index.jsp
trunk/samples/useCases/src/main/java/logging.properties
Modified:
trunk/framework/src/main/java/org/ajax4jsf/ajax/repeat/UIDataAdaptor.java
trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseFilter.java
trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseXMLFilter.java
trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/FilterServletResponseWrapper.java
trunk/framework/src/main/java/org/ajax4jsf/framework/util/message/Messages.java
trunk/framework/src/main/java/org/ajax4jsf/taglib/html/facelets/AjaxListenerHandler.java
trunk/framework/src/main/java/org/ajax4jsf/taglib/html/jsp/AjaxListenerTag.java
trunk/framework/src/main/resources/org/ajax4jsf/framework/util/message/messages.properties
trunk/samples/tomahawkCompability/src/main/webapp/WEB-INF/faces-config.xml
trunk/samples/tomahawkCompability/src/main/webapp/index.jsp
trunk/samples/useCases/src/main/java/org/ajax4jsf/Bean.java
trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml
trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml.l4t
trunk/samples/useCases/src/main/webapp/WEB-INF/web.xml
trunk/samples/useCases/src/main/webapp/pages/prependId.xhtml
Log:
Fix bugs :
AJSF-9 , AJSF-14 , AJSF-16, AJSF-27, AJSF-31, AJSF-35, AJSF-36, AJSF-46.
Modified: trunk/framework/src/main/java/org/ajax4jsf/ajax/repeat/UIDataAdaptor.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/ajax/repeat/UIDataAdaptor.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/ajax/repeat/UIDataAdaptor.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -1216,6 +1216,10 @@
private Set ajaxKeys;
+ public String rowKeyVar;
+
+ public String stateVar;
+
}
/**
@@ -1249,6 +1253,8 @@
super.restoreState(faces, state.superState);
this._ajaxKeys = state.ajaxKeys;
this._statesMap = new HashMap();
+ this._rowKeyVar = state.rowKeyVar;
+ this._stateVar = state.stateVar;
// Restore serializable models and component states for all rows of
// parent UIData ( single if this
// component not child of iterable )
@@ -1276,6 +1282,8 @@
DataState state = new DataState();
state.superState = super.saveState(faces);
state.ajaxKeys = this._ajaxKeys;
+ state.rowKeyVar = this._rowKeyVar;
+ state.stateVar = this._stateVar;
Set encodedIds = getEncodedIds();
// Save all states of component and data model for all valies of
// clientId, encoded in this request.
Modified: trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseFilter.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseFilter.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseFilter.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -115,7 +115,7 @@
parameters.append(name).append(" : '").append(config.getInitParameter(name)).append('\n');
}
log.debug(parameters);
- log.debug("Stack Trace", new Exception());
+// log.debug("Stack Trace", new Exception());
}
// Save config
filterConfig = config;
Modified: trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseXMLFilter.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseXMLFilter.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/BaseXMLFilter.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -34,6 +34,7 @@
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletRequest;
+import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -141,6 +142,11 @@
+ redirectLocation);
}
response.reset();
+ // Keep cookies.
+ for (Iterator iter = servletResponseWrapper.getCookies().iterator(); iter.hasNext();) {
+ Cookie cookie = (Cookie) iter.next();
+ response.addCookie(cookie);
+ }
// Copy response headers
Map headers = servletResponseWrapper.getHeaders();
for (Iterator iter = headers.entrySet().iterator(); iter
Modified: trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/FilterServletResponseWrapper.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/FilterServletResponseWrapper.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/framework/ajax/xmlfilter/FilterServletResponseWrapper.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -61,11 +61,15 @@
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.servlet.ServletOutputStream;
+import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
@@ -112,6 +116,8 @@
private String redirectLocation = null;
private boolean useNullStream = false;
+
+ private List cookies = new ArrayList();
public FilterServletResponseWrapper(HttpServletResponse response) {
super(response);
@@ -635,4 +641,13 @@
+ public void addCookie(Cookie cookie) {
+ cookies.add(cookie);
+ super.addCookie(cookie);
+ }
+
+ public Collection getCookies() {
+ return cookies;
+ }
+
}
Modified: trunk/framework/src/main/java/org/ajax4jsf/framework/util/message/Messages.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/framework/util/message/Messages.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/framework/util/message/Messages.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -302,6 +302,7 @@
public static final String STRING_CONVERSION_ERROR = "STRING_CONVERSION_ERROR";
public static final String UTF_CONVERSION_ERROR = "UTF_CONVERSION_ERROR";
public static final String READ_ONLY_NODE_ERROR = "READ_ONLY_NODE_ERROR";
+ public static final String NOT_PARENT_AJAX_COMPONENT_ERROR = "NOT_PARENT_AJAX_COMPONENT_ERROR";
public static void main(String[] args) {
String m = getMessage(INVALID_ATTRIBUTE_VALUE, "A", "B");
Modified: trunk/framework/src/main/java/org/ajax4jsf/taglib/html/facelets/AjaxListenerHandler.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/taglib/html/facelets/AjaxListenerHandler.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/taglib/html/facelets/AjaxListenerHandler.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -113,7 +113,7 @@
src.addAjaxListener(listener);
}
} else {
- throw new TagException(this.tag, Messages.getMessage(Messages.NOT_PARENT_AJAX_CONTAINER_ERROR, parent));
+ throw new TagException(this.tag, Messages.getMessage(Messages.NOT_PARENT_AJAX_COMPONENT_ERROR, parent));
}
}
}
Modified: trunk/framework/src/main/java/org/ajax4jsf/taglib/html/jsp/AjaxListenerTag.java
===================================================================
--- trunk/framework/src/main/java/org/ajax4jsf/taglib/html/jsp/AjaxListenerTag.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/java/org/ajax4jsf/taglib/html/jsp/AjaxListenerTag.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -117,7 +117,7 @@
}
((AjaxSource) component).addAjaxListener(listener);
} else {
- throw new JspException(Messages.getMessage(Messages.NOT_AJAX_CONTAINER_ERROR, component.getId()));
+ throw new JspException(Messages.getMessage(Messages.NOT_PARENT_AJAX_COMPONENT_ERROR, component.getId()));
}
}
Modified: trunk/framework/src/main/resources/org/ajax4jsf/framework/util/message/messages.properties
===================================================================
--- trunk/framework/src/main/resources/org/ajax4jsf/framework/util/message/messages.properties 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/framework/src/main/resources/org/ajax4jsf/framework/util/message/messages.properties 2007-05-01 01:07:48 UTC (rev 144)
@@ -231,6 +231,7 @@
COMMAND_LINK_NOT_IN_FORM_WARNING=CommandLink {0} not enclosed in form
MUST_BE_EXPRESSION_ERROR=Must be expression to modifyable property
NOT_PARENT_AJAX_CONTAINER_ERROR=Parent is not of type AjaxContainer, type is\: {0}
+NOT_PARENT_AJAX_COMPONENT_ERROR=Parent component {0} for a ajaxListener is not source of AjaxEvent's
MUST_BE_LITERAL_ERROR=Must be literal
FACET_TAG_MANY_CHILDREN_ERROR=Facet Tag can only have one child UIComponent
NO_UI_COMPONENT_TAG_ANCESTOR_ERROR={0} has no UIComponentTag ancestor
@@ -247,4 +248,5 @@
READ_ONLY_NODE_ERROR=Node is read only
AJAX_VIEW_EXPIRED=View state could't be restored - reload page ?
SKIN_CYCLIC_REFERENCE=Cyclic reference in Skin configuration for property \: {0}
-SKIN_ILLEGAL_REFERENCE=Reference for property "{0}" not present in Skin configuration
\ No newline at end of file
+SKIN_ILLEGAL_REFERENCE=Reference for property "{0}" not present in Skin configuration
+NULL_ATTRIBUTE_ERROR="Requied attribute {0} for component {1} is null
\ No newline at end of file
Added: trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TestTreeModel.java
===================================================================
--- trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TestTreeModel.java (rev 0)
+++ trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TestTreeModel.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,88 @@
+package org.ajax4jsf;
+import org.apache.myfaces.custom.tree2.TreeNodeBase;
+
+/**
+ *
+ */
+
+/**
+ * @author asmirnov
+ *
+ */
+public class TestTreeModel extends TreeNodeBase {
+
+ private String url;
+
+ private String target="/xxx";
+ private String description="Node";
+ private boolean urlNode=true;
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 8653793302556194481L;
+
+
+ public TestTreeModel() {
+ super();
+ setLeaf(false);
+ setType("desktop");
+ }
+
+ /**
+ * @return the description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * @param description the description to set
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * @return the target
+ */
+ public String getTarget() {
+ return target;
+ }
+
+ /**
+ * @param target the target to set
+ */
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ /**
+ * @return the url
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * @param url the url to set
+ */
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ /**
+ * @return the urlNode
+ */
+ public boolean isUrlNode() {
+ return urlNode;
+ }
+
+ /**
+ * @param urlNode the urlNode to set
+ */
+ public void setUrlNode(boolean urlNode) {
+ this.urlNode = urlNode;
+ }
+
+}
Added: trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TreeBacker.java
===================================================================
--- trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TreeBacker.java (rev 0)
+++ trunk/samples/tomahawkCompability/src/main/java/org/ajax4jsf/TreeBacker.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,65 @@
+/**
+ *
+ */
+package org.ajax4jsf;
+
+import javax.faces.component.UIComponent;
+
+import org.apache.myfaces.custom.tree2.TreeModel;
+import org.apache.myfaces.custom.tree2.TreeModelBase;
+import org.apache.myfaces.custom.tree2.TreeNode;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class TreeBacker {
+
+ UIComponent tree;
+
+ TreeModel treeModel;
+
+ /**
+ * @return the tree
+ */
+ public UIComponent getTree() {
+ return tree;
+ }
+
+ /**
+ * @param tree the tree to set
+ */
+ public void setTree(UIComponent tree) {
+ this.tree = tree;
+ }
+
+ /**
+ * @return the treeModel
+ */
+ public TreeModel getTreeModel() {
+ if (treeModel == null) {
+ TreeNode rootNode = new TestTreeModel();
+ for(int i=0;i<5;i++){
+ rootNode.getChildren().add(new TestTreeModel());
+ }
+ treeModel = new TreeModelBase(rootNode );
+ }
+
+ return treeModel;
+ }
+
+ /**
+ * @param treeModel the treeModel to set
+ */
+ public void setTreeModel(TreeModel treeModel) {
+ this.treeModel = treeModel;
+ }
+
+ /**
+ *
+ */
+ public TreeBacker() {
+ // TODO Auto-generated constructor stub
+ }
+
+}
Modified: trunk/samples/tomahawkCompability/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/samples/tomahawkCompability/src/main/webapp/WEB-INF/faces-config.xml 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/tomahawkCompability/src/main/webapp/WEB-INF/faces-config.xml 2007-05-01 01:07:48 UTC (rev 144)
@@ -12,6 +12,11 @@
<managed-bean-class>org.ajax4jsf.Bean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
+ <managed-bean>
+ <managed-bean-name>treeBacker</managed-bean-name>
+ <managed-bean-class>org.ajax4jsf.TreeBacker</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
<render-kit>
<renderer>
<component-family>javax.faces.Form</component-family>
Modified: trunk/samples/tomahawkCompability/src/main/webapp/index.jsp
===================================================================
--- trunk/samples/tomahawkCompability/src/main/webapp/index.jsp 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/tomahawkCompability/src/main/webapp/index.jsp 2007-05-01 01:07:48 UTC (rev 144)
@@ -5,7 +5,7 @@
<head></head>
<body>
- <jsp:forward page="/faces/pages/index.jsp" />
+ <jsp:forward page="/faces/pages/tabbedPanel.jsp" />
</body>
</html>
\ No newline at end of file
Deleted: trunk/samples/tomahawkCompability/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/samples/tomahawkCompability/src/main/webapp/pages/index.jsp 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/tomahawkCompability/src/main/webapp/pages/index.jsp 2007-05-01 01:07:48 UTC (rev 144)
@@ -1,46 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
-<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
-<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
-<html>
-<head>
-<title>A4J form sample page</title>
-</head>
-<body>
-<h1>Ajax submitted form with Tomahawk components</h1>
-<f:view>
- <a4j:form id="ajaxform-with-defis" ajaxSubmit="true" reRender="tabs,counter">
- <h:panelGrid columns="2" border="1">
- <h:commandButton action="#{bean.inc}" value="Increment" />
- <h:commandLink value="Decrement" action="#{bean.dec}"></h:commandLink>
- <h:outputText value="Counter:" />
- <h:outputText id="counter" value="#{bean.counter}" />
- </h:panelGrid>
- <h:panelGroup id="tabs">
- <t:panelTabbedPane serverSideTabSwitch="true">
- <t:panelTab label="A">
- <h:inputText id="a" value="First" />
- <h:outputLabel value="First tab input" for="a"></h:outputLabel>
- </t:panelTab>
- <t:panelTab label="B">
- <h:inputText id="b" value="First" />
- <h:outputLabel value="Second tab input" for="b"></h:outputLabel>
- </t:panelTab>
- </t:panelTabbedPane>
- </h:panelGroup>
- </a4j:form>
- <h2>Same form without user-provided ID</h2>
- <f:subview id="subview">
- <a4j:form ajaxSubmit="true" reRender="counterB">
- <h:panelGrid columns="2" border="1">
- <h:commandButton action="#{beanB.inc}" value="Increment" />
- <h:commandLink value="Decrement" action="#{beanB.dec}"></h:commandLink>
- <h:outputText value="Counter:" />
- <h:outputText id="counterB" value="#{beanB.counter}" />
- </h:panelGrid>
- </a4j:form>
- </f:subview>
- <a4j:log hotkey="M"/>
-</f:view>
-</body>
-</html>
Added: trunk/samples/tomahawkCompability/src/main/webapp/pages/tabbedPanel.jsp
===================================================================
--- trunk/samples/tomahawkCompability/src/main/webapp/pages/tabbedPanel.jsp (rev 0)
+++ trunk/samples/tomahawkCompability/src/main/webapp/pages/tabbedPanel.jsp 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,46 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
+<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
+<html>
+<head>
+<title>A4J form sample page</title>
+</head>
+<body>
+<h1>Ajax submitted form with Tomahawk components</h1>
+<f:view>
+ <a4j:form id="ajaxform-with-defis" ajaxSubmit="true" reRender="tabs,counter">
+ <h:panelGrid columns="2" border="1">
+ <h:commandButton action="#{bean.inc}" value="Increment" />
+ <h:commandLink value="Decrement" action="#{bean.dec}"></h:commandLink>
+ <h:outputText value="Counter:" />
+ <h:outputText id="counter" value="#{bean.counter}" />
+ </h:panelGrid>
+ <h:panelGroup id="tabs">
+ <t:panelTabbedPane serverSideTabSwitch="true">
+ <t:panelTab label="A">
+ <h:inputText id="a" value="First" />
+ <h:outputLabel value="First tab input" for="a"></h:outputLabel>
+ </t:panelTab>
+ <t:panelTab label="B">
+ <h:inputText id="b" value="First" />
+ <h:outputLabel value="Second tab input" for="b"></h:outputLabel>
+ </t:panelTab>
+ </t:panelTabbedPane>
+ </h:panelGroup>
+ </a4j:form>
+ <h2>Same form without user-provided ID</h2>
+ <f:subview id="subview">
+ <a4j:form ajaxSubmit="true" reRender="counterB">
+ <h:panelGrid columns="2" border="1">
+ <h:commandButton action="#{beanB.inc}" value="Increment" />
+ <h:commandLink value="Decrement" action="#{beanB.dec}"></h:commandLink>
+ <h:outputText value="Counter:" />
+ <h:outputText id="counterB" value="#{beanB.counter}" />
+ </h:panelGrid>
+ </a4j:form>
+ </f:subview>
+ <a4j:log hotkey="M"/>
+</f:view>
+</body>
+</html>
Added: trunk/samples/tomahawkCompability/src/main/webapp/pages/tree2.jsp
===================================================================
--- trunk/samples/tomahawkCompability/src/main/webapp/pages/tree2.jsp (rev 0)
+++ trunk/samples/tomahawkCompability/src/main/webapp/pages/tree2.jsp 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,37 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
+<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
+
+<html>
+<head>
+<title>Response page</title>
+</head>
+<body>
+<f:view>
+ <a4j:form id="menuForm" ajaxSubmit="true" requestDelay="100"
+ reRender="treePanel" ignoreDupResponses="true">
+ <a4j:log hotkey="M" popup="true" level="ALL" />
+ <a4j:outputPanel ajaxRendered="true" layout="inline" id="treePanel">
+ <t:tree2 binding="#{treeBacker.tree}" id="serverTree"
+ showRootNode="true" showNav="true" value="#{treeBacker.treeModel}"
+ var="node" varNodeToggler="t" clientSideToggle="false">
+ <f:facet name="desktop">
+ <h:panelGroup>
+ <t:graphicImage value="/resources/images/desktop.png" border="0" />
+ <a4j:commandLink rendered="#{node.urlNode}"
+ styleClass="#{t.nodeSelected ? 'nodeSelected':'node'}"
+ actionListener="#{t.setNodeSelected}">
+ <h:outputLink value="#{node.url}" target="#{node.target}">
+ <h:outputText value="#{node.description}"
+ styleClass="nodeFolder" />
+ </h:outputLink>
+ </a4j:commandLink>
+ </h:panelGroup>
+ </f:facet>
+ </t:tree2>
+ </a4j:outputPanel>
+ </a4j:form>
+</f:view>
+</body>
+</html>
Deleted: trunk/samples/useCases/src/main/java/logging.properties
===================================================================
--- trunk/samples/useCases/src/main/java/logging.properties 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/useCases/src/main/java/logging.properties 2007-05-01 01:07:48 UTC (rev 144)
@@ -1,21 +0,0 @@
-handlers org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
-
-############################################################
-# Handler specific properties.
-# Describes specific configuration info for Handlers.
-############################################################
-
-org.apache.juli.FileHandler.level ALL
-org.apache.juli.FileHandler.directory ${catalina.base}/logs
-org.apache.juli.FileHandler.prefix ajax4jsf.
-
-java.util.logging.ConsoleHandler.level ALL
-java.util.logging.ConsoleHandler.formatter java.util.logging.SimpleFormatter
-
-facelets.level=ALL
-com.sun.faces.level=ALL
-org.apache.myfaces.level=ALL
-org.ajax4jsf.level=ALL
-javax.enterprise.resource.webcontainer.jsf.level=ALL
-com.exadel.level=ALL
-
\ No newline at end of file
Modified: trunk/samples/useCases/src/main/java/org/ajax4jsf/Bean.java
===================================================================
--- trunk/samples/useCases/src/main/java/org/ajax4jsf/Bean.java 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/useCases/src/main/java/org/ajax4jsf/Bean.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -20,6 +20,13 @@
*/
package org.ajax4jsf;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
/**
* @author $Autor$
*
@@ -40,5 +47,26 @@
System.out.println("Button pressed");
return null;
}
+
+ public String setCookie() {
+ ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
+ HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
+ Cookie cookie = new Cookie("test", "Setted at time "+System.currentTimeMillis());
+ cookie.setMaxAge(60 * 60 * 24 * 365);
+ response.addCookie(cookie);
+ return "verify_cookie";
+ }
+
+ public String getTestCookie(){
+ ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
+ HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
+ Cookie[] cookies = request.getCookies();
+ for (int i = 0; i < cookies.length; i++) {
+ if("test".equals(cookies[i].getName())){
+ return cookies[i].getValue();
+ }
+ }
+ return null;
+ }
}
\ No newline at end of file
Added: trunk/samples/useCases/src/main/java/org/ajax4jsf/RepeatData.java
===================================================================
--- trunk/samples/useCases/src/main/java/org/ajax4jsf/RepeatData.java (rev 0)
+++ trunk/samples/useCases/src/main/java/org/ajax4jsf/RepeatData.java 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,40 @@
+/**
+ *
+ */
+package org.ajax4jsf;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class RepeatData {
+
+ private List data;
+
+ public RepeatData() {
+ data = new ArrayList(10);
+ for(int i=0;i<10;i++){
+ Bean bean = new Bean();
+ bean.setText("Row "+i);
+ data.add(bean);
+ }
+ }
+
+ /**
+ * @return the data
+ */
+ public List getData() {
+ return data;
+ }
+
+ /**
+ * @param data the data to set
+ */
+ public void setData(List data) {
+ this.data = data;
+ }
+
+}
Added: trunk/samples/useCases/src/main/resources/logging.properties
===================================================================
--- trunk/samples/useCases/src/main/resources/logging.properties (rev 0)
+++ trunk/samples/useCases/src/main/resources/logging.properties 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,21 @@
+handlers org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level ALL
+org.apache.juli.FileHandler.directory ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix ajax4jsf.
+
+java.util.logging.ConsoleHandler.level ALL
+java.util.logging.ConsoleHandler.formatter java.util.logging.SimpleFormatter
+
+facelets.level=ALL
+com.sun.faces.level=INFO
+org.apache.myfaces.level=ALL
+org.ajax4jsf.level=ALL
+javax.enterprise.resource.webcontainer.jsf.level=INFO
+com.exadel.level=ALL
+
\ No newline at end of file
Modified: trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml 2007-05-01 01:07:48 UTC (rev 144)
@@ -12,4 +12,16 @@
<null-value/>
</managed-property>
</managed-bean>
+ <managed-bean>
+ <managed-bean-name>repeatData</managed-bean-name>
+ <managed-bean-class>org.ajax4jsf.RepeatData</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>verify_cookie</from-outcome>
+ <to-view-id>/pages/testCookie.xhtml</to-view-id>
+ <redirect/>
+ </navigation-case>
+ </navigation-rule>
</faces-config>
Modified: trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml.l4t
===================================================================
--- trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml.l4t 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/useCases/src/main/webapp/WEB-INF/faces-config.xml.l4t 2007-05-01 01:07:48 UTC (rev 144)
@@ -1,2 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<PROCESS ENTITY="JSFProcess"/>
+<PROCESS ENTITY="JSFProcess">
+ <PROCESS-ITEM ENTITY="JSFProcessGroup" NAME="rules:" SHAPE="32,17,0,0">
+ <PROCESS-ITEM ENTITY="JSFProcessItem" ID="rules::0" NAME="item">
+ <PROCESS-ITEM-OUTPUT ENTITY="JSFProcessItemOutput"
+ ID="verify_cookie::#pages#testCookie.xhtml" NAME="output"
+ PATH="/pages/testCookie.xhtml"
+ TARGET="rules:#pages#testCookie.xhtml" TITLE="verify_cookie"/>
+ </PROCESS-ITEM>
+ </PROCESS-ITEM>
+ <PROCESS-ITEM ENTITY="JSFProcessGroup"
+ NAME="rules:#pages#testCookie.xhtml" PATH="/pages/testCookie.xhtml" SHAPE="240,33,0,0"/>
+</PROCESS>
Modified: trunk/samples/useCases/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/samples/useCases/src/main/webapp/WEB-INF/web.xml 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/useCases/src/main/webapp/WEB-INF/web.xml 2007-05-01 01:07:48 UTC (rev 144)
@@ -16,7 +16,7 @@
</context-param>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
- <param-value>false</param-value>
+ <param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
Modified: trunk/samples/useCases/src/main/webapp/pages/prependId.xhtml
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/prependId.xhtml 2007-04-30 21:09:07 UTC (rev 143)
+++ trunk/samples/useCases/src/main/webapp/pages/prependId.xhtml 2007-05-01 01:07:48 UTC (rev 144)
@@ -12,6 +12,11 @@
</h:inputText>
<h:outputText id="repeater" value="#{bean.text}" />
<h:commandButton action="#{bean.ok}" value="Ok"></h:commandButton>
+ <h:dataTable value="single" var="v">
+ <h:column>
+ <h:commandButton action="#{bean.ok}" value="Ok in table"></h:commandButton>
+ </h:column>
+ </h:dataTable>
</h:form>
<a4j:log hotkey="M"></a4j:log>
</body>
Added: trunk/samples/useCases/src/main/webapp/pages/repeat.jsp
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/repeat.jsp (rev 0)
+++ trunk/samples/useCases/src/main/webapp/pages/repeat.jsp 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,20 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>
+<html>
+ <head>
+ <title>Repeater with input components</title>
+ </head>
+ <body>
+ <f:view>
+ <h:form>
+ <a4j:repeat value="#{repeatData.data}" var="row">
+ <h:selectBooleanCheckbox selected="true" />
+ <h:inputText value="Text"></h:inputText>
+ <h:inputText value="#{row.text}"></h:inputText>
+ <h:outputText escape="false" value="<br>" ></h:outputText>
+ </a4j:repeat>
+ </h:form>
+ </f:view>
+ </body>
+</html>
Added: trunk/samples/useCases/src/main/webapp/pages/repeat.xhtml
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/repeat.xhtml (rev 0)
+++ trunk/samples/useCases/src/main/webapp/pages/repeat.xhtml 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,26 @@
+<!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:a4j="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <head>
+ <title>Repeater with input components</title>
+ </head>
+ <body>
+ <f:view>
+ <h:form>
+ <h:panelGroup id="repeat">
+ <a4j:repeat value="#{repeatData.data}" var="row">
+ <h:selectBooleanCheckbox selected="true" />
+ <h:inputText value="Text"></h:inputText>
+ <h:inputText value="#{row.text}"></h:inputText>
+ <h:outputText escape="false" value="<br />" ></h:outputText>
+ </a4j:repeat>
+ </h:panelGroup>
+ <h:commandButton action="#{bean.ok}" value="Ok"></h:commandButton>
+ <a4j:commandButton action="#{bean.ok}" value="Ok ajax" reRender="repeat"></a4j:commandButton>
+
+ </h:form>
+ </f:view>
+ </body>
+</html>
Added: trunk/samples/useCases/src/main/webapp/pages/setCookie.xhtml
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/setCookie.xhtml (rev 0)
+++ trunk/samples/useCases/src/main/webapp/pages/setCookie.xhtml 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,22 @@
+<!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:a4j="https://ajax4jsf.dev.java.net/ajax">
+<f:view>
+ <head>
+ <meta http-equiv="content-type" content="text/xhtml; charset=UTF-8"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="expires" content="0"/>
+ <title>Set Cookie</title>
+ </head>
+ <body>
+ <a4j:form>
+ <a4j:commandButton action="#{bean.setCookie}" value="Set Cookie by AJAX"/>
+ <h:commandButton action="#{bean.setCookie}" value="Set Cookie in POST"/>
+ </a4j:form>
+ </body>
+</f:view>
+</html>
Added: trunk/samples/useCases/src/main/webapp/pages/testCookie.xhtml
===================================================================
--- trunk/samples/useCases/src/main/webapp/pages/testCookie.xhtml (rev 0)
+++ trunk/samples/useCases/src/main/webapp/pages/testCookie.xhtml 2007-05-01 01:07:48 UTC (rev 144)
@@ -0,0 +1,21 @@
+<!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:a4j="https://ajax4jsf.dev.java.net/ajax">
+<f:view>
+ <head>
+ <meta http-equiv="content-type" content="text/xhtml; charset=UTF-8"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="expires" content="0"/>
+ <title>Test Cookie</title>
+ </head>
+ <body>
+ <a4j:form>
+ <h:outputText value="Cookie value: #{bean.testCookie}"/>
+ </a4j:form>
+ </body>
+</f:view>
+</html>
More information about the ajax4jsf-svn-commits
mailing list