[seam-commits] Seam SVN: r10289 - in branches/enterprise/JBPAPP_4_3_FP01/seam-gen: build-scripts and 9 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Fri Apr 3 07:19:30 EDT 2009


Author: manaRH
Date: 2009-04-03 07:19:30 -0400 (Fri, 03 Apr 2009)
New Revision: 10289

Added:
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/favicon.ico
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss
Modified:
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl
   branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl
Log:
JBPAPP-1457 - merged some changes from trunk

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -21,7 +21,7 @@
     <property name="classes.action.dir" value="${war.dir}/${action.dir}" />
     <property name="test.dir" value="test-build" />
     <property name="bootstrap.dir" value="${basedir}/bootstrap" />
-    <property name="deploy.dir" value="${jboss.home}/server/production/deploy" />
+    <property name="deploy.dir" value="${jboss.home}/server/${server-profile}/deploy" />
     <property name="war.deploy.dir" value="${deploy.dir}/${project.name}.war" />
     <property name="testng.jar" value="${basedir}/lib/testng.jar" />
     <property name="javac.debug" value="true" />

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -20,7 +20,7 @@
         <property name="war.dir" value="exploded-archives/${project.name}.war" />
         <property name="test.dir" value="test-build" />
         <property name="bootstrap.dir" value="${basedir}/bootstrap" />
-        <property name="deploy.dir" value="${jboss.home}/server/production/deploy" />
+        <property name="deploy.dir" value="${jboss.home}/server/${server-profile}/deploy" />
         <property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
         <property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
         <property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -3,6 +3,9 @@
 <project name="seam-gen" default="help" basedir="."  xmlns:artifact="urn:maven-artifact-ant">	
 	<!-- Build resources -->
 	<property name="seam.dir" value="${ant.file.seam-gen}/../../" />
+	<property name="server-profile" value="production" />
+	
+	<echo message="used server profile -> ${server-profile}" />	
 
 	<!-- Order is important -->
 	<property file="./build.properties" />
@@ -422,7 +425,7 @@
         </propertyfile>
         
     	<echo message="Installing JDBC driver jar to JBoss server"/>
-        <copy file="${driver.jar.new}" todir="${jboss.home.new}/server/production/lib"/>
+        <copy file="${driver.jar.new}" todir="${jboss.home.new}/server/${server-profile}/lib"/>
 
         <echo message="Type 'seam create-project' to create the new project"/>
     </target>
@@ -704,6 +707,7 @@
         <copy todir="${project.home}/view">
             <fileset id="view" dir="${base.dir}/view">
                 <include name="img/*"/>
+            	<include name="favicon.ico"/>
             </fileset>
         </copy>
     	

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -2,7 +2,34 @@
 <!DOCTYPE hibernate-reverse-engineering SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
 <hibernate-reverse-engineering>
 
-  <!-- This file is intentionally generated empty by seam-gen -->
-  <!-- You can add any filtering/setup you want for your app -->
+   <!-- Use this file to customize the generation of JPA entities from database
+	    tables performed either by `seam generate' or the Generate Entities task
+	    in JBoss Tools. You can find detailed instructions on controlling
+	    reverse engineering in the JBoss Tools reference documentation:
+	    https://www.redhat.com/docs/en-US/JBoss_Developer_Studio/en/hibernatetools/html/index.html	
+   -->
 
-</hibernate-reverse-engineering>
\ No newline at end of file
+   <!-- Uncomment the next line if you want to begin by excluding all tables,
+       then selectively including tables -->
+   <!--<table-filter match-name="*.*" exclude="true"/>-->
+
+   <!-- Uncomment one of the next two lines to include or exclude a single table -->
+   <!--<table-filter match-name="TABLE_NAME" exclude="true"/>-->
+   <!--<table-filter match-name="TABLE_NAME" exclude="false"/>-->
+
+   <!-- An example of a mapping customization -->
+   <!--
+   <table name="TABLE_PREFIX_BILL" class="org.example.model.Bill">
+      <meta attribute="class-code">
+// Code appended to the end of the generated class
+public float calculateTotal() {
+    return this.rate * this.hours;
+}
+      </meta/>
+      <column name="BILL_ID" property="id" type="java.lang.Long"/>
+      <column name="RTE" property="rate"/>
+      <column name="HRS" property="hours"/>
+   </table>
+   -->
+
+</hibernate-reverse-engineering>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,10 +1,13 @@
 <#include "Ejb3PropertyGetAnnotation.ftl"/>
-<#if !property.optional && ( !property.equals(pojo.identifierProperty) || property.value.identifierGeneratorStrategy == "assigned" )>
+<#if !property.equals(pojo.identifierProperty) && property.type.name=='yes_no'><#-- Set column type to yes_no in seam-gen.reveng.xml to activate this annotation (or tune this condition) -->
+    @${pojo.importType("org.hibernate.annotations.Type")}(type = "yes_no")
+</#if>
+<#if !property.optional && !c2j.isPrimitive(pojo.getJavaTypeName(property, jdk5)) && (!property.equals(pojo.identifierProperty) || property.value.identifierGeneratorStrategy == "assigned")>
     @${pojo.importType("org.hibernate.validator.NotNull")}
 </#if>
 <#if property.columnSpan==1>
 <#assign column = property.getColumnIterator().next()/>
-<#if !c2h.isManyToOne(property) && !c2h.isTemporalValue(property) && column.length!=255 && property.type.name!="character">
+<#if !c2h.isManyToOne(property) && !c2h.isTemporalValue(property) && column.length!=255 && property.type.name!="character" && pojo.getJavaTypeName(property, jdk5)?lower_case!="boolean">
     @${pojo.importType("org.hibernate.validator.Length")}(max=${column.length?c})
 </#if>
 </#if>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
              
    <persistence-unit name="@projectName@" transaction-type="JTA">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
-      <jta-data-source>java:/@projectName at Datasource</jta-data-source>
+      <jta-data-source>@projectName at Datasource</jta-data-source>
       <properties>
          <property name="hibernate.dialect" value="@hibernate.dialect@"/>
          <property name="hibernate.hbm2ddl.auto" value="@hbm2ddl@"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
              
    <persistence-unit name="@projectName@">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
-      <jta-data-source>java:/@projectName at Datasource</jta-data-source>
+      <jta-data-source>@projectName at Datasource</jta-data-source>
       <properties>
          <property name="hibernate.dialect" value="@hibernate.dialect@"/>
          <property name="hibernate.hbm2ddl.auto" value="@hbm2ddl@"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
              
    <persistence-unit name="@projectName@" transaction-type="JTA">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
-      <jta-data-source>java:/@projectName at Datasource</jta-data-source>
+      <jta-data-source>@projectName at Datasource</jta-data-source>
       <properties>
          <property name="hibernate.dialect" value="@hibernate.dialect@"/>
          <property name="hibernate.hbm2ddl.auto" value="validate"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
              
    <persistence-unit name="@projectName@">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
-      <jta-data-source>java:/@projectName at Datasource</jta-data-source>
+      <jta-data-source>@projectName at Datasource</jta-data-source>
       <properties>
          <property name="hibernate.dialect" value="@hibernate.dialect@"/>
          <property name="hibernate.hbm2ddl.auto" value="validate"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -6,6 +6,7 @@
             xmlns:bpm="http://jboss.com/products/seam/bpm"
             xmlns:security="http://jboss.com/products/seam/security"
             xmlns:mail="http://jboss.com/products/seam/mail"
+            xmlns:web="http://jboss.com/products/seam/web"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation=
                 "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd 
@@ -14,6 +15,7 @@
                  http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
                  http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
                  http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
+                 http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd
                  http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
 
    <core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
@@ -23,6 +25,9 @@
                  conversation-id-parameter="cid"
                  parent-conversation-id-parameter="pid"/>
     
+   <!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
+   <web:hot-deploy-filter url-pattern="*.seam"/>
+   
    <persistence:managed-persistence-context name="entityManager"
                                      auto-create="true"
                           entity-manager-factory="#{@projectName at EntityManagerFactory}"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -6,6 +6,7 @@
             xmlns:bpm="http://jboss.com/products/seam/bpm"
             xmlns:security="http://jboss.com/products/seam/security"
             xmlns:mail="http://jboss.com/products/seam/mail"
+            xmlns:web="http://jboss.com/products/seam/web"            
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation=
                 "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd 
@@ -14,6 +15,7 @@
                  http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
                  http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
                  http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
+                 http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd
                  http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
 
    <core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -11,6 +11,7 @@
          <supported-locale>de</supported-locale>
          <supported-locale>en</supported-locale>
          <supported-locale>fr</supported-locale>
+         <supported-locale>it</supported-locale>
          <supported-locale>tr</supported-locale>
       </locale-config>
       <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -16,48 +16,54 @@
 
     <exception class="org.jboss.seam.framework.EntityNotFoundException">
         <redirect view-id="/error.xhtml">
-            <message>Not found</message>
+            <message severity="warn">Record not found</message>
         </redirect>
     </exception>
     
     <exception class="javax.persistence.EntityNotFoundException">
         <redirect view-id="/error.xhtml">
-            <message>Not found</message>
+            <message severity="warn">Record not found</message>
         </redirect>
     </exception>
     
+    <exception class="javax.persistence.EntityExistsException">
+        <redirect view-id="/error.xhtml">
+            <message severity="warn">Duplicate record</message>
+        </redirect>
+    </exception>
+    
     <exception class="javax.persistence.OptimisticLockException">
         <end-conversation/>
         <redirect view-id="/error.xhtml">
-            <message>Another user changed the same data, please try again</message>
+            <message severity="warn">Another user changed the same data, please try again</message>
         </redirect>
     </exception>
     
     <exception class="org.jboss.seam.security.AuthorizationException">
         <redirect view-id="/error.xhtml">
-            <message>You don't have permission to do this</message>
+            <message severity="error">You don't have permission to access this resource</message>
         </redirect>
     </exception>
     
     <exception class="org.jboss.seam.security.NotLoggedInException">
         <redirect view-id="/login.xhtml">
-            <message>Please log in first</message>
+            <message severity="warn">#{messages['org.jboss.seam.NotLoggedIn']}</message>
         </redirect>
     </exception>
     
     <exception class="javax.faces.application.ViewExpiredException">
         <redirect view-id="/error.xhtml">
-            <message>Your session has timed out, please try again</message>
+            <message severity="warn">Your session has timed out, please try again</message>
         </redirect>
     </exception>
     
-    <exception class="org.jboss.seam.ConcurrentRequestTimeoutException">
+    <exception class="org.jboss.seam.ConcurrentRequestTimeoutException" log-level="trace">
       <http-error error-code="503" />
     </exception>
      
     <exception>
         <redirect view-id="/error.xhtml">
-            <message>Unexpected error, please try again</message>
+            <message severity="error">Unexpected error, please try again</message>
         </redirect>
     </exception>
     

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -4,13 +4,37 @@
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
          version="2.5">
 
-    <!-- Ajax4jsf -->
-    
-    <context-param>
-        <param-name>org.richfaces.SKIN</param-name>
-        <param-value>@skin@</param-value>
-    </context-param>
- 
+   <!-- RichFaces -->
+
+   <context-param>
+      <param-name>org.richfaces.SKIN</param-name>
+      <param-value>@skin@</param-value>
+   </context-param>
+
+   <!-- Suppress spurious stylesheets -->
+
+   <context-param>
+      <param-name>org.richfaces.CONTROL_SKINNING</param-name>
+      <param-value>disable</param-value>
+   </context-param>
+
+   <context-param>
+      <param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
+      <param-value>disable</param-value>
+   </context-param>
+
+   <!-- Change load strategy to DEFAULT to disable sending scripts/styles as packs -->
+
+   <context-param>
+      <param-name>org.richfaces.LoadStyleStrategy</param-name>
+      <param-value>ALL</param-value>
+   </context-param>
+
+   <context-param>
+      <param-name>org.richfaces.LoadScriptStrategy</param-name>
+      <param-value>ALL</param-value>
+   </context-param>
+
    <!-- Seam -->
     
    <listener>
@@ -69,8 +93,6 @@
            <url-pattern>*.xhtml</url-pattern>
        </web-resource-collection>
        <auth-constraint/>
-   </security-constraint>
+   </security-constraint>     
    
-   
-   
 </web-app>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,13 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <!DOCTYPE datasources
     PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
-    "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
-    
+    "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">    
 <datasources>
    
    <local-tx-datasource>
       <jndi-name>@projectName at Datasource</jndi-name>
+      <use-java-context>false</use-java-context>
       <connection-url>@jdbcUrl@</connection-url>
       <driver-class>@driverClass@</driver-class>
       <user-name>@username@</user-name>
@@ -20,7 +19,6 @@
          <type-mapping>mySQL</type-mapping>
       </metadata>
 -->
-   </local-tx-datasource>
-    
+   </local-tx-datasource>    
 </datasources>
 

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties	2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,7 +17,7 @@
 validator.email=muss einer wohlgeformten E-Mailadresse entsprechen
 
 org.jboss.seam.loginFailed=Anmeldung fehlgeschlagen
-org.jboss.seam.loginSuccessful=Willkommen, #0
+org.jboss.seam.loginSuccessful=Willkommen, #0!
 
 org.jboss.seam.TransactionFailed=Transaktion fehlgeschlagen
 org.jboss.seam.NoConversation=Der Vorgang wurde bereits beendet, verarbeitet eine andere Abfrage oder ergab eine Zeit\u00FCberschreitung

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties	2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,7 +17,7 @@
 validator.email=must be a well-formed email address
 
 org.jboss.seam.loginFailed=Login failed
-org.jboss.seam.loginSuccessful=Welcome, #0
+org.jboss.seam.loginSuccessful=Welcome, #0!
 
 org.jboss.seam.TransactionFailed=Transaction failed
 org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties	2009-04-03 11:19:30 UTC (rev 10289)
@@ -25,7 +25,7 @@
 org.jboss.seam.unexpected.error                  = Erreur inattendue. Veuillez essayez de nouveau.
 
 org.jboss.seam.loginFailed                       = La connexion a échoué.
-org.jboss.seam.loginSuccessful                   = Bienvenue, {0}
+org.jboss.seam.loginSuccessful                   = Bienvenue, {0}!
 
 org.jboss.seam.TransactionFailed                 = La transaction a échoué.
 org.jboss.seam.NoConversation                    = La conversation s'est interrompue, a dépassé les délais ou traite une autre requête.

Added: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties	                        (rev 0)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties	2009-04-03 11:19:30 UTC (rev 10289)
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validazione fallita
+validator.assertTrue=validazione corretta
+validator.future=deve essere una data futura
+validator.length=la lunghezza deve essere tra {min} e {max}
+validator.max=deve essere minore o uguale a {value}
+validator.min=deve essere maggiore o uguale a {value}
+validator.notNull=non pu\u00F2 essere nullo
+validator.past=deve essere una data passata
+validator.pattern=deve corrispondere a "{regex}"
+validator.range=deve essere tra {min} e {max}
+validator.size=la grandezza deve essere tra {min} e {max}
+validator.email=deve essere un indirizzo di posta elettronica
+
+org.jboss.seam.loginFailed=Autenticazione fallita
+org.jboss.seam.loginSuccessful=Benvenuto/a, #0
+
+org.jboss.seam.TransactionFailed=Transazione fallita
+org.jboss.seam.NoConversation=La conversazione \u00E8 terminata, scaduta oppure \u00E8 stata processata un'altra richiesta
+org.jboss.seam.IllegalNavigation=Navigazione illegale
+org.jboss.seam.ProcessEnded=Il processo \#0 \u00E8 gi\u00E0\u00A0 terminato
+org.jboss.seam.ProcessNotFound=Il processo \#0 non \u00E8 stato trovato
+org.jboss.seam.TaskEnded=Il task \#0 \u00E8 gi\u00E0 terminato
+org.jboss.seam.TaskNotFound=Il task \#0 non \u00E8 stato trovato
+org.jboss.seam.NotLoggedIn=Per favore, eseguire la login
+
+javax.faces.component.UIInput.CONVERSION=il valore non pu\u00F2 essere convertito
+javax.faces.component.UIInput.REQUIRED=\u00C8 richiesto un valore
+javax.faces.component.UIInput.UPDATE=Si \u00E8 verificato un errore nell'elaborazione delle informazioni inviate
+javax.faces.component.UISelectOne.INVALID=il valore non \u00E8 valido
+javax.faces.component.UISelectMany.INVALID=il valore non \u00E8 valido
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=il valore deve essere un numero
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=il valore deve essere un numero decimale con zero o pi\u00F9 cifre, opzionalmente seguito da un punto e una frazione, es. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=deve essere un intero
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=il valore deve essere un numero intero con zero o pi\u00F9 cifre
+javax.faces.converter.BooleanConverter.BOOLEAN=deve essere vero o falso
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=il valore deve essere vero o falso (qualsiasi valore diverso da vero \u00E8 considerato falso)
+javax.faces.converter.ByteConverter.BYTE=il valore deve essere un numero compreso tra 0 e 255
+javax.faces.converter.ByteConverter.BYTE_detail=il valore deve essere un numero compreso tra 0 e 255
+javax.faces.converter.CharacterConverter.CHARACTER=deve essere un carattere
+javax.faces.converter.CharacterConverter.CHARACTER_detail=il valore deve essere un carattere ASCII valido
+javax.faces.converter.DateTimeConverter.DATE=deve essere una data
+javax.faces.converter.DateTimeConverter.DATE_detail=il valore deve essere una data, es. {1}
+javax.faces.converter.DateTimeConverter.TIME=deve essere un orario
+javax.faces.converter.DateTimeConverter.TIME_detail=il valore deve essere un orario, es. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=deve essere una data ed un orario
+javax.faces.converter.DateTimeConverter.DATETIME_detail=il valore deve essere una data e un orario,  es. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=per convetire il valore devono essere specificati un pattern o un attributo tipo 
+javax.faces.converter.DoubleConverter.DOUBLE=deve essere un numero
+javax.faces.converter.DoubleConverter.DOUBLE_detail=il valore deve essere un numero compreso tra 4.9E-324 e 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=il valore deve essere convertibile in una enum
+javax.faces.converter.EnumConverter.ENUM_detail=il valore deve essere convertibile in una enum o da enum che contiene la costante {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=il valore deve essere convertibile in una enum o da enum, ma non \u00E8 stata fornita nessuna classe enum 
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=il valore deve essere convertibile in una enum o da enum, ma non \u00E8 stata fornita nessuna classe enum 
+javax.faces.converter.FloatConverter.FLOAT=deve essere un numero
+javax.faces.converter.FloatConverter.FLOAT_detail=il valore deve essere un numero compreso tra 1.4E-45 e 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=deve essere un numero intero
+javax.faces.converter.IntegerConverter.INTEGER_detail=il valore deve essere un numero intero compreso tra -2147483648 e 2147483647
+javax.faces.converter.LongConverter.LONG=deve essere un numero intero
+javax.faces.converter.LongConverter.LONG_detail=il valore deve essere un numero intero compreso tra -9223372036854775808 e 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=il valore deve essere una valuta
+javax.faces.converter.NumberConverter.CURRENCY_detail=il valore deve essere una valuta, es. {1}
+javax.faces.converter.NumberConverter.PERCENT=il valore deve essere una percentuale
+javax.faces.converter.NumberConverter.PERCENT_detail=il valore deve essere una percentuale, es. {1}
+javax.faces.converter.NumberConverter.NUMBER=deve essere un numero
+javax.faces.converter.NumberConverter.NUMBER_detail=deve essere un numero
+javax.faces.converter.NumberConverter.PATTERN=deve essere un numero
+javax.faces.converter.NumberConverter.PATTERN_detail=deve essere un numero
+javax.faces.converter.ShortConverter.SHORT=deve essere un numero intero
+javax.faces.converter.ShortConverter.SHORT_detail=il valore deve essere un numero intero compreso -32768 e 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=il valore deve essere minore o uguale a {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=il valore deve essere maggiore o uguale a {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=il valore non \u00E8 del tipo corretto
+javax.faces.validator.LengthValidator.MAXIMUM=il valore deve essere inferiore o uguale {0} caratteri
+javax.faces.validator.LengthValidator.MINIMUM=il valore deve essere superiore o uguale {0} caratteri
+javax.faces.validator.LongRangeValidator.MAXIMUM=il valore deve essere minore o uguale a {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=il valore deve essere superiore o uguale a {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.validator.LongRangeValidator.TYPE=il valore non \u00E8 del tipo corretto
+
+javax.faces.validator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.converter.STRING=il valore non pu\u00F2 essere convertito a stringa
+

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties	2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,7 +17,7 @@
 validator.email=girilen de\u011fer e-posta adresi format\u0131na uygun olmal\u0131d\u0131r
 
 org.jboss.seam.loginFailed=Oturum a\u00e7\u0131lamad\u0131
-org.jboss.seam.loginSuccessful=Ho\u015fgeldiniz, #0
+org.jboss.seam.loginSuccessful=Ho\u015fgeldiniz, #0!
 
 org.jboss.seam.TransactionFailed=\u0130\u015flem tamamlanamad\u0131
 org.jboss.seam.NoConversation=Konu\u015fma sonland\u0131, zaman a\u015f\u0131m\u0131na u\u011frad\u0131 ya da ba\u015fka bir talebi i\u015fliyordu

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
 
 	@Test
 	public void test_ at methodName@() throws Exception {
-		new FacesRequest() {
+		new FacesRequest("/@pageName at .xhtml") {
 			@Override
 			protected void invokeApplication() {
 				//call action methods here

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
 
 	@Test
 	public void test_ at methodName@() throws Exception {
-		new FacesRequest() {
+		new FacesRequest("/@pageName at .xhtml") {
 			@Override
 			protected void updateModelValues() throws Exception {				
 				//set form input to model attributes

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,9 +1,29 @@
 If you want to run tests using the Eclipse TestNG plugin, you'll need to add
-these jars to the top of your TestNG classpath.  Using the Run Dialog, select
-xml suite to run, and add /lib/test/jboss-embedded-all.jar, 
-/lib/test/hibernate-all.jar, /lib/test/thirdparty-all.jar, /lib/jboss-embedded-api.jar, 
-/lib/jboss-deployers-client-spi.jar, /lib/jboss-deployers-core-spi.jar,  and 
-/bootstrap as the first entries in the User classpath.
+these jars to the top of your TestNG classpath. Using the Run Dialog, select the
+XML suite to run, and select these entries from the project tree:
 
-To add tests to your project create a TestNG xml descriptor called *Test.xml e.g.
-FooTest.xml next to your test classes and run ant test.
\ No newline at end of file
+/lib/test/jboss-embedded-all.jar
+/lib/test/hibernate-all.jar
+/lib/test/thirdparty-all.jar
+/lib/jboss-embedded-api.jar
+/lib/jboss-deployers-client-spi.jar
+/lib/jboss-deployers-core-spi.jar
+
+You also need to add the Embedded JBoss bootstrap folder, which you can do by
+clicking on the Advanced... button.
+
+/bootstrap
+
+Seam uses JBoss Embedded in its unit and integration testing. This has an
+additional requirement when using JDK 6. Add the following VM argument to the VM
+args tab in the TestNG launch configuration for your suite.
+
+-Dsun.lang.ClassLoader.allowArraySyntax=true 
+
+Please be sure to use JDK 6 Update 4 or better (>= 1.6.0_04) if you are using
+JDK 6. The Update 4 release upgraded to JAXB 2.1 which removes a problem with
+earlier versions of Sun's JDK 6 which required overriding the JAXB libraries
+using the endorsed directory. 
+
+To add tests to your project create a TestNG xml descriptor called *Test.xml
+(e.g. FooTest.xml) next to your test classes and run ant test.

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,5 +1,5 @@
 <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-                             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:s="http://jboss.com/products/seam/taglib"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
@@ -11,8 +11,6 @@
                        
 <ui:define name="body">
 
-    <h:messages globalOnly="true" styleClass="message"/>
-
     <rich:panel>
         <f:facet name="header">@pageName@</f:facet>
     

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,43 +1,40 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-                             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
-                xmlns:s="http://jboss.com/products/seam/taglib"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
-                xmlns:h="http://java.sun.com/jsf/html"
-                xmlns:rich="http://richfaces.org/rich"
-                template="layout/template.xhtml">
-                       
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="layout/template.xhtml">
+
 <ui:define name="body">
 
-    <h:messages globalOnly="true" styleClass="message"/>
-    
     <rich:panel>
         <f:facet name="header">@pageName@</f:facet>
-            
+
         <div class="dialog">
             <div class="prop">
                 <span class="name">Value</span>
                 <span class="value">#{@componentName at .value}</span>
             </div>
         </div>
-        
+
         <div style="clear:both"/>
-    
+
     </rich:panel>
-    
+
     <h:form id="@componentName@">
         <div class="actionButtons">
-            <h:commandButton id="begin" value="Begin" 
-                action="#{@componentName at .begin}"/>     			  
-            <h:commandButton id="inc" value="Increment" 
-                action="#{@componentName at .increment}"/>     			  
-            <h:commandButton id="end" value="End" 
-                action="#{@componentName at .end}"/>     			  
+            <h:commandButton id="begin" value="Begin"
+                action="#{@componentName at .begin}" rendered="#{not conversation.longRunning}"/>
+            <h:commandButton id="inc" value="Increment"
+                action="#{@componentName at .increment}" rendered="#{conversation.longRunning}"/>
+            <h:commandButton id="end" value="End"
+                action="#{@componentName at .end}" rendered="#{conversation.longRunning}"/>
         </div>
     </h:form>
-    
+
 </ui:define>
 
 </ui:composition>
-

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -9,9 +9,9 @@
       xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"
       no-conversation-view-id="/${masterPageName}.xhtml"
       login-required="true">
-   
-   <begin-conversation join="true"/>
-   
+
+   <begin-conversation join="true" flush-mode="MANUAL"/>
+
    <action execute="${'#'}{${homeName}.wire}"/>
    
    <param name="${componentName}From"/>
@@ -30,18 +30,24 @@
 </#if>
 
    <navigation from-action="${'#'}{${homeName}.persist}">
-       <end-conversation/>
-       <redirect view-id="/${pageName}.xhtml"/>
+      <rule>
+         <end-conversation/>
+         <redirect view-id="/${pageName}.xhtml"/>
+      </rule>
    </navigation>
    
    <navigation from-action="${'#'}{${homeName}.update}">
-       <end-conversation/>
-       <redirect view-id="/${pageName}.xhtml"/>
+      <rule>
+         <end-conversation/>
+         <redirect view-id="/${pageName}.xhtml"/>
+      </rule>
    </navigation>
    
    <navigation from-action="${'#'}{${homeName}.remove}">
-       <end-conversation/>
-       <redirect view-id="/${masterPageName}.xhtml"/>
+      <rule>
+         <end-conversation/>
+         <redirect view-id="/${masterPageName}.xhtml"/>
+      </rule>
    </navigation>
    
 </page>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -9,15 +9,13 @@
                 template="layout/template.xhtml">
                        
 <ui:define name="body">
-    
-    <h:messages globalOnly="true" styleClass="message"/>
-    
+
     <h:form id="@componentName at Form">
 
         <rich:panel>
             <f:facet name="header">@pageName@</f:facet>
-    
-            <s:decorate id="nameDecoration" template="layout/edit.xhtml">
+
+            <s:decorate id="nameField" template="layout/edit.xhtml">
                 <ui:define name="label">Name</ui:define>
                 <h:inputText id="name" required="true"
                              value="#{@homeName at .instance.name}"/>
@@ -41,9 +39,9 @@
                          action="#{@homeName at .remove}"
                       immediate="true"
                        rendered="#{@homeName at .managed}"/>
-            <s:button propagation="end" 
-                               id="done" 
-                            value="Done"
+            <s:button propagation="end"
+                               id="cancel"
+                            value="Cancel"
                              view="/@masterPageName at .xhtml"/>
         </div>
         

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,5 +1,6 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-                             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<#include "../util/TypeInfo.ftl">
 <#assign entityName = pojo.shortName>
 <#assign componentName = entityName?uncap_first>
 <#assign homeName = componentName + "Home">
@@ -16,13 +17,11 @@
                 template="layout/template.xhtml">
                        
 <ui:define name="body">
-    
-    <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
 
     <h:form id="${componentName}" styleClass="edit">
     
         <rich:panel>
-            <f:facet name="header">${'#'}{${homeName}.managed ? 'Edit' : 'Add'} ${entityName}</f:facet>
+            <f:facet name="header">${'#'}{${homeName}.managed ? 'Edit' : 'Add'} ${label(entityName)}</f:facet>
 <#foreach property in pojo.allPropertiesIterator>
 <#include "editproperty.xhtml.ftl">
 </#foreach>
@@ -52,14 +51,14 @@
                          action="${'#'}{${homeName}.remove}"
                       immediate="true"
                        rendered="${'#'}{${homeName}.managed}"/>
-                    
-            <s:button id="done" 
-                   value="Done"
+
+            <s:button id="cancelEdit"
+                   value="Cancel"
              propagation="end"
                     view="/${pageName}.xhtml"
                 rendered="${'#'}{${homeName}.managed}"/>
-                
-            <s:button id="cancel" 
+
+            <s:button id="cancelAdd"
                    value="Cancel"
              propagation="end"
                     view="/${'#'}{empty ${componentName}From ? '${masterPageName}' : ${componentName}From}.xhtml"
@@ -115,44 +114,27 @@
 </#if>
 </#if>
 <#if isToOne(parentProperty)>
-<#assign parentParentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
-<#if parentParentPojo.isComponent(parentParentPojo.identifierProperty)>
-<#foreach componentProperty in parentParentPojo.identifierProperty.value.propertyIterator>
+<#assign grandparentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
+<#if grandparentPojo.isComponent(grandparentPojo.identifierProperty)>
+<#foreach componentProperty in grandparentPojo.identifierProperty.value.propertyIterator>
             <h:column>
-	    	    <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
-		    	<@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
+                <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
+                <@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
             </h:column>
 </#foreach>
 <#else>
             <h:column>
-	    	    <f:facet name="header">${label(parentProperty.name)} ${label(parentParentPojo.identifierProperty.name)?uncap_first}</f:facet>
-		    	<@outputValue property=parentParentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}}" indent=16/>
+                <f:facet name="header">${label(parentProperty.name)} ${label(grandparentPojo.identifierProperty.name)?uncap_first}</f:facet>
+                <@outputValue property=grandparentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}}" indent=16/>
             </h:column>
 </#if>
 </#if>
 </#foreach>
-            <h:column>
-                <f:facet name="header">Action</f:facet>
-                <s:link view="/${parentPageName}.xhtml" 
-                         id="view${parentName}" 
-                      value="View" 
-                propagation="none">
-<#if parentPojo.isComponent(parentPojo.identifierProperty)>
-<#foreach componentProperty in parentPojo.identifierProperty.value.propertyIterator>
-                    <f:param name="${parentName}${componentProperty.name?cap_first}" 
-                            value="${'#'}{_${parentName}.${parentPojo.identifierProperty.name}.${componentProperty.name}}"/>
-</#foreach>
-<#else>
-                    <f:param name="${parentName}${parentPojo.identifierProperty.name?cap_first}" 
-                           value="${'#'}{_${parentName}.${parentPojo.identifierProperty.name}}"/>
-</#if>
-                </s:link>
-            </h:column>
         </rich:dataTable>
 
 <#if parentPojo.shortName!=pojo.shortName>
         <div class="actionButtons">
-            <s:button value="Select ${property.name}"
+            <s:button value="${'#'}{${homeName}.instance.${property.name} != null ? 'Change' : 'Select'} ${property.name}"
                        view="/${parentPageName}List.xhtml">
                 <f:param name="from" value="${pageName}Edit"/>
             </s:button>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
 <#foreach componentProperty in property.value.propertyIterator>
 <#assign column = componentProperty.columnIterator.next()>
 
-            <s:decorate id="${componentProperty.name}Decoration" template="layout/edit.xhtml">
+            <s:decorate id="${componentProperty.name}Field" template="layout/edit.xhtml">
                 <ui:define name="label">${label(componentProperty.name)}</ui:define>
 <#if isDate(componentProperty)>
 				<rich:calendar id="${componentProperty.name}"
@@ -29,15 +29,11 @@
                     <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 <#elseif isTimestamp(componentProperty)>
-                <h:inputText id="${componentProperty.name}" 
-                           size="16"
+                <rich:calendar id="${componentProperty.name}"
 <#if !column.nullable>
                        required="true"
 </#if>
-                          value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}">
-                     <s:convertDateTime type="both" dateStyle="short"/>
-                     <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
-                </h:inputText>
+                          value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}" datePattern="MM/dd/yyyy hh:mm a" />
 <#elseif isBigDecimal(componentProperty)>
                 <h:inputText id="${componentProperty.name}" 
 <#if !column.nullable>
@@ -45,7 +41,7 @@
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}"
                            size="${column.precision+7}">
-                    <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 <#elseif isBigInteger(componentProperty)>
                 <h:inputText id="${componentProperty.name}" 
@@ -57,7 +53,7 @@
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}"
                            size="${column.precision+6}">
-                    <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 <#elseif isBoolean(componentProperty)>
                  <h:selectBooleanCheckbox id="${componentProperty.name}"
@@ -101,7 +97,7 @@
                           size="${size}"
                      maxlength="${column.length}"
                          value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}">
-                    <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 </#if>
 <#else>
@@ -113,7 +109,7 @@
                        disabled="${'#'}{${homeName}.managed}"
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}">
-                    <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 </#if>
             </s:decorate>
@@ -122,7 +118,7 @@
 <#assign column = property.columnIterator.next()>
 <#assign property = property.value.typeName>
 
-            <s:decorate id="${property.name}Decoration" template="layout/edit.xhtml">
+            <s:decorate id="${property.name}Field" template="layout/edit.xhtml">
                 <ui:define name="label">${label(property.name)}</ui:define>
 <#if isDate(property)>
 				<rich:calendar id="${property.name}" 
@@ -141,18 +137,14 @@
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}}">
                     <s:convertDateTime type="time"/>
-                    <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 <#elseif isTimestamp(property)>
-                <h:inputText id="${property.name}" 
-                           size="16"
+                <rich:calendar id="${property.name}"
 <#if !column.nullable>
                        required="true"
 </#if>
-                          value="${'#'}{${homeName}.instance.${property.name}}">
-                    <s:convertDateTime type="both" dateStyle="short"/>
-                    <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
-                </h:inputText>
+                          value="${'#'}{${homeName}.instance.${property.name}}" datePattern="MM/dd/yyyy hh:mm a"/>
 <#elseif isBigDecimal(property)>
                 <h:inputText id="${property.name}" 
 <#if !column.nullable>
@@ -160,7 +152,7 @@
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}}"
                            size="${column.precision+7}">
-                    <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 <#elseif isBigInteger(property)>
                 <h:inputText id="${property.name}" 
@@ -172,7 +164,7 @@
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}}"
                            size="${column.precision+6}">
-                    <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 <#elseif isBoolean(property)>
                 <h:selectBooleanCheckbox id="${property.name}"
@@ -216,7 +208,7 @@
                            size="${size}"
                       maxlength="${column.length}"
                           value="${'#'}{${homeName}.instance.${property.name}}">
-                    <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 </#if>
 <#else>
@@ -228,7 +220,7 @@
                        disabled="${'#'}{${homeName}.managed}"
 </#if>
                           value="${'#'}{${homeName}.instance.${property.name}}">
-                    <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+                    <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
                 </h:inputText>
 </#if>
             </s:decorate>

Added: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/favicon.ico
===================================================================
(Binary files differ)


Property changes on: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/favicon.ico
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,8 +17,8 @@
 
         <rich:panel>
             <f:facet name="header">@pageName@</f:facet>
-    
-            <s:decorate id="valueDecoration" template="layout/edit.xhtml">
+
+            <s:decorate id="valueField" template="layout/edit.xhtml">
                 <ui:define name="label">Value</ui:define>
                 <h:inputText id="value" required="true"
                              value="#{@componentName at .value}"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,34 +1,37 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
-                xmlns:s="http://jboss.com/products/seam/taglib"
-                xmlns:ui="http://java.sun.com/jsf/facelets"
-                xmlns:f="http://java.sun.com/jsf/core"
-                xmlns:h="http://java.sun.com/jsf/html"
-                xmlns:rich="http://richfaces.org/rich"
-                template="layout/template.xhtml">
+    xmlns:s="http://jboss.com/products/seam/taglib"
+    xmlns:ui="http://java.sun.com/jsf/facelets"
+    xmlns:f="http://java.sun.com/jsf/core"
+    xmlns:h="http://java.sun.com/jsf/html"
+    xmlns:rich="http://richfaces.org/rich"
+    template="layout/template.xhtml">
 
-<ui:define name="body">
+    <ui:define name="body">
 
-    <h:messages globalOnly="true" styleClass="message"/>
-    
-    <rich:panel>
-    <f:facet name="header">Welcome!</f:facet>
-    <p>This empty shell application includes:</p>
-    <ul>
-        <li>Ant build script</li>
-        <li>Deployment to JBoss AS (EAR or WAR)</li>
-        <li>Development and production profiles</li>
-        <li>Integration testing using TestNG and Embedded JBoss</li>
-        <li>JavaBean or EJB 3.0 Seam components</li>
-        <li>JPA entity classes</li>
-        <li>A configurable DataSource and JPA EntityManager</li>
-        <li>Templated Facelets views</li>
-        <li>RichFaces panels and tables</li>
-        <li>Default CSS stylesheet</li>
-        <li>Internationalization support</li>
-    </ul>
-    </rich:panel>
-    
-</ui:define> 
+        <h1>Welcome to Seam!</h1>
+        <rich:panel>
+            <h:panelGrid columns="2">
+                <h:graphicImage value="/img/seamlogo.png" alt="Seam logo"/>
+                <s:div styleClass="info">
+                    <p><strong>Your seam-gen project is deployed!</strong> Here are some of the features this project provides:</p>
+                    <ul class="bullets">
+                        <li>Ant build script</li>
+                        <li>Deployment to JBoss AS (EAR or WAR)</li>
+                        <li>Development and production profiles</li>
+                        <li>Integration testing using TestNG and Embedded JBoss</li>
+                        <li>JavaBean or EJB 3.0 Seam components</li>
+                        <li>JPA entity classes</li>
+                        <li>A configurable DataSource and JPA EntityManager</li>
+                        <li>Templated Facelets views</li>
+                        <li>RichFaces panels and tables</li>
+                        <li>Default CSS stylesheet</li>
+                        <li>Internationalization support</li>
+                    </ul>
+                </s:div>
+            </h:panelGrid>
+        </rich:panel>
+
+    </ui:define>
 </ui:composition>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,12 +7,12 @@
     xmlns:rich="http://richfaces.org/rich">
     <rich:toolBarGroup>
         <h:outputText value="#{projectName}:"/>
-        <s:link view="/home.xhtml" value="Home"/>
+        <s:link view="/home.xhtml" value="Home" propagation="none"/>
     </rich:toolBarGroup>
     <!-- @newMenuItem@ -->
     <rich:toolBarGroup location="right">
-        <h:outputText value="Welcome, #{identity.username}!" rendered="#{identity.loggedIn}"/>
-        <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}"/>
-        <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}"/>
+        <h:outputText value="signed in as: #{identity.username}" rendered="#{identity.loggedIn}"/>
+        <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}" propagation="none"/>
+        <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}" propagation="none"/>
     </rich:toolBarGroup>
 </rich:toolBar>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,17 +7,18 @@
     xmlns:rich="http://richfaces.org/rich">
     <rich:toolBarGroup>
         <h:outputText value="${'#'}{projectName}:"/>
-        <s:link view="/home.xhtml" value="Home"/>
+        <s:link view="/home.xhtml" value="Home" propagation="none"/>
     </rich:toolBarGroup>
 <#foreach entity in c2j.getPOJOIterator(cfg.classMappings)>
     <s:link view="/${entity.shortName}List.xhtml"
            value="${entity.shortName} List"
+includePageParams="false"
      propagation="none"/>
 </#foreach>
     <!-- @newMenuItem@ -->
     <rich:toolBarGroup location="right">
-        <h:outputText value="Welcome, ${'#'}{identity.username}!" rendered="${'#'}{identity.loggedIn}"/>
-        <s:link view="/login.xhtml" value="Login" rendered="${'#'}{not identity.loggedIn}"/>
-        <s:link view="/home.xhtml" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}"/>
+        <h:outputText value="signed in as: ${'#'}{identity.username}" rendered="${'#'}{identity.loggedIn}"/>
+        <s:link view="/login.xhtml" value="Login" rendered="${'#'}{not identity.loggedIn}" propagation="none"/>
+        <s:link view="/home.xhtml" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}" propagation="none"/>
     </rich:toolBarGroup>
 </rich:toolBar>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,20 +1,20 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:s="http://jboss.com/products/seam/taglib">
+<f:view contentType="text/html"
+        xmlns="http://www.w3.org/1999/xhtml"
+        xmlns:ui="http://java.sun.com/jsf/facelets"
+        xmlns:h="http://java.sun.com/jsf/html"
+        xmlns:f="http://java.sun.com/jsf/core"
+        xmlns:a="http://richfaces.org/a4j"
+        xmlns:s="http://jboss.com/products/seam/taglib">
+<html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>@projectName@</title>
-    <link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript">
-        A4J.AJAX.onError = function(req,status,message) { 
-            alert(message);
-    
-        };
-    </script>
+    <link rel="shortcut icon" href="#{request.contextPath}/favicon.ico"/>
+    <a:loadStyle src="resource:///stylesheet/theme.xcss"/>
+    <a:loadStyle src="/stylesheet/theme.css"/>
+    <ui:insert name="head"/>
 </head>
 
 <body>
@@ -23,9 +23,10 @@
         <ui:param name="projectName" value="@projectName@"/>
     </ui:include>
 
-	<div class="body">
-		<ui:insert name="body"/>
-	</div>
+  <div class="body">
+    <h:messages globalOnly="true" styleClass="message"/>
+    <ui:insert name="body"/>
+  </div>
 
 	<div class="footer">
 		Powered by <a href="http://jboss.com/products/seam">Seam</a>.
@@ -34,3 +35,4 @@
 
 </body>
 </html>
+</f:view>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -8,10 +8,7 @@
                 xmlns:rich="http://richfaces.org/rich"
                 template="layout/template.xhtml">
                        
-<ui:define name="body">
-    
-    <h:messages globalOnly="true" styleClass="message"/>
-    
+<ui:define name="body">    
     <rich:panel>
         <f:facet name="header">@masterPageName@</f:facet>
         
@@ -29,8 +26,9 @@
                 </h:column>
                 <h:column>
                     <f:facet name="header">Name</f:facet>
-                    <s:link id="@componentName@" 
-                         value="#{@componentName at .name}" 
+                    <s:link id="@componentName@"
+                         value="#{@componentName at .name}"
+                   propagation="none"
                          view="/@pageName at .xhtml">
                         <f:param name="@componentName at Id" 
                                 value="#{@componentName at .id}"/>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -19,17 +19,19 @@
                        
 <ui:define name="body">
     
-    <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
+    <![CDATA[<h:messages globalOnly="true" styleClass="message" id="globalMessages"/>]]>
     
     <h:form id="${componentName}Search" styleClass="edit">
-    
-        <rich:simpleTogglePanel label="${entityName} search parameters" switchType="ajax">
-        
+
+        <rich:simpleTogglePanel label="${entityName} Search Filter" switchType="ajax">
+
+<#assign searchParamNames = []/>
 <#foreach property in pojo.allPropertiesIterator>
 <#if !c2h.isCollection(property) && !isToOne(property) && property != pojo.versionProperty!>
 <#if c2j.isComponent(property)>
 <#foreach componentProperty in property.value.propertyIterator>
 <#if isString(componentProperty)>
+<#assign searchParamNames = searchParamNames + [componentProperty.name]/>
             <s:decorate template="layout/display.xhtml">
                 <ui:define name="label">${label(componentProperty.name)}</ui:define>
                 <h:inputText id="${componentProperty.name}" value="${'#'}{${listName}.${componentName}.${property.name}.${componentProperty.name}}"/>
@@ -39,6 +41,7 @@
 </#foreach>
 <#else>
 <#if isString(property)>
+<#assign searchParamNames = searchParamNames + [property.name]/>
             <s:decorate template="layout/display.xhtml">
                 <ui:define name="label">${label(property.name)}</ui:define>
                 <h:inputText id="${property.name}" value="${'#'}{${listName}.${componentName}.${property.name}}"/>
@@ -53,12 +56,13 @@
         
         <div class="actionButtons">
             <h:commandButton id="search" value="Search" action="/${listPageName}.xhtml"/>
+            <s:button id="reset" value="Reset" includePageParams="false"/>
         </div>
         
     </h:form>
     
     <rich:panel>
-        <f:facet name="header">${entityName} search results</f:facet>
+        <f:facet name="header">${entityName} Search Results</f:facet>
     <div class="results" id="${componentName}List">
 
     <h:outputText value="The ${componentName} search returned no results." 
@@ -118,10 +122,11 @@
 </#if>
 </#if>
 </#foreach>
-        <h:column>
+        <rich:column styleClass="action">
             <f:facet name="header">Action</f:facet>
-            <s:link view="/${'#'}{empty from ? '${pageName}' : from}.xhtml" 
-                   value="Select" 
+            <s:link view="/${'#'}{empty from ? '${pageName}' : from}.xhtml"
+                   value="${'#'}{empty from ? 'View' : 'Select'}"
+             propagation="${'#'}{empty from ? 'none' : 'default'}"
                       id="${componentName}">
 <#if pojo.isComponent(pojo.identifierProperty)>
 <#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
@@ -133,7 +138,23 @@
                         value="${'#'}{_${componentName}.${pojo.identifierProperty.name}}"/>
 </#if>
             </s:link>
-        </h:column>
+            ${'#'}{' '}
+            <s:link view="/${editPageName}.xhtml"
+                   value="Edit"
+             propagation="none"
+                      id="${componentName}Edit"
+                rendered="${'#'}{empty from}">
+<#if pojo.isComponent(pojo.identifierProperty)>
+<#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
+                <f:param name="${componentName}${componentProperty.name?cap_first}"
+                        value="${'#'}{_${componentName}.${pojo.identifierProperty.name}.${componentProperty.name}}"/>
+</#foreach>
+<#else>
+                <f:param name="${componentName}${pojo.identifierProperty.name?cap_first}"
+                        value="${'#'}{_${componentName}.${pojo.identifierProperty.name}}"/>
+</#if>
+            </s:link>
+        </rich:column>
     </rich:dataTable>
 
     </div>
@@ -176,7 +197,8 @@
     
     <s:div styleClass="actionButtons" rendered="${'#'}{empty from}">
         <s:button view="/${editPageName}.xhtml"
-                    id="create" 
+                    id="create"
+           propagation="none"
                  value="Create ${componentName}">
 <#assign idName = componentName + pojo.identifierProperty.name?cap_first>
 <#if c2j.isComponent(pojo.identifierProperty)>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -10,7 +10,7 @@
 
 <ui:define name="body">
     
-    <h:messages styleClass="message"/>
+<!--    <h:messages styleClass="message"/>-->
     
     <h:form id="login">
     

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml	2009-04-03 11:19:30 UTC (rev 10289)
@@ -10,10 +10,8 @@
 <ui:define name="body">
 
     <h1>@beanName@ results</h1>
-    <p>Generated query page</p>
+    <p>Generated query page</p>    
     
-    <h:messages globalOnly="true" styleClass="message"/>
-    
     <h:outputText value="No results from search" 
             rendered="#{empty @componentName at .resultList}"/>
     <f:subview id="results" rendered="#{not empty @componentName at .resultList}">

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css	2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,26 +1,30 @@
+html {
+	overflow-y: scroll;
+}
+
 body {
 	font-size: 12px;
+	margin: 0px;
 }
 
-a:active, a:link, a:visited {
-	color: #0D5798;
+a img {
+	border: none;
 }
-a:hover {
-	color: #8CAFCD;
+
+h1 {
+	font-size: 1.6em;
+	margin-top: 0;
 }
 
-input, textarea {
-	border: 1px solid #BBBBBB;
+input[type=submit], input[type=button] {
 	font-size: 10px;
-	background: #F0F8FF;
-	color: black;
+	margin: 5px 5px 5px 0;
+	cursor: pointer;
 }
 
-input[type='submit'], input[type='button'] {
-	background: #4477AA;
-	color: white;
-	margin: 5px;
-	border-color: gray;
+input[type=text], input[type=password], textarea {
+	font-size: 11px;
+	padding-left: 1px;
 }
 
 .tableControl, .actionButtons {
@@ -37,44 +41,52 @@
 
 .footer {
 	text-align: center;
-	font-size: 10px;
+	font-size: 11px;
+	margin-bottom: 10px;
 }
 
 .rich-table {
-	width:100%;
+	width: 100%;
 }
 
-h1 {
-	font-family: Arial,sans-serif;
-	color: #578BB8;
-	font-size: 1.6em;
-	margin-top: 0;
-}
-
-body {
-	margin: 0px;
-	font-family: Arial,sans-serif;
-	color: #616161;
-}
-
 .body {
 	padding: 30px;
 }
 
-.columnHeader:hover
-{
+.columnHeader:hover {
 	color: #FF6600;
 }
 
 .message {
-	border: 1px solid #FFCC00;
 	padding: 5px;
-	margin-top: 5px;
-	margin-bottom: 5px;
-	background-color: #F0F8FF;
+	list-style: none;
+	border: 0;
+	background: none;
+	padding: 0;
+	color: #000000;
+	margin: 5px 0 8px 0;
 	font-size: 12px;
 }
 
+.message li {
+	background: no-repeat left center;
+	padding-top: 1px;
+	padding-left: 20px;
+	margin-left: 3px;
+}
+
+.message li.infomsg {
+	background-image: url(../img/msginfo.png);
+}
+
+.message li.errormsg {
+	background-image: url(../img/msgerror.png);
+}
+
+.message li.warnmsg {
+	background-image: url(../img/msgwarn.png);
+}
+
 .name {
 	vertical-align: top;
 	font-weight: bold;
@@ -84,6 +96,7 @@
 	margin-top: 3px;
 	clear: left;
 }
+
 .value {
 	float: left;
 	padding: 5px;
@@ -93,19 +106,19 @@
 	float: left;
 	padding: 5px;
 }
+
 .errors {
 	color: red;
 	vertical-align: middle;
 }
+
 img.errors {
 	padding-right: 5px;
 }
-.errors input {
-	border: 1px solid red;
+
+.errors input, .errors textarea, .errors select {
+	border: 1px solid red !important;
 }
-.errors textarea {
-	border: 1px solid red;
-}
 
 .required {
 	color: red;
@@ -115,3 +128,72 @@
 .rich-stglpanel-body {
 	overflow: auto;
 } 
+
+/* the specificity here is necessary to override the defaults */
+.rich-panel .rich-panel-header,
+.rich-stglpanel .rich-stglpanel-header {
+	padding: 2px 3px;
+}
+
+
+select {
+	font-size: 12px;
+}
+
+.rich-panel input[type=submit], .rich-panel input[type=button],
+.rich-tabpanel input[type=submit], .rich-tabpanel input[type=button] {
+	margin-bottom: 0;
+}
+
+.tableControl input[type=submit], .tableControl input[type=button], .tableControl select {
+	margin: 5px 0 5px 5px;
+}
+
+/* I don't know why this is necessary, but the select is off by a pixel on the top and is padding too much on the left */
+.tableControl select {
+	margin-left: 2px;
+	position: relative;
+	top: 1px;
+}
+
+.actionButtons {
+	padding-left: 1px;
+}
+
+.actionButtons select {
+	margin: 5px 5px 5px 0;
+	vertical-align: bottom;
+}
+
+.rich-datalist {
+	list-style: square;
+	margin: 6px 0 1px 0;
+	padding-left: 18px;
+}
+
+.rich-list-item {
+	padding-bottom: 4px;
+}
+
+div.info {
+	font-size: 1.2em;
+}
+
+ul.bullets {
+	list-style: square;
+}
+
+ul.bullets li {
+	padding-bottom: 2px;
+}
+
+td.action {
+	text-align: center;
+	width: 8em;
+	white-space: nowrap;
+}
+
+td.action a {
+	padding-left: 1px;
+	padding-right: 1px;
+}

Added: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss	                        (rev 0)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss	2009-04-03 11:19:30 UTC (rev 10289)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:f="http:/jsf.exadel.com/template"
+	xmlns:u="http:/jsf.exadel.com/template/util">
+	<u:selector name="body">
+		<u:style name="font-family" skin="generalFamilyFont"/>
+		<u:style name="color" skin="generalTextColor"/>
+	</u:selector>
+	<u:selector name="h1">
+		<u:style name="font-family" skin="generalFamilyFont"/>
+		<u:style name="color" skin="tabDisabledTextColor"/>
+	</u:selector>
+	<u:selector name="a:active, a:link, a:visited">
+		<u:style name="color" skin="generalLinkColor"/>
+	</u:selector>
+	<u:selector name="a:hover">
+		<u:style name="color" skin="hoverLinkColor"/>
+	</u:selector>
+	<u:selector name="input[type=text], input[type=password], textarea, select">
+		<u:style name="background-color" skin="controlBackgroundColor"/>
+		<u:style name="color" skin="controlTextColor"/>
+		<u:style name="background-position" value="left top"/>
+		<u:style name="background-repeat" value="repeat-x"/>
+		<u:style name="background-image">
+			<f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+		</u:style>
+		<u:style name="border" value="1px solid"/>
+		<u:style name="border-color" skin="tableBorderColor" />
+	</u:selector>
+	<u:selector name="select">
+		<u:style name="background-color" value="transparent"/>
+		<u:style name="background-image">
+			<f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+		</u:style>
+	</u:selector>
+	<u:selector name="option">
+		<u:style name="background-color" skin="generalBackgroundColor"/>
+	</u:selector>
+	<u:selector name="select[multiple]">
+		<u:style name="background-color" skin="controlBackgroundColor"/>
+	</u:selector>
+	<u:selector name="select[multiple] option">
+		<u:style name="background-color" value="transparent"/>
+	</u:selector>
+	<u:selector name="input[type=submit], input[type=button]">
+		<u:style name="padding" value="1px 4px"/>
+		<u:style name="background-image">
+			<f:resource f:key="org.richfaces.renderkit.html.GradientA"/>
+		</u:style>
+		<u:style name="border" value="1px solid"/>
+		<u:style name="border-color" skin="headerBackgroundColor"/>
+		<u:style name="color" skin="headerTextColor"/>
+		<u:style name="font-weight" value="bold"/>
+	</u:selector>
+	<u:selector name="input[type=submit][disabled], input[type=button][disabled]">
+		<u:style name="opacity" value="0.33"/>
+	</u:selector>
+	<!-- hack for IE to just get rid of border since it doubles the border if you use one -->
+	<u:selector name="* html input[type=submit], * html input[type=button], *+html input[type=submit], *+html input[type=button]">
+		<u:style name="border" value="0"/>
+		<u:style name="font-size" value="11px"/>
+	</u:selector>
+	<u:selector name=".rich-table-subheadercell">
+		<u:style name="background-image">
+			<f:resource f:key="org.richfaces.renderkit.images.TabGradientB"/>
+		</u:style>
+	</u:selector>
+	<u:selector name=".rich-toolbar a:link, .rich-toolbar a:visited, .rich-toolbar a:active, .rich-toolbar a:hover">
+		<u:style name="color" skin="headerTextColor"/>
+	</u:selector>
+	<u:selector name=".rich-toolbar a:hover">
+		<u:style name="color" skin="generalTextColor"/>
+	</u:selector>
+	<!--
+	<u:selector name=".rich-table-subheadercell a:link, .rich-table-subheadercell a:visited, .rich-table-subheadercell a:active">
+		<u:style name="color" skin="generalTextColor"/>
+	</u:selector>
+	-->
+	<u:selector name=".rich-table-subheadercell a:hover">
+		<u:style name="color" skin="calendarHolidaysTextColor"/>
+	</u:selector>
+	<!-- Define static styles in the CDATA block below (you can also move this block to the top) -->
+	<f:verbatim><![CDATA[
+]]></f:verbatim>
+</f:template>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,10 +17,10 @@
                        
 <ui:define name="body">
     
-    <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
+    <![CDATA[<h:messages globalOnly="true" styleClass="message" id="globalMessages"/>]]>
     
     <rich:panel>
-        <f:facet name="header">${entityName}</f:facet>
+        <f:facet name="header">${label(entityName)} Details</f:facet>
 <#foreach property in pojo.allPropertiesIterator>
 <#if !c2h.isCollection(property) && !isToOne(property) && property != pojo.versionProperty!>
 <#include "viewproperty.xhtml.ftl">
@@ -58,7 +58,10 @@
 <#assign parentPageName = parentPojo.shortName>
 <#assign parentName = parentPojo.shortName?uncap_first>
 
-    <rich:tab label="${label(property.name)}">
+    <rich:tab>
+        <f:facet name="label">
+            <h:panelGroup><h:graphicImage value="/img/manytoone.gif" style="vertical-align: middle; padding-right: 4px;"/>${label(property.name)}</h:panelGroup>
+        </f:facet>
     <div class="association" id="${property.name}Parent">
         
         <h:outputText value="There is no ${property.name} associated with this ${componentName}." 
@@ -86,23 +89,23 @@
 </#if>
 </#if>
 <#if isToOne(parentProperty)>
-<#assign parentParentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
-<#if parentParentPojo.isComponent(parentParentPojo.identifierProperty)>
-<#foreach componentProperty in parentParentPojo.identifierProperty.value.propertyIterator>
+<#assign grandparentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
+<#if grandparentPojo.isComponent(grandparentPojo.identifierProperty)>
+<#foreach componentProperty in grandparentPojo.identifierProperty.value.propertyIterator>
             <h:column>
-	    	    <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
-		    	<@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
+                <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
+                <@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
             </h:column>
 </#foreach>
 <#else>
             <h:column>
-	    	    <f:facet name="header">${label(parentProperty.name)} ${label(parentParentPojo.identifierProperty.name)?uncap_first}</f:facet>
-		    	<@outputValue property=parentParentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}}" indent=16/>
+                <f:facet name="header">${label(parentProperty.name)} ${label(grandparentPojo.identifierProperty.name)?uncap_first}</f:facet>
+                <@outputValue property=grandparentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}}" indent=16/>
             </h:column>
 </#if>
 </#if>
 </#foreach>
-            <h:column>
+            <h:column styleClass="action">
                 <f:facet name="header">Action</f:facet>
                 <s:link id="view${parentName}" 
                      value="View" 
@@ -125,7 +128,10 @@
 </#if>
 <#if c2h.isOneToManyCollection(property)>
 
-    <rich:tab label="${label(property.name)}">
+    <rich:tab>
+        <f:facet name="label">
+            <h:panelGroup><h:graphicImage value="/img/onetomany.gif" style="vertical-align: middle; padding-right: 4px;"/>${label(property.name)}</h:panelGroup>
+        </f:facet>
     <h:form styleClass="association" id="${property.name}Children">
         
 <#assign childPojo = c2j.getPOJOClass(property.value.element.associatedClass)>

Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl	2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl	2009-04-03 11:19:30 UTC (rev 10289)
@@ -3,14 +3,12 @@
 <#if !property.equals(pojo.identifierProperty) || property.value.identifierGeneratorStrategy == "assigned">
 <#if c2j.isComponent(property)>
 <#foreach componentProperty in property.value.propertyIterator>
-
         <s:decorate id="${componentProperty.name}" template="layout/display.xhtml">
 			<ui:define name="label">${label(componentProperty.name)}</ui:define>
             <@outputValue property=componentProperty expression="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}" indent=12/>
         </s:decorate>
 </#foreach>
 <#else>
-
         <s:decorate id="${property.name}" template="layout/display.xhtml">
             <ui:define name="label">${label(property.name)}</ui:define>
 			<@outputValue property=property expression="${'#'}{${homeName}.instance.${property.name}}" indent=12/>




More information about the seam-commits mailing list