[richfaces-svn-commits] JBoss Rich Faces SVN: r11554 - in trunk/samples/orderingListDemo/src/main: webapp/WEB-INF and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Dec 4 11:43:07 EST 2008


Author: nbelaevski
Date: 2008-12-04 11:43:07 -0500 (Thu, 04 Dec 2008)
New Revision: 11554

Added:
   trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBean.java
   trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBeanConverter.java
Modified:
   trunk/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java
   trunk/samples/orderingListDemo/src/main/webapp/WEB-INF/faces-config.xml
   trunk/samples/orderingListDemo/src/main/webapp/pages/index.jsp
Log:
https://jira.jboss.org/jira/browse/RF-4539

Modified: trunk/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java
===================================================================
--- trunk/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java	2008-12-04 16:12:22 UTC (rev 11553)
+++ trunk/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java	2008-12-04 16:43:07 UTC (rev 11554)
@@ -24,7 +24,6 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-import java.util.Random;
 
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIOutput;
@@ -37,6 +36,9 @@
  */
 public class Bean {
 	private List lists = new ArrayList();
+
+	private List<ConvertableDemoBean> genericLists = new ArrayList<ConvertableDemoBean>();
+
 	private String [] simpleItems = new String [] {
 			"First", "Second", "Third", "Fourth"	
 	};
@@ -48,6 +50,10 @@
 			lists.add(new OrderingListDemoBean());
 		}
 	
+		for (int i = 0; i < 10; i++) {
+			genericLists.add(new ConvertableDemoBean("#" + i, i));
+		}
+
 		for (int i = 0; i < 6; i++) {
 			zebraItems.add(String.valueOf(i));
 		}
@@ -61,6 +67,14 @@
 		this.lists = lists;
 	}
 
+	public List<ConvertableDemoBean> getGenericList() {
+		return this.genericLists;
+	}
+	
+	public void setGenericList(List<ConvertableDemoBean> list) {
+		this.genericLists = list;
+	}
+
 	public String[] getSimpleItems() {
 		return simpleItems;
 	}

Added: trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBean.java
===================================================================
--- trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBean.java	                        (rev 0)
+++ trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBean.java	2008-12-04 16:43:07 UTC (rev 11554)
@@ -0,0 +1,96 @@
+/**
+ * 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.richfaces;
+
+import java.io.Serializable;
+
+/**
+ * @author Nick Belaevski
+ * @since 3.3.0
+ */
+public class ConvertableDemoBean implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6202523836189784862L;
+
+	private String name;
+	
+	private int value;
+
+	/**
+	 * @return the name
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * @return the value
+	 */
+	public int getValue() {
+		return value;
+	}
+
+	/* (non-Javadoc)
+	 * @see java.lang.Object#hashCode()
+	 */
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((name == null) ? 0 : name.hashCode());
+		result = prime * result + value;
+		return result;
+	}
+
+	/* (non-Javadoc)
+	 * @see java.lang.Object#equals(java.lang.Object)
+	 */
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		ConvertableDemoBean other = (ConvertableDemoBean) obj;
+		if (name == null) {
+			if (other.name != null)
+				return false;
+		} else if (!name.equals(other.name))
+			return false;
+		if (value != other.value)
+			return false;
+		return true;
+	}
+
+	public ConvertableDemoBean(String name, int value) {
+		super();
+		this.name = name;
+		this.value = value;
+	}
+
+}

Added: trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBeanConverter.java
===================================================================
--- trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBeanConverter.java	                        (rev 0)
+++ trunk/samples/orderingListDemo/src/main/java/org/richfaces/ConvertableDemoBeanConverter.java	2008-12-04 16:43:07 UTC (rev 11554)
@@ -0,0 +1,58 @@
+/**
+ * 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.richfaces;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+
+/**
+ * @author Nick Belaevski
+ * @since 3.3.0
+ */
+public class ConvertableDemoBeanConverter implements Converter {
+
+	public Object getAsObject(FacesContext context, UIComponent component,
+			String value) {
+
+		if (value == null || value.length() == 0) {
+			return null;
+		}
+		
+		String[] split = value.split(":");
+		
+		return new ConvertableDemoBean(split[0], Integer.valueOf(split[1]));
+	}
+
+	public String getAsString(FacesContext context, UIComponent component,
+			Object value) {
+
+		if (value == null) {
+			return "";
+		}
+
+		ConvertableDemoBean convertableDemoBean = (ConvertableDemoBean) value;
+		return convertableDemoBean.getName() + ":" + convertableDemoBean.getValue();
+	}
+
+}

Modified: trunk/samples/orderingListDemo/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/samples/orderingListDemo/src/main/webapp/WEB-INF/faces-config.xml	2008-12-04 16:12:22 UTC (rev 11553)
+++ trunk/samples/orderingListDemo/src/main/webapp/WEB-INF/faces-config.xml	2008-12-04 16:43:07 UTC (rev 11554)
@@ -26,5 +26,10 @@
 		<managed-bean-name>converter</managed-bean-name>
 		<managed-bean-class>org.richfaces.OptionItemConverter</managed-bean-class>
 		<managed-bean-scope>application</managed-bean-scope>
-	</managed-bean>
+	</managed-bean>
+	
+	<converter>
+		<converter-for-class>org.richfaces.ConvertableDemoBean</converter-for-class>
+		<converter-class>org.richfaces.ConvertableDemoBeanConverter</converter-class>
+	</converter>
 </faces-config>

Modified: trunk/samples/orderingListDemo/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/samples/orderingListDemo/src/main/webapp/pages/index.jsp	2008-12-04 16:12:22 UTC (rev 11553)
+++ trunk/samples/orderingListDemo/src/main/webapp/pages/index.jsp	2008-12-04 16:43:07 UTC (rev 11554)
@@ -227,6 +227,13 @@
 							</h:column>
 						</ol:orderingList>
 					</h:panelGroup>
+
+					<h:panelGroup>
+						<ol:orderingList value="#{bean.genericList}" var="var">
+							<h:column><h:outputText value="#{var.name}" /></h:column>
+							<h:column><h:outputText value="#{var.value}" /></h:column>
+						</ol:orderingList>
+					</h:panelGroup>
 				</h:panelGrid>
 				<a4j:commandButton value="Ajax Submit" reRender="orderingList1" />
 				<h:commandButton value="Add item" action="#{demoBean.addItem}" />




More information about the richfaces-svn-commits mailing list