[richfaces-svn-commits] JBoss Rich Faces SVN: r12147 - in trunk: samples/beanValidatorSample and 12 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Jan 7 20:45:32 EST 2009


Author: alexsmirnov
Date: 2009-01-07 20:45:32 -0500 (Wed, 07 Jan 2009)
New Revision: 12147

Added:
   trunk/samples/beanValidatorSample/src/main/java/org/richfaces/PageDescriptionBean.java
   trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Pages.java
   trunk/samples/beanValidatorSample/src/main/webapp/css/
   trunk/samples/beanValidatorSample/src/main/webapp/css/grids-min.css
   trunk/samples/beanValidatorSample/src/main/webapp/css/grids.css
   trunk/samples/beanValidatorSample/src/main/webapp/css/reset-fonts-grids.css
   trunk/samples/beanValidatorSample/src/main/webapp/img/
   trunk/samples/beanValidatorSample/src/main/webapp/img/bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/btn.bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/cal-next.png
   trunk/samples/beanValidatorSample/src/main/webapp/img/cal-prev.png
   trunk/samples/beanValidatorSample/src/main/webapp/img/cnt.bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/dtpick.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.ad.jpg
   trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.bar.jpg
   trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.title.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/header_line.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/input.bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/sdb.bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/spinner.gif
   trunk/samples/beanValidatorSample/src/main/webapp/img/th.bg.gif
   trunk/samples/beanValidatorSample/src/main/webapp/include/
   trunk/samples/beanValidatorSample/src/main/webapp/include/pagesList.xhtml
   trunk/samples/beanValidatorSample/src/main/webapp/layout/
   trunk/samples/beanValidatorSample/src/main/webapp/layout/pageTemplate.xhtml
   trunk/samples/beanValidatorSample/src/main/webapp/layout/template.xhtml
   trunk/samples/beanValidatorSample/src/main/webapp/pages/ajaxValidation.xhtml
   trunk/samples/beanValidatorSample/src/main/webapp/pages/textValidation.xhtml
   trunk/samples/beanValidatorSample/src/main/webapp/src/
   trunk/samples/beanValidatorSample/src/main/webapp/src/org/
   trunk/samples/beanValidatorSample/src/main/webapp/src/org/richfaces/
   trunk/samples/beanValidatorSample/src/main/webapp/src/org/richfaces/Bean.java
Removed:
   trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Bean.java
Modified:
   trunk/framework/impl/src/main/java/org/ajax4jsf/application/ComponentsLoaderImpl.java
   trunk/framework/impl/src/main/java/org/ajax4jsf/application/TreeStructureNode.java
   trunk/samples/beanValidatorSample/pom.xml
   trunk/samples/beanValidatorSample/src/main/webapp/WEB-INF/faces-config.xml
   trunk/samples/beanValidatorSample/src/main/webapp/pages/index.xhtml
   trunk/ui/beanValidator/src/main/java/org/richfaces/component/UIGraphValidator.java
Log:
Improve bean validation example.

Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/ComponentsLoaderImpl.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/ComponentsLoaderImpl.java	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/ComponentsLoaderImpl.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -76,4 +76,8 @@
 							+ type, e);
 		}
 	}
+
+	ClassLoader getClassLoader() {
+		return loader;
+	}
 }

Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/TreeStructureNode.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/TreeStructureNode.java	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/TreeStructureNode.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -124,37 +124,23 @@
 		return component;
 	}
 
-	// /**
-	// * @return the facets
-	// */
-	// public List<FacetEntry> getFacets() {
-	// return facets;
-	// }
-	//
-	// /**
-	// * @param facets
-	// * the facets to set
-	// */
-	// public void setFacets(List<FacetEntry> facets) {
-	// this.facets = facets;
-	// }
-	//
-	// /**
-	// * @return the children
-	// */
-	// public List<TreeStructureNode> getChildren() {
-	// return children;
-	// }
-	//
-	// /**
-	// * @param children
-	// * the children to set
-	// */
-	// public void setChildren(List<TreeStructureNode> children) {
-	// this.children = children;
-	// }
+	/**
+	 * @return the facets
+	 */
+	public List<FacetEntry> getFacets() {
+		return facets;
+	}
 
+
 	/**
+	 * @return the children
+	 */
+	public List<TreeStructureNode> getChildren() {
+		return children;
+	}
+
+
+	/**
 	 * @return the type
 	 */
 	public String getType() {
@@ -241,7 +227,7 @@
 	}
 
 	@SuppressWarnings("serial")
-	private static final class FacetEntry implements Externalizable {
+	static final class FacetEntry implements Externalizable {
 		private String name;
 		private TreeStructureNode node;
 

Modified: trunk/samples/beanValidatorSample/pom.xml
===================================================================
--- trunk/samples/beanValidatorSample/pom.xml	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/samples/beanValidatorSample/pom.xml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -21,6 +21,25 @@
 					<target>1.5</target>
 				</configuration>
 			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>build-helper-maven-plugin
+				</artifactId>
+				<executions>
+					<execution>
+						<id>add-source</id>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>add-source</goal>
+						</goals>
+						<configuration>
+							<sources>
+								<source>src/main/webapp/src</source>
+							</sources>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
 		</plugins>
 	</build>
 	<dependencies>
@@ -30,10 +49,23 @@
 			<version>3.8.1</version>
 			<scope>test</scope>
 		</dependency>
+		<!--
+			<dependency> <groupId>org.richfaces.ui</groupId>
+			<artifactId>beanValidator</artifactId>
+			<version>3.3.0-SNAPSHOT</version> </dependency>
+		-->
 		<dependency>
-			<groupId>org.richfaces.ui</groupId>
-			<artifactId>beanValidator</artifactId>
-			<version>3.3.0-SNAPSHOT</version>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-validator</artifactId>
+			<version>3.1.0.GA</version>
+			<exclusions>
+				<!--
+					<exclusion> <artifactId>hibernate-core</artifactId>
+					<groupId>org.hibernate</groupId> </exclusion> <exclusion>
+					<artifactId>slf4j-api</artifactId> <groupId>org.slf4j</groupId>
+					</exclusion>
+				-->
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
@@ -45,5 +77,10 @@
 			<artifactId>richfaces-ui</artifactId>
 			<version>3.3.0-SNAPSHOT</version>
 		</dependency>
+		<dependency>
+			<groupId>com.uwyn</groupId>
+			<artifactId>jhighlight</artifactId>
+			<version>1.0</version>
+		</dependency>
 	</dependencies>
 </project>
\ No newline at end of file

Deleted: trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Bean.java
===================================================================
--- trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Bean.java	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Bean.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -1,29 +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.richfaces;
-/**
- * @author $Autor$
- *
- */
-public class Bean {
-	
-}
\ No newline at end of file

Added: trunk/samples/beanValidatorSample/src/main/java/org/richfaces/PageDescriptionBean.java
===================================================================
--- trunk/samples/beanValidatorSample/src/main/java/org/richfaces/PageDescriptionBean.java	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/java/org/richfaces/PageDescriptionBean.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,64 @@
+/**
+ * 
+ */
+package org.richfaces;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class PageDescriptionBean implements Comparable<PageDescriptionBean> {
+	
+	private String _path;
+	
+	private String _title;
+
+	/**
+	 * @return the path
+	 */
+	public String getPath() {
+		return _path;
+	}
+
+	/**
+	 * @param path the path to set
+	 */
+	public void setPath(String path) {
+		_path = path;
+	}
+
+	/**
+	 * @return the title
+	 */
+	public String getTitle() {
+		return _title;
+	}
+
+	/**
+	 * @param title the title to set
+	 */
+	public void setTitle(String title) {
+		_title = title;
+	}
+	
+	public String navigate() {
+		return getPath();
+	}
+	
+	public String getUrl(){
+		FacesContext context = FacesContext.getCurrentInstance();
+		String actionURL = context.getApplication().getViewHandler().getActionURL(context, getPath());
+		return context.getExternalContext().encodeActionURL(actionURL);
+	}
+
+    /* (non-Javadoc)
+     * @see java.lang.Comparable#compareTo(java.lang.Object)
+     */
+    public int compareTo(PageDescriptionBean o) {
+        // compare paths
+        return getPath().compareToIgnoreCase(o.getPath());
+    }
+
+}


Property changes on: trunk/samples/beanValidatorSample/src/main/java/org/richfaces/PageDescriptionBean.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Pages.java
===================================================================
--- trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Pages.java	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Pages.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,128 @@
+/**
+ * 
+ */
+package org.richfaces;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.faces.FacesException;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+/**
+ * @author asmirnov
+ * 
+ */
+
+public class Pages {
+
+	private static final Pattern JSP_PATTERN = Pattern.compile(".*\\.jspx?");
+
+	private static final Pattern XHTML_PATTERN = Pattern.compile(".*\\.xhtml");
+
+	private static final Pattern TITLE_PATTERN = Pattern.compile(
+			"<h1>(.*)</h1>", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
+
+	private List<PageDescriptionBean> _jspPages;
+
+	private String _path="/pages";
+
+	private List<PageDescriptionBean> _xhtmlPages;
+
+	/**
+	 * @return the path
+	 */
+	public String getPath() {
+		return _path;
+	}
+
+	/**
+	 * @param path
+	 *            the path to set
+	 */
+	public void setPath(String path) {
+		_path = path;
+	}
+
+	public List<PageDescriptionBean> getJspPages() {
+		if (_jspPages == null && null != getExternalContext()) {
+			_jspPages = getPagesByPattern(JSP_PATTERN);
+		}
+
+		return _jspPages;
+	}
+
+	private ExternalContext getExternalContext() {
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+
+		ExternalContext externalContext = null;
+		if (null != facesContext) {
+			externalContext = facesContext.getExternalContext();
+		}
+		return externalContext;
+	}
+
+	public List<PageDescriptionBean> getXhtmlPages() {
+		if (_xhtmlPages == null && null != getExternalContext()) {
+			_xhtmlPages = getPagesByPattern(XHTML_PATTERN);
+		}
+
+		return _xhtmlPages;
+	}
+
+	/**
+	 * 
+	 */
+	private List<PageDescriptionBean> getPagesByPattern(Pattern pattern) {
+		List<PageDescriptionBean> jspPages = new ArrayList<PageDescriptionBean>();
+		Set<String> resourcePaths = getExternalContext().getResourcePaths(
+				getPath());
+		for (Iterator<String> iterator = resourcePaths.iterator(); iterator
+				.hasNext();) {
+			String page = iterator.next();
+			if (pattern.matcher(page).matches()) {
+				PageDescriptionBean pageBean = new PageDescriptionBean();
+				pageBean.setPath(page);
+				InputStream pageInputStream = getExternalContext()
+						.getResourceAsStream(page);
+				if (null != pageInputStream) {
+					byte[] head = new byte[1024];
+					try {
+						int readed = pageInputStream.read(head);
+						String headString = new String(head, 0, readed);
+						Matcher titleMatcher = TITLE_PATTERN
+								.matcher(headString);
+						if (titleMatcher.find()
+								&& titleMatcher.group(1).length() > 0) {
+							pageBean.setTitle(titleMatcher.group(1));
+						} else {
+							pageBean.setTitle(page);
+						}
+					} catch (IOException e) {
+						throw new FacesException(
+								"can't read directory content", e);
+					} finally {
+						try {
+							pageInputStream.close();
+						} catch (IOException e) {
+							// ignore it.
+						}
+					}
+				}
+				jspPages.add(pageBean);
+			}
+		}
+		Collections.sort(jspPages);
+		return jspPages;
+	}
+
+
+}


Property changes on: trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Pages.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/samples/beanValidatorSample/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/WEB-INF/faces-config.xml	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/samples/beanValidatorSample/src/main/webapp/WEB-INF/faces-config.xml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -22,4 +22,9 @@
  	<managed-bean-class>org.richfaces.MinMaxBean</managed-bean-class>
  	<managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
+ <managed-bean>
+ 	<managed-bean-name>pages</managed-bean-name>
+ 	<managed-bean-class>org.richfaces.Pages</managed-bean-class>
+ 	<managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
 </faces-config>

Added: trunk/samples/beanValidatorSample/src/main/webapp/css/grids-min.css
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/css/grids-min.css	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/css/grids-min.css	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,7 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.2
+*/
+body{text-align:center;}#ft{clear:both;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;min-width:750px;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right!
 ;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.y!
 ui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.
first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin!
 -right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}s .yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb!
  .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-
gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
\ No newline at end of file


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/css/grids-min.css
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/webapp/css/grids.css
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/css/grids.css	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/css/grids.css	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,283 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.2
+*/
+/*
+	Note: Throughout this file, the *property filter is used to 
+	      give a value to IE that other browsers do not see.	
+*/
+
+/*
+	Section: General Rules
+*/
+
+	body {
+		text-align:center;
+	}
+	
+	#ft {
+		clear:both;
+	}
+
+/*
+	Section: Page Width Rules (#doc, #doc2, #doc3, #doc4)
+*/
+
+	/* 
+		Subsection: General 
+	*/ 	
+
+	#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7 {
+		margin:auto;
+		text-align:left;
+		width:57.69em;*width:56.25em;
+		min-width:750px;
+	}
+	/* 
+		Subsection: 950 Centered (doc2) 
+	*/
+	#doc2 {
+		width:73.076em;*width:71.25em;
+	}
+
+	/* 
+		Subsection: 100% (doc3) 
+	*/
+	#doc3 {
+		/* Left and Right margins are not a structural part of Grids. Without them Grids
+		   works fine, but content bleeds to the very edge of the document, which often
+		   impairs readability and usability. They are 
+		   provided because they prevent the content from "bleeding" into the browser's chrome.*/
+		margin:auto 10px; 
+		width:auto;
+	}
+	
+	/* 
+		Subsection: 974 Centered (doc4) 
+	*/
+	#doc4 {
+		width:74.923em;*width:73.05em;
+	}	
+	
+/*
+	Section: Preset Template Rules (.yui-t[1-6])
+*/
+	
+	/* 
+		Subsection: General
+	*/
+
+	/* to preserve source-order independence for Gecko */
+	.yui-b{position:relative;}
+	.yui-b{_position:static;}
+	.yui-main .yui-b{position:static;}
+
+	.yui-main {width:100%;}
+		
+	.yui-t1 .yui-main,
+	.yui-t2 .yui-main,
+	.yui-t3 .yui-main{float:right;margin-left:-25em;/* IE: preserve layout at narrow widths */}
+
+	.yui-t4 .yui-main,
+	.yui-t5 .yui-main,
+	.yui-t6 .yui-main{float:left;margin-right:-25em;/* IE: preserve layout at narrow widths */}
+
+	/* 
+		Subsection: For Specific Template Presets
+	*/
+
+	.yui-t1 .yui-b {float:left;width:12.30769em;*width:12.00em;}
+	.yui-t1 .yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}
+
+	.yui-t2 .yui-b {float:left;width:13.8461em;*width:13.50em;}
+	.yui-t2 .yui-main .yui-b {margin-left:14.8461em;*margin-left:14.55em;}
+
+	.yui-t3 .yui-b {float:left;width:23.0769em;*width:22.50em;}
+	.yui-t3 .yui-main .yui-b {margin-left:24.0769em;*margin-left:23.62em;}
+
+	.yui-t4 .yui-b {float:right;width:13.8456em;*width:13.50em;}
+	.yui-t4 .yui-main .yui-b {margin-right:14.8456em;*margin-right:14.55em;}
+
+	.yui-t5 .yui-b {float:right;width:18.4615em;*width:18.00em;}
+	.yui-t5 .yui-main .yui-b {margin-right:19.4615em;*margin-right:19.125em;}
+
+	.yui-t6 .yui-b {float:right;width:23.0769em;*width:22.50em;}
+	.yui-t6 .yui-main .yui-b {margin-right:24.0769em;*margin-right:23.62em;}
+
+	.yui-t7 .yui-main .yui-b {
+		display:block;margin:0 0 1em 0;
+	}
+	.yui-main .yui-b {float:none;width:auto;}
+
+/*
+	Section: Grids and Nesting Grids
+*/
+
+	/*
+		Subsection: Children generally take half the available space
+	*/
+
+	.yui-gb .yui-u,
+	.yui-g .yui-gb .yui-u,
+	.yui-gb .yui-g,
+	.yui-gb .yui-gb,
+	.yui-gb .yui-gc,
+	.yui-gb .yui-gd,
+	.yui-gb .yui-ge,
+	.yui-gb .yui-gf,
+	.yui-gc .yui-u, 
+	.yui-gc .yui-g,
+	.yui-gd .yui-u {float:left;}
+
+	/*Float units (and sub grids) to the right */
+	.yui-g .yui-u,
+	.yui-g .yui-g,
+	.yui-g .yui-gb, 
+	.yui-g .yui-gc, 
+	.yui-g .yui-gd, 
+	.yui-g .yui-ge, 
+	.yui-g .yui-gf, 
+	.yui-gc .yui-u, 
+	.yui-gd .yui-g,
+	.yui-g .yui-gc .yui-u,
+	.yui-ge .yui-u, 
+	.yui-ge .yui-g, 
+	.yui-gf .yui-g,
+	.yui-gf .yui-u{float:right;}
+
+	/*Float units (and sub grids) to the left */
+	.yui-g div.first, 
+	.yui-gb div.first,
+	.yui-gc div.first,
+	.yui-gd div.first, 
+	.yui-ge div.first, 
+	.yui-gf div.first,
+	.yui-g .yui-gc div.first,
+	.yui-g .yui-ge div.first,
+	.yui-gc div.first div.first {float:left;}
+
+	.yui-g .yui-u,
+	.yui-g .yui-g,
+	.yui-g .yui-gb,
+	.yui-g .yui-gc,
+	.yui-g .yui-gd,
+	.yui-g .yui-ge,
+	.yui-g .yui-gf {width:49.1%;}
+
+	.yui-gb .yui-u,
+	.yui-g .yui-gb .yui-u,
+	.yui-gb .yui-g,
+	.yui-gb .yui-gb,
+	.yui-gb .yui-gc,
+	.yui-gb .yui-gd,
+	.yui-gb .yui-ge,
+	.yui-gb .yui-gf,
+	.yui-gc .yui-u, 
+	.yui-gc .yui-g,
+	.yui-gd .yui-u {width:32%;margin-left:1.99%;}
+
+		/* Give IE some extra breathing room for 1/3-based rounding issues */
+		.yui-gb .yui-u {*margin-left:1.9%;*width:31.9%;}
+
+	.yui-gc div.first, 
+	.yui-gd .yui-u {width:66%;}
+	.yui-gd div.first {width:32%;}
+
+	.yui-ge div.first, 
+	.yui-gf .yui-u{width:74.2%;}
+
+	.yui-ge .yui-u,
+	.yui-gf div.first {width:24%;}
+
+	.yui-g .yui-gb div.first,
+	.yui-gb div.first, 
+	.yui-gc div.first, 
+	.yui-gd div.first {margin-left:0;}
+	   
+	/*
+		Section: Deep Nesting 
+	*/
+	.yui-g .yui-g .yui-u,
+	.yui-gb .yui-g .yui-u,
+	.yui-gc .yui-g .yui-u,
+	.yui-gd .yui-g .yui-u,
+	.yui-ge .yui-g .yui-u,
+	.yui-gf .yui-g .yui-u {width:49%;*width:48.1%;*margin-left:0;}
+
+	.yui-g .yui-gb div.first,
+	.yui-gb .yui-gb div.first {*margin-right:0;*width:32%;_width:31.7%;}
+
+	.yui-g .yui-gc div.first, 
+	.yui-gd .yui-g  {width:66%;}
+
+	.yui-gb .yui-g div.first {*margin-right:4%;_margin-right:1.3%;}
+
+	.yui-gb .yui-gc div.first, 
+	.yui-gb .yui-gd div.first  {*margin-right:0;}
+
+	.yui-gb .yui-gb .yui-u,
+	.yui-gb .yui-gc .yui-u {*margin-left:1.8%;_margin-left:4%;}
+
+	.yui-g .yui-gb .yui-u {_margin-left:1.0%;}
+
+	.yui-gb .yui-gd .yui-u {*width:66%;_width:61.2%;} 
+	.yui-gb .yui-gd div.first {*width:31%;_width:29.5%;}
+
+	.yui-g .yui-gc .yui-u, 
+	.yui-gb .yui-gc .yui-u {width:32%;_float:right;margin-right:0;_margin-left:0;}
+	.yui-gb .yui-gc div.first {width:66%;*float:left;*margin-left:0;}
+
+	.yui-gb .yui-ge .yui-u, 
+	.yui-gb .yui-gf .yui-u {margin:0;}
+
+	.yui-gb .yui-gb .yui-u {_margin-left:.7%;}
+
+	.yui-gb .yui-g div.first, 
+	.yui-gb .yui-gb div.first {*margin-left:0;}
+
+	.yui-gc .yui-g .yui-u,
+	.yui-gd .yui-g .yui-u {*width:48.1%;*margin-left:0;}s
+
+	.yui-gb .yui-gd div.first {width:32%;}
+	.yui-g .yui-gd div.first {_width:29.9%;}
+
+	.yui-ge .yui-g {width:24%;}
+	.yui-gf .yui-g {width:74.2%;}
+
+	.yui-gb .yui-ge div.yui-u,
+	.yui-gb .yui-gf div.yui-u {float:right;}
+	.yui-gb .yui-ge div.first,
+	.yui-gb .yui-gf div.first  {float:left;}
+
+	/* Width Accommodation for Nested Contexts */
+	.yui-gb .yui-ge .yui-u,
+	.yui-gb .yui-gf div.first {*width:24%;_width:20%;}
+
+	/* Width Accommodation for Nested Contexts */
+	.yui-gb .yui-ge div.first, 
+	.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}
+
+	/* Patch for GD within GE */
+	.yui-ge div.first .yui-gd .yui-u {width:65%;}
+	.yui-ge div.first .yui-gd div.first {width:32%;}
+
+/*
+	Section: Clearing 
+*/
+
+#bd:after,
+.yui-g:after, 
+.yui-gb:after, 
+.yui-gc:after, 
+.yui-gd:after, 
+.yui-ge:after, 
+.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
+#bd,
+.yui-g, 
+.yui-gb, 
+.yui-gc, 
+.yui-gd, 
+.yui-ge, 
+.yui-gf{zoom:1;}


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/css/grids.css
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/webapp/css/reset-fonts-grids.css
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/css/reset-fonts-grids.css	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/css/reset-fonts-grids.css	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,8 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.2
+*/
+html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;font-variant:normal;}sup {vertical-align:text-top;}sub {vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
+body{text-align:center;}#ft{clear:both;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;min-width:750px;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right!
 ;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.y!
 ui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.
first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin!
 -right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}s .yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb!
  .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-
gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
\ No newline at end of file


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/css/reset-fonts-grids.css
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/btn.bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/btn.bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/cal-next.png
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/cal-next.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/cal-prev.png
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/cal-prev.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/cnt.bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/cnt.bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/dtpick.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/dtpick.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.ad.jpg
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.ad.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.bar.jpg
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.bar.jpg
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.title.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/hdr.title.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/header_line.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/header_line.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/input.bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/input.bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/sdb.bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/sdb.bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/spinner.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/spinner.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/img/th.bg.gif
===================================================================
(Binary files differ)


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/img/th.bg.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/samples/beanValidatorSample/src/main/webapp/include/pagesList.xhtml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/include/pagesList.xhtml	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/include/pagesList.xhtml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,20 @@
+<!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:f="http://java.sun.com/jsf/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:c="http://java.sun.com/jsp/jstl/core"  
+      >
+      <ui:composition>
+       <h:form>
+         <h:dataTable value="#{pages.xhtmlPages}" var="page">
+           <h:column>
+              <h:outputLink value="#{page.url}">
+              	<h:outputText value="#{page.title}" escape="false"/>            	  
+              </h:outputLink>
+           </h:column>
+         </h:dataTable>
+       </h:form>
+      </ui:composition>
+</html>	
\ No newline at end of file


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/include/pagesList.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/webapp/layout/pageTemplate.xhtml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/layout/pageTemplate.xhtml	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/layout/pageTemplate.xhtml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,20 @@
+<!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:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich"
+	xmlns:s="http://jboss.com/products/seam/taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core">
+<ui:composition template="/layout/template.xhtml">
+	<ui:param name="title" value="Title" />
+	<!-- Page header -->
+	<ui:define name="header">
+		<h1><!-- insert header here --></h1>
+	</ui:define>
+	<!-- content -->
+	<ui:define name="content">
+	</ui:define>
+</ui:composition>
+</html>


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/layout/pageTemplate.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/webapp/layout/template.xhtml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/layout/template.xhtml	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/layout/template.xhtml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,48 @@
+<a:page 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:s="http://jboss.com/products/seam/taglib"
+	xmlns:a="http://richfaces.org/a4j" 
+	xmlns:rich="http://richfaces.org/rich"
+	pageTitle="#{title}" format="xhtml">
+	<a:loadStyle src="/css/grids.css" />
+	<a:loadStyle src="resource://css/panel.xcss" />
+	<a:loadStyle src="resource://css/table.xcss" />
+	<div id="doc3" class="yui-t3 dr-pnl">
+	<div id="hd" class="dr-pnl-h">
+		<h1>RichFaces Validation components examples</h1>
+	<ui:insert name="header" /></div>
+	<div id="bd">
+	<div class="yui-b">
+		<!-- YOUR NAVIGATION GOES HERE -->
+		<ui:include src="/include/pagesList.xhtml" />
+	</div>
+	<div class="yui-main">
+	<div class="yui-b">
+		<!-- YOUR DATA GOES HERE -->
+		<rich:tabPanel switchType="ajax">
+			<rich:tab label="Usage">
+				<ui:insert name="content" />				
+			</rich:tab>
+			<rich:tab label="Page Source">
+				<rich:insert  src="#{facesContext.viewRoot.viewId}" highlight="xhtml"/>				
+			</rich:tab>
+			<rich:tab label="Java Source" rendered="#{!empty javaBean}">
+				<rich:insert  src="/src/#{javaBean}" highlight="java"/>				
+			</rich:tab>
+		</rich:tabPanel>
+	</div>
+	</div>
+	</div>
+	<div id="ft" class="dr-table-footer">
+	   <div class="yui-ge dr-table-footercell">
+	      <div class="yui-u first">
+	        Built with RichFaces #{a4j.version}
+	      </div>
+	      <div class="yui-u" style="text-align:right">
+	      	&#169; 2007 Exadel, Inc.
+	      </div>
+	   </div>
+	</div>
+	</div>
+</a:page>
\ No newline at end of file


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/layout/template.xhtml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/plain

Added: trunk/samples/beanValidatorSample/src/main/webapp/pages/ajaxValidation.xhtml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/pages/ajaxValidation.xhtml	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/pages/ajaxValidation.xhtml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,32 @@
+<!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:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich"
+	xmlns:s="http://jboss.com/products/seam/taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core">
+<ui:composition template="/layout/template.xhtml">
+	<ui:param name="title" value="&lt;rich:ajaxValidator&gt; usage" />
+	<ui:param name="javaBean" value="org/richfaces/Bean.java" />
+	<!-- Page header -->
+	<ui:define name="header">
+		<h1>&lt;rich:ajaxValidator&gt; usage</h1>
+	</ui:define>
+	<!-- content -->
+	<ui:define name="content">
+	<h:form id="form">
+			<h:panelGrid columns="3">
+			<h:outputLabel for="text" value="Enter Id" />
+			<h:inputText id="text" value="#{bean.text}" label="Id">
+				<rich:ajaxValidator event="onkeyup" summary="Invalid Id"/>
+			</h:inputText>
+			<rich:message for="text" showDetail="true" showSummary="true" />
+			</h:panelGrid>
+					<h:commandButton value="Submit"></h:commandButton>
+			<rich:messages/>
+		</h:form>
+	</ui:define>
+</ui:composition>
+</html>
\ No newline at end of file


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/pages/ajaxValidation.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/samples/beanValidatorSample/src/main/webapp/pages/index.xhtml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/pages/index.xhtml	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/samples/beanValidatorSample/src/main/webapp/pages/index.xhtml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -3,16 +3,18 @@
 	xmlns:f="http://java.sun.com/jsf/core"
 	xmlns:h="http://java.sun.com/jsf/html"
 	xmlns:ui="http://java.sun.com/jsf/facelets"
-	xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
-	xmlns:c="http://java.sun.com/jsp/jstl/core"
+	xmlns:a4j="http://richfaces.org/a4j"
 	xmlns:rich="http://richfaces.org/rich"
-	xmlns:v="http://labs.jboss.com/jbossrichfaces/ui/beanValidator">
-<head>
-<title>Hibernate validator test</title>
-</head>
-<body>
-<h1>Using Hibernate validator annotations in the JSF beans</h1>
-<f:view>
+	xmlns:s="http://jboss.com/products/seam/taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core">
+<ui:composition template="/layout/template.xhtml">
+	<ui:param name="title" value="Hibernate validator test" />
+	<!-- Page header -->
+	<ui:define name="header">
+		<h1>Using Hibernate validator annotations in the JSF beans</h1>
+	</ui:define>
+	<!-- content -->
+	<ui:define name="content">
 	<h:form id="form">
 		<rich:panel>
 			<f:facet name="header">
@@ -21,12 +23,12 @@
 			<h:panelGrid columns="3">
 			<h:outputLabel for="ltext" value="#{lengthBean.textDescription}" />
 			<h:inputText id="ltext" value="#{lengthBean.text}" label="3-letter text">
-				<v:ajaxValidator event="onkeyup" summary="Invalid Id"/>
+				<rich:ajaxValidator event="onkeyup" summary="Invalid Id"/>
 			</h:inputText>
 			<rich:message for="ltext" showDetail="true" showSummary="true" />
 			<h:outputLabel for="mtext" value="#{minMaxBean.intDescription}" />
 			<h:inputText id="mtext" value="#{minMaxBean.intValue}" label="value">
-				<v:ajaxValidator event="onkeyup" summary="Invalid value"/>
+				<rich:ajaxValidator event="onkeyup" summary="Invalid value"/>
 			</h:inputText>
 			<rich:message for="mtext" showDetail="true" showSummary="true" />
 			</h:panelGrid>
@@ -37,7 +39,7 @@
 	<h:form id="form1">
 		<h2>Input fields with label and message in the JSF dataTable.
 		Each field validated by AJAX on 'onblur' event</h2>
-		<v:graphValidator value="#{data}">
+		<rich:graphValidator value="#{data}">
 			<rich:dataTable value="#{data.beans}" var="bean" id="table">
 				<f:facet name="header">
 					<h:outputText
@@ -50,7 +52,7 @@
 					</f:facet>
 					<h:outputLabel for="text" value="#{bean.textDescription}" />
 					<h:inputText id="text" value="#{bean.text}">
-						<v:ajaxValidator event="onblur"
+						<rich:ajaxValidator event="onblur"
 							ajaxListener="#{data.ajaxListener}" summary="#{bean.textSummary}"/>
 					</h:inputText>
 					<rich:message for="text" showDetail="true" showSummary="true" />
@@ -61,7 +63,7 @@
 					</f:facet>
 					<h:outputLabel for="intValue" value="#{bean.intDescription}" />
 					<h:inputText id="intValue" value="#{bean.intValue}">
-						<v:ajaxValidator event="onblur" summary="#{bean.intSummary}"/>
+						<rich:ajaxValidator event="onblur" summary="#{bean.intSummary}"/>
 					</h:inputText>
 					<rich:message for="intValue" showDetail="true" showSummary="true" />
 				</h:column>
@@ -72,7 +74,7 @@
 					</h:panelGroup>
 				</f:facet>
 			</rich:dataTable>
-		</v:graphValidator>
+		</rich:graphValidator>
 		</h:form>
 	<h:form id="form2">
 		<h2>Input fields with label and message in the JSF dataTable.
@@ -90,7 +92,7 @@
 				</f:facet>
 				<h:outputLabel for="text" value="#{bean.textDescription}" />
 				<h:inputText id="text" value="#{bean.text}">
-					<v:beanValidator summary="Invalid text"/>
+					<rich:beanValidator summary="Invalid text"/>
 				</h:inputText>
 				<rich:message for="text"  />
 			</h:column>
@@ -100,7 +102,7 @@
 				</f:facet>
 				<h:outputLabel for="intValue" value="#{bean.intDescription}" />
 				<h:inputText id="intValue" value="#{bean.intValue}">
-					<v:beanValidator summary="Invalid number"/>
+					<rich:beanValidator summary="Invalid number"/>
 				</h:inputText>
 				<rich:message for="intValue"  />
 			</h:column>
@@ -114,6 +116,6 @@
 
 	</h:form>
 	<rich:messages />
-</f:view>
-</body>
+	</ui:define>
+</ui:composition>
 </html>

Added: trunk/samples/beanValidatorSample/src/main/webapp/pages/textValidation.xhtml
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/pages/textValidation.xhtml	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/pages/textValidation.xhtml	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,31 @@
+<!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:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich"
+	xmlns:s="http://jboss.com/products/seam/taglib"
+	xmlns:c="http://java.sun.com/jsp/jstl/core">
+<ui:composition template="/layout/template.xhtml">
+	<ui:param name="title" value="&lt;rich:beanValidator&gt; usage" />
+	<!-- Page header -->
+	<ui:define name="header">
+		<h1>&lt;rich:beanValidator&gt; usage</h1>
+	</ui:define>
+	<!-- content -->
+	<ui:define name="content">
+	<h:form id="form">
+			<h:panelGrid columns="3">
+			<h:outputLabel for="text" value="Enter Id" />
+			<h:inputText id="text" value="#{bean.text}" label="Id">
+				<rich:beanValidator summary="Invalid Id"/>
+			</h:inputText>
+			<rich:message for="text" showDetail="true" showSummary="true" />
+			</h:panelGrid>
+					<h:commandButton value="Submit"></h:commandButton>
+			<rich:messages/>
+		</h:form>
+	</ui:define>
+</ui:composition>
+</html>


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/pages/textValidation.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: trunk/samples/beanValidatorSample/src/main/webapp/src/org/richfaces/Bean.java (from rev 12145, trunk/samples/beanValidatorSample/src/main/java/org/richfaces/Bean.java)
===================================================================
--- trunk/samples/beanValidatorSample/src/main/webapp/src/org/richfaces/Bean.java	                        (rev 0)
+++ trunk/samples/beanValidatorSample/src/main/webapp/src/org/richfaces/Bean.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -0,0 +1,53 @@
+/**
+ * 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 org.hibernate.validator.Length;
+import org.hibernate.validator.NotEmpty;
+
+/**
+ * JSF bean with text property validation.
+ */
+public class Bean {
+	
+	/**
+	 * Text property
+	 */
+	private String text;
+
+	/**
+	 * @return the text
+	 */
+	@NotEmpty
+	@Length(max=5)
+	public String getText() {
+		return text;
+	}
+
+	/**
+	 * @param text the text to set
+	 */
+	public void setText(String text) {
+		this.text = text;
+	}
+	
+}
\ No newline at end of file


Property changes on: trunk/samples/beanValidatorSample/src/main/webapp/src/org/richfaces/Bean.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/ui/beanValidator/src/main/java/org/richfaces/component/UIGraphValidator.java
===================================================================
--- trunk/ui/beanValidator/src/main/java/org/richfaces/component/UIGraphValidator.java	2009-01-08 00:26:52 UTC (rev 12146)
+++ trunk/ui/beanValidator/src/main/java/org/richfaces/component/UIGraphValidator.java	2009-01-08 01:45:32 UTC (rev 12147)
@@ -134,10 +134,11 @@
 				if (null != messages) {
 					context.renderResponse();
 					// send all validation messages.
+					String clientId = getClientId(context);
 					for (String msg : messages) {
 						// TODO - create Summary message ?
 						String summary = null != getSummary() ? getSummary() + msg : msg;
-						context.addMessage(null, new FacesMessage(
+						context.addMessage(clientId, new FacesMessage(
 								FacesMessage.SEVERITY_ERROR, summary, msg));
 					}
 				}




More information about the richfaces-svn-commits mailing list