You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mf...@apache.org on 2010/06/02 01:35:49 UTC

svn commit: r950308 [5/13] - in /myfaces/portlet-bridge/core/trunk_2.0.x: ./ api/src/main/java/javax/portlet/faces/ api/src/main/java/javax/portlet/faces/component/ examples/ examples/blank/ examples/blank/src/main/webapp/WEB-INF/ examples/carstore/ ex...

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/jetty-pluto-web-default.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+	   
+-->
+
+<!-- This web.xml file is used in order to configure pluto to run with jetty in order to test the appropriate web applications -->
+<web-app 
+   xmlns="http://java.sun.com/xml/ns/javaee" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
+   metadata-complete="true"
+   version="2.5"> 
+
+  <context-param>
+    <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name>
+    <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar</param-value>
+  </context-param>
+  
+  <!-- Listeners -->
+  <listener>
+    <listener-class>
+      com.bekk.boss.pluto.embedded.jetty.util.OverrideContextLoaderListener
+    </listener-class>
+  </listener>
+  
+  <listener>
+    <listener-class>
+      com.bekk.boss.pluto.embedded.util.PortalStartupListener
+    </listener-class>
+  </listener>
+
+  <!-- Filters and Mappings -->
+  <filter>
+    <filter-name>plutoResourceFilter</filter-name>
+    <filter-class>com.bekk.boss.pluto.embedded.util.PlutResourcesFilter</filter-class>
+  </filter>
+
+  <filter>
+    <filter-name>plutoPortalDriver</filter-name>
+    <filter-class>com.bekk.boss.pluto.embedded.util.PlutoPortalDriverFilter</filter-class>
+  </filter>
+	
+  <filter-mapping>
+    <filter-name>plutoResourceFilter</filter-name>
+    <url-pattern>*.css</url-pattern>
+    <url-pattern>*.gif</url-pattern>
+    <url-pattern>*.png</url-pattern>
+    <url-pattern>*.js</url-pattern>
+  </filter-mapping>
+
+  <filter-mapping>
+    <filter-name>plutoPortalDriver</filter-name>
+    <url-pattern>/pluto/index.jsp</url-pattern>
+    <url-pattern>/pluto/index.jsp/*</url-pattern>
+  </filter-mapping>
+
+  <!-- Servlets and Mappings -->
+
+  <!--
+    The default servlet.                                                  
+    This servlet, normally mapped to /, provides the handling for static  
+    content, OPTIONS and TRACE methods for the context.                   
+    The following initParameters are supported:                           
+                                                                          
+      acceptRanges     If true, range requests and responses are          
+                       supported                                          
+                                                                          
+      dirAllowed       If true, directory listings are returned if no     
+                       welcome file is found. Else 403 Forbidden.         
+                                                                          
+      redirectWelcome  If true, redirect welcome file requests            
+                       else use request dispatcher forwards               
+                                                                          
+      gzip             If set to true, then static content will be served  
+                       as gzip content encoded if a matching resource is  
+                       found ending with ".gz"                            
+                                                                          
+      resoureBase      Can be set to replace the context resource base    
+                                                                          
+      relativeResourceBase                                                
+                       Set with a pathname relative to the base of the    
+                       servlet context root. Useful for only serving      
+                       static content from only specific subdirectories.  
+                                                                          
+      useFileMappedBuffer                                                 
+                       If set to true (the default), a  memory mapped     
+                       file buffer will be used to serve static content   
+                       when using an NIO connector. Setting this value    
+                       to false means that a direct buffer will be used   
+                       instead. If you are having trouble with Windows    
+                       file locking, set this to false.                   
+                                                                          
+     cacheControl      If set, all static content will have this value    
+                       set as the cache-control header.                   
+                                                                          
+     maxCacheSize      Maximum size of the static resource cache          
+                                                                          
+     maxCachedFileSize Maximum size of any single file in the cache       
+                                                                          
+     maxCachedFiles    Maximum number of files in the cache               
+  -->
+
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
+    <init-param>
+      <param-name>acceptRanges</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dirAllowed</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>redirectWelcome</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCacheSize</param-name>
+      <param-value>4000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFileSize</param-name>
+      <param-value>254000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFiles</param-name>
+      <param-value>1000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>gzip</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>useFileMappedBuffer</param-name>
+      <param-value>true</param-value>
+    </init-param>  
+    <load-on-startup>0</load-on-startup>
+  </servlet> 
+
+  <servlet id="jsp">
+    <servlet-name>jsp</servlet-name>
+    <servlet-class>com.bekk.boss.pluto.embedded.util.PortletJspServlet</servlet-class>
+    <init-param>
+        <param-name>logVerbosityLevel</param-name>
+        <param-value>DEBUG</param-value>
+    </init-param>
+    <init-param>
+        <param-name>fork</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <init-param>
+        <param-name>xpoweredBy</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping>
+    <servlet-name>default</servlet-name>
+    <url-pattern>/</url-pattern>
+  </servlet-mapping>
+
+  <servlet-mapping> 
+    <servlet-name>jsp</servlet-name> 
+    <url-pattern>*.jsp</url-pattern> 
+    <url-pattern>*.jspf</url-pattern>
+    <url-pattern>*.jspx</url-pattern>
+    <url-pattern>*.xsp</url-pattern>
+    <url-pattern>*.JSP</url-pattern> 
+    <url-pattern>*.JSPF</url-pattern>
+    <url-pattern>*.JSPX</url-pattern>
+    <url-pattern>*.XSP</url-pattern>
+  </servlet-mapping>
+
+  <!-- Other settings -->
+  <session-config>
+    <session-timeout>60</session-timeout>
+  </session-config>
+
+	
+  <locale-encoding-mapping-list>
+    <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>     
+    <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>   
+  </locale-encoding-mapping-list>
+</web-app>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/portlet.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/portlet.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/portlet.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific xml:language governing permissions and limitations
+    under the License.	   
+-->
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"             
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"             
+                   xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
+                                       http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+                   id="BridgeCarDemo" version="2.0">
+
+  <portlet>
+    <description>MyFaces Portlet Bridge CarDemo Portlet</description>
+    <portlet-name>portlet-bridge-carstore</portlet-name>
+    <display-name>MyFaces Portlet Bridge CarDemo</display-name>
+    <portlet-class>javax.portlet.faces.GenericFacesPortlet</portlet-class>
+
+    <init-param>
+      <name>javax.portlet.faces.defaultViewId.view</name>
+      <value>/chooseLocale.jsp</value>
+    </init-param>
+
+
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>view</portlet-mode>
+    </supports>
+
+    <supported-locale>en</supported-locale>
+
+    <portlet-info>
+      <title>MyFaces Portlet Bridge Demo</title>
+      <short-title>Bridge Demo</short-title>
+    </portlet-info>
+  </portlet>
+  
+</portlet-app>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/web.xml?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/web.xml (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/WEB-INF/web.xml Tue Jun  1 23:35:42 2010
@@ -0,0 +1,130 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!--
+ The contents of this file are subject to the terms
+ of the Common Development and Distribution License
+ (the License). You may not use this file except in
+ compliance with the License.
+ 
+ You can obtain a copy of the License at
+ https://javaserverfaces.dev.java.net/CDDL.html or
+ legal/CDDLv1.0.txt. 
+ See the License for the specific language governing
+ permission and limitations under the License.
+ 
+ When distributing Covered Code, include this CDDL
+ Header Notice in each file and include the License file
+ at legal/CDDLv1.0.txt.    
+ If applicable, add the following below the CDDL Header,
+ with the fields enclosed by brackets [] replaced by
+ your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+ 
+ [Name of File] [ver.__] [Date]
+ 
+ Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<web-app version="2.5"
+         xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+    <display-name>Car Store</display-name>
+    <description>Buy a car.</description>
+
+    <context-param>
+        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+        <param-value>client</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>com.sun.faces.externalizeJavaScript</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <context-param>
+        <description>
+            Set this flag to true if you want the JavaServer Faces
+            Reference Implementation to validate the XML in your
+            faces-config.xml resources against the DTD. Default
+            value is false.
+        </description>
+        <param-name>com.sun.faces.validateXml</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <!--
+         PENDING: set to false because demo-components.jar has
+         components that can only be created in the context of
+         a current request.
+    -->
+    <context-param>
+        <description>
+            Set this flag to true if you want the JavaServer Faces
+            Reference Implementation to verify that all of the application
+            objects you have configured (components, converters,
+            renderers, and validators) can be successfully created.
+            Default value is false.
+        </description>
+        <param-name>com.sun.faces.verifyObjects</param-name>
+        <param-value>false</param-value>
+    </context-param>
+
+    <!-- Faces Servlet -->
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+
+    <!-- Faces Servlet Mapping -->
+    <!-- 
+
+         This mapping identifies a jsp page as having JSF content.  If a
+         request comes to the server for foo.faces, the container will
+         send the request to the FacesServlet, which will expect a
+         corresponding foo.jsp page to exist containing the content.
+
+    -->
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.faces</url-pattern>
+    </servlet-mapping>
+
+    <security-constraint>
+        <!-- This security constraint illustrates how JSP pages 
+             with JavaServer Faces components can be protected from
+             being accessed without going through the Faces Servlet.
+             The security constraint ensures that the Faces Servlet will
+             be used or the pages will not be processed. -->
+        <display-name>Restrict access to JSP pages</display-name>
+        <web-resource-collection>
+            <web-resource-name>
+                Restrict access to JSP pages
+            </web-resource-name>
+            <url-pattern>/bottomMatter.jsp</url-pattern>
+            <url-pattern>/carDetail.jsp</url-pattern>
+            <url-pattern>/chooseLocale.jsp</url-pattern>
+            <url-pattern>/confirmChoices.jsp</url-pattern>
+            <url-pattern>/customerInfo.jsp</url-pattern>
+            <url-pattern>/finish.jsp</url-pattern>
+            <url-pattern>/optionsPanel.jsp</url-pattern>
+            <url-pattern>/storeFront.jsp</url-pattern>
+        </web-resource-collection>
+        <auth-constraint>
+            <description>
+                With no roles defined, no access granted
+            </description>
+        </auth-constraint>
+    </security-constraint>
+
+    <!-- Enable encryption for client side state saving -->
+    <env-entry>
+        <env-entry-name>com.sun.faces.ClientStateSavingPassword</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>password</env-entry-value>
+    </env-entry>
+
+</web-app>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/bottomMatter.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/bottomMatter.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/bottomMatter.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/bottomMatter.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,35 @@
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+<%@ page contentType="text/html"
+         isELIgnored="false" %>
+
+<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
+<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
+
+
+    <h:outputLink value="javadocs">
+        Documentation for this demo
+    </h:outputLink>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/carDetail.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/carDetail.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/carDetail.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/carDetail.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<%@ page contentType="text/html"
+         isELIgnored="false" %>
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1">
+    <title>CarStore</title>
+    <link rel="stylesheet" type="text/css"
+          href="<%=response.encodeURL(request.getContextPath() + "stylesheet.css")%>">
+</head>
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<f:loadBundle basename="carstore.bundles.Resources" var="bundle"/>
+
+<body bgcolor="white">
+
+<f:view>
+
+    <h:form>
+
+
+        <!-- non-option details -->
+
+        <h:panelGrid columns="1"
+                     summary="#{bundle.carDetails}"
+                     title="#{bundle.carDetails}">
+
+            <h:graphicImage url="/images/cardemo.jpg"/>
+
+            <h:graphicImage
+                  binding="#{carstore.currentModel.components.image}"/>
+
+            <h:outputText styleClass="subtitlebig"
+                          binding="#{carstore.currentModel.components.title}"/>
+
+            <h:outputText
+                  binding="#{carstore.currentModel.components.description}"/>
+
+            <h:panelGrid columns="2">
+
+                <h:outputText styleClass="subtitle"
+                              value="#{bundle.basePriceLabel}"/>
+
+                <h:outputText
+                      binding="#{carstore.currentModel.components.basePrice}"/>
+
+                <h:outputText styleClass="subtitle"
+                              value="#{bundle.yourPriceLabel}"/>
+
+                <h:outputText value="#{carstore.currentModel.currentPrice}"/>
+
+            </h:panelGrid>
+
+            <h:commandButton action="#{carstore.buyCurrentCar}"
+                             value="#{bundle.buy}"/>
+
+        </h:panelGrid>
+
+        <jsp:include page="optionsPanel.jsp"/>
+
+        <h:commandButton value="#{bundle.recalculate}"
+                         action="#{carstore.currentModel.updatePricing}"/>
+
+        <h:commandButton action="#{carstore.buyCurrentCar}"
+                         value="#{bundle.buy}"/>
+
+    </h:form>
+
+    <jsp:include page="bottomMatter.jsp"/>
+
+</f:view>
+</body>
+
+</html>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/chooseLocale.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/chooseLocale.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/chooseLocale.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/chooseLocale.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,174 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+<%@ page contentType="text/html"
+         isELIgnored="false" %>
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://java.sun.com/blueprints/ui" prefix="d" %>
+
+
+<html>
+<head>
+    <title>CarStore</title>
+
+    <link rel="stylesheet" type="text/css"
+          href="<%=response.encodeURL(request.getContextPath() + "stylesheet.css")%>"> 
+</head>
+
+
+<f:loadBundle basename="carstore.bundles.Resources" var="bundle"/>
+
+<f:view>
+<h:form>
+
+    <h:panelGrid columns="1"
+                 footerClass="form-footer"
+                 headerClass="form-header"
+                 styleClass="main-background"
+                 columnClasses="single-column"
+                 summary="#{bundle.chooseLocale}"
+                 title="#{bundle.chooseLocale}">
+
+        <h:graphicImage url="/images/cardemo.jpg"/>
+
+        <h:outputText styleClass="maintitle"
+                      value="#{bundle.chooseLocale}"/>
+
+        <h:graphicImage id="mapImage" url="/images/world.jpg"
+                        alt="#{bundle.chooseLocale}"
+                        usemap="#worldMap"/>
+
+        <d:map id="worldMap" current="NAmericas" immediate="true"
+               action="storeFront"
+               actionListener="#{carstore.chooseLocaleFromMap}">
+            <d:area id="NAmerica" value="#{NA}"
+                    onmouseover="/images/world_namer.jpg"
+                    onmouseout="/images/world.jpg"
+                    targetImage="mapImage"/>
+            <d:area id="SAmerica" value="#{SA}"
+                    onmouseover="/images/world_samer.jpg"
+                    onmouseout="/images/world.jpg"
+                    targetImage="mapImage"/>
+            <d:area id="Germany" value="#{gerA}"
+                    onmouseover="/images/world_germany.jpg"
+                    onmouseout="/images/world.jpg"
+                    targetImage="mapImage"/>
+            <d:area id="France" value="#{fraA}"
+                    onmouseover="/images/world_france.jpg"
+                    onmouseout="/images/world.jpg"
+                    targetImage="mapImage"/>
+        </d:map>
+
+    </h:panelGrid>
+
+</h:form>
+
+
+<h:form>
+
+    <!-- For non graphical browsers -->
+
+    <p>Example of <code>commandLink</code></p>
+
+    <h:panelGrid id="links" columns="4"
+                 summary="#{bundle.chooseLocale}"
+                 title="#{bundle.chooseLocale}">
+
+        <h:commandLink id="NAmerica" action="storeFront"
+                       actionListener="#{carstore.chooseLocaleFromLink}">
+
+            <h:outputText value="#{bundle.english}"/>
+
+        </h:commandLink>
+
+        <h:commandLink id="Germany" action="storeFront"
+                       actionListener="#{carstore.chooseLocaleFromLink}">
+
+            <h:outputText value="#{bundle.german}"/>
+
+        </h:commandLink>
+
+        <h:commandLink id="France" action="storeFront"
+                       actionListener="#{carstore.chooseLocaleFromLink}">
+
+            <h:outputText value="#{bundle.french}"/>
+
+        </h:commandLink>
+
+        <h:commandLink id="SAmerica" action="storeFront"
+                       actionListener="#{carstore.chooseLocaleFromLink}">
+
+            <h:outputText value="#{bundle.spanish}"/>
+
+        </h:commandLink>
+
+    </h:panelGrid>
+
+</h:form>
+
+<h:form>
+
+    <p>Example of <code>commandButton</code></p>
+
+    <h:panelGrid id="buttons" columns="4"
+                 summary="#{bundle.chooseLocale}"
+                 title="#{bundle.chooseLocale}">
+
+        <h:commandButton id="NAmerica" action="storeFront"
+                         value="#{bundle.english}"
+                         actionListener="#{carstore.chooseLocaleFromLink}">
+
+        </h:commandButton>
+
+        <h:commandButton id="Germany" action="storeFront"
+                         value="#{bundle.german}"
+                         actionListener="#{carstore.chooseLocaleFromLink}">
+
+        </h:commandButton>
+
+        <h:commandButton id="France" action="storeFront"
+                         value="#{bundle.french}"
+                         actionListener="#{carstore.chooseLocaleFromLink}">
+
+        </h:commandButton>
+
+        <h:commandButton id="SAmerica" action="storeFront"
+                         value="#{bundle.spanish}"
+                         actionListener="#{carstore.chooseLocaleFromLink}">
+
+        </h:commandButton>
+
+    </h:panelGrid>
+
+
+</h:form>
+
+<jsp:include page="bottomMatter.jsp"/>
+
+</f:view>
+
+</html>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/confirmChoices.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/confirmChoices.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/confirmChoices.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/confirmChoices.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,150 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<%@ page contentType="text/html"
+         isELIgnored="false" %>
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<html>
+
+<head>
+    <title>Welcome to CarStore</title>
+    <link rel="stylesheet" type="text/css"
+          href="<%=response.encodeURL(request.getContextPath() + "stylesheet.css")%>">
+</head>
+
+<body bgcolor="white">
+
+<f:loadBundle basename="carstore.bundles.Resources" var="bundle"/>
+<f:view>
+    <h:form>
+
+        <h:panelGrid id="mainPanel" columns="1" footerClass="subtitle"
+                     styleClass="medium" columnClasses="medium">
+
+            <h:graphicImage url="/images/cardemo.jpg"/>
+            <h:outputText binding="#{carstore.currentModel.components.title}"/>
+
+            <h:panelGrid columns="2" footerClass="subtitle"
+                         headerClass="subtitlebig" styleClass="medium"
+                         columnClasses="subtitle,medium">
+
+                <f:facet name="header">
+                    <h:outputText value="#{bundle.buyTitle}"/>
+                </f:facet>
+
+                <h:outputText value="#{bundle.Engine}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.engine}"/>
+
+                <h:outputText value="#{bundle.Brakes}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.brake}"/>
+
+                <h:outputText value="#{bundle.Suspension}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.suspension}"/>
+
+                <h:outputText value="#{bundle.Speakers}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.speaker}"/>
+
+                <h:outputText value="#{bundle.Audio}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.audio}"/>
+
+                <h:outputText value="#{bundle.Transmission}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.transmission}"/>
+
+                <h:outputText value="#{bundle.sunroofLabel}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.sunroof}"/>
+
+                <h:outputText value="#{bundle.cruiseLabel}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.cruisecontrol}"/>
+
+                <h:outputText value="#{bundle.keylessLabel}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.keylessentry}"/>
+
+                <h:outputText value="#{bundle.securityLabel}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.securitySystem}"/>
+
+                <h:outputText value="#{bundle.skiRackLabel}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.skiRack}"/>
+
+                <h:outputText value="#{bundle.towPkgLabel}"/>
+
+                <h:outputText
+                      value="#{carstore.currentModel.attributes.towPackage}"/>
+
+                <h:outputText value="#{bundle.gpsLabel}"/>
+
+                <h:outputText value="#{carstore.currentModel.attributes.gps}"/>
+
+                <f:facet name="footer">
+                    <h:panelGroup>
+                        <h:outputText value="#{bundle.yourPriceLabel}"/>
+                        &nbsp;
+                        <h:outputText
+                              value="#{carstore.currentModel.currentPrice}"/>
+                    </h:panelGroup>
+                </f:facet>
+
+            </h:panelGrid>
+
+            <h:panelGroup>
+                <h:commandButton value="#{bundle.buy}" action="customerInfo"
+                                 title="#{bundle.buy}"/>
+                <h:commandButton value="#{bundle.back}" action="carDetail"
+                                 title="#{bundle.back}"/>
+            </h:panelGroup>
+
+        </h:panelGrid>
+    </h:form>
+    <jsp:include page="bottomMatter.jsp"/>
+</f:view>
+
+</body>
+</html>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/customerInfo.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/customerInfo.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/customerInfo.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/customerInfo.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,211 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<%@ page contentType="text/html"
+         isELIgnored="false" %>
+
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Customer Details</title>
+    <link rel="stylesheet" type="text/css"
+          href="<%=response.encodeURL(request.getContextPath() + "stylesheet.css")%>">
+
+    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+    <%@ taglib uri="https://javaserverfaces.dev.java.net/demo/carstore"
+               prefix="cs" %>
+</head>
+
+<body>
+
+<f:loadBundle basename="carstore.bundles.Resources" var="bundle"/>
+
+<f:view>
+<h:form>
+
+<h:panelGrid id="mainPanel" columns="1" footerClass="subtitle"
+             headerClass="subtitlebig" styleClass="medium"
+             columnClasses="medium">
+
+<h:graphicImage url="/images/cardemo.jpg"/>
+
+<h:outputText value="#{bundle.customerTitle}"/>
+
+<h:panelGrid id="subPanel" columns="3" footerClass="medium"
+             headerClass="subtitlebig" styleClass="medium"
+             columnClasses="medium">
+
+<h:outputText value="#{bundle.titleLabel}"/>
+<h:selectOneMenu id="title" value="#{customer.currentTitle}">
+    <f:selectItems value="#{customer.titleOptions}"/>
+</h:selectOneMenu>
+<h:outputText value=""/>
+
+<h:outputText value="#{bundle.firstLabel}"/>
+<h:inputText id="firstName" value="#{customer.firstName}" required="true">
+    <f:valueChangeListener type="carstore.FirstNameChanged"/>
+</h:inputText>
+<h:message styleClass="validationMessage" for="firstName"/>
+
+<h:outputText value="#{bundle.middleLabel}"/>
+<h:inputText id="middleInitial" size="1" maxlength="1"
+             value="#{customer.middleInitial}">
+</h:inputText>
+<h:message styleClass="validationMessage" for="middleInitial"/>
+
+<h:outputText value="#{bundle.lastLabel}"/>
+<h:inputText value="#{customer.lastName}"/>
+<h:outputText value=""/>
+
+<h:outputText value="#{bundle.mailingLabel}"/>
+<h:inputText value="#{customer.mailingAddress}"/>
+<h:outputText value=""/>
+
+<h:outputText value="#{bundle.cityLabel}"/>
+<h:inputText value="#{customer.city}"/>
+<h:outputText value=""/>
+
+<h:outputText value="#{bundle.stateLabel}"/>
+<h:selectOneMenu value="#{customer.state}">
+
+    <f:selectItem itemValue="AL" itemLabel="AL"/>
+    <f:selectItem itemValue="AK" itemLabel="AK"/>
+    <f:selectItem itemValue="AZ" itemLabel="AZ"/>
+    <f:selectItem itemValue="AR" itemLabel="AR"/>
+    <f:selectItem itemValue="CA" itemLabel="CA"/>
+    <f:selectItem itemValue="CO" itemLabel="CO"/>
+    <f:selectItem itemValue="CT" itemLabel="CT"/>
+    <f:selectItem itemValue="DE" itemLabel="DE"/>
+    <f:selectItem itemValue="FL" itemLabel="FL"/>
+    <f:selectItem itemValue="GA" itemLabel="GA"/>
+
+    <f:selectItem itemValue="HI" itemLabel="HI"/>
+    <f:selectItem itemValue="ID" itemLabel="ID"/>
+    <f:selectItem itemValue="IL" itemLabel="IL"/>
+    <f:selectItem itemValue="IN" itemLabel="IN"/>
+    <f:selectItem itemValue="IA" itemLabel="IA"/>
+    <f:selectItem itemValue="KS" itemLabel="KS"/>
+    <f:selectItem itemValue="KY" itemLabel="KY"/>
+    <f:selectItem itemValue="LA" itemLabel="LA"/>
+    <f:selectItem itemValue="ME" itemLabel="ME"/>
+    <f:selectItem itemValue="MD" itemLabel="MD"/>
+
+    <f:selectItem itemValue="MA" itemLabel="MA"/>
+    <f:selectItem itemValue="MI" itemLabel="MI"/>
+    <f:selectItem itemValue="MN" itemLabel="MN"/>
+    <f:selectItem itemValue="MO" itemLabel="MO"/>
+    <f:selectItem itemValue="MT" itemLabel="MT"/>
+    <f:selectItem itemValue="NE" itemLabel="NE"/>
+    <f:selectItem itemValue="NV" itemLabel="NV"/>
+    <f:selectItem itemValue="NH" itemLabel="NH"/>
+    <f:selectItem itemValue="NJ" itemLabel="NJ"/>
+    <f:selectItem itemValue="NM" itemLabel="NM"/>
+
+    <f:selectItem itemValue="MY" itemLabel="MY"/>
+    <f:selectItem itemValue="NC" itemLabel="NC"/>
+    <f:selectItem itemValue="ND" itemLabel="ND"/>
+    <f:selectItem itemValue="OH" itemLabel="OH"/>
+    <f:selectItem itemValue="OK" itemLabel="OK"/>
+    <f:selectItem itemValue="OR" itemLabel="OR"/>
+    <f:selectItem itemValue="PA" itemLabel="PA"/>
+    <f:selectItem itemValue="RI" itemLabel="RI"/>
+    <f:selectItem itemValue="SC" itemLabel="SC"/>
+    <f:selectItem itemValue="SD" itemLabel="SD"/>
+
+    <f:selectItem itemValue="TN" itemLabel="TN"/>
+    <f:selectItem itemValue="TX" itemLabel="TX"/>
+    <f:selectItem itemValue="UT" itemLabel="UT"/>
+    <f:selectItem itemValue="VT" itemLabel="VT"/>
+    <f:selectItem itemValue="VA" itemLabel="VA"/>
+    <f:selectItem itemValue="WA" itemLabel="WA"/>
+    <f:selectItem itemValue="WV" itemLabel="WV"/>
+    <f:selectItem itemValue="WI" itemLabel="WI"/>
+    <f:selectItem itemValue="WY" itemLabel="WY"/>
+</h:selectOneMenu>
+<h:outputText value=""/>
+
+<h:outputText value="#{bundle.zipLabel}"/>
+<h:inputText id="zip"
+             value="#{customer.zip}"
+             size="10" required="true">
+    <cs:format_validator formatPatterns="99999|99999-9999|### ###"/>
+</h:inputText>
+<h:message styleClass="validationMessage" for="zip"/>
+
+<h:outputText value="#{bundle.ccNumberLabel}"/>
+<h:inputText id="ccno" size="16"
+             converter="creditCardConverter" required="true">
+    <cs:format_validator
+          formatPatterns="9999999999999999|9999 9999 9999 9999|9999-9999-9999-9999"/>
+</h:inputText>
+<h:message styleClass="validationMessage" for="ccno"/>
+
+<h:outputText value="#{bundle.monthLabel}"/>
+<h:panelGrid id="monthYearPanel" columns="2" footerClass="medium"
+             headerClass="medium" styleClass="medium" columnClasses="medium">
+    <h:selectOneMenu value="#{customer.month}">
+        <f:selectItem itemValue="01" itemLabel="01"/>
+        <f:selectItem itemValue="02" itemLabel="02"/>
+        <f:selectItem itemValue="03" itemLabel="03"/>
+        <f:selectItem itemValue="04" itemLabel="04"/>
+        <f:selectItem itemValue="05" itemLabel="05"/>
+        <f:selectItem itemValue="06" itemLabel="06"/>
+        <f:selectItem itemValue="07" itemLabel="07"/>
+        <f:selectItem itemValue="08" itemLabel="08"/>
+        <f:selectItem itemValue="09" itemLabel="09"/>
+        <f:selectItem itemValue="10" itemLabel="10"/>
+        <f:selectItem itemValue="11" itemLabel="11"/>
+        <f:selectItem itemValue="12" itemLabel="12"/>
+    </h:selectOneMenu>
+
+    <h:selectOneMenu value="#{customer.year}">
+        <f:selectItem itemValue="2002" itemLabel="2002"/>
+        <f:selectItem itemValue="2003" itemLabel="2003"/>
+        <f:selectItem itemValue="2004" itemLabel="2004"/>
+        <f:selectItem itemValue="2005" itemLabel="2005"/>
+        <f:selectItem itemValue="2006" itemLabel="2006"/>
+        <f:selectItem itemValue="2007" itemLabel="2007"/>
+        <f:selectItem itemValue="2008" itemLabel="2008"/>
+    </h:selectOneMenu>
+</h:panelGrid>
+<h:outputText value=""/>
+
+</h:panelGrid>
+
+<h:commandButton value="#{bundle.finishButton}" action="finish"/>
+
+<h:graphicImage id="duke" url="/images/duke.gif"/>
+
+<h:outputText value="#{bundle.buyLabel}"/>
+
+</h:panelGrid>
+
+</h:form>
+</f:view>
+</body>
+</html>
+

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/finish.jsp
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/finish.jsp?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/finish.jsp (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/finish.jsp Tue Jun  1 23:35:42 2010
@@ -0,0 +1,61 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+
+<%@ page contentType="text/html"
+         isELIgnored="false" %>
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<html>
+
+<head>
+    <title>Welcome to CarStore</title>
+    <link rel="stylesheet" type="text/css"
+          href="<%=response.encodeURL(request.getContextPath() + "stylesheet.css")%>">
+</head>
+
+<body bgcolor="white">
+<f:loadBundle basename="carstore.bundles.Resources" var="bundle"/>
+<f:view>
+    <h:form>
+        <h:graphicImage url="/images/cardemo.jpg"/>
+
+        <h:panelGrid id="thanksPanel" columns="1" footerClass="subtitle"
+                     headerClass="subtitlebig" styleClass="medium"
+                     columnClasses="subtitle,medium">
+            <f:facet name="header">
+                <h:outputFormat title="thanks" value="#{bundle.thanksLabel}">
+                    <f:param value="#{sessionScope.firstName}"/>
+                </h:outputFormat>
+            </f:facet>
+        </h:panelGrid>
+
+    </h:form>
+    <jsp:include page="bottomMatter.jsp"/>
+</f:view>
+</body>
+</html>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Jalopy.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Jalopy.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Jalopy.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Luxury.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Luxury.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Luxury.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Roadster.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Roadster.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_Roadster.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_SUV.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_SUV.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/150x126_SUV.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Jalopy.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Jalopy.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Jalopy.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Luxury.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Luxury.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Luxury.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Roadster.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Roadster.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_Roadster.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_SUV.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_SUV.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/200x168_SUV.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/BuyBtn.gif
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/BuyBtn.gif?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/BuyBtn.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/FinishBtn.gif
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/FinishBtn.gif?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/FinishBtn.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/MoreBtn.gif
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/MoreBtn.gif?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/MoreBtn.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/cardemo.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/cardemo.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/cardemo.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/current.gif
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/current.gif?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/current.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/duke.gif
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/duke.gif?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/duke.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_france.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_france.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_france.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_germany.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_germany.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_germany.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_namer.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_namer.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_namer.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_samer.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_samer.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/images/world_samer.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/index.jsp.bak
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/index.jsp.bak?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/index.jsp.bak (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/index.jsp.bak Tue Jun  1 23:35:42 2010
@@ -0,0 +1,45 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<!--
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://javaserverfaces.dev.java.net/CDDL.html or
+legal/CDDLv1.0.txt.
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+[Name of File] [ver.__] [Date]
+
+Copyright 2005 Sun Microsystems Inc. All Rights Reserved
+-->
+<html>
+<head>
+</head>
+
+<body>
+
+<!--  
+
+This page allows the user to go to the context-path and get redirected
+to the front page of the app.  For example,
+http://localhost:8080/jsf-carstore/.  Note that we use "*.faces" as the
+page mapping.  Doing so allows us to just name our pages as "*.jsp",
+refer to them as "*.faces" and know that they will be properly picked up
+by the container.
+
+-->
+
+<jsp:forward page="chooseLocale.faces"/>
+</body>
+</html>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-frame.html
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-frame.html?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-frame.html (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-frame.html Tue Jun  1 23:35:42 2010
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_04) on Fri Dec 01 10:31:31 PST 2006 -->
+<TITLE>
+All Classes (jsf-cardemo)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="carstore/CarBean.html" title="class in carstore" target="classFrame">CarBean</A>
+<BR>
+<A HREF="carstore/CarCustomizer.html" title="class in carstore" target="classFrame">CarCustomizer</A>
+<BR>
+<A HREF="carstore/CarStore.html" title="class in carstore" target="classFrame">CarStore</A>
+<BR>
+<A HREF="carstore/CreditCardConverter.html" title="class in carstore" target="classFrame">CreditCardConverter</A>
+<BR>
+<A HREF="carstore/CustomerBean.html" title="class in carstore" target="classFrame">CustomerBean</A>
+<BR>
+<A HREF="carstore/FirstNameChanged.html" title="class in carstore" target="classFrame">FirstNameChanged</A>
+<BR>
+<A HREF="carstore/FormatValidator.html" title="class in carstore" target="classFrame">FormatValidator</A>
+<BR>
+<A HREF="carstore/FormatValidatorTag.html" title="class in carstore" target="classFrame">FormatValidatorTag</A>
+<BR>
+<A HREF="carstore/MessageFactory.html" title="class in carstore" target="classFrame">MessageFactory</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-noframe.html
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-noframe.html?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-noframe.html (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/allclasses-noframe.html Tue Jun  1 23:35:42 2010
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_04) on Fri Dec 01 10:31:31 PST 2006 -->
+<TITLE>
+All Classes (jsf-cardemo)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="carstore/CarBean.html" title="class in carstore">CarBean</A>
+<BR>
+<A HREF="carstore/CarCustomizer.html" title="class in carstore">CarCustomizer</A>
+<BR>
+<A HREF="carstore/CarStore.html" title="class in carstore">CarStore</A>
+<BR>
+<A HREF="carstore/CreditCardConverter.html" title="class in carstore">CreditCardConverter</A>
+<BR>
+<A HREF="carstore/CustomerBean.html" title="class in carstore">CustomerBean</A>
+<BR>
+<A HREF="carstore/FirstNameChanged.html" title="class in carstore">FirstNameChanged</A>
+<BR>
+<A HREF="carstore/FormatValidator.html" title="class in carstore">FormatValidator</A>
+<BR>
+<A HREF="carstore/FormatValidatorTag.html" title="class in carstore">FormatValidatorTag</A>
+<BR>
+<A HREF="carstore/MessageFactory.html" title="class in carstore">MessageFactory</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/beans.jpg
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/beans.jpg?rev=950308&view=auto
==============================================================================
Binary file - no diff available.

Propchange: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/beans.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/carstore/CarBean.html
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/carstore/CarBean.html?rev=950308&view=auto
==============================================================================
--- myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/carstore/CarBean.html (added)
+++ myfaces/portlet-bridge/core/trunk_2.0.x/examples/carstore/src/main/webapp/javadocs/carstore/CarBean.html Tue Jun  1 23:35:42 2010
@@ -0,0 +1,462 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_04) on Fri Dec 01 10:31:30 PST 2006 -->
+<TITLE>
+CarBean (jsf-cardemo)
+</TITLE>
+
+<META NAME="keywords" CONTENT="carstore.CarBean class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CarBean (jsf-cardemo)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../carstore/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../carstore/CarCustomizer.html" title="class in carstore"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../index.html?carstore/CarBean.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CarBean.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+carstore</FONT>
+<BR>
+Class CarBean</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../resources/inherit.gif" ALT="extended by "><B>carstore.CarBean</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>CarBean</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+<p>This bean encapsulates a car model, including pricing and package
+ choices.  The system allows the user to customize the properties of
+ this bean with the help of the <A HREF="../carstore/CarCustomizer.html" title="class in carstore"><CODE>CarCustomizer</CODE></A>.</p>
+ <p/>
+ <h3>Data Access</h3>
+ <p/>
+ <p>This is the only bean in the system that has complicated access to
+ the persistent store of data.  In the present implementation, this
+ persistent store is in <code>ResourceBundle</code> instances.</p>
+ <p/>
+ <p>There are three data source <code>ResourceBundle</code> files
+ used:</p>
+ <p/>
+ <ol>
+ <p/>
+ <li><p><code>&lt;ModelName&gt;</code></p>
+ <p/>
+ <p>This contains the localized content for this model.  There
+ is a variant of this file for each supported locale, for
+ example, <code>Jalopy_de.properties</code></p>
+ <p/>
+ </li>
+ <p/>
+ <li><p><code>&lt;Common_properties&gt;</code></p>
+ <p/>
+ <p>This contains the localized content common to all
+ models.</p>
+ <p/>
+ </li>
+ <p/>
+ <li><p><code>&lt;ModelName_options&gt;</code></p>
+ <p/>
+ <p>This contains the non-localized content for this model,
+ including the non-localized options.  There is only one
+ variant of this file for all locales for example,
+ <code>Jalopy_options.properties</code></p>
+ <p/>
+ </li>
+ <p/>
+ </ol>
+ <p/>
+ <p>All files conform to the following convention:</p>
+ <p/>
+ <code><pre>
+ key
+ key_componentType
+ key_valueType
+ </pre></code>
+ <p/>
+ <p>Where <code>key</code> is the name of an attribute of this car.
+ For example, <code>basePrice</code>, or <code>description</code>.
+ <code>key_componentType</code> is the component type of the
+ <code>UIComponent</code> subclass to be used to represent this
+ attribute in the page, for example <code>SelectManyMenu</code>.
+ <code>key_valueType</code> is the data type of the value of the
+ <code>UIComponent</code>, for example <code>java.lang.Integer</code>.
+ For all non-String valueTypes.</p>
+ <p/>
+ <p>When the bean is instantiated, we load both of the above
+ properties files and iterate over the keys in each one.  For each
+ key, we look at the <code>componentType</code> and ask the
+ <code>Application</code> to create a component of that type.  We
+ store that <code>UIComponent</code> instance in our
+ <code>components</code> <code>Map</code> under the name
+ <code>key</code>.  We look at the <code>valueType</code> for the
+ <code>key</code>.  For non <code>java.lang.String</code> types, we
+ ask the <code>Application</code> for a <code>Converter</code>
+ instance for that class.  If found, we use it to convert the value
+ for the <code>key</code> to the appropriate type and store that as
+ the <code>value</code> of the <code>UIComponent</code> instance.</p>
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../carstore/CarBean.html#CONVERTER_ERROR_MESSAGE_ID">CONVERTER_ERROR_MESSAGE_ID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The message identifier of the Message to be created if
+ the conversion fails.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../carstore/CarBean.html#CarBean()">CarBean</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../carstore/CarBean.html#CarBean(java.lang.String)">CarBean</A></B>(java.lang.String&nbsp;bundleName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map&lt;java.lang.String,java.lang.Object&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../carstore/CarBean.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../carstore/CarBean.html#getComponents()">getComponents</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Integer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../carstore/CarBean.html#getCurrentPrice()">getCurrentPrice</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.List&lt;javax.faces.model.SelectItem&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../carstore/CarBean.html#parseStringIntoArrayList(java.lang.String, javax.faces.convert.Converter)">parseStringIntoArrayList</A></B>(java.lang.String&nbsp;value,
+                         javax.faces.convert.Converter&nbsp;converter)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tokenizes the passed in String which is a comma separated string of
+ option values that serve as keys into the main resources file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../carstore/CarBean.html#updatePricing()">updatePricing</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CONVERTER_ERROR_MESSAGE_ID"><!-- --></A><H3>
+CONVERTER_ERROR_MESSAGE_ID</H3>
+<PRE>
+public static final java.lang.String <B>CONVERTER_ERROR_MESSAGE_ID</B></PRE>
+<DL>
+<DD><p>The message identifier of the Message to be created if
+ the conversion fails.  The message format string for this
+ message may optionally include a <code>{0}</code>
+ placeholder, which will be replaced by the object and value.</p>
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../constant-values.html#carstore.CarBean.CONVERTER_ERROR_MESSAGE_ID">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CarBean()"><!-- --></A><H3>
+CarBean</H3>
+<PRE>
+public <B>CarBean</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="CarBean(java.lang.String)"><!-- --></A><H3>
+CarBean</H3>
+<PRE>
+public <B>CarBean</B>(java.lang.String&nbsp;bundleName)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="parseStringIntoArrayList(java.lang.String, javax.faces.convert.Converter)"><!-- --></A><H3>
+parseStringIntoArrayList</H3>
+<PRE>
+public java.util.List&lt;javax.faces.model.SelectItem&gt; <B>parseStringIntoArrayList</B>(java.lang.String&nbsp;value,
+                                                                             javax.faces.convert.Converter&nbsp;converter)</PRE>
+<DL>
+<DD><p>Tokenizes the passed in String which is a comma separated string of
+ option values that serve as keys into the main resources file.
+ For example, optionStr could be "Disc,Drum", which corresponds to
+ brake options available for the chosen car. This String is tokenized
+ and used as key into the main resource file to get the localized option
+ values and stored in the passed in ArrayList.</p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - a comma separated String of values<DD><CODE>converter</CODE> - currently ignored
+<DT><B>Returns:</B><DD>a <code>List</code> of <code>SelectItem</code> instances
+  parsed from <code>value</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="updatePricing()"><!-- --></A><H3>
+updatePricing</H3>
+<PRE>
+public java.lang.String <B>updatePricing</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCurrentPrice()"><!-- --></A><H3>
+getCurrentPrice</H3>
+<PRE>
+public java.lang.Integer <B>getCurrentPrice</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getComponents()"><!-- --></A><H3>
+getComponents</H3>
+<PRE>
+public java.util.Map <B>getComponents</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public java.util.Map&lt;java.lang.String,java.lang.Object&gt; <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../carstore/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../carstore/CarCustomizer.html" title="class in carstore"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../index.html?carstore/CarBean.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="CarBean.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright ? 2004 Sun Microsystems, Inc. All Rights Reserved.
+</BODY>
+</HTML>