[seam-commits] Seam SVN: r15099 - in branches/community/Seam_2_3: examples-ee6 and 1 other directory.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Sun Sep 2 06:12:10 EDT 2012


Author: manaRH
Date: 2012-09-02 06:12:10 -0400 (Sun, 02 Sep 2012)
New Revision: 15099

Removed:
   branches/community/Seam_2_3/examples-ee6/update_process.txt
Modified:
   branches/community/Seam_2_3/distribution/src/main/assembly/seam23migration.txt
Log:
updated migration text

Modified: branches/community/Seam_2_3/distribution/src/main/assembly/seam23migration.txt
===================================================================
--- branches/community/Seam_2_3/distribution/src/main/assembly/seam23migration.txt	2012-09-01 17:20:42 UTC (rev 15098)
+++ branches/community/Seam_2_3/distribution/src/main/assembly/seam23migration.txt	2012-09-02 10:12:10 UTC (rev 15099)
@@ -4,8 +4,8 @@
 of. This process should not be too painful - if you get stuck, just refer back
 to the updated Seam examples.
 
-This migration guide assumes you are using Seam 2.0, if you are migrating from
-Seam 1.2, see the seam2migration guide as well.
+This migration guide assumes you are using Seam 2.2, if you are migrating from
+Seam 1.2 or 2.0, see the seam2migration.txt and seam21migration.txt guide as well.
 
 
 Testing
@@ -13,39 +13,135 @@
 
 SeamTest and JBoss Embedded is legacy components and have many limitations and we doesn't support it now.
 We now bring Arquillian as a replacement of JBoss Embedded and integration testing 
-is provided by org.jboss.seam.mock.JUnitSeamTest. More in reference documentation guide.
+is provided by org.jboss.seam.mock.JUnitSeamTest, dbunit testing is provided by org.jboss.seam.mock.DBJUnitSeamTest.
+More due some issues with TestNG in Arquillian, we use JUnit as prefered test framework. Migration to Junit and
+Arquillian goes in the following steps:
+1. Add @RunWith(Arquillian.class) annotation to your test class.
+2. Your test class should extend JUnitSeamTest instead of SeamTest.
+3. Add a helper class for instance like
+examples/booking/booking-tests/src/test/java/org/jboss/seam/example/booking/test/Deployments.java
+4. Add a method like public static org.jboss.shrinkwrap.api.Archive<?> createDeployment(){} for creating deployment
+archive for Arquillian environment with annotations
+ at Deployment(name="<your_test_name>") and @OverProtocol("Servlet 3.0") 
+5. Add arquillian.xml file into root of your classpath for running test(s). The file content should specify path to
+remote or managed container and some specific options for JVM or Arquillian. Example of arquillian file is at
+examples/booking/booking-tests/src/test/resources-integration/arquillian.xml.
+More details in Seam reference documentation guide in chapter 37. Testing Seam applications.
 
 Schemas
 ----------------
+
 XML schemas for validation Files that use the Seam 2.2 XSDs should be updated to refer to 
 the 2.3 XSDs. Current Schemas URL is www.jboss.org/schema/seam/<schema>-2.3.xsd.
 
-Bean Validation
+Bean Validation instead of Hibernate Validator
 ------------------
+
 You need to migrate from org.hibernate.validator.* validator annotations to java.validation.constraint.* equivalent
 for instance:
 org.hibernate.validator.Length to java.validation.constraint.Size,
 org.hibernate.validator.NotNull to java.validation.constraint.NotNull,
 org.hibernate.validator.Pattern to java.validation.constraint.Pattern.
 
+JSF 1 to JSF 2 Facelets
+------------------
 
+Configuration file faces-config.xml is not required to be in your application, if you anyway would like to have it,
+change version to 2.1.
+
+All your application JSF templates should use only facelets technology.
+
+Here it is required to convert <head>/<body> tags to <h:head><h:body>
+
+
+Java EE 6 upgrade
+-----------------
+
+Seam 2.3 can integrate with the major upgrades in Java EE (from 5 to 6). You can use persistence with JPA 2, EJB 3.1 and
+Bean Validation.
+
+Using JPA 2 requires to change version to 2.0 in your persistence.xml file. Version in application.xml should be 6.
+Migration of web.xml file is in changing version to 3.0.
+
+Examples of changed headers with versions are the following.
+
+persistence.xml:
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
+    version="2.0">
+
+application.xml:
+<application xmlns="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"
+    version="6">
+
+web.xml:
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+         version="3.0">
+
+Further JNDI string creation changed due Java EE 6 JNDI portable syntax, and you have to change all JNDI strings from
+<your_application>/#{ejbName}/local to java:app/<application-module-name>/#{ejbName} like
+ for instance in WEB-INF/components.xml change jndiPattern from: seam-mail/#{ejbName}/local to java:app/seam-mail-ejb/#{ejbName}
+
+JBoss AS 7.1 deployment
+--------------------------
+
+If you using for development or testing default datasource in JBoss AS 7.1, change jndi string in your persistence.xml
+from  java:/DefaultDS to java:jboss/datasources/ExampleDS.
+
+JBoss AS 7 has got refactored classloading and specific classloading of bundled or provided libraries can be managed in 
+jboss-deployment-structure.xml, which should be placed in META-INF directory of your application. Minimal content for
+Seam 2.3 based application is:
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+  <deployment>
+  	  <dependencies>
+         <module name="org.dom4j" export="true"/>
+         <module name="org.apache.commons.collections" export="true"/>
+	      <module name="javax.faces.api" export="true"/> <!-- keep there only if you use JSF as view technology -->
+	    </dependencies>
+  </deployment>  
+</jboss-deployment-structure>
+More details are described in JBoss AS 7 documentation.
+
+
+
 Dependency changes (Maven)
 --------------------------
 
 The "provided" platform is now JBoss AS 7.1.x, therefore all Java EE dependencies included
-in AS 7 are now marked as provided.
+in AS 7 are now marked as provided. Seam uses JBoss Java EE BOM files through Seam BOM file for declaring dependencies.
+You should add import of org.jboss.seam:bom only and then just use the dependency groupId:artifactId[:scope] wherever in
+your maven project.
 
-Seam UI tags
---------------------------
-We use Richfaces CDK for generation of Seam UI taglib, unfortunately Richfaces CDK 4 doesn't support to create custom tags for converter or validator:
-Affected seam tags are: 
-    convertEntity
-    convertEnum
-    convertAtomicBoolean
-    convertAtomicInteger
-    convertAtomicLong
-    validateFormattedText
-There can be used standard JSF 2 tags like f:converter or f:validator for the simulating the old behaviour of s:convert* or s:validate* tags.    
-    
+<dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam</groupId>
+                <artifactId>bom</artifactId>
+                <version>2.3.0.CR1</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
 
+         ...
+      </dependencies>
+</dependencyManagement>
 
+
+<dependencies>
+
+   <dependency>
+      <groupId>org.jboss.seam</groupId>
+      <artifactId>jboss-seam</artifactId>
+      <type>ejb</type>
+   <dependency>
+
+   ...
+</dependencies>
+
+
+

Deleted: branches/community/Seam_2_3/examples-ee6/update_process.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/update_process.txt	2012-09-01 17:20:42 UTC (rev 15098)
+++ branches/community/Seam_2_3/examples-ee6/update_process.txt	2012-09-02 10:12:10 UTC (rev 15099)
@@ -1,222 +0,0 @@
-In each test class
-==================
-Add @RunWith(Arquillian.class) annotation to the class
-import org.jboss.arquillian.junit.Arquillian;
-extends JUnitSeamTest
-Change all @Test annotation from TestNG to JUnit
-
-Add the method:
-   @Deployment(name="<project>Test")
-   @OverProtocol("Servlet 3.0")
-   public static Archive<?> createDeployment()
-   {
-      EnterpriseArchive er = Deployments.<project>Deployment();
-      WebArchive web = er.getAsType(WebArchive.class, "<project>-web.war");
-
-      web.addClasses(<testName>.class);
-
-      return er;
-   }
-      
-
-In source folder of *-tests
-===========================
-Create a Deployments class with the content:
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.importer.ZipImporter;
-import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
-
-import java.io.File;
-
-public class Deployments {
-	public static EnterpriseArchive <project>Deployment() {
-		return ShrinkWrap.create(ZipImporter.class, "seam-<project>.ear").importFrom(new File("../<project>-ear/target/seam-<project>.ear"))
-				.as(EnterpriseArchive.class);
-	}
-}
-
-
-Arquillian.xml
-==============
-Add arquillian.xml in folder resource-integration.  Contents of arquillian.xml:
-
-<?xml version="1.0" encoding="UTF-8"?>
-<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns="http://jboss.org/schema/arquillian"
-    xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
-
-    <engine>
-        <property name="deploymentExportPath">target/</property>
-    </engine>
-
-    <container qualifier="jboss" default="true">
-        <configuration>
-            <property name="javaVmArguments">-Xmx1024m -XX:MaxPermSize=512m</property>
-            <property name="jbossHome">target/jboss-as-${version.jbossas7}</property>
-        </configuration>
-    </container>
-</arquillian>
-
-
-
-
-In *-tests.pom
-===============
-add hibernate-validator
-<example.context.path>seam-<module-name></example.context.path>
-
-
-plugins should be:
-  <build>
-            <plugins>
-               <plugin>
-                  <groupId>org.codehaus.mojo</groupId>
-                  <artifactId>selenium-maven-plugin</artifactId>
-               </plugin>
-               <plugin>
-                  <groupId>org.codehaus.mojo</groupId>
-                  <artifactId>failsafe-maven-plugin</artifactId>
-               </plugin>
-               <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                  <artifactId>maven-antrun-plugin</artifactId>
-               </plugin>
-            </plugins>
-         </build>
-
-
-
-
-In faces-config.xml
-===================
-
-Remove:
-    <!-- Facelets support -->
-    <application>
-        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
-    </application>
-
-Upgrade version to 2.1
-
-In jboss-deployment-structure.xml
-=================================
-Remove exclusion
-Remove slot attributes
-Include    <module name="org.antlr" export="true"/>
-
-In web.xml 
-==========
-Migrate version from 2.5 to 3.0
-
-In all xhtml pages
-===================
-Convert
-     <head><body>and<html> tags to <h:head><h:body>and<h:html>
-     with <(/?)head> <$1h:head>
-     with <(/?)body> <$1h:body>
-     with <(/?)html> <$1h:html> 
-
-
-
-in persistence.xml
-change from    <non-jta-data-source>java:/DefaultDS</non-jta-data-source> to <non-jta-data-source>java:jboss/datasources/ExampleDS</non-jta-data-source>
-
-in *-web.pom
-============
-
-     <jndiPattern>([^/]*)?/\#\{ejbName\}/local</jndiPattern>
-     replace with <jndiPattern>java:app/$1/#{ejbName}</jndiPattern>
-     go from: seam-mail/#{ejbName}/local
-     <jndiPattern>java:app/seam-mail-ejb/#{ejbName}</jndiPattern>
-
-     remove:
-            <exclusions>
-                <exclusion>
-                    <groupId>com.thoughtworks.xstream</groupId>
-                    <artifactId>xstream</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>xpp3</groupId>
-                    <artifactId>xpp3_min</artifactId>
-                </exclusion>
-            </exclusions>
-
-add:
-         <dependency>
-            <groupId>org.hibernate.javax.persistence</groupId>
-            <artifactId>hibernate-jpa-2.0-api</artifactId>
-            <scope>provided</scope>
-         </dependency>
-
-add the rest as:
-
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.el</groupId>
-            <artifactId>jboss-el</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.richfaces.ui</groupId>
-            <artifactId>richfaces-components-ui</artifactId>
-        </dependency>  
-        <dependency>
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-        </dependency>    
-        <dependency>
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.jboss.spec.javax.faces</groupId>
-            <artifactId>jboss-jsf-api_2.0_spec</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        Get rid of <activation> on <id>jbossas51</id>
-
-       remove maven dependency plugin
-        <!--<plugin>-->
-            <!--<groupId>org.apache.maven.plugins</groupId>-->
-            <!--<artifactId>maven-dependency-plugin</artifactId>-->
-            <!--<executions>-->
-               <!--<execution>-->
-                  <!--<id>unpack</id>-->
-                  <!--<phase>package</phase>-->
-                  <!--<goals>-->
-                     <!--<goal>unpack</goal>-->
-                  <!--</goals>-->
-                  <!--<configuration>-->
-                     <!--<artifactItems>-->
-                        <!--<artifactItem>-->
-                           <!--<groupId>org.jboss.seam.examples</groupId>-->
-                           <!--<artifactId>groovybooking-web</artifactId>-->
-                           <!--<type>war</type>-->
-                           <!--<overWrite>true</overWrite>-->
-                           <!--<outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.war</outputDirectory>-->
-                        <!--</artifactItem>-->
-                     <!--</artifactItems>-->
-                  <!--</configuration>-->
-               <!--</execution>-->
-            <!--</executions>-->
-         <!--</plugin>-->
-
-In *-ejb.pom
-===========
-All hibernate dependencies will need to be listed as 'provided'
-
-
-In src/main/resources/persistence.xml
-==================
-Change <jta-data-source>java:/icefaces-bookingDatasource</jta-data-source> to
-<non-jta-data-source>java:jboss/datasources/ExampleDS</non-jta-data-source>
-Run tests with:
-mvn -Darquillian=jbossas-managed-7 clean test integration-test



More information about the seam-commits mailing list