[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="&lt;br /&gt;" ></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