cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aadamc...@apache.org
Subject svn commit: r419093 [7/8] - in /incubator/cayenne/examples/trunk/cayenne-petstore: ./ devlib/ dist/ lib/ src/ src/org/ src/org/objectstyle/ src/org/objectstyle/petstore/ src/org/objectstyle/petstore/dao/ src/org/objectstyle/petstore/dao/impl/ src/org/o...
Date Tue, 04 Jul 2006 20:47:15 GMT
Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/tld/struts-nested.tld
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/tld/struts-tiles.tld
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/tld/struts-tiles.tld?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/tld/struts-tiles.tld (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/tld/struts-tiles.tld Tue Jul  4 13:47:09 2006
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
+<taglib>
+  <tlibversion>1.2</tlibversion>
+  <jspversion>1.1</jspversion>
+  <shortname>tiles</shortname>
+  <uri>http://struts.apache.org/tags-tiles</uri>
+  <tag>
+    <name>insert</name>
+    <tagclass>org.apache.struts.taglib.tiles.InsertTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>template</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>component</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>page</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>definition</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>attribute</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanName</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanProperty</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanScope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>flush</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>ignore</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>role</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>controllerUrl</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>controllerClass</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>definition</name>
+    <tagclass>org.apache.struts.taglib.tiles.DefinitionTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>true</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>template</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>page</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>role</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>extends</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>put</name>
+    <tagclass>org.apache.struts.taglib.tiles.PutTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>content</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>direct</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>type</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanName</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanProperty</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanScope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>role</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>putList</name>
+    <tagclass>org.apache.struts.taglib.tiles.PutListTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>add</name>
+    <tagclass>org.apache.struts.taglib.tiles.AddTag</tagclass>
+    <bodycontent>JSP</bodycontent>
+    <attribute>
+      <name>value</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>content</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>direct</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>type</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanName</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanProperty</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>beanScope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>role</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>get</name>
+    <tagclass>org.apache.struts.taglib.tiles.GetTag</tagclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>ignore</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>flush</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>role</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>getAsString</name>
+    <tagclass>org.apache.struts.taglib.tiles.GetAttributeTag</tagclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>ignore</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>role</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>useAttribute</name>
+    <tagclass>org.apache.struts.taglib.tiles.UseAttributeTag</tagclass>
+    <teiclass>org.apache.struts.taglib.tiles.UseAttributeTei</teiclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>id</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>classname</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>ignore</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>importAttribute</name>
+    <tagclass>org.apache.struts.taglib.tiles.ImportAttributeTag</tagclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>name</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>ignore</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>
+  <tag>
+    <name>initComponentDefinitions</name>
+    <tagclass>org.apache.struts.taglib.tiles.InitDefinitionsTag</tagclass>
+    <bodycontent>empty</bodycontent>
+    <attribute>
+      <name>file</name>
+      <required>true</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+    <attribute>
+      <name>classname</name>
+      <required>false</required>
+      <rtexprvalue>false</rtexprvalue>
+    </attribute>
+  </tag>
+</taglib>
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/tld/struts-tiles.tld
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validation.xml
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validation.xml?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validation.xml (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validation.xml Tue Jul  4 13:47:09 2006
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!DOCTYPE form-validation PUBLIC
+    "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
+    "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
+
+<form-validation>
+
+  <formset>
+
+    <form name="/shop/newAccount">
+      <field
+          property="username"
+          depends="required">
+        <arg key="account.username.label"/>
+      </field>
+      <field
+          property="password"
+          depends="required">
+        <arg key="account.password.label"/>
+      </field>
+      <field
+          property="repeatedPassword"
+          depends="required">
+        <arg key="account.repeatPassword.label"/>
+      </field>
+      <field
+          property="account.firstName"
+          depends="required">
+        <arg key="account.firstName.label"/>
+      </field>
+      <field
+          property="account.lastName"
+          depends="required">
+        <arg key="account.lastName.label"/>
+      </field>
+      <field
+          property="account.email"
+          depends="required">
+        <arg key="account.email.label"/>
+      </field>
+      <field
+          property="account.phone"
+          depends="required">
+        <arg key="account.phone.label"/>
+      </field>
+      <field
+          property="account.address1"
+          depends="required">
+        <arg key="account.address1.label"/>
+      </field>
+      <field
+          property="account.city"
+          depends="required">
+        <arg key="account.city.label"/>
+      </field>
+      <field
+          property="account.state"
+          depends="required">
+        <arg key="account.state.label"/>
+      </field>
+      <field
+          property="account.zip"
+          depends="required">
+        <arg key="account.zip.label"/>
+      </field>
+      <field
+          property="account.country"
+          depends="required">
+        <arg key="account.country.label"/>
+      </field>
+    </form>
+
+    <form name="/shop/editAccount">
+      <field
+          property="account.firstName"
+          depends="required">
+        <arg key="account.firstName.label"/>
+      </field>
+      <field
+          property="account.lastName"
+          depends="required">
+        <arg key="account.lastName.label"/>
+      </field>
+      <field
+          property="account.email"
+          depends="required">
+        <arg key="account.email.label"/>
+      </field>
+      <field
+          property="account.phone"
+          depends="required">
+        <arg key="account.phone.label"/>
+      </field>
+      <field
+          property="account.address1"
+          depends="required">
+        <arg key="account.address1.label"/>
+      </field>
+      <field
+          property="account.city"
+          depends="required">
+        <arg key="account.city.label"/>
+      </field>
+      <field
+          property="account.state"
+          depends="required">
+        <arg key="account.state.label"/>
+      </field>
+      <field
+          property="account.zip"
+          depends="required">
+        <arg key="account.zip.label"/>
+      </field>
+      <field
+          property="account.country"
+          depends="required">
+        <arg key="account.country.label"/>
+      </field>
+    </form>
+
+    <form name="/shop/newOrder">
+      <field
+          property="order.creditCard"
+          depends="required">
+        <arg key="order.creditCard.label"/>
+      </field>
+      <field
+          property="order.expiryDate"
+          depends="required">
+        <arg key="order.expiryDate.label"/>
+      </field>
+      <field
+          property="order.cardType"
+          depends="required">
+        <arg key="order.cardType.label"/>
+      </field>
+      <field
+          property="order.shipToFirstName"
+          depends="required">
+        <arg key="account.shipToFirstName.label"/>
+      </field>
+      <field
+          property="order.shipToLastName"
+          depends="required">
+        <arg key="account.shipToLastName.label"/>
+      </field>
+      <field
+          property="order.shipAddress1"
+          depends="required">
+        <arg key="account.shipAddress1.label"/>
+      </field>
+      <field
+          property="order.shipCity"
+          depends="required">
+        <arg key="account.shipCity.label"/>
+      </field>
+      <field
+          property="order.shipState"
+          depends="required">
+        <arg key="account.shipState.label"/>
+      </field>
+      <field
+          property="order.shipZip"
+          depends="required">
+        <arg key="account.shipZip.label"/>
+      </field>
+      <field
+          property="order.shipCountry"
+          depends="required">
+        <arg key="account.shipCountry.label"/>
+      </field>
+      <field
+          property="order.billToFirstName"
+          depends="required">
+        <arg key="account.billToFirstName.label"/>
+      </field>
+      <field
+          property="order.billToLastName"
+          depends="required">
+        <arg key="account.billToLastName.label"/>
+      </field>
+      <field
+          property="order.billAddress1"
+          depends="required">
+        <arg key="account.billAddress1.label"/>
+      </field>
+      <field
+          property="order.billCity"
+          depends="required">
+        <arg key="account.billCity.label"/>
+      </field>
+      <field
+          property="order.billState"
+          depends="required">
+        <arg key="account.billState.label"/>
+      </field>
+      <field
+          property="order.billZip"
+          depends="required">
+        <arg key="account.billZip.label"/>
+      </field>
+      <field
+          property="order.billCountry"
+          depends="required">
+        <arg key="account.billCountry.label"/>
+      </field>
+
+    </form>
+
+  </formset>
+
+</form-validation>

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validation.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validator-rules.xml
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validator-rules.xml?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validator-rules.xml (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validator-rules.xml Tue Jul  4 13:47:09 2006
@@ -0,0 +1,311 @@
+<!DOCTYPE form-validation PUBLIC
+    "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
+    "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
+<!--
+  $Id: validator-rules.xml,v 1.1 2006/01/08 22:40:56 andrus Exp $
+
+   This file contains the default Struts Validator pluggable validator
+   definitions.  It should be placed somewhere under /WEB-INF and
+   referenced in the struts-config.xml under the plug-in element
+   for the ValidatorPlugIn.
+
+      <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
+        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
+                                                  /WEB-INF/validation.xml"/>
+      </plug-in>
+
+   These are the default error messages associated with
+   each validator defined in this file.  They should be
+   added to your projects ApplicationResources.properties
+   file or you can associate new ones by modifying the
+   pluggable validators msg attributes in this file.
+
+   # Struts Validator Error Messages
+   errors.required={0} is required.
+   errors.minlength={0} can not be less than {1} characters.
+   errors.maxlength={0} can not be greater than {1} characters.
+   errors.invalid={0} is invalid.
+
+   errors.byte={0} must be a byte.
+   errors.short={0} must be a short.
+   errors.integer={0} must be an integer.
+   errors.long={0} must be a long.
+   errors.float={0} must be a float.
+   errors.double={0} must be a double.
+
+   errors.date={0} is not a date.
+   errors.range={0} is not in the range {1} through {2}.
+   errors.creditcard={0} is an invalid credit card number.
+   errors.email={0} is an invalid e-mail address.
+
+   Note: Starting in Struts 1.2.0 the default javascript definitions have
+         been consolidated to commons-validator. The default can be overridden
+         by supplying a <javascript> element with a CDATA section, just as
+         in struts 1.1.
+
+-->
+
+<form-validation>
+
+  <global>
+
+    <validator name="required"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateRequired"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               msg="errors.required"/>
+
+    <validator name="requiredif"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateRequiredIf"
+               methodParams="java.lang.Object,
+                               org.apache.commons.validator.ValidatorAction,
+                               org.apache.commons.validator.Field,
+                               org.apache.struts.action.ActionMessages,
+                               org.apache.commons.validator.Validator,
+                               javax.servlet.http.HttpServletRequest"
+               msg="errors.required"/>
+
+    <validator name="validwhen"
+               msg="errors.required"
+               classname="org.apache.struts.validator.validwhen.ValidWhen"
+               method="validateValidWhen"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"/>
+
+
+    <validator name="minlength"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateMinLength"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.minlength"
+               jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>
+
+
+    <validator name="maxlength"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateMaxLength"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.maxlength"
+               jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>
+
+
+    <validator name="mask"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateMask"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.invalid"/>
+
+
+    <validator name="byte"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateByte"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.byte"
+               jsFunctionName="ByteValidations"/>
+
+
+    <validator name="short"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateShort"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.short"
+               jsFunctionName="ShortValidations"/>
+
+
+    <validator name="integer"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateInteger"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.integer"
+               jsFunctionName="IntegerValidations"/>
+
+
+    <validator name="long"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateLong"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.long"/>
+
+
+    <validator name="float"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloat"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.float"
+               jsFunctionName="FloatValidations"/>
+
+    <validator name="double"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateDouble"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.double"/>
+
+
+    <validator name="date"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateDate"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.date"
+               jsFunctionName="DateValidations"/>
+
+
+    <validator name="intRange"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateIntRange"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends="integer"
+               msg="errors.range"/>
+
+
+    <validator name="floatRange"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloatRange"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends="float"
+               msg="errors.range"/>
+
+    <validator name="doubleRange"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateDoubleRange"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends="double"
+               msg="errors.range"/>
+
+
+    <validator name="creditCard"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateCreditCard"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.creditcard"/>
+
+
+    <validator name="email"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateEmail"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.email"/>
+
+    <validator name="url"
+               classname="org.apache.struts.validator.FieldChecks"
+               method="validateUrl"
+               methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+               depends=""
+               msg="errors.url"/>
+
+    <!--
+      This simply allows struts to include the validateUtilities into a page, it should
+      not be used as a validation rule.
+    -->
+    <validator name="includeJavaScriptUtilities"
+               classname=""
+               method=""
+               methodParams=""
+               depends=""
+               msg=""
+               jsFunction="org.apache.commons.validator.javascript.validateUtilities"/>
+
+  </global>
+
+</form-validation>

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/validator-rules.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/web.xml?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/web.xml (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/web.xml Tue Jul  4 13:47:09 2006
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE web-app
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+	
+	<display-name>cayenne-petstore</display-name>
+	<description>Online Pet Store Sample Application</description>
+	
+	<servlet>
+		<servlet-name>action</servlet-name>
+		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
+		<init-param>
+			<param-name>config</param-name>
+			<param-value>/WEB-INF/struts-config.xml</param-value>
+		</init-param>
+		<init-param>
+			<param-name>debug</param-name>
+			<param-value>2</param-value>
+		</init-param>
+		<init-param>
+			<param-name>detail</param-name>
+			<param-value>2</param-value>
+		</init-param>
+		<load-on-startup>2</load-on-startup>
+	</servlet>
+	
+	<servlet-mapping>
+		<servlet-name>action</servlet-name>
+		<url-pattern>*.shtml</url-pattern>
+	</servlet-mapping>
+	
+	<filter>
+		<filter-name>ConfigFilter</filter-name>
+		<filter-class>org.objectstyle.petstore.ConfigFilter</filter-class>
+	</filter>
+	
+	<filter-mapping>
+		<filter-name>ConfigFilter</filter-name>
+		<url-pattern>/*</url-pattern>
+	</filter-mapping>
+	
+	<session-config>
+		<session-timeout>30</session-timeout>
+	</session-config>
+	
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+	</welcome-file-list>
+	
+	<taglib>
+		<taglib-uri>struts-bean</taglib-uri>
+		<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
+	</taglib>
+	
+	<taglib>
+		<taglib-uri>struts-html</taglib-uri>
+		<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
+	</taglib>
+	
+	<taglib>
+		<taglib-uri>struts-logic</taglib-uri>
+		<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
+	</taglib>
+	
+	<security-constraint>
+		<web-resource-collection>
+			<web-resource-name> Restrict access to JSP pages
+			</web-resource-name>
+			<url-pattern>*.jsp</url-pattern>
+		</web-resource-collection>
+		<auth-constraint>
+			<description> With no roles defined, no access granted
+			</description>
+		</auth-constraint>
+	</security-constraint>
+	
+</web-app>

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/EditAccountForm.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/account/EditAccountForm.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/account/EditAccountForm.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/account/EditAccountForm.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,33 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<div id="Catalog">
+
+  <html:form method="post" action="/shop/editAccount.shtml">
+
+    <html:hidden name="accountBean" property="validation" value="edit"/>
+    <html:hidden name="accountBean" property="username"/>
+
+    <h3>User Information</h3>
+
+    <table>
+      <tr>
+        <td>User ID:</td><td><bean:write name="accountBean" property="username"/></td>
+      </tr><tr>
+      <td>New password:</td><td><html:password name="accountBean" property="password"/></td>
+    </tr><tr>
+      <td>Repeat password:</td><td><html:password name="accountBean" property="repeatedPassword"/></td>
+    </tr>
+    </table>
+    <%@ include file="IncludeAccountFields.jsp" %>
+
+    <input type="submit" name="submit" value="Save Account Information"/>
+
+  </html:form>
+
+  <html:link page="/shop/listOrders.shtml">My Orders</html:link>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/EditAccountForm.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/IncludeAccountFields.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/account/IncludeAccountFields.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/account/IncludeAccountFields.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/account/IncludeAccountFields.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,46 @@
+<h3>Account Information</h3>
+
+<table>
+  <tr>
+    <td>First name:</td><td><html:text name="accountBean" property="account.firstName"/></td>
+  </tr><tr>
+  <td>Last name:</td><td><html:text name="accountBean" property="account.lastName"/></td>
+</tr><tr>
+  <td>Email:</td><td><html:text size="40" name="accountBean" property="account.email"/></td>
+</tr><tr>
+  <td>Phone:</td><td><html:text name="accountBean" property="account.phone"/></td>
+</tr><tr>
+  <td>Address 1:</td><td><html:text size="40" name="accountBean" property="account.address1"/></td>
+</tr><tr>
+  <td>Address 2:</td><td><html:text size="40" name="accountBean" property="account.address2"/></td>
+</tr><tr>
+  <td>City:</td><td><html:text name="accountBean" property="account.city"/></td>
+</tr><tr>
+  <td>State:</td><td><html:text size="4" name="accountBean" property="account.state"/></td>
+</tr><tr>
+  <td>Zip:</td><td><html:text size="10" name="accountBean" property="account.zip"/></td>
+</tr><tr>
+  <td>Country:</td><td><html:text size="15" name="accountBean" property="account.country"/></td>
+</tr>
+</table>
+
+<h3>Profile Information</h3>
+
+<table>
+  <tr>
+    <td>Language Preference:</td><td>
+    <html:select name="accountBean" property="languagePreference">
+      <html:options name="accountBean" property="languages"/>
+    </html:select></td>
+  </tr><tr>
+  <td>Favourite Category:</td><td>
+  <html:select name="accountBean" property="favouriteCategoryId">
+    <html:options name="accountBean" property="categories"/>
+  </html:select></td>
+</tr><tr>
+  <td>Enable MyList</td><td><html:checkbox name="accountBean" property="listOption"/></td>
+</tr><tr>
+  <td>Enable MyBanner</td><td><html:checkbox name="accountBean" property="bannerOption"/></td>
+</tr>
+
+</table>

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/IncludeAccountFields.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/NewAccountForm.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/account/NewAccountForm.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/account/NewAccountForm.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/account/NewAccountForm.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,29 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<div id="Catalog">
+
+  <html:form action="/shop/newAccount.shtml" method="post">
+
+    <html:hidden name="accountBean" property="validation" value="new"/>
+
+    <h3>User Information</h3>
+
+    <table>
+      <tr>
+        <td>User ID:</td><td><html:text name="accountBean" property="username"/></td>
+      </tr><tr>
+      <td>New password:</td><td><html:password name="accountBean" property="password"/></td>
+    </tr><tr>
+      <td>Repeat password:</td><td><html:password name="accountBean" property="repeatedPassword"/></td>
+    </tr>
+    </table>
+
+    <%@ include file="IncludeAccountFields.jsp" %>
+
+    <input type="submit" name="submit" value="Create Account"/>
+
+  </html:form>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
\ No newline at end of file

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/NewAccountForm.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/SignonForm.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/account/SignonForm.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/account/SignonForm.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/account/SignonForm.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,22 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<div id="Catalog">
+  <html:form action="/shop/signon" method="POST">
+
+    <p>Please enter your username and password.</p>
+    <p>
+      Username:<input type="text" name="username" value="j2ee"/>
+      <br/>
+      Password:<input type="password" name="password" value="j2ee"/>
+    </p>
+    <input type="submit" name="submit" value="Login"/>
+
+  </html:form>
+
+  Need a username and password?
+  <html:link page="/shop/newAccountForm.shtml">Register Now!</html:link>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/account/SignonForm.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Cart.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Cart.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Cart.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Cart.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,92 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<bean:define id="cart" name="cartBean" property="cart"/>
+
+<div id="BackLink">
+  <html:link page="/shop/index.shtml">Return to Main Menu</html:link>
+</div>
+
+<div id="Catalog">
+
+  <div id="Cart">
+
+    <h2>Shopping Cart</h2>
+    <html:form action="/shop/updateCartQuantities.shtml" method="post">
+      <table>
+        <tr>
+          <th><b>Item ID</b></th>  <th><b>Product ID</b></th>  <th><b>Description</b></th> <th><b>In Stock?</b></th>
+          <th><b>Quantity</b></th>  <th><b>List Price</b></th> <th><b>Total Cost</b></th>  <th>&nbsp;</th>
+        </tr>
+
+        <logic:equal name="cart" property="numberOfItems" value="0">
+          <tr><td colspan="8"><b>Your cart is empty.</b></td></tr>
+        </logic:equal>
+
+        <logic:iterate id="cartItem" name="cart" property="cartItems">
+          <tr>
+            <td>
+              <html:link paramId="itemId" paramName="cartItem" paramProperty="item.itemId" page="/shop/viewItem.shtml">
+                <bean:write name="cartItem" property="item.itemId"/></html:link></td>
+            <td><bean:write name="cartItem" property="item.productId"/></td>
+            <td>
+              <bean:write name="cartItem" property="item.attribute1"/>
+              <bean:write name="cartItem" property="item.attribute2"/>
+              <bean:write name="cartItem" property="item.attribute3"/>
+              <bean:write name="cartItem" property="item.attribute4"/>
+              <bean:write name="cartItem" property="item.attribute5"/>
+              <bean:write name="cartItem" property="item.product.name"/>
+            </td>
+            <td><bean:write name="cartItem" property="inStock"/></td>
+            <td>
+              <input type="text" size="3" name="<bean:write name="cartItem" property="item.itemId"/>"
+                     value="<bean:write name="cartItem" property="quantity"/>"/>
+            </td>
+            <td><bean:write name="cartItem" property="item.listPrice" format="$#,##0.00"/></td>
+            <td><bean:write name="cartItem" property="total" format="$#,##0.00"/></td>
+            <td><html:link styleClass="Button" paramId="workingItemId" paramName="cartItem" paramProperty="item.itemId"
+                           page="/shop/removeItemFromCart.shtml">
+              Remove</html:link></td>
+          </tr>
+        </logic:iterate>
+        <tr>
+          <td colspan="7">
+            Sub Total: <bean:write name="cart" property="subTotal" format="$#,##0.00"/>
+            <input type="submit" name="update" value="Update Cart"/>
+
+          </td>
+          <td>&nbsp;</td>
+        </tr>
+      </table>
+      <logic:equal name="cart" property="cartItemList.previousPageAvailable" value="true">
+        <a class="Button" href="switchCartPage.shtml?pageDirection=previous">&lt;&lt; Prev</a>
+      </logic:equal>
+      <logic:equal name="cart" property="cartItemList.nextPageAvailable" value="true">
+        <a class="Button" href="switchCartPage.shtml?pageDirection=previous">Next &gt;&gt;</a>
+      </logic:equal>
+    </html:form>
+
+    <logic:notEqual name="cart" property="numberOfItems" value="0">
+      <html:link styleClass="Button" page="/shop/checkout.shtml">Proceed to Checkout</html:link>
+    </logic:notEqual>
+
+  </div>
+
+  <logic:present name="accountBean" scope="session">
+    <div id="MyList">
+      <logic:equal name="accountBean" property="authenticated" value="true">
+        <logic:equal name="accountBean" property="listOption" value="true">
+          <%@ include file="IncludeMyList.jsp" %>
+        </logic:equal>
+      </logic:equal>
+    </div>
+  </logic:present>
+
+  <div id="Separator">&nbsp;</div>
+
+</div>
+
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Cart.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Checkout.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Checkout.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Checkout.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Checkout.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,74 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<bean:define id="cart" name="cartBean" property="cart"/>
+
+<div id="BackLink">
+  <html:link page="/shop/viewCart.shtml">Return to Shopping Cart</html:link>
+</div>
+
+<div id="Catalog">
+
+  <table>
+    <tr>
+      <td>
+        <h2>Checkout Summary</h2>
+
+        <table>
+
+          <tr>
+            <td><b>Item ID</b></td>  <td><b>Product ID</b></td>  <td><b>Description</b></td> <td><b>In Stock?</b></td>
+            <td><b>Quantity</b></td>  <td><b>List Price</b></td> <td><b>Total Cost</b></td>
+          </tr>
+
+          <logic:iterate id="cartItem" name="cart" property="cartItems">
+            <tr>
+              <td>
+                <html:link paramId="itemId" paramName="cartItem" paramProperty="item.itemId"
+                           page="/shop/viewItem.shtml">
+                  <bean:write name="cartItem" property="item.itemId"/></html:link></td>
+              <td><bean:write name="cartItem" property="item.productId"/></td>
+              <td>
+                <bean:write name="cartItem" property="item.attribute1"/>
+                <bean:write name="cartItem" property="item.attribute2"/>
+                <bean:write name="cartItem" property="item.attribute3"/>
+                <bean:write name="cartItem" property="item.attribute4"/>
+                <bean:write name="cartItem" property="item.attribute5"/>
+                <bean:write name="cartItem" property="item.product.name"/>
+              </td>
+              <td><bean:write name="cartItem" property="inStock"/></td>
+              <td>
+                <bean:write name="cartItem" property="quantity"/>
+              </td>
+              <td><bean:write name="cartItem" property="item.listPrice" format="$#,##0.00"/></td>
+              <td><bean:write name="cartItem" property="total" format="$#,##0.00"/></td>
+            </tr>
+          </logic:iterate>
+          <tr>
+            <td colspan="7">
+              Sub Total: <bean:write name="cart" property="subTotal" format="$#,##0.00"/>
+            </td>
+          </tr>
+        </table>
+        <logic:notEqual name="cart" property="cartItemList.firstPage" value="true">
+          <a href="switchCartPage.shtml?pageDirection=previous">&lt;&lt; Previous</a>
+        </logic:notEqual>
+        <logic:notEqual name="cart" property="cartItemList.lastPage" value="true">
+          <a href="switchCartPage.shtml?pageDirection=next">Next &gt;&gt;</a>
+        </logic:notEqual>
+        <html:link styleClass="Button" page="/shop/newOrderForm.shtml">Continue</html:link>
+      </td>
+      <td>
+        &nbsp;
+      </td>
+
+    </tr>
+  </table>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/Checkout.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/IncludeMyList.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/IncludeMyList.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/IncludeMyList.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/IncludeMyList.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,34 @@
+<bean:define id="myList" name="accountBean" property="myList"/>
+
+<logic:present name="myList">
+  <p>
+    Pet Favorites
+    <br/>
+    Shop for more of your favorite pets here.
+  </p>
+  <ul>
+    <logic:iterate id="product" name="myList">
+      <li><html:link paramId="productId" paramName="product" paramProperty="productId" page="/shop/viewProduct.shtml">
+        <bean:write name="product" property="name"/></html:link>
+      (<bean:write name="product" property="productId"/>)</li>
+    </logic:iterate>
+  </ul>
+
+  <p>
+    <logic:notEqual name="myList" property="firstPage" value="true">
+      <a href="switchMyListPage.shtml?pageDirection=previous&listOption=<bean:write name="accountBean"
+          property="account.listOption"/>&account.bannerOption=< bean:write name="accountBean"
+                                                                 property="bannerOption"/>">&lt;&lt;Prev</a>
+    </logic:notEqual>
+    <logic:notEqual name="myList" property="lastPage" value="true">
+      <a href="switchMyListPage.shtml?pageDirection=next&listOption=<bean:write name="accountBean"
+          property="listOption"/>&account.bannerOption=< bean:write name="accountBean"
+                                                                 property="bannerOption"/>">Next &gt;&gt;</a>
+    </logic:notEqual>
+  </p>
+
+</logic:present>
+
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/cart/IncludeMyList.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Category.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Category.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Category.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Category.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,39 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<bean:define id="category" name="catalogBean" property="category"/>
+<bean:define id="productList" name="catalogBean" property="productList"/>
+
+<div id="BackLink">
+
+  <html:link page="/shop/index.shtml">Return to Main Menu</html:link>
+
+</div>
+
+<div id="Catalog">
+
+  <h2><bean:write name="category" property="name"/></h2>
+
+  <table>
+    <tr><th>Product ID</th>  <th>Name</th></tr>
+    <logic:iterate id="product" name="productList">
+      <tr>
+        <td><html:link paramId="productId" paramName="product" paramProperty="productId" page="/shop/viewProduct.shtml">
+          <bean:write name="product" property="productId"/></html:link></td>
+        <td><bean:write name="product" property="name"/></td>
+      </tr>
+    </logic:iterate>
+    <tr><td colspan="2">
+      <logic:notEqual name="productList" property="firstPage" value="true">
+        <a class="Button" href="switchProductListPage.shtml?pageDirection=previous">&lt;&lt; Prev</a>
+      </logic:notEqual>
+      <logic:notEqual name="productList" property="lastPage" value="true">
+        <a class="Button" href="switchProductListPage.shtml?pageDirection=next">Next &gt;&gt;</a>
+      </logic:notEqual>
+    </td></tr>
+  </table>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Category.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Item.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Item.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Item.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Item.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,62 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<bean:define id="product" name="catalogBean" property="product"/>
+<bean:define id="item" name="catalogBean" property="item"/>
+
+<div id="BackLink">
+
+  <html:link paramId="productId" paramName="product" paramProperty="productId" page="/shop/viewProduct.shtml">
+    Return to <bean:write name="product" property="name"/></html:link>
+
+</div>
+
+<div id="Catalog">
+
+  <table>
+    <tr>
+      <td>
+        <bean:write filter="false" name="product" property="description"/>
+      </td>
+    </tr>
+    <tr>
+      <td>
+        <b><bean:write name="item" property="itemId"/></b>
+      </td>
+    </tr><tr>
+    <td>
+      <b><font size="4">
+        <bean:write name="item" property="attribute1"/>
+        <bean:write name="item" property="attribute2"/>
+        <bean:write name="item" property="attribute3"/>
+        <bean:write name="item" property="attribute4"/>
+        <bean:write name="item" property="attribute5"/>
+        <bean:write name="item" property="product.name"/>
+      </font></b>
+    </td></tr>
+    <tr><td>
+      <bean:write name="product" property="name"/>
+    </td></tr>
+    <tr><td>
+      <logic:lessEqual name="item" property="quantity" value="0">
+        Back ordered.
+      </logic:lessEqual>
+      <logic:greaterEqual name="item" property="quantity" value="1">
+        <bean:write name="item" property="quantity"/> in stock.
+      </logic:greaterEqual>
+    </td></tr>
+    <tr><td>
+      <bean:write name="item" property="listPrice" format="$#,##0.00"/>
+    </td></tr>
+
+    <tr><td>
+      <html:link styleClass="Button" paramId="workingItemId" paramName="item" paramProperty="itemId" page="/shop/addItemToCart.shtml">
+        Add to Cart</html:link>
+    </td></tr>
+  </table>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Item.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Main.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Main.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Main.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Main.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,61 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<div id="Welcome">
+  <div id="WelcomeContent">
+    <logic:present name="accountBean" scope="session">
+      <logic:equal name="accountBean" property="authenticated" scope="session" value="true">
+        Welcome <bean:write name="accountBean" property="account.firstName"/>!
+      </logic:equal>
+    </logic:present>
+  </div>
+</div>
+
+<div id="Main">
+  <div id="Sidebar">
+    <div id="SidebarContent">
+      <html:link page="/shop/viewCategory.shtml?categoryId=FISH">
+        <img src="../images/fish_icon.gif"/></html:link>
+      <br/>
+      Saltwater, Freshwater
+      <br/>
+      <html:link page="/shop/viewCategory.shtml?categoryId=DOGS">
+        <img src="../images/dogs_icon.gif"/></html:link>
+      <br/>
+      Various Breeds
+      <br/>
+      <html:link page="/shop/viewCategory.shtml?categoryId=CATS">
+        <img src="../images/cats_icon.gif"/></html:link>
+      <br/>
+      Various Breeds, Exotic Varieties
+      <br/>
+      <html:link page="/shop/viewCategory.shtml?categoryId=REPTILES">
+        <img src="../images/reptiles_icon.gif"/></html:link>
+      <br/>
+      Lizards, Turtles, Snakes
+      <br/>
+      <html:link page="/shop/viewCategory.shtml?categoryId=BIRDS">
+        <img src="../images/birds_icon.gif"/></html:link>
+      <br/>Exotic Varieties
+    </div>
+  </div>
+
+  <div id="MainImage">
+    <div id="MainImageContent">
+      <map name="estoremap"><area alt="Birds" coords="72,2,280,250" href="viewCategory.shtml?categoryId=BIRDS"
+                                  shape="RECT"/>
+        <area alt="Fish" coords="2,180,72,250" href="viewCategory.shtml?categoryId=FISH" shape="RECT"/>
+        <area alt="Dogs" coords="60,250,130,320" href="viewCategory.shtml?categoryId=DOGS" shape="RECT"/>
+        <area alt="Reptiles" coords="140,270,210,340" href="viewCategory.shtml?categoryId=REPTILES"
+              shape="RECT"/>
+        <area alt="Cats" coords="225,240,295,310" href="viewCategory.shtml?categoryId=CATS" shape="RECT"/>
+        <area alt="Birds" coords="280,180,350,250" href="viewCategory.shtml?categoryId=BIRDS" shape="RECT"/>
+      </map>
+      <img height="355" src="../images/splash.gif" align="center" usemap="#estoremap" width="350"/>
+    </div>
+  </div>
+
+  <div id="Separator">&nbsp;</div>
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Main.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Product.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Product.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Product.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Product.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,56 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<bean:define id="product" name="catalogBean" property="product"/>
+<bean:define id="itemList" name="catalogBean" property="itemList"/>
+
+<div id="BackLink">
+
+  <html:link paramId="categoryId" paramName="product" paramProperty="categoryId" page="/shop/viewCategory.shtml">
+    Return to <bean:write name="product" property="categoryId"/></html:link>
+
+</div>
+
+<div id="Catalog">
+
+  <h2><bean:write name="product" property="name"/></h2>
+
+  <table>
+    <tr><th>Item ID</th>  <th>Product ID</th>  <th>Description</th>  <th>List
+      Price</th>  <th>&nbsp;</th></tr>
+    <logic:iterate id="item" name="itemList">
+      <tr>
+        <td>
+          <html:link paramId="itemId" paramName="item" paramProperty="itemId" page="/shop/viewItem.shtml">
+            <bean:write name="item" property="itemId"/></html:link></td>
+        <td><bean:write name="item" property="productId"/></td>
+        <td>
+          <bean:write name="item" property="attribute1"/>
+          <bean:write name="item" property="attribute2"/>
+          <bean:write name="item" property="attribute3"/>
+          <bean:write name="item" property="attribute4"/>
+          <bean:write name="item" property="attribute5"/>
+          <bean:write name="product" property="name"/>
+        </td>
+        <td><bean:write name="item" property="listPrice" format="$#,##0.00"/></td>
+        <td><html:link styleClass="Button" paramId="workingItemId" paramName="item" paramProperty="itemId" page="/shop/addItemToCart.shtml">
+          Add to Cart</html:link></td>
+      </tr>
+    </logic:iterate>
+    <tr><td>
+      <logic:notEqual name="itemList" property="firstPage" value="true">
+        <a class="Button" href="switchItemListPage.shtml?pageDirection=previous">&lt;&lt; Prev</a>
+      </logic:notEqual>
+      <logic:notEqual name="itemList" property="lastPage" value="true">
+        <a class="Button" href="switchItemListPage.shtml?pageDirection=next">Next &gt;&gt;</a>
+      </logic:notEqual>
+    </td></tr>
+  </table>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/Product.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/SearchProducts.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/SearchProducts.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/SearchProducts.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/SearchProducts.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,45 @@
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<bean:define id="productList" name="catalogBean" property="productList"/>
+
+<div id="BackLink">
+
+  <html:link page="/shop/index.shtml">Return to Main Menu</html:link>
+
+</div>
+
+<div id="Catalog">
+
+  <table>
+    <tr><th>&nbsp;</th>  <th>Product ID</th>  <th>Name</th></tr>
+    <logic:iterate id="product" name="productList">
+      <tr>
+        <td><html:link paramId="productId" paramName="product" paramProperty="productId" page="/shop/viewProduct.shtml">
+          <bean:write filter="false" name="product" property="description"/></html:link></td>
+        <td><b><html:link paramId="productId" paramName="product" paramProperty="productId"
+                          page="/shop/viewProduct.shtml"><font color="BLACK"><bean:write name="product"
+                                                                                         property="productId"/></font>
+        </html:link></b></td>
+        <td><bean:write name="product" property="name"/></td>
+      </tr>
+    </logic:iterate>
+    <tr>
+      <td>
+        <logic:notEqual name="productList" property="firstPage" value="true">
+          <a href="switchSearchListPage.shtml?pageDirection=previous">&lt;&lt; Previous</a>
+        </logic:notEqual>
+        <logic:notEqual name="productList" property="lastPage" value="true">
+          <a href="switchSearchListPage.shtml?pageDirection=next">Next &gt;&gt;</a>
+        </logic:notEqual>
+      </td>
+    </tr>
+
+  </table>
+
+</div>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
+
+
+
+

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/catalog/SearchProducts.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/common/Error.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/common/Error.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/common/Error.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/common/Error.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,29 @@
+<%@ page import="java.io.PrintWriter" %>
+<%@ include file="../common/IncludeTop.jsp" %>
+
+<logic:notPresent name="BeanActionException">
+  <logic:notPresent name="message">
+    <h3>Something happened...</h3>
+    <b>But no further information was provided.</b>
+  </logic:notPresent>
+</logic:notPresent>
+<p/>
+<logic:present name="BeanActionException">
+  <h3>Error!</h3>
+  <b><bean:write name="BeanActionException" property="class.name"/></b>
+
+  <p/>
+  <bean:write name="BeanActionException" property="message"/>
+</logic:present>
+<p/>
+<logic:present name="BeanActionException">
+  <h4>Stack</h4>
+  <pre>
+    <%
+      Exception e = (Exception) request.getAttribute("BeanActionException");
+      e.printStackTrace(new PrintWriter(out));
+    %>
+  </pre>
+</logic:present>
+
+<%@ include file="../common/IncludeBottom.jsp" %>
\ No newline at end of file

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/common/Error.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeBottom.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeBottom.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeBottom.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeBottom.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,22 @@
+</div>
+
+<div id="Footer">
+
+  <div id="PoweredBy">
+    <a href="http://ibatis.apache.org"><img src="../images/poweredby.gif"/></a>
+  </div>
+
+  <div id="Banner">
+    <logic:present name="accountBean" scope="session">
+      <logic:equal name="accountBean" property="authenticated" value="true">
+        <logic:equal name="accountBean" property="bannerOption" value="true">
+          <bean:write filter="false" name="accountBean" property="account.profile.category.banner.bannerName"/>
+        </logic:equal>
+      </logic:equal>
+    </logic:present>
+  </div>
+
+</div>
+
+</body>
+</html>
\ No newline at end of file

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeBottom.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeTop.jsp
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeTop.jsp?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeTop.jsp (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeTop.jsp Tue Jul  4 13:47:09 2006
@@ -0,0 +1,102 @@
+<%@ page contentType="text/html" %>
+<%@ taglib uri="struts-logic" prefix="logic" %>
+<%@ taglib uri="struts-bean" prefix="bean" %>
+<%@ taglib uri="struts-html" prefix="html" %>
+
+<!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">
+
+<link rel="StyleSheet" href="../css/jpetstore.css" type="text/css" media="screen"/>
+
+<head>
+  <meta name="generator"
+        content="HTML Tidy for Linux/x86 (vers 1st November 2002), see www.w3.org"/>
+  <title>JPetStore Demo</title>
+  <meta content="text/html; charset=windows-1252" http-equiv="Content-Type"/>
+  <meta http-equiv="Cache-Control" content="max-age=0"/>
+  <meta http-equiv="Cache-Control" content="no-cache"/>
+  <meta http-equiv="expires" content="0"/>
+  <meta http-equiv="Expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>
+  <meta http-equiv="Pragma" content="no-cache"/>
+</head>
+
+<body>
+
+<div id="Header">
+  
+  <div id="Logo">
+    <div id="LogoContent">
+      <html:link page="/shop/index.shtml"><img src="../images/logo-topbar.gif"/></html:link>
+    </div>
+  </div>
+
+  <div id="Menu">
+    <div id="MenuContent">
+      <html:link page="/shop/viewCart.shtml"><img align="middle" name="img_cart" src="../images/cart.gif"/></html:link>
+      <img align="middle" src="../images/separator.gif"/>
+      <logic:notPresent name="accountBean" scope="session">
+        <html:link page="/shop/signonForm.shtml">Sign In</html:link>
+      </logic:notPresent>
+      <logic:present name="accountBean" scope="session">
+        <logic:notEqual name="accountBean" property="authenticated" value="true" scope="session">
+          <html:link page="/shop/signonForm.shtml">Sign In</html:link>
+        </logic:notEqual>
+      </logic:present>
+      <logic:present name="accountBean" scope="session">
+        <logic:equal name="accountBean" property="authenticated" value="true" scope="session">
+          <html:link page="/shop/signoff.shtml">Sign Out</html:link>
+          <img align="middle" src="../images/separator.gif"/>
+          <html:link page="/shop/editAccountForm.shtml">My Account</html:link>
+        </logic:equal>
+      </logic:present>
+
+      <img align="middle" src="../images/separator.gif"/>
+      <html:link href="../help.html">?</html:link>
+    </div>
+  </div>
+
+  <div id="Search">
+    <div id="SearchContent">
+      <html:form method="post" action="/shop/searchProducts.shtml">
+        <input name="keyword" size="14"/>&nbsp;<input type="submit" name="SearchButton"
+        value="Search"/>
+      </html:form>
+    </div>
+  </div>
+
+  <div id="QuickLinks">
+    <html:link page="/shop/viewCategory.shtml?categoryId=FISH">
+      <img src="../images/sm_fish.gif"/></html:link>
+    <img src="../images/separator.gif"/>
+    <html:link page="/shop/viewCategory.shtml?categoryId=DOGS">
+      <img src="../images/sm_dogs.gif"/></html:link>
+    <img src="../images/separator.gif"/>
+    <html:link page="/shop/viewCategory.shtml?categoryId=REPTILES">
+      <img src="../images/sm_reptiles.gif"/></html:link>
+    <img src="../images/separator.gif"/>
+    <html:link page="/shop/viewCategory.shtml?categoryId=CATS">
+      <img src="../images/sm_cats.gif"/></html:link>
+    <img src="../images/separator.gif"/>
+    <html:link page="/shop/viewCategory.shtml?categoryId=BIRDS">
+      <img src="../images/sm_birds.gif"/></html:link>
+  </div>
+
+</div>
+
+<div id="Content">
+
+<html:errors/>
+
+<!-- Support for non-traditional but simple message -->
+<logic:present name="message">
+  <bean:write name="message"/>
+</logic:present>
+
+<!-- Support for non-traditional but simpler use of errors... -->
+<logic:present name="errors">
+  <logic:iterate id="error" name="errors">
+    <bean:write name="error"/>
+  </logic:iterate>
+</logic:present>
\ No newline at end of file

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/common/IncludeTop.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/css/jpetstore.css
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/css/jpetstore.css?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/css/jpetstore.css (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/css/jpetstore.css Tue Jul  4 13:47:09 2006
@@ -0,0 +1,321 @@
+body {
+  margin: 0ex 10ex 0ex 10ex;
+  padding: 0ex;
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+  font-size: 2ex;
+  color: #333;
+  background-color: #444;
+}
+
+pre {
+  font-family: "Courier New", Courier, mono;
+
+  font-style: normal;
+  background-color: #FFFFFF;
+  white-space: pre
+}
+
+h1 {
+  margin: 1ex 0ex 1ex 0ex;
+  padding: 0ex;
+
+  line-height: 3ex;
+  font-weight: 900;
+  color: #666;
+}
+
+h2 {
+  margin: 2ex 0ex 1ex 0ex;
+  padding: 0ex;
+
+  line-height: 2ex;
+  font-weight: 700;
+  color: #444;
+}
+
+h3 {
+  margin: 1ex 0ex 1ex 0ex;
+  padding: 0ex;
+
+  line-height: 1.6ex;
+  font-weight: 700;
+  color: #222;
+}
+
+p {
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 2ex;
+}
+
+img {
+  border: 0;
+}
+
+li {
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 0ex;
+}
+
+table {
+  border-width: 0;
+  empty-cells: show;
+}
+
+td, th {
+  empty-cells: show;
+  padding: .3ex .3ex;
+  vertical-align: top;
+  text-align: left;
+  border-width: 0;
+  border-spacing: 0;
+  background-color: #ececec
+}
+
+th {
+  font-weight: bold;
+  background-color: #e2e2e2;
+}
+
+a, a:visited, a:link {
+  color: #039;
+
+  text-decoration: none;
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+}
+
+a:hover {
+  color: #69f;
+}
+
+a.Button, a.Button:link, a.Button:visited {
+  padding: .3ex;
+  color: #fff;
+  background-color: #005e21;
+  text-decoration: none;
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+  font-size: 1.5ex;
+}
+
+a.Button:hover {
+  color: #000;
+  background-color: #54c07a;
+}
+
+#Logo {
+  width: 33%;
+  height: 9ex;
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 0ex 0ex 0ex 0ex;
+  border-width: 0ex 0ex .3ex 0px;
+  border-style: solid;
+  border-color: #ccc;
+  float: left;
+  background-color: #000;
+  color: #fff;
+  line-height: 9ex;
+  voice-family: "\"}\"";
+  voice-family: inherit;
+  height: 9ex;
+}
+
+body>#Logo {
+  height: 9ex;
+}
+
+#Menu {
+  width: 33%;
+  height: 9ex;
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 0ex 0ex 0ex 0ex;
+  border-width: 0ex 0ex .3ex 0px;
+  border-style: solid;
+  border-color: #ccc;
+  float: left;
+  background-color: #000;
+  color: #eaac00;
+  text-decoration: none;
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+  text-align: center;
+  line-height: 9ex;
+  voice-family: "\"}\"";
+  voice-family: inherit;
+  height: 9ex;
+}
+
+#Menu, #Menu a, #Menu a:link, #Menu a:visited, #Menu a:hover {
+  color: #eaac00;
+  text-decoration: none;
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+}
+
+body>#Menu {
+  height: 9ex;
+}
+
+ {
+}
+
+#Search {
+  width: 33%;
+  height: 9ex;
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 0ex 0ex 0ex 0ex;
+  border-width: 0ex 0ex .3ex 0px;
+  border-style: solid;
+  border-color: #ccc;
+  float: left;
+  text-align: center;
+  background-color: #000;
+  color: #eaac00;
+  line-height: 9ex;
+  voice-family: "\"}\"";
+  voice-family: inherit;
+  height: 9ex;
+}
+
+body>#Search {
+  height: 9ex;
+}
+
+#Search input {
+  border-width: .1ex .1ex .1ex .1ex;
+  border-style: solid;
+  border-color: #aaa;
+  background-color: #666;
+  color: #eaac00;
+}
+
+#QuickLinks {
+  text-align: center;
+  background-color: #FFF;
+  width: 99%;
+}
+
+#PoweredBy {
+  width: 30%;
+  height: 9ex;
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 2ex 0ex 0ex 0ex;
+  border-width: .3ex 0ex .3ex 0px;
+  border-style: solid;
+  border-color: #ccc;
+  float: left;
+  background-color: #000;
+  color: #fff;
+  line-height: 9ex;
+  voice-family: "\"}\"";
+  voice-family: inherit;
+}
+
+body>#PoweredBy {
+  height: 9ex;
+}
+
+#Banner {
+  width: 69%;
+  height: 9ex;
+  margin: 0ex 0ex 0ex 0ex;
+  padding: 2ex 0ex 0ex 0ex;
+  border-width: .3ex 0ex .3ex 0px;
+  border-style: solid;
+  border-color: #ccc;
+  float: left;
+  background-color: #000;
+  color: #fff;
+  line-height: 9ex;
+  voice-family: "\"}\"";
+  voice-family: inherit;
+}
+
+body>#Banner {
+  height: 9ex;
+}
+
+#Content {
+  margin: 0;
+  padding: 0ex 0ex 0ex 0ex;
+  width: 99%;
+  color: #333;
+  background-color: #FFF;
+  border-width: 0;
+}
+
+#Separator {
+  clear:both;
+  margin: 0;
+  height:0;
+}
+
+#Main {
+  margin: 0;
+  padding: 1ex;
+  color: #333;
+  background-color: #FFF;
+  border-width: 1ex 0ex 2ex 0px;
+  border-style: solid;
+  border-color: #fff;
+}
+
+#Sidebar {
+  float: left;
+  background:inherit;
+  width: 30%;
+}
+
+#MainImage {
+  float: left;
+  background:inherit;
+  text-align:center;
+  width: 50%;
+}
+
+#Catalog {
+  padding: 1ex;
+  background:inherit;
+  text-align:center;
+}
+
+#Catalog input[type="submit"]{
+  padding: .3ex;
+  color: #fff;
+  background-color: #005e21;
+  text-decoration: none;
+  font-family: helvetica, tahoma, arial, verdana, sans-serif;
+  font-size: 1.5ex;
+  border-width:0;
+}
+#Catalog input[type="submit"]:hover {
+  color: #000;
+  background-color: #54c07a;
+  cursor:pointer;
+}
+
+#Catalog table{
+  margin-left:auto;
+  margin-right:auto;
+}
+
+#BackLink{
+  padding: 1ex;
+  float: right;
+  border-width: .1ex 0ex .1ex 0px;
+  border-style: solid;
+  border-color: #000;
+}
+
+#Cart{
+  width: 69.99%;
+  float: left;
+  background-color:#fff;
+}
+
+#MyList{
+  width: 30%;
+  float: left;
+  background-color:#ccc;
+  text-align:left;
+}

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/css/jpetstore.css
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/help.html
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/help.html?rev=419093&view=auto
==============================================================================
--- incubator/cayenne/examples/trunk/cayenne-petstore/web/help.html (added)
+++ incubator/cayenne/examples/trunk/cayenne-petstore/web/help.html Tue Jul  4 13:47:09 2006
@@ -0,0 +1,167 @@
+<!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">
+
+<link rel="StyleSheet" href="css/jpetstore.css" type="text/css" media="screen"/>
+
+<head>
+  <title>JPetStore Demo</title>
+</head>
+
+<body>
+<div id="Content">
+
+<h1>JPetStore Demo</h1>
+
+<p>
+  The JPetStore Demo is an online pet store. Like most e-stores, you can browse
+  and search the product catalog, choose items to add to a shopping cart, amend
+  the shopping cart, and order the items in the shopping cart. You can perform
+  many of these actions without registering with or logging into the
+  application. However, before you can order items you must log in (sign in) to
+  the application. In order to sign in, you must have an account with the
+  application, which is created when you register (sign up) with the
+  application.
+</p>
+
+<ul>
+  <li><a href="#SigningUp">Signing Up</a></li>
+  <li><a href="#SigningIn">Signing In</a></li>
+  <li><a href="#Catalog">Working with the Product Catalog</a></li>
+  <li><a href="#CatalogBrowsing">Browsing the Catalog</a></li>
+  <li><a href="#CatalogSearching">Searching the Catalog</a></li>
+  <li><a href="#ShoppingCart">Working with the Shopping Cart</a></li>
+  <li><a href="#ShoppingCartAdd">Adding and Removing Items</a></li>
+  <li><a href="#ShoppingCartUpdate">Updating the Quantity of an Item</a></li>
+  <li><a href="#Ordering">Ordering Items</a></li>
+  <li><a href="#OrderReview">Reviewing an Order</a></li>
+  <li><a href="#Issues">Known Issues</a></li>
+</ul>
+
+<h2><a id="SigningUp" name="SigningUp"></a>Signing Up</h2>
+
+<p>
+  To sign up, click the Sign-in link at the right end of the banner. Next,
+  click the New User link in the resulting page. Among other information, the
+  signup page requires you to provide a user identifier and password. This
+  information is used to identify your account and must be provided when
+  signing in.
+</p>
+
+<h2><a id="SigningIn" name="SigningIn"></a>Signing In</h2>
+
+<p>
+  You sign in to the application by clicking the Sign-in link at the right end
+  of the banner, filling in the user identifier and password, and clicking the
+  Submit button.
+</p>
+
+<p>
+  You will also be redirected to the signin page when you try to place an
+  order and you have not signed in. Once you have signed in, you can return to
+  your shopping session by clicking the shopping cart icon at the right end of
+  the banner.
+</p>
+
+<h2><a id="Catalog" name="Catalog"></a>Working with the Product Catalog</h2>
+
+<p>This section describes how to browse and search the product catalog.</p>
+
+<h4><a id="CatalogBrowsing" name="CatalogBrowsing"></a>Browsing the Catalog</h4>
+
+<p>
+  The pet store catalog is organized hierarchically as follows: categories,
+  products, items.
+</p>
+
+<p>
+  You list the pets in a category by clicking on the category name in the
+  left column of the main page, or by clicking on the picture representing the
+  category.
+</p>
+
+<p>
+  Once you select a category, the pet store will display a list of products
+  within a category. Selecting a product displays a list of items and their
+  prices. Selecting a product item displays a text and visual description of
+  the item and the number of that item in stock.
+</p>
+
+<h4><a id="CatalogSearching" name="CatalogSearching"></a>Searching the Catalog</h4>
+
+<p>
+  You search for products by typing the product name in search field in the
+  middle of the banner.
+</p>
+
+<h2><a id="ShoppingCart" name="ShoppingCart"></a>Working with the Shopping Cart</h2>
+
+<h4><a id="ShoppingCartAdd" name="ShoppingCartAdd"></a>Adding and Removing Items</h4>
+
+<p>
+  You add an item to your shopping cart by clicking the Add to Cart button to
+  the right of an item. This action also displays your shopping cart.
+</p>
+
+<p>
+  You can remove the item by clicking the Remove button to the left of the
+  item.
+</p>
+
+<p>
+  To continue shopping, you select a product category from the list under
+  the banner.
+</p>
+
+<h4><a id="ShoppingCartUpdate" name="ShoppingCartUpdate"></a>Updating the Quantity of an Item</h4>
+
+<p>
+  You adjust the quantity of an item by typing the quantity in the item's
+  Quantity field in the shopping cart and clicking the Update button.
+</p>
+
+<p>
+  If the quantity of items requested is greater than that in stock, the In
+  Stock field in the shopping cart will show that the item is backordered.
+</p>
+
+<h4><a id="Ordering" name="Ordering"></a>Ordering Items</h4>
+
+<p>
+  You order the items in the shopping cart by selecting the Proceed to Checkout
+  button. The pet store will display a read-only list of the shopping cart
+  contents. To proceed with the checkout, click the Continue button.
+</p>
+
+<p>
+  If you have not signed in, the application will display the signin page,
+  where you will need to provide your account name and password. Otherwise, the
+  application will display a page requesting payment and shipping information.
+  When you have filled in the required information, you click the Submit
+  button, and the application will display a read-only page containing your
+  billing and shipping address. If you need to change any information,
+  click your browser's Back button and enter the correct information. To
+  complete the order, you click the Continue button.
+</p>
+
+<h2><a id="OrderReview" name="OrderReview"></a>Reviewing An Order</h2>
+
+<p>
+  The final screen contains your order information.
+</p>
+
+<p>
+  The application can be set up to send email confirmation of orders.
+  This option can only be set when the application is deployed. See the
+  installation instructions for further information.
+</p>
+
+
+<p><sub>Copyright Apache Software Foundation</sub></p>
+
+</div>
+
+</body>
+
+</html>

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/help.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/help.html
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_birds.gif
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_birds.gif?rev=419093&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_birds.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_birds.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_cats.gif
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_cats.gif?rev=419093&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_cats.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_cats.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_dogs.gif
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_dogs.gif?rev=419093&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_dogs.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_dogs.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_fish.gif
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_fish.gif?rev=419093&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_fish.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_fish.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_reptiles.gif
URL: http://svn.apache.org/viewvc/incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_reptiles.gif?rev=419093&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_reptiles.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cayenne/examples/trunk/cayenne-petstore/web/images/banner_reptiles.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



Mime
View raw message