[seam-commits] Seam SVN: r8354 - in branches/Seam_2_0_FP: seam-gen and 4 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Mon Jun 9 09:13:49 EDT 2008


Author: manaRH
Date: 2008-06-09 09:13:49 -0400 (Mon, 09 Jun 2008)
New Revision: 8354

Modified:
   branches/Seam_2_0_FP/build.xml
   branches/Seam_2_0_FP/readme.txt
   branches/Seam_2_0_FP/release-process.txt
   branches/Seam_2_0_FP/seam-gen/build.xml
   branches/Seam_2_0_FP/seam2migration.txt
   branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java
   branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java
   branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java
   branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java
Log:
feature pack modifications 

Modified: branches/Seam_2_0_FP/build.xml
===================================================================
--- branches/Seam_2_0_FP/build.xml	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/build.xml	2008-06-09 13:13:49 UTC (rev 8354)
@@ -18,7 +18,6 @@
 	<property name="classes.ioc.dir" value="${classes.dir}/iocclasses" />
 	<property name="classes.mail.dir" value="${classes.dir}/mailclasses" />
 	<property name="classes.debug.dir" value="${classes.dir}/debugclasses" />
-	<property name="classes.jbas5.dir" value="${classes.dir}/jbas5classes" />
 	<property name="classes.remoting.dir" value="${classes.dir}/remotingclasses" />
 	<property name="classes.gen.dir" value="${classes.dir}/genclasses" />
 	<property name="classes.test.dir" value="${classes.dir}/testclasses" />
@@ -33,7 +32,6 @@
 	<property name="src.ioc.dir" value="src/ioc" />
 	<property name="src.mail.dir" value="src/mail" />
 	<property name="src.debug.dir" value="src/debug" />
-	<property name="src.jbas5.dir" value="src/jbas5" />
 	<property name="src.gen.dir" value="src/gen" />
 	<property name="src.remoting.dir" value="src/remoting" />
 	<property name="src.test.dir" value="src/test" />
@@ -63,7 +61,6 @@
 	<property name="dist.src.ioc.dir" value="${dist.dir}/src/ioc" />
 	<property name="dist.src.mail.dir" value="${dist.dir}/src/mail" />
 	<property name="dist.src.debug.dir" value="${dist.dir}/src/debug" />
-	<property name="dist.src.jbas5.dir" value="${dist.dir}/src/jbas5" />
 	<property name="dist.src.gen.dir" value="${dist.dir}/src/gen" />
 	<property name="dist.src.remoting.dir" value="${dist.dir}/src/remoting" />
 	<property name="dist.src.test.dir" value="${dist.dir}/src/test" />
@@ -149,7 +146,7 @@
 		<delete dir="${lib.dir}" quiet="${quietclean}" />
 	</target>
 
-	<target name="build" depends="jarcore,jarpdf,jarioc,jarmail,jarremoting,jardebug,jargen,jarui,jarjbas5" description="Build all distribution .jar files" />
+	<target name="build" depends="jarcore,jarpdf,jarioc,jarmail,jarremoting,jardebug,jargen,jarui" description="Build all distribution .jar files" />
 
 	<target name="select-compiler">
 		<available classname="org.eclipse.jdt.core.JDTCompilerAdapter" property="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
@@ -256,20 +253,6 @@
 		<archive classesdir="${classes.debug.dir}" module="jboss-seam-debug" pom="${debug.pom}"  srcdir="${src.debug.dir}"/>
 	</target>
 	
-	<!-- ########################### JBAS5 TARGETS ###########################-->
-
-	<target name="initjbas5" depends="init, jarcore">
-		<init classesdir="${classes.jbas5.dir}" srcdir="${src.jbas5.dir}" modulename="jbas5" pom="${jbas5.pom}" />
-	</target>
-
-	<target name="compilejbas5" depends="initjbas5, select-compiler">
-		<compile classesdir="${classes.jbas5.dir}" srcdir="${src.jbas5.dir}" classpath="compile.jbas5.path" />
-	</target>
-
-	<target name="jarjbas5" depends="compilejbas5" description="Build the distribution .jar file for the JBAS5 integration package">
-		<archive classesdir="${classes.jbas5.dir}" module="jboss-seam-jbas5" pom="${jbas5.pom}"  srcdir="${src.jbas5.dir}" outputdir="${lib.dir}/interop" />
-	</target>
-
 	<!-- ########################### GEN TARGETS ###########################-->
 
 	<target name="initgen" depends="init">
@@ -338,11 +321,8 @@
 		<cleanexample name="remoting/gwt" />
 		<cleanexample name="hibernate" />
 		<cleanexample name="jpa" />
-		<cleanexample name="jee5/booking" />
-		<cleanexample name="jee5/remoting" />
 		<cleanexample name="groovybooking" />
 		<cleanexample name="quartz" />
-		<cleanexample name="wiki" />
 		<cleanexample name="seamdiscs" />
 		<cleanexample name="icefaces" />
 		<cleanexample name="seambay" />
@@ -398,11 +378,7 @@
 		<testexample name="itext" />
 		<testexample name="hibernate" />
 		<testexample name="jpa" />
-		<testexample name="quartz" />
-		<ant dir="examples/wiki" target="test" inheritall="false">
-			<property name="test.output.dir" value="${test.dir}/wiki" />
-		</ant>
-		<!--<ant dir="examples/portal" target="test" inheritall="false" />-->
+		<testexample name="quartz" />				
 	</target>
 	<target name="validateall" description="Validate all example XML Configuration Files">
 		<ant dir="examples/booking" target="validateConfiguration" inheritall="false" />
@@ -431,7 +407,6 @@
 		<copysource destdir="${dist.src.remoting.dir}" srcdir="${src.remoting.dir}" />
 		<copysource destdir="${dist.src.mail.dir}" srcdir="${src.mail.dir}" />
 		<copysource destdir="${dist.src.debug.dir}" srcdir="${src.debug.dir}" />
-		<copysource destdir="${dist.src.jbas5.dir}" srcdir="${src.jbas5.dir}" />
 		<copysource destdir="${dist.src.gen.dir}" srcdir="${src.gen.dir}" />
 		<copysource destdir="${dist.src.test.dir}" srcdir="${src.test.dir}" />
 
@@ -615,22 +590,25 @@
 		<copy todir="${classes.test.core.dir}">
 			<fileset dir="${classes.core.dir}" includes="**/*.*" />
 		</copy>
-		<artifact:dependencies pathId="remoting.path">
-			<dependency groupId="org.jboss.seam" artifactId="jboss-seam-remoting" version="${complete.version}" />
-		</artifact:dependencies>
+	    <inlineDependencies scope="compile" id="remoting">
+	       <dependency groupId="org.jboss.seam" artifactId="jboss-seam-remoting" version="${complete.version}" />
+	    </inlineDependencies>
 		<path id="test.compile.path">
 			<path refid="test.core.path" />
 			<path path="${classes.test.core.dir}" />
-			<path refid="remoting.path" />
+			<path refid="compile.remoting.path" />
 		</path>
 	</target>
 
 
 	<target name="testcore" depends="inittestcore,compiletest,getemma" description="Run the core tests">
 		<taskdef resource="testngtasks" classpathref="test.core.path" />
-		<testng>
-			<jvmarg value="-Demma.coverage.out.file=${coverage.ec}" />
-			<jvmarg line="-Djava.awt.headless=true" />
+		<testng  outputdir="${test.dir}">
+		   <jvmarg line="-Xmx800M" />
+           <jvmarg line="-Djava.awt.headless=true" />
+           <jvmarg line="-Demma.coverage.out.file=${coverage.ec}" />
+           <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir}" />
+           <jvmarg line="${testng.jvmargs}" />
 			<classpath>
 				<path path="${classes.test.core.dir}" />
 				<path path="${classes.test.dir}" />
@@ -886,7 +864,6 @@
 					<propertyref name="ioc.pom" />
 					<propertyref name="mail.pom" />
 					<propertyref name="debug.pom" />
-					<propertyref name="jbas5.pom" />
 					<propertyref name="testng.jvmargs"/>
 				</propertyset>
 			</ant>
@@ -896,7 +873,6 @@
 	<target name="downloadDependenciesSources" description="Download source jars for all dependencies" depends="init">
 		<dependenciesWithSources id="core" scope="compile" pom="${core.pom}" />
 		<dependenciesWithSources id="debug" scope="compile" pom="${debug.pom}" />
-		<dependenciesWithSources id="jbas5" scope="compile" pom="${jbas5.pom}" />
 		<dependenciesWithSources id="gen" scope="compile" pom="${gen.pom}" />
 		<dependenciesWithSources id="ioc" scope="compile" pom="${ioc.pom}" />
 		<dependenciesWithSources id="mail" scope="compile" pom="${mail.pom}" />
@@ -924,7 +900,6 @@
 	        classpathref="seam-gen.path"/>
 		<dependencies id="core" scope="compile" pom="${core.pom}" />
 		<dependencies id="debug" scope="compile" pom="${debug.pom}" />
-		<dependencies id="jbas5" scope="compile" pom="${jbas5.pom}" />
 		<dependencies id="gen" scope="compile" pom="${gen.pom}" />
 		<dependencies id="ioc" scope="compile" pom="${ioc.pom}" />
 		<dependencies id="mail" scope="compile" pom="${mail.pom}" />
@@ -940,7 +915,6 @@
 			<path refid="compile.pdf.path" />
 			<path refid="compile.remoting.path" />
 			<path refid="compile.ui.path" />
-			<path refid="compile.jbas5.path" />
 		</eclipseClasspath>
 	</target>
 

Modified: branches/Seam_2_0_FP/readme.txt
===================================================================
--- branches/Seam_2_0_FP/readme.txt	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/readme.txt	2008-06-09 13:13:49 UTC (rev 8354)
@@ -1,6 +1,6 @@
-JBoss Seam - Contextual Component framework for Java EE 5
+JBoss Seam FP - Contextual Component framework for Java EE 5
 =========================================================
-version 2.0.2.GA, May 2008
+version 1.0.GA, May 2008
 
 This software is distributed under the terms of the FSF Lesser Gnu
 Public License (see lgpl.txt). 

Modified: branches/Seam_2_0_FP/release-process.txt
===================================================================
--- branches/Seam_2_0_FP/release-process.txt	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/release-process.txt	2008-06-09 13:13:49 UTC (rev 8354)
@@ -5,8 +5,10 @@
 ------------------------
 * Send an email to seam-dev at lists.jboss.org.
   - State a version of the following :
-    - As all issues in JIRA for Seam <release> are now resolved, the release process for <release> is now underway.
-    - Please don't make any commits to the <branch or trunk> without checking with this mail list first. 
+    - As all issues in JIRA for Seam <release> are now resolved, the release 
+      process for <release> is now underway.  Please don't make any commits to 
+      the <branch or trunk> without checking with and getting approval from 
+      this mail list first. 
 
 Updating version numbers
 ------------------------
@@ -21,49 +23,50 @@
   - build/default.build.properties 
     - Change the version numbers as needed
     - Set the qualifier using a "." ex. ".CR1" or ".GA"
-    - Check that build.properties has the qualifier commented out for the release
+    - Check that build.properties has the qualifier commented out
     
 Maven repository settings
 -------------------------
 * A released version of seam should not reference any repositories other than
   "repository.jboss.org".  See "build/readme.txt" for details.
   - Search "$SEAM/build" for "repositories".  
-    - Verify/Comment out any repository entry not "http://repository.jboss.org/maven2"
+    - Comment out any repository entry not "http://repository.jboss.org/maven2"
     - Should only be entries in "root.pom.xml" and "docs.pom.xml"
   - Search "$SEAM/build" for "artifact:remoteRepository"
     - Note any that reference other repositories
     - <TODO: determine acceptable list (ci, embedded, etc...)/>
   - Verify prior to tagging
+    - Clean our your local maven repository
+        - ex. "~/.m2"
+        - <TODO document way to set local repo settings for clean build />
     - run "ant cleanall testall testreport" with these changes
     - This should build, and test without a problem.
+  - Run "ant dependencyReport"
+    - Review for snapshot dependencies
 
 SVN tagging and checkout
 ------------------------
-* Note: testing can begin prior to official tagging but a complete process should be executed on the tag prior to release. 
+<NOTE testing can begin prior to official tagging but a complete process 
+        should be executed on the tag prior to release/> 
 * Tag the release (XX as needed)
-    -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag""
-        - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1"
+    -"svn copy https://svn.jboss.org/repos/seam/XX/XX 
+               https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX 
+               -m "create JBoss_Seam_x_x_x_XXX tag""
+        - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 
+               https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 
+               -m "create JBoss_Seam_2_0_2_CR1 tag""
 * In a clean directory checkout the newly tagged seam source ( XX as needed)
     - "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX seam"  
         - ex. "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 seam"
 * In the original branch/trunk change:
     - Qualifier back to "-SNAPSHOT" in default.build.properties file.
-        - The version numbers should stay the same 
+        - The version numbers should be incremented as appropriate.
         - Any new work is that versions snapshot
-    - Revert the Maven repository changes if needed
+    - Revert any Maven repository changes if needed
 
 Building and Checking Dist
 --------------------------
-* Run "mkdir ../releaselogs" for release artifacts.
-
-* Initial build and test suite execution
-    - run initial build to download dependencies and setup env.
-        - run "ant > ../releaselogs/x.x.x.XX.initbuild.txt"
-    - run "ant -Dvalidate.xml=true cleanall testall testreport > ../releaselogs/x.x.x.XX.testallreport.txt"
-    - check report/junit-noframes.html
-        - There should be no failures or errors.
-    - run "cp -R test-output ../releaselogs"
-    - run "cp -R test-report ../releaselogs"
+* Run "mkdir ../releaselogs" for release artifacts and logs.
     
 * Create the distribution build
     - run "ant cleanall dist > ../releaselogs/x.x.x.XX.distbuild.txt"
@@ -77,6 +80,8 @@
             - "diff -r ./gz/. ./zip/."
             - "diff -r ./gz/. ./dist/."
     - There should be no differences.
+    - Compare the new dist to dist of the previous version using the same method
+        - Manually look over for any glaring differences or errors.
     - Delete "../tmp" if you wish
     
 * check that the following files/directories exist in the dist "ls -1"
@@ -89,7 +94,6 @@
     examples
     lgpl.txt
     lib
-    mail
     readme.txt
     seam
     seam-gen
@@ -103,7 +107,6 @@
     debug
     gen
     ioc
-    jbas5
     mail
     main
     pdf
@@ -142,7 +145,7 @@
 
 * Archive reports
     - run these in the dist directory
-        find . -name *.jar > ../releaselogs/jarlist.txt
+        find . -name *.jar > ../releaselogs/jarlist.txt 
         find . -name *.sar > ../releaselogs/sarlist.txt
         find . -name *.war > ../releaselogs/warlist.txt
         find . -name *.ear > ../releaselogs/earlist.txt
@@ -150,25 +153,43 @@
         find . -name *.gz > ../releaselogs/gzlist.txt
         find . -name *seam*.jar > ../releaselogs/seamjarlist.txt
     - Manually review the lists for problems
-        - seam jars all in one place
-        - <TODO: list expected items or provide listing in svn>        
+        - <TODO: list expected items or provide listing in svn/>        
  
-* In the dist run "ant dependencyReport"
-    - run "cp ./dependency-report.txt ../releaselogs"
-    - Review for snapshot dependencies
-        - there should be none.
-    - Compare with real jar versions from META-INF/MANIFEST.MF
-        - <TODO: A tool is needed to do this effectivly.>
-
-* Built source verification
+* Built source verification, dependency report & test suite
+    - Clean our your local maven repository
+        - ex. "rm -Rf ~/.m2"
+        - <TODO document way to set local repo settings for clean build/>        
     - Create a copy of the $DIST directory
-    - In the original run "ant"
-    - diff the original and the built versions
-        - only difference should be build related 
-        - <TODO: list expected differences>
-    - Extract seam jars from orig, and the newly built into different dirs
-        - diff the directories
-        - Should be no differences except version of ant and/or jdk versions
+        - the idea is the leave the original pristine for example testing.
+        
+    ** Source verification **
+        - In the copy run "ant > ../releaselogs/x.x.x.XX.sourcebuild.txt"
+        - diff the original and the built versions of the $DIST directories
+            - only difference should be build related 
+            - <TODO: list expected differences/>
+        - Extract seam jars from orig, and the newly built into tmp directories
+            - diff the directories
+            - Should be no differences except version of ant and/or jdk versions
+        
+    ** Dependency report **
+        - In the copy run:
+            - "ant dependencyReport > ../releaselogs/x.x.x.XX.dependencybuild.txt"
+        - run "cp ./dependency-report.txt ../releaselogs"
+        - Review for snapshot dependencies
+            - there should be none.
+        - Compare with real jar versions from META-INF/MANIFEST.MF
+            - <TODO: A tool is needed to do this effectively/>
+        
+    ** Testsuite execution **
+        - In the copy run :
+            - "ant -Dvalidate.xml=true cleanall testall testreport 
+                   > ../releaselogs/x.x.x.XX.testallreport.txt"
+        - check report/junit-noframes.html
+            - There should be no failures or errors.
+        - run "cp -R test-output ../releaselogs"
+        - run "cp -R test-report ../releaselogs"
+    
+    - You can delete the dist copy
  
 Example verification
 --------------------
@@ -211,7 +232,6 @@
   - remoting/chatroom
   - remoting/gwt
   - remoting/helloworld
-  - remoting/poker
   - remoting/progressbar
   - seambay
   - seamdiscs
@@ -267,39 +287,59 @@
   CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `Person` (`username`)
 ) ENGINE=InnoDB;
 
-* seam-gen review seam-gen chapter of the reference guide
+<NOTE: seam-gen should be able to run without an internet connection.  To test 
+       this you should first remove/rename your maven repository (document 
+       option to set this as a property).  Then either disable networking, or 
+       lock down a firewall on the test machine so that no requests are allowed 
+       out.  Then test the various seam-gen targets. JBoss-as may not start in 
+       the configuration so testing the live app may need to be done after
+       executing the various seam-gen targets.  This does not have to be
+       done for each test below but the different targets should be verified./>       
+
+* Review seam-gen chapter of the reference guide
   - accurate and up to date
 * seam-gen EAR 
-  - run "seam setup create-project generate-entities explode"
-    - during setup choose an EAR project
-    - test the basic functionality of the app (CRUD on each table)
+  - run seam  with setup create-project and explode
+      - during setup choose an EAR project
+      - verify basic functionality
+  - run seam generate-entities restart    
+      - test the basic functionality of the app (CRUD on each table)
   - run "seam new-action new-form restart"
-    - test both generated pages
-    - run the unit tests in eclipse using the TestNG plugin 
+      - test both generated pages 
+  - run seam test 
 * seam-gen IceFaces EAR test 
-  - run "seam setup create-project generate-entities explode"
-    - during setup choose an EAR project
-    - during setup choose to use IceFaces instead of RichFaces
-    - test the basic functionality of the app (CRUD on each table)
+  - run seam  with setup create-project and explode
+      - during setup choose to use icefaces
+      - during setup choose an EAR project    
+      - verify basic functionality
+   - run seam generate-entities restart    
+      - test the basic functionality of the app (CRUD on each table)
+   - run seam test
 * seam-gen WAR 
-  - run "seam setup create-project generate-entities explode"
-    - during setup choose a WAR project
-    - test the basic functionality of the app (CRUD on each table)
+  - run seam with setup create-project and explode
+      - during setup choose a WAR project
+      - verify basic functionality
+  - run seam generate-entities restart
+      - test the basic functionality of the app (CRUD on each table)
   - run "seam new-action new-form restart"
-    - test both generated pages
-    - run the unit tests in eclipse using the TestNG plugin 
+      - test both generated pages
+  - run seam test
 * JBDS - import the EAR seam-gen generated project into JBDS.
   - Enable Seam support in project properties
   - Check that EL code completion works for Seam components 
+     - both project specific and core components
+     - in views, and config files, etc... 
   - Check that Hibernate Console work on the project
      - expand the Configuration node
      - Open HQL editor and query "from SomeEntity" and execute the query
+  - Execute testng testcases for project
 * JBDS new WAR project
   - Reverse engineer entities from MySQL
   - Create "new Seam Action" and "new Seam Form"
   - Test generated pages (check hot deployment of Seam components, html)   
   - Test running unit tests from Eclipse
 * JBDS new EAR project 
+  - <NOTE JBIDE-1862 will require changes to the generated project/>
   - Reverse engineer entities from MySQL
   - Create "new Seam Action" and "new Seam Form"
   - Test generated pages (check hot deployment of Seam components, html)  
@@ -309,41 +349,72 @@
     
 Portal Bridge Verification
 --------------------------
-* Use the latest released version of the PortalBridge and JBoss Portal.
+* Use the latest released version of the PortalBridge (PBR) and JBoss Portal.
   - http://labs.jboss.com/portletbridge
   - http://www.jboss.org/jbossportal/
-* Deploy and verify the bridge booking example to JBoss portal.
+* <NOTE: because the bridge is beta first test the example using the PBR
+         distribution.  Then follow the steps below to upgrade the seam 
+         version in the example.  Then retest the example./>
+* Deploy PBR seam booking example following the PBR document instructions.
+    - Review any known issues with the PBR in the PBR Jira project.
+* Verify the example and functionality.
+    - User authentication through portal
+        - use default users, and new users that are created
+    - Basic hotel booking
+        - user both text search and search button 
+        - change dates, and options in the booking
+        - confirm, logout, login, verify confirmation, cancel confirmation
+    - Conversation handling
+        - launch several hotels booking conv. from the search page
+        - individually confirm and switch between conversations.
+    - <NOTE: logging in/out through the portlet, registering new users, and 
+             changing passwords do not work, and jiras have been entered
+             for them to be removed as it is integrated with portal auth/>
+* Upgrade the seam version in the seam portlet booking example
+    - download the src distribution of the PBR
+    - edit the $PBR_SRC/examples/seam/booking/seamBookingPortlet/pom.xml file
+        - adjust the seam version properties at the top of the file
+    - build the example by running "mvn install" in the $PBR_SRC/examples dir
+    - <NOTE: You may need to remove the "javassist.jar" from both the EAR
+             and WAR lib directories.  This is related to PBR-2 - but for some
+             reason the javassist.jar is still placed in both./>
 * Deploy a second version of the booking example as a separate portlet
-    - <TODO: there may be a new chatroom seam portlet for this testing>
+    - <TODO: this is not supported in the bridge yet - defer/>
+    - <TODO: there may be a new chatroom seam portlet for this testing/>
 * Build the seam identity extension with the booking example
-    - <TODO add reference link to the instructions>
+    - <TODO this seems to be done in the 1.0.0.B2 PBR release automatically 
+            - verify/>
+    - <TODO add reference link to the instructions if needed/>
     - Go to the booking demo seamBookingPortlet/pom.xml
        - go to the bottom and uncomment the identity module.
-    - Build the booking demo and login via the portal admin link. 
+    - Build the booking demo and log in via the portal admin link. 
        - this should automatically logs you into the seam booking demo
   
 Document review
 ---------------
 * Review the API javadocs in both IE and FF.
     - Specifically for version differences
-    - This is not a full review
+    - This is not a full review at all
 * Review the Reference Guide documentation in both IE and FF.
     - Review for format and code styles
     - Review for version numbers, and dependencies
     - Review any extensive changes based on release notes and the team. 
-    - This is not a full review
+    - This is not a full review at all.
 
 Final Build + Upload
 --------------
 * When ready for the release
-    - checkout a clean version of the tag
+    - checkout a clean version of the tag in a new/clean directory.
     - run "ant cleanall dist > ../releaselogs/x.x.x.XX.finaldistbuild.txt"
     - diff this to the one used for testing
 
 * Follow instructions for sourceforge upload
     - Create md5 files for the ".zip" and ".tar.gz" files
-        - <QUESTION: do we want to create md5 files for the archives>
-    - upload the .zip and .tar.gz and md5 files to SF FTP "upload.sf.net/incoming" folder
+        - <QUESTION: do we want to create md5 files for the archives/>
+        - <NOTE: not for 2.0.X/>
+    - upload the .zip and .tar.gz and md5 files
+        - FTP "upload.sf.net/incoming"
+        - <NOTE: sf upload process may have changed - check during next release/>
     
 * Login to sourceforge.org and go to jboss.org project
     - Under admin tab click on "file releases"
@@ -351,7 +422,7 @@
     - Set "Status" to "hidden"
     - Paste this release changelog snippet in the "changelog"
     - Paste this release readme.txt in the "release notes" 
-    - Add the 4 files uploaded to the release
+    - Add the files uploaded to the release
     - Keep everything hidden for now.
 
 * Upload the "$DIST/doc" directory to "docs.jboss.com/seam/<NEW VERSION>" 
@@ -367,7 +438,14 @@
         - to the directory you checked out to.
     - Run "ant releaseSeam" in the build directory
     - Review and Commit the release changes to repository.jboss.org
+        - simple script to add new files to SVN
+        - svn status | grep "^\?" | awk '{print $2}' | xargs svn add
+        - they still need to be reviewed and commited.
 
+* Create draft of the documentation and download pages on seamframework.org
+    - documentation points to "docs.jboss.com"
+    - downloads point to sourceforge download page
+
 Final Coordination and Announcement
 -----------------------------------
 * For a GA release and if its newest version of Seam
@@ -381,14 +459,13 @@
 * Login to sourceforge.org and modify the Seam release entry
     - Change the date to today
     - Change "Status" to active
-* Update the documentation and download pages on seamframework.org
-    - documentation points to "docs.jboss.com"
-    - downloads point to sourceforge download page
+* Update the documentation and download pages on seamframework.org with drafts.
 * Update Jira so that version shows as "released" 
 * Announce the release
     - Blog on in.relation.to
     - seamframework.org news, and forums
     - jboss.org news
+    - TheServerSide.com
 
 Update Demos
 ------------
@@ -400,14 +477,20 @@
 -----
 * To reapply a tag:
  - First delete the original
-    - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "removing old tag prior to applying updated tag"
-    - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "removing old tag prior to applying updated tag"
+    - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX 
+      -m "removing old tag prior to applying updated tag"
+    - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 
+          -m "removing old tag prior to applying updated tag"
  - Recopy back to tag
-    -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag""
-    - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "Updated tag for 2.0.2.CR1"
+    -"svn copy https://svn.jboss.org/repos/seam/XX/XX 
+      https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX 
+      -m "create JBoss_Seam_x_x_x_XXX tag""
+    - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 
+          https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 
+          -m "Updated tag for 2.0.2.CR1"
 
 [FUTURE]
 --------
 * Store release related scripts (especially when more automated) in svn.
 * Store release logs, and reports in svn.
-* Find a jar/archive reporting tool for detailed dependency, version, location reports.
+* Find a jar/archive reporting tool for detailed dependency, version reports.

Modified: branches/Seam_2_0_FP/seam-gen/build.xml
===================================================================
--- branches/Seam_2_0_FP/seam-gen/build.xml	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/seam-gen/build.xml	2008-06-09 13:13:49 UTC (rev 8354)
@@ -7,8 +7,8 @@
 	<!-- Order is important -->
 	<property file="./build.properties" />
 	<import file="${seam.dir}/build/common.build.xml" />
-	
-	<target name="init" depends="initpoms">
+    
+    <target name="init">
         <path id="seam-gen.path" path="${seam.dir}/lib/jboss-seam-gen.jar" />
 
 	    <!-- taskdefs -->
@@ -39,8 +39,6 @@
 	    <taskdef name="pathFixer" 
 	             classname="org.jboss.seam.tool.FixPathTask" 
 	             classpathref="seam-gen.path"/>
-		
-		<copyDependencies pom="${gen.pom}" id="gen" scope="runtime" todir="${lib.dir}/gen" />
 	</target>
     
     <target name="init-properties" depends="init">
@@ -207,7 +205,7 @@
         <property name="old.richfaces.skin" value="blueSky"/>
         <input addproperty="richfaces.skin.new" 
                    message="Select a RichFaces skin [${old.richfaces.skin}]" 
-                 validargs="blueSky,classic,ruby,wine,deepMarine,emeraldTown,sakura,DEFAULT"
+                 validargs="blueSky,classic,ruby,wine,deepMarine,emeraldTown,japanCherry,DEFAULT"
               defaultvalue="${old.richfaces.skin}"/>
         
         <property name="old.project.type" value="ear"/>
@@ -1060,9 +1058,13 @@
 		
 	<target name="init-generate">
 		<path id="htools.classpath">
-            <fileset dir="${lib.dir}/gen">
-                <include name="*.jar"/>
-            </fileset>
+            <pathelement path="../lib/ant.jar"/>
+            <pathelement path="../lib/hibernate-tools.jar"/>
+            <pathelement path="../lib/freemarker.jar"/>
+            <pathelement path="../lib/jboss-seam.jar"/>
+            <pathelement path="../lib/runtime.jar"/>
+            <pathelement path="../lib/common.jar"/>
+            <pathelement path="../lib/text.jar"/>  
         	<pathelement path="../lib/dom4j.jar" />
         	<pathelement path="../lib/persistence-api.jar" />
         	<pathelement path="../lib/hibernate.jar" />

Modified: branches/Seam_2_0_FP/seam2migration.txt
===================================================================
--- branches/Seam_2_0_FP/seam2migration.txt	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/seam2migration.txt	2008-06-09 13:13:49 UTC (rev 8354)
@@ -4,15 +4,6 @@
 your existing code and configuration. This process should not be too
 painful - if you get stuck, just refer back to the updated Seam examples.
 
-Supported container environments
---------------------------------
-Seam 2.0 has been tested on the following containers:
-
-* JBoss 4.2 (it is possible to run Seam2 on JBoss 4.0.5 by upgrading JSF)
-* Tomcat 6.0 (Tomcat 5.5 is not compatible with JSF 1.2)
-* GlassFish V2
-* OC4J 11g Technology Preview
-
 Migration to JSF 1.2
 --------------------
 Seam 2.0 requires JSF 1.2. We now recommend Sun's JSF RI as the most 
@@ -111,23 +102,6 @@
           <action execute="#{redirect.captureCurrentView}"/>
       </event>
 
-Migration to JBoss Embedded
----------------------------
-Support for deployment to JBoss Embeddable EJB3 and JBoss Microcontainer
-has been removed. Instead, the new JBoss Embedded distribution gives you
-a full set of EE-compatible APIs with simplified deployment.
-
-For testing, you need the jars in Seam's lib/ directory, together with the 
-bootstrap/ directory in your classpath. SeamTest will automatically start 
-the container. Refer to the Seam examples, or seam-gen, if you have
-trouble.
-
-For Tomcat deployment, follow the instructions in the user guide. You no
-longer need any special configuration or packaging for Tomcat deployments.
-
-Note that JBoss Embedded is able to bootstrap a datasource from a -ds.xml
-file, so there is no longer a need for jboss-beans.xml.
-
 Migration to JBPM 3.2
 ---------------------
 If you are using JBPM for business processes (not just pageflows), you need 

Modified: branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java
===================================================================
--- branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java	2008-06-09 13:13:49 UTC (rev 8354)
@@ -11,7 +11,9 @@
 import static org.jboss.seam.util.EJB.STATELESS;
 import static org.jboss.seam.util.EJB.name;
 
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import javax.persistence.Entity;
@@ -35,30 +37,35 @@
  */
 public class Seam
 {
-    
    private static final Map<Class, String> COMPONENT_NAME_CACHE = new ConcurrentHashMap<Class, String>();
-   private static final Map<String, EjbDescriptor> EJB_DESCRIPTOR_CACHE = new ConcurrentHashMap<String, EjbDescriptor>();
+   private static final Map<Class, EjbDescriptor> EJB_DESCRIPTOR_CACHE = new ConcurrentHashMap<Class, EjbDescriptor>();
+   private static final Set<ClassLoader> CLASSLOADERS_LOADED = new HashSet<ClassLoader>(); 
 
-   public static EjbDescriptor getEjbDescriptor(String className)
+   public static EjbDescriptor getEjbDescriptor(Class clazz)
    {
-      EjbDescriptor info = EJB_DESCRIPTOR_CACHE.get(className);
+      EjbDescriptor info = EJB_DESCRIPTOR_CACHE.get(clazz);
       if (info != null) 
       {
           return info;
       }
-      else
+      else if (!CLASSLOADERS_LOADED.contains(clazz.getClassLoader()))
       {
-         Map<String, EjbDescriptor> ejbDescriptors = new DeploymentDescriptor().getEjbDescriptors();
-         EJB_DESCRIPTOR_CACHE.putAll(ejbDescriptors);
-         return ejbDescriptors.get(className);
+         cacheEjbDescriptors(clazz);
+         return EJB_DESCRIPTOR_CACHE.get(clazz);
       }
+      
+      return null;
    }
    
-   // TODO Better impl
-   static EjbDescriptor getEjbDescriptor(Class clazz)
+   private synchronized static void cacheEjbDescriptors(Class clazz)
    {
-      return getEjbDescriptor(clazz.getName());
-   }
+      if (!CLASSLOADERS_LOADED.contains(clazz.getClassLoader()))
+      {         
+         Map<Class, EjbDescriptor> ejbDescriptors = new DeploymentDescriptor(clazz).getEjbDescriptors();
+         EJB_DESCRIPTOR_CACHE.putAll(ejbDescriptors);
+         CLASSLOADERS_LOADED.add(clazz.getClassLoader());         
+      }
+   } 
   
    /**
     * Get the default scope
@@ -161,7 +168,7 @@
          }
          else
          {
-            EjbDescriptor ejbDescriptor = Seam.getEjbDescriptor(clazz.getName());
+            EjbDescriptor ejbDescriptor = Seam.getEjbDescriptor(clazz);
             if (ejbDescriptor != null)
             {
                return ejbDescriptor.getBeanType() == ComponentType.ENTITY_BEAN ? clazz : null;

Modified: branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java
===================================================================
--- branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java	2008-06-09 13:13:49 UTC (rev 8354)
@@ -23,10 +23,16 @@
 { 
     private static final LogProvider log = Logging.getLogProvider(Initialization.class);
     
-    private Map<String, EjbDescriptor> ejbDescriptors = new HashMap<String, EjbDescriptor>();
+    private Map<Class, EjbDescriptor> ejbDescriptors = new HashMap<Class, EjbDescriptor>();
+    private Class componentClass;
 
-    public DeploymentDescriptor() 
+    public DeploymentDescriptor(Class clazz) 
     {
+       componentClass = clazz;
+       if (clazz.getClassLoader() == null) {
+           return;
+       }       
+       
         try 
         {
             InputStream ejbJarXml = Resources.getResourceAsStream("META-INF/ejb-jar.xml", null);
@@ -54,7 +60,7 @@
         }
     }
     
-    public Map<String, EjbDescriptor> getEjbDescriptors()
+    public Map<Class, EjbDescriptor> getEjbDescriptors()
     {
        return ejbDescriptors;
     }
@@ -197,6 +203,14 @@
 
     protected void add(EjbDescriptor descriptor) 
     {
-       ejbDescriptors.put(descriptor.getEjbClassName(), descriptor);
+       try
+       {
+          Class ejbClass = componentClass.getClassLoader().loadClass( descriptor.getEjbClassName() );
+          ejbDescriptors.put(ejbClass, descriptor);
+       }
+       catch (ClassNotFoundException cnfe)
+       {
+          log.warn("Could not load EJB class: " + descriptor.getEjbClassName());
+       }
     }
 }

Modified: branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java
===================================================================
--- branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java	2008-06-09 13:13:49 UTC (rev 8354)
@@ -2,7 +2,7 @@
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 import javax.faces.component.UIParameter;
@@ -23,7 +23,7 @@
    protected UrlBuilder(String fragment, String characterEncoding)
    {
       this.fragment = fragment;
-      parameters = new HashMap<String, String>();
+      parameters = new LinkedHashMap<String, String>();
       this.characterEncoding = characterEncoding;
    }
    

Modified: branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java
===================================================================
--- branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java	2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java	2008-06-09 13:13:49 UTC (rev 8354)
@@ -7,7 +7,6 @@
 
 public class UrlBuilderTest
 {
-
    @Test
    public void testBaseUrlAlreadyHasParams() throws UnsupportedEncodingException
    {
@@ -19,4 +18,15 @@
       assert "/someurl?arg1=a&foo=bar".equals(encodedUrl);
    } 
    
+   @Test
+   public void testParameterOrdering() throws UnsupportedEncodingException
+   {
+      UrlBuilder url = new UrlBuilder("/Hotel.seam", "", "UTF-8");
+      url.addParameter("hotelId", "5");
+      url.addParameter("cid", "10");
+      url.addParameter("z", "z");
+      url.addParameter("a", "a");
+      String encodedUrl = url.getEncodedUrl();
+      assert "/Hotel.seam?hotelId=5&cid=10&z=z&a=a".equals(encodedUrl) : "Parameters not properly ordered";
+   }
 }




More information about the seam-commits mailing list