[seam-commits] Seam SVN: r14475 - in branches/community/Seam_2_3Beta2: examples-ee6 and 61 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Mon Apr 2 13:24:46 EDT 2012


Author: dhinojosa
Date: 2012-04-02 13:24:45 -0400 (Mon, 02 Apr 2012)
New Revision: 14475

Added:
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources-ftest/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/groovybooking.properties
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/seam.properties
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/jbossas/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/jbossas/resources/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/jbossas/resources/groovybooking-ds.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Booking.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/BookingListAction.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Hotel.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelBookingAction.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelSearchingAction.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Random.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/RegisterAction.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/User.groovy
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/AuthenticatorAction.java
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/ChangePasswordAction.java
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/META-INF/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/import.sql
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/messages_en.properties
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/seam.properties
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-web.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/book.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/confirm.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/screen.css
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/home.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/hotel.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/btn.bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cal-next.png
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cal-prev.png
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cnt.bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/dtpick.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.ad.jpg
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bar.jpg
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.title.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/header_line.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/input.bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/sdb.bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/spinner.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/th.bg.gif
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/index.html
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/main.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/password.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/register.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/template.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/readme.txt
   branches/community/Seam_2_3Beta2/examples-ee6/guice/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ear/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ear/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/AppleJuice.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Juice.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBar.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBarModule.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Orange.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/OrangeJuice.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/resources/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/resources/seam.properties
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/GuiceTest.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/JuiceTestBar.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/selenium/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/selenium/GuiceTest.java
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-ftest/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-ftest/testng.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-integration/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-integration/testng.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources/seam.properties
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/faces-config.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/bar.xhtml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/index.html
   branches/community/Seam_2_3Beta2/examples-ee6/guice/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/guice/readme.txt
Modified:
   branches/community/Seam_2_3Beta2/examples-ee6/messages/messages-web/pom.xml
   branches/community/Seam_2_3Beta2/examples-ee6/pom.xml
   branches/community/Seam_2_3Beta2/examples/remoting/chatroom/chatroom-ejb/chatroom-ejb.iml
Log:
added guice, groovybooking, and hibernate

Modified: branches/community/Seam_2_3Beta2/examples/remoting/chatroom/chatroom-ejb/chatroom-ejb.iml
===================================================================
--- branches/community/Seam_2_3Beta2/examples/remoting/chatroom/chatroom-ejb/chatroom-ejb.iml	2012-04-02 16:09:13 UTC (rev 14474)
+++ branches/community/Seam_2_3Beta2/examples/remoting/chatroom/chatroom-ejb/chatroom-ejb.iml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -24,11 +24,11 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="jboss-seam" scope="PROVIDED" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.seam:jboss-seam:ejb:2.3.0-SNAPSHOT" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: com.thoughtworks.xstream:xstream:1.3.1" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: xpp3:xpp3_min:1.1.3.4.O" level="project" />
     <orderEntry type="library" scope="TEST" name="Maven: org.testng:testng:jdk15:5.10" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.8.1" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.el:jboss-el:1.0_02.CR6" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: javax.el:el-api:1.0" level="project" />
     <orderEntry type="library" name="Maven: jboss:jboss-cache:1.4.1.SP9" level="project" />
@@ -36,7 +36,7 @@
     <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:servlet-api:2.5" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: javax.ejb:ejb-api:3.0" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: javax.faces:jsf-api:1.2_12" level="project" />
-    <orderEntry type="module" module-name="jboss-seam-remoting" />
+    <orderEntry type="library" name="Maven: org.jboss.seam:jboss-seam-remoting:2.3.0-SNAPSHOT" level="project" />
     <orderEntry type="library" scope="PROVIDED" name="Maven: javax.jms:jms:1.1" level="project" />
   </component>
 </module>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <artifactId>groovybooking</artifactId>
+      <groupId>org.jboss.seam.examples-ee6</groupId>
+      <version>2.3.0.Beta1-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>
+   </parent>
+
+   <groupId>org.jboss.seam.examples-ee6</groupId>
+   <artifactId>groovybooking-tests</artifactId>
+   <name>Groovy Booking Integration Tests Module (EE6)</name>
+
+
+   <dependencies>
+      <dependency>
+         <groupId>org.testng</groupId>
+         <artifactId>testng</artifactId>
+         <classifier>jdk15</classifier>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam</artifactId>
+         <type>ejb</type>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>com.sun.faces</groupId>
+         <artifactId>jsf-api</artifactId>
+         <scope>provided</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.seleniumhq.selenium.server</groupId>
+         <artifactId>selenium-server</artifactId>
+         <classifier>standalone</classifier>
+      </dependency>
+      <dependency>
+         <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+         <artifactId>selenium-java-client-driver</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>functional-tests</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.arquillian.junit</groupId>
+         <artifactId>arquillian-junit-container</artifactId>
+         <scope>test</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.arquillian.protocol</groupId>
+         <artifactId>arquillian-protocol-servlet</artifactId>
+         <scope>test</scope>
+      </dependency>
+
+   </dependencies>
+
+   <build>
+      <testResources>
+         <testResource>
+            <directory>src/test/resources</directory>
+            <filtering>true</filtering>
+         </testResource>
+         <testResource>
+            <directory>src/test/resources-integration</directory>
+         </testResource>
+      </testResources>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+               <skip>true</skip>
+            </configuration>
+         </plugin>
+      </plugins>
+   </build>
+
+   <profiles>
+      <profile>
+         <id>integration-tests</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+            </property>
+         </activation>
+      </profile>
+
+      <profile>
+         <id>arq-jbossas-7-managed</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+               <value>jbossas-managed-7</value>
+            </property>
+         </activation>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-dependency-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+
+      <profile>
+         <id>arq-jbossas-7-remote</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+               <value>jbossas-remote-7</value>
+            </property>
+         </activation>
+      </profile>
+
+      <profile>
+         <id>ftest-jbossas</id>
+         <properties>
+            <example.context.path>seam-messages</example.context.path>
+         </properties>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.codehaus.mojo</groupId>
+                  <artifactId>jboss-maven-plugin</artifactId>
+                  <configuration>
+                     <jbossHome>${jboss.home}</jbossHome>
+                     <serverName>${jboss.domain}</serverName>
+                     <fileNames>
+                        <param>${basedir}/../messages-ear/target/seam-messages.ear</param>
+                     </fileNames>
+                  </configuration>
+               </plugin>
+               <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>
+      </profile>
+      <profile>
+         <id>ftest-tomcat</id>
+         <properties>
+            <example.context.path>jboss-seam-messages</example.context.path>
+         </properties>
+         <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>
+      </profile>
+   </profiles>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/groovybooking.properties
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/groovybooking.properties	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/groovybooking.properties	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,84 @@
+ #
+ # JBoss, Home of Professional Open Source
+ # Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ # by the @authors tag. See the copyright.txt in the distribution for a
+ # full listing of individual contributors.
+ #
+ # This is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU Lesser General Public License as
+ # published by the Free Software Foundation; either version 2.1 of
+ # the License, or (at your option) any later version.
+ #
+ # This software is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ # Lesser General Public License for more details.
+ #
+ # You should have received a copy of the GNU Lesser General Public
+ # License along with this software; if not, write to the Free
+ # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ # 
+HOME_PAGE /home.seam
+MAIN_PAGE /main.seam
+PAGE_TITLE JBoss Suites: Seam Framework
+LOGIN_USERNAME_FIELD id=login:username
+LOGIN_PASSWORD_FIELD id=login:password
+LOGIN_SUBMIT id=login:login
+LOGOUT id=logout
+PASSWORD_UPDATED_MESSAGE Password updated
+PASSWORD_REENTER_MESSAGE verify
+PASSWORD_VALUE_REQUIRED_MESSAGE //*[@id='setpassword:Message' or @id='setpassword:PasswordDecorate:Message']
+PASSWORD_LENGTH_MESSAGE length must be between
+PASSWORD_PASSWORD id=setpassword:PasswordDecorate:password
+PASSWORD_VERIFY id=setpassword:VerifyDecorate:verify
+PASSWORD_SUBMIT id=setpassword:change
+SETTINGS id=settings
+SEARCH_STRING_FIELD id=main:searchString
+SEARCH_SUBMIT id=main:findHotels
+NO_HOTELS_FOUND id=NoHotelsFoundMessage
+SEARCH_RESULT_TABLE xpath=//table[@id = 'hotels']/tbody
+SEARCH_RESULT_TABLE_FIRST_ROW_LINK id=hotels:0:viewHotel
+BOOKING_BOOK id=hotel:bookHotel
+BOOKING_CANCEL id=hotel:cancel
+HOTEL_BED_FIELD id=booking:bedsDecorate:beds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:checkinDateDecorate:checkinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE xpath=//*[@id='booking:Message' or @id='booking:checkinDateDecorate:Message']
+HOTEL_CHECKOUT_DATE_FIELD id=booking:checkoutDateDecorate:checkoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE xpath=//*[@id='booking:Message' or @id='booking:checkoutDateDecorate:Message']
+HOTEL_SMOKING_1 id=booking:smokingDecorate:smoking:0
+HOTEL_SMOKING_2 id=booking:smokingDecorate:smoking:1
+HOTEL_CREDIT_CARD id=booking:creditCardDecorate:creditCard
+HOTEL_CREDIT_CARD_NAME id=booking:creditCardNameDecorate:creditCardName
+HOTEL_PROCEED id=booking:proceed
+HOTEL_CANCEL id=booking:cancel
+HOTEL_CONFIRM id=confirm:confirm
+HOTEL_MESSAGE xpath=//ul[@id='main:messages']/li
+REGISTRATION id=login:register
+REGISTRATION_USERNAME id=register:usernameDecorate:username
+REGISTRATION_USERNAME_MESSAGE id=register:usernameDecorate:message
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE id=register:nameDecorate:message
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE id=register:passwordDecorate:message
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE id=register:verifyDecorate:message
+REGISTRATION_SUBMIT id=register:register
+REGISTRATION_REENTER_MESSAGE verify
+REGISTRATION_LENGTH_MESSAGE length must be between
+REGISTRATION_SUCCESSFUL_MESSAGE Successfully registered as {0}
+REGISTRATION_USER_EXISTS_MESSAGE Username {0} already exists
+NOT_LOGGED_IN_MESSAGE Please log in first
+CONVERSATION_TIMEOUT_MESSAGE The conversation ended, timed out or was processing another request
+BOOKING_TABLE_ITEM xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]
+BOOKING_TABLE_ITEM_LINK xpath\=//table[@id\="bookings\:bookings"]/tbody/tr[normalize-space(td[6]/text()) \= "{0}"][normalize-space(td[1]/text()) \= "{1}"]/td[7]/a
+BOOKING_CANCELLED_MESSAGE Booking cancelled for confirmation number {0}
+BOOKING_CONFIRMATION_MESSAGE Thank you, {0}, your confimation number for {1} is \\d+
+BOOKING_INVALID_DATE_MESSAGE1 Check out date must be later than check in date
+BOOKING_INVALID_DATE_MESSAGE2 Check in date must be a future date
+WORKSPACE_BOOKING_TEXT Book hotel: {0}
+WORKSPACE_VIEW_TEXT View hotel: {0}
+WORKSPACE_TABLE_LINK_BY_ID id=ConversationListForm:ConversationListDataTable:{0}:EntryDescriptionLink
+WORKSPACE_TABLE_ROW_COUNT = //table[@id\='ConversationListForm\:ConversationListDataTable']/tbody/tr
+SPINNER id\=main\:Spinner
\ No newline at end of file


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/groovybooking.properties
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/seam.properties	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources/seam.properties	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,3 @@
+#debug is explicitly disabled in test to avoid JBIDE-3623
+#Thu Dec 31 16:24:37 CET 2009
+org.jboss.seam.core.init.debug=false
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,36 @@
+
+	<!--
+		JBoss, Home of Professional Open Source Copyright 2008, Red Hat
+		Middleware LLC, and individual contributors by the @authors tag. See
+		the copyright.txt in the distribution for a full listing of individual
+		contributors. This is free software; you can redistribute it and/or
+		modify it under the terms of the GNU Lesser General Public License as
+		published by the Free Software Foundation; either version 2.1 of the
+		License, or (at your option) any later version. This software is
+		distributed in the hope that it will be useful, but WITHOUT ANY
+		WARRANTY; without even the implied warranty of MERCHANTABILITY or
+		FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+		License for more details. You should have received a copy of the GNU
+		Lesser General Public License along with this software; if not, write
+		to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+		Boston, MA 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+	--> 
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Groovybooking example" verbose="2" parallel="false">
+	<test name="groovybooking_tests">
+		<parameter name="PROPERTY_FILE"
+			value="/groovybooking.properties" />
+		<classes>
+			<class
+				name="org.jboss.seam.example.common.test.booking.selenium.RegistrationTest" />
+			<class
+				name="org.jboss.seam.example.common.test.booking.selenium.ChangePasswordTest" />
+			<class
+				name="org.jboss.seam.example.common.test.booking.selenium.BackButtonTest" />
+			<class
+				name="org.jboss.seam.example.common.test.booking.selenium.SimpleBookingTest" />
+			<class
+				name="org.jboss.seam.example.common.test.booking.selenium.ConversationTest" />
+		</classes>
+	</test>
+</suite>


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+
+   <parent>
+      <artifactId>groovybooking</artifactId>
+      <groupId>org.jboss.seam.examples-ee6</groupId>
+      <version>2.3.0.Beta1-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>
+   </parent>
+
+   <groupId>org.jboss.seam.examples-ee6</groupId>
+   <artifactId>groovybooking-web</artifactId>
+   <packaging>war</packaging>
+   <name>Groovy Booking Web Module (EE6)</name>
+
+   <properties>
+      <!-- filtering property for components.xml -->
+      <jndiPattern>java:app/groovybooking-ejb/#{ejbName}</jndiPattern>
+      <debug>true</debug>
+      <loadPersistenceUnits>false</loadPersistenceUnits>
+   </properties>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam</artifactId>
+         <type>ejb</type>
+         <scope>compile</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam-ui</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.jboss.seam</groupId>
+               <artifactId>jboss-seam-jul</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam-debug</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>commons-beanutils</groupId>
+         <artifactId>commons-beanutils</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>commons-collections</groupId>
+               <artifactId>commons-collections</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <!--<dependency>-->
+      <!--<groupId>com.sun.facelets</groupId>-->
+      <!--<artifactId>jsf-facelets</artifactId>-->
+      <!--</dependency>-->
+      <dependency>
+         <groupId>commons-logging</groupId>
+         <artifactId>commons-logging</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.richfaces.framework</groupId>
+         <artifactId>richfaces-impl</artifactId>
+         <version>3.3.3.Final</version>
+         <exclusions>
+            <exclusion>
+               <groupId>commons-collections</groupId>
+               <artifactId>commons-collections</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.richfaces.ui</groupId>
+         <artifactId>richfaces-ui</artifactId>
+         <version>3.3.3.Final</version>
+         <exclusions>
+            <exclusion>
+               <groupId>commons-collections</groupId>
+               <artifactId>commons-collections</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.codehaus.groovy</groupId>
+         <artifactId>groovy-all</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.eclipse.jdt</groupId>
+         <artifactId>core</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-core</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>joda-time</groupId>
+               <artifactId>joda-time</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-decisiontables</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-compiler</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-templates</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-api</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.el</groupId>
+         <artifactId>jboss-el</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>javax.persistence</groupId>
+         <artifactId>persistence-api</artifactId>
+         <version>1.0</version>
+      </dependency>
+      <dependency>
+         <groupId>org.hibernate</groupId>
+         <artifactId>hibernate-validator</artifactId>
+         <scope>provided</scope>
+      </dependency>
+      <dependency>
+         <groupId>javax.faces</groupId>
+         <artifactId>jsf-api</artifactId>
+         <version>2.1</version>
+         <scope>provided</scope>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <finalName>jboss-seam-groovybooking</finalName>
+      <plugins>
+         <plugin>
+            <groupId>org.codehaus.gmaven</groupId>
+            <artifactId>gmaven-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+               <execution>
+                  <goals>
+                     <goal>generateStubs</goal>
+                     <goal>compile</goal>
+                     <goal>generateTestStubs</goal>
+                     <goal>testCompile</goal>
+                  </goals>
+               </execution>
+            </executions>
+         </plugin>
+
+         <!-- turned off the ant run since gmaven does the same thing with minimal lines -->
+         <!-- although there may have been an excellent reason for it, I am trying it this way -->
+         <!-- dhinojosa -->
+
+         <!--<plugin>-->
+         <!--<groupId>org.apache.maven.plugins</groupId>-->
+         <!--<artifactId>maven-antrun-plugin</artifactId>-->
+         <!--<executions>-->
+         <!--<execution>-->
+         <!--<id>compile-groovy-files</id>-->
+         <!--<phase>generate-resources</phase>-->
+         <!--<configuration>-->
+         <!--<tasks>-->
+         <!--<taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">-->
+         <!--<classpath refid="maven.compile.classpath"/>-->
+         <!--</taskdef>-->
+         <!--<mkdir dir="${project.build.outputDirectory}"/>-->
+         <!--<groovyc destdir="${project.build.outputDirectory}" srcdir="${basedir}/src/main/groovy/model" listfiles="true">-->
+         <!--<classpath refid="maven.compile.classpath"/>-->
+         <!--</groovyc>-->
+         <!--</tasks>-->
+         <!--</configuration>-->
+         <!--<goals>-->
+         <!--<goal>run</goal>-->
+         <!--</goals>-->
+         <!--</execution>-->
+         <!--<execution>-->
+         <!--<id>copy-class-files</id>-->
+         <!--<phase>prepare-package</phase>-->
+         <!--<configuration>-->
+         <!--<tasks>-->
+         <!--<property name="dev.dir" value="${project.build.directory}/${project.build.finalName}/WEB-INF/dev"/>-->
+         <!--<mkdir dir="${dev.dir}"/>-->
+         <!--<copy todir="${dev.dir}">-->
+         <!--<fileset dir="${basedir}/src/main/groovy/action">-->
+         <!--<include name="**/*.groovy"/>-->
+         <!--</fileset>-->
+         <!--</copy>-->
+         <!--<move todir="${dev.dir}">-->
+         <!--<fileset dir="${project.build.outputDirectory}">-->
+         <!--<include name="**/AuthenticatorAction.class"/>-->
+         <!--<include name="**/ChangePasswordAction.class"/>-->
+         <!--</fileset>-->
+         <!--</move>-->
+         <!--</tasks>-->
+         <!--</configuration>-->
+         <!--<goals>-->
+         <!--<goal>run</goal>-->
+         <!--</goals>-->
+         <!--</execution>-->
+         <!--</executions>-->
+         <!--</plugin>-->
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>build-helper-maven-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>add-source</id>
+                  <phase>generate-sources</phase>
+                  <goals>
+                     <goal>add-source</goal>
+                  </goals>
+                  <configuration>
+                     <sources>
+                        <source>${basedir}/src/main/groovy/action</source>
+                     </sources>
+                     <resources>
+                        <!--  setup classpath with files previously compiled with groovyc -->
+                        <resource>
+                           <directory>${project.build.outputDirectory}</directory>
+                        </resource>
+                     </resources>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <configuration>
+               <webResources>
+                  <resource>
+                     <directory>src/main/webapp</directory>
+                     <filtering>true</filtering>
+                  </resource>
+               </webResources>
+            </configuration>
+         </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>
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>jboss-maven-plugin</artifactId>
+            <version>1.5.0</version>
+            <configuration>
+               <jbossHome>${jboss.home}</jbossHome>
+               <serverName>${jboss.domain}</serverName>
+               <fileNames>
+                  <param>${basedir}/src/jbossas/resources/groovybooking-ds.xml</param>
+                  <directory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.war</directory>
+               </fileNames>
+            </configuration>
+         </plugin>
+      </plugins>
+   </build>
+
+   <profiles>
+      <profile>
+         <id>ftest-jbossas</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-antrun-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <id>wait-for-application</id>
+                        <phase>none</phase>
+                     </execution>
+                     <execution>
+                        <id>stop-selenium</id>
+                        <phase>none</phase>
+                     </execution>
+                  </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>jbossas42</id>
+         <properties>
+            <loadPersistenceUnits>true</loadPersistenceUnits>
+         </properties>
+      </profile>
+   </profiles>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/jbossas/resources/groovybooking-ds.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/jbossas/resources/groovybooking-ds.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/jbossas/resources/groovybooking-ds.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,26 @@
+<?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">
+
+<datasources>
+   
+   <local-tx-datasource>
+      <jndi-name>groovyDatasource</jndi-name>
+      <connection-url>jdbc:hsqldb:.</connection-url>
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+      <user-name>sa</user-name>
+      <password></password>
+<!-- 
+      <exception-sorter-class-name>
+         org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
+      </exception-sorter-class-name>
+      <metadata>
+         <type-mapping>mySQL</type-mapping>
+      </metadata>
+-->
+   </local-tx-datasource>
+    
+</datasources>
+

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Booking.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Booking.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Booking.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,92 @@
+//$Id: Booking.groovy 4698 2007-04-18 06:40:06Z ebernard $
+package org.jboss.seam.example.groovy
+
+import java.text.DateFormat
+import javax.persistence.Basic
+import javax.persistence.Entity
+import javax.persistence.GeneratedValue
+import javax.persistence.Id
+import javax.persistence.ManyToOne
+import javax.persistence.Temporal
+import javax.persistence.TemporalType
+import javax.persistence.Transient
+
+import org.jboss.seam.annotations.Name
+import javax.validation.constraints.NotNull
+import javax.validation.constraints.Pattern
+import javax.validation.constraints.Size
+
+ at Entity
+ at Name("booking")
+class Booking implements Serializable
+{
+   @Id @GeneratedValue
+   Long id
+
+   @ManyToOne @NotNull
+   User user
+
+   @ManyToOne @NotNull
+   Hotel hotel
+
+   @NotNull
+   @Basic @Temporal(TemporalType.DATE)
+   Date checkinDate
+
+   @Basic @Temporal(TemporalType.DATE)
+   @NotNull
+   Date checkoutDate
+
+   @NotNull(message="Credit card number is required")
+   @Size(min=16, max=16, message="Credit card number must 16 digits long")
+   @Pattern(regexp=/^\d*$/, message="Credit card number must be numeric")
+   String creditCard
+
+   @NotNull(message="Credit card name is required")
+   @Size(min=3, max=70, message="Credit card name is required")
+   String creditCardName
+
+   int creditCardExpiryMonth
+
+   int creditCardExpiryYear
+
+   boolean smoking
+
+   int beds
+
+   Booking() {}
+
+   Booking(Hotel hotel, User user)
+   {
+      this.hotel = hotel
+      this.user = user
+   }
+
+   @Transient
+   BigDecimal getTotal()
+   {
+      return hotel.price * getNights()
+   }
+
+   @Transient
+   int getNights()
+   {
+      return (int) ( ( checkoutDate.time - checkinDate.time ) / 1000 / 60 / 60 / 24 )
+   }
+
+   @Transient
+   String getDescription()
+   {
+      DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM)
+      return hotel ?
+            "${hotel.name}, ${df.format( checkinDate )} to ${df.format(checkoutDate)}" :
+            null
+   }
+
+   @Override
+   String toString()
+   {
+      return "Booking(" + user + ","+ hotel + ")"
+   }
+
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/BookingListAction.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/BookingListAction.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/BookingListAction.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,57 @@
+//$Id: BookingListAction.groovy 8748 2008-08-20 12:08:30Z pete.muir at jboss.org $
+package org.jboss.seam.example.groovy
+
+import javax.persistence.EntityManager
+
+import org.jboss.seam.ScopeType
+import org.jboss.seam.annotations.Factory
+import org.jboss.seam.annotations.In
+import org.jboss.seam.annotations.Logger
+import org.jboss.seam.annotations.Name
+import org.jboss.seam.annotations.Scope
+import org.jboss.seam.annotations.datamodel.DataModel
+import org.jboss.seam.annotations.datamodel.DataModelSelection
+import org.jboss.seam.faces.FacesMessages
+import org.jboss.seam.log.Log
+
+ at Scope(ScopeType.SESSION)
+ at Name("bookingList")
+class BookingListAction implements Serializable
+{
+
+   @In
+   EntityManager em
+
+   @In
+   User user
+
+   @DataModel
+   private List<Booking> bookings
+
+   @DataModelSelection
+   Booking booking
+
+   @Logger
+   Log log
+
+   @Factory
+   public void getBookings()
+   {
+      bookings = em.createQuery('''
+         select b from Booking b
+         where b.user.username = :username
+         order by b.checkinDate''')
+            .setParameter("username", user.username)
+            .getResultList()
+   }
+
+   public void cancel()
+   {
+      log.info("Cancel booking: #{bookingList.booking.id} for #{user.username}")
+      Booking cancelled = em.find(Booking.class, booking.id)
+      if (cancelled != null) em.remove( cancelled )
+      getBookings()
+      FacesMessages.instance().add("Booking cancelled for confirmation number #0", booking.getId())
+   }
+
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Hotel.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Hotel.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Hotel.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,47 @@
+//$Id: Hotel.groovy 4698 2007-04-18 06:40:06Z ebernard $
+package org.jboss.seam.example.groovy
+
+import javax.persistence.Column
+import javax.persistence.Entity
+import javax.persistence.GeneratedValue
+import javax.persistence.Id
+
+import org.jboss.seam.annotations.Name
+import javax.validation.constraints.NotNull
+import javax.validation.constraints.Size
+
+
+ at Entity
+ at Name("hotel")
+class Hotel implements Serializable
+{
+   @Id @GeneratedValue
+   Long id
+
+   @Size(max=50) @NotNull
+   String name
+
+   @Size(max=100) @NotNull
+   String address
+
+   @Size(max=40) @NotNull
+   String city
+
+   @Size(min=2, max=10) @NotNull
+   String state
+
+   @Size(min=4, max=6) @NotNull
+   String zip
+
+   @Size(min=2, max=40) @NotNull
+   String country
+
+   @Column(precision=6, scale=2)
+   BigDecimal price
+
+   @Override
+   String toString()
+   {
+      return "Hotel(${name},${address},${city},${zip})"
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelBookingAction.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelBookingAction.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelBookingAction.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,98 @@
+//$Id: HotelBookingAction.groovy 5563 2007-06-26 22:20:03Z gavin $
+package org.jboss.seam.example.groovy
+
+import javax.persistence.EntityManager
+
+import org.jboss.seam.ScopeType
+import org.jboss.seam.annotations.Begin
+import org.jboss.seam.annotations.End
+import org.jboss.seam.annotations.In
+import org.jboss.seam.annotations.Logger
+import org.jboss.seam.annotations.Name
+import org.jboss.seam.annotations.Out
+import org.jboss.seam.core.Events
+import org.jboss.seam.faces.FacesMessages
+import org.jboss.seam.log.Log
+
+ at Name("hotelBooking")
+class HotelBookingAction
+{
+
+   @In
+   EntityManager em
+
+   @In
+   User user
+
+   @In(required=false) @Out
+   Hotel hotel
+
+   @In(required=false)
+   @Out(required=false)
+   Booking booking
+
+   @In
+   FacesMessages facesMessages
+
+   @In
+   Events events
+
+   @Logger
+   Log log
+
+   boolean bookingValid
+
+   @Begin
+   void selectHotel(Hotel selectedHotel)
+   {
+      hotel = em.merge(selectedHotel)
+   }
+
+   void bookHotel()
+   {
+      booking = new Booking(hotel, user)	
+      Calendar calendar = Calendar.getInstance()
+      booking.checkinDate = calendar.time
+      calendar.add Calendar.DAY_OF_MONTH, 1
+      booking.checkoutDate = calendar.time
+   }
+
+   void setBookingDetails()
+   {
+      Calendar calendar = Calendar.getInstance()
+      calendar.add Calendar.DAY_OF_MONTH, -1
+      if ( booking.checkinDate < calendar.time )
+      {
+         facesMessages.addToControl "checkinDate", "Check in date must be a future date"
+         bookingValid=false
+      }
+      else if ( booking.checkinDate >= booking.checkoutDate )
+      {
+         facesMessages.addToControl "checkoutDate", "Check out date must be later than check in date"
+         bookingValid=false
+      }
+      else
+      {
+         bookingValid=true
+      }
+   }
+
+   @Out (required=false, scope=ScopeType.SESSION)
+   List <Booking> bookings
+
+   @End
+   void confirm()
+   {
+      em.persist(booking)
+      facesMessages.add "Thank you, #{user.name}, your confimation number for #{hotel.name} is #{booking.id}", new Object[0]
+      log.info("New booking: #{booking.id} for #{user.username}")
+      // events.raiseTransactionSuccessEvent("bookingConfirmed")
+
+      // force refresh in main.xhtml
+      bookings = null
+   }
+
+   @End
+   void cancel() {}
+
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelSearchingAction.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelSearchingAction.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/HotelSearchingAction.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,70 @@
+//$Id: HotelSearchingAction.groovy 4933 2007-05-27 03:13:24Z ebernard $
+package org.jboss.seam.example.groovy
+
+import javax.persistence.EntityManager
+import javax.persistence.PersistenceContext
+
+import org.jboss.seam.ScopeType
+import org.jboss.seam.annotations.Destroy
+import org.jboss.seam.annotations.Name
+import org.jboss.seam.annotations.Scope
+import org.jboss.seam.annotations.datamodel.DataModel
+
+import org.jboss.seam.annotations.In
+
+import org.jboss.seam.annotations.Factory
+
+ at Name("hotelSearch")
+ at Scope(ScopeType.SESSION)
+class HotelSearchingAction
+{
+
+   @In
+   private EntityManager em
+
+   String searchString
+   int pageSize = 10
+   int page
+
+   @DataModel
+   List<Hotel> hotels
+
+   void find()
+   {
+      page = 0
+      queryHotels()
+   }
+
+   void nextPage()
+   {
+      page++
+      queryHotels()
+   }
+
+   private void queryHotels()
+   {
+      def query = em.createQuery('''
+         select h from Hotel h where
+         lower(h.name) like #{pattern}
+         or lower(h.city) like #{pattern}
+         or lower(h.zip) like #{pattern}
+         or lower(h.address) like #{pattern}
+         ''')
+      query.maxResults = pageSize
+      query.firstResult = page * pageSize
+      hotels = query.getResultList()	
+   }
+
+   @Factory(value="pattern", scope=ScopeType.EVENT)
+   String getSearchPattern()
+   {
+      return searchString ?
+            "%${searchString.toLowerCase().replace('*', '%')}%" :
+            "%";
+   }
+
+   boolean isNextPageAvailable()
+   {
+      return hotels && hotels.size()==pageSize
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Random.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Random.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/Random.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,10 @@
+//$Id: Random.groovy 4698 2007-04-18 06:40:06Z ebernard $
+package org.jboss.seam.example.groovy;
+
+/**
+ * Not used in the application but a non Seam component is also hot deployable
+ */
+class Random
+{
+
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/RegisterAction.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/RegisterAction.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/RegisterAction.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,63 @@
+//$Id: RegisterAction.groovy 5563 2007-06-26 22:20:03Z gavin $
+package org.jboss.seam.example.groovy;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.faces.FacesMessages;
+import static org.jboss.seam.ScopeType.EVENT;
+
+ at Scope(EVENT)
+ at Name("register")
+class RegisterAction
+{
+
+   @In
+   User user;
+
+   @In
+   EntityManager em;
+
+   @In
+   FacesMessages facesMessages;
+
+   String verify;
+
+   boolean registered;
+
+   void register()
+   {
+       if ( user.password == verify ) {
+          List existing = em.createQuery(
+             '''select u.username
+             from User u
+             where u.username=#{user.username}
+             ''').getResultList()
+
+          if (!existing.size())
+          {
+             em.persist(user)
+             facesMessages.add("Successfully registered as #{user.username}", new Object[0]);
+             registered = true
+          }
+          else
+          {
+             facesMessages.addToControl("username", "Username #{user.username} already exists")
+          }
+       }
+       else
+       {
+          facesMessages.add("verify", "Re-enter your password")
+          verify=null
+       }
+   }
+
+   void invalid()
+   {
+      facesMessages.add("Please try again", new Object[0])
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/User.groovy
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/User.groovy	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/groovy/org/jboss/seam/example/groovy/User.groovy	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,49 @@
+//$Id: User.groovy 4698 2007-04-18 06:40:06Z ebernard $
+package org.jboss.seam.example.groovy
+
+import javax.persistence.Entity
+import javax.persistence.Id
+import javax.persistence.Table
+
+
+import org.jboss.seam.ScopeType
+import org.jboss.seam.annotations.Name
+import org.jboss.seam.annotations.Scope
+import javax.validation.constraints.Pattern
+import javax.validation.constraints.NotNull
+import javax.validation.constraints.Size
+
+ at Entity
+ at Name("user")
+ at Scope(ScopeType.SESSION)
+ at Table(name="Customer")
+class User implements Serializable
+{
+   @Id
+   @Size(min=5, max=15)
+   @Pattern(regexp=/^\w*$/, message="not a valid username")
+   String username
+
+   @NotNull
+   @Size(min=5, max=15)
+   String password
+
+   @NotNull
+   @Size(max=100)
+   String name
+
+   User(String name, String password, String username)
+   {
+      this.name = name
+      this.password = password
+      this.username = username
+   }
+
+   User() {}
+
+   @Override
+   String toString()
+   {
+      return "User(${username})"
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/AuthenticatorAction.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/AuthenticatorAction.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/AuthenticatorAction.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,35 @@
+package org.jboss.seam.example.groovy;
+
+import java.util.List;
+import javax.persistence.EntityManager;
+
+import static org.jboss.seam.ScopeType.SESSION;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+
+ at Name("authenticator")
+public class AuthenticatorAction
+{
+   @In EntityManager em;
+   
+   @Out(required=false, scope = SESSION)
+   private User user;
+   
+   public boolean authenticate()
+   {
+      List results = em.createQuery("select u from User u where u.username=#{identity.username} and u.password=#{identity.password}")
+            .getResultList();
+      
+      if ( results.size()==0 )
+      {
+         return false;
+      }
+      else
+      {
+         user = (User) results.get(0);
+         return true;
+      }
+   }
+
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/ChangePasswordAction.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/ChangePasswordAction.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/java/org/jboss/seam/example/groovy/ChangePasswordAction.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,64 @@
+//$Id: ChangePasswordAction.java 5305 2007-06-20 01:30:37Z gavin $
+package org.jboss.seam.example.groovy;
+
+import javax.persistence.EntityManager;
+
+import static org.jboss.seam.ScopeType.EVENT;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.faces.FacesMessages;
+
+ at Scope(EVENT)
+ at Name("changePassword")
+public class ChangePasswordAction
+{
+
+   @In @Out
+   private User user;
+   
+   @In
+   private EntityManager em;
+   
+   private String verify;
+   
+   private boolean changed;
+   
+   public void changePassword()
+   {
+      if ( user.getPassword().equals(verify) )
+      {
+         user = em.merge(user);
+         FacesMessages.instance().add("Password updated");
+         changed = true;
+      }
+      else 
+      {
+         FacesMessages.instance().add("verify", "Re-enter new password");
+         revertUser();
+         verify=null;
+      }
+   }
+   
+   public boolean isChanged()
+   {
+      return changed;
+   }
+   
+   private void revertUser()
+   {
+      user = em.find(User.class, user.getUsername());
+   }
+
+   public String getVerify()
+   {
+      return verify;
+   }
+
+   public void setVerify(String verify)
+   {
+      this.verify = verify;
+   }
+   
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Persistence deployment descriptor for dev profile -->
+<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_1_0.xsd" 
+             version="1.0">
+             
+   <persistence-unit name="groovy" transaction-type="JTA">
+      <provider>org.hibernate.ejb.HibernatePersistence</provider>
+      <jta-data-source>java:/groovyDatasource</jta-data-source>
+      <properties>
+         <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+         <property name="hibernate.show_sql" value="true"/>
+         <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
+		 <!-- Binds the EntityManagerFactory to JNDI where Seam can look it up.
+              This is only relevant when the container automatically loads the persistence unit, as is the case in JBoss AS 5. -->
+         <property name="jboss.entity.manager.factory.jndi.name" value="java:/groovyEntityManagerFactory"/>
+      </properties>
+   </persistence-unit>
+    
+</persistence>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/import.sql
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/import.sql	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/import.sql	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,22 @@
+insert into Customer (username, password, name) values ('gavin', 'foobar', 'Gavin King')
+insert into Customer (username, password, name) values ('demo', 'demo', 'Demo User')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (1, 120, 'Marriott Courtyard', 'Tower Place, Buckhead', 'Atlanta', 'GA', '30305', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (2, 180, 'Doubletree', 'Tower Place, Buckhead', 'Atlanta', 'GA', '30305', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (3, 450, 'W Hotel', 'Union Square, Manhattan', 'NY', 'NY', '10011', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (4, 450, 'W Hotel', 'Lexington Ave, Manhattan', 'NY', 'NY', '10011', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (5, 250, 'Hotel Rouge', '1315 16th Street NW', 'Washington', 'DC', '20036', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (6, 300, '70 Park Avenue Hotel', '70 Park Avenue', 'NY', 'NY', '10011', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (8, 300, 'Conrad Miami', '1395 Brickell Ave', 'Miami', 'FL', '33131', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (9, 80, 'Sea Horse Inn', '2106 N Clairemont Ave', 'Eau Claire', 'WI', '54703', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (10, 90, 'Super 8 Eau Claire Campus Area', '1151 W Macarthur Ave', 'Eau Claire', 'WI', '54701', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (11, 160, 'MarriottDowntown', '55 Fourth Street', 'San Francisco', 'CA', '94103', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (12, 200, 'Hilton Diagonal Mar', 'Passeig del Taulat 262-264', 'Barcelona', 'Catalunya', '08019', 'Spain')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (13, 210, 'Hilton Tel Aviv', 'Independence Park', 'Tel Aviv', '', '63405', 'Israel')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (14, 240, 'InterContinental Tokyo Bay', 'Takeshiba Pier', 'Tokyo', '', '105', 'Japan')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (15, 130, 'Hotel Beaulac', ' Esplanade Léopold-Robert 2', 'Neuchatel', '', '2000', 'Switzerland')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (16, 140, 'Conrad Treasury Place', 'William & George Streets', 'Brisbane', 'QLD', '4001', 'Australia')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (17, 230, 'Ritz Carlton', '1228 Sherbrooke St', 'West Montreal', 'Quebec', 'H3G1H6', 'Canada')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (18, 460, 'Ritz Carlton', 'Peachtree Rd, Buckhead', 'Atlanta', 'GA', '30326', 'USA')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (19, 220, 'Swissotel', '68 Market Street', 'Sydney', 'NSW', '2000', 'Australia')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (20, 250, 'Meliá White House', 'Albany Street', 'Regents Park London', '', 'NW13UP', 'Great Britain')
+insert into Hotel (id, price, name, address, city, state, zip, country) values (21, 210, 'Hotel Allegro', '171 West Randolph Street', 'Chicago', 'IL', '60601', 'USA')

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/messages_en.properties
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/messages_en.properties	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/messages_en.properties	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,75 @@
+javax.faces.component.UIInput.CONVERSION=value could not be converted to the expected type
+javax.faces.component.UIInput.REQUIRED=value is required
+javax.faces.component.UIInput.REQUIRED_detail=value is required
+javax.faces.component.UIInput.UPDATE=an error occurred when processing your submitted information
+javax.faces.component.UISelectOne.INVALID=value is not valid
+javax.faces.component.UISelectMany.INVALID=value is not valid
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=value must be a number
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=value must be a signed decimal number consisting of zero or more digits, optionally followed by a decimal point and fraction, eg. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=value must be a number
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=value must be a signed integer number consisting of zero or more digits
+javax.faces.converter.BooleanConverter.BOOLEAN=value must be true or false
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=value must be true or false (any value other than true will evaluate to false)
+javax.faces.converter.ByteConverter.BYTE=value must be a number between 0 and 255
+javax.faces.converter.ByteConverter.BYTE_detail=value must be a number between 0 and 255
+javax.faces.converter.CharacterConverter.CHARACTER=value must be a character
+javax.faces.converter.CharacterConverter.CHARACTER_detail=value must be a valid ASCII character
+javax.faces.convert.DateTimeConverter.CONVERSION        = Conversion Error
+javax.faces.convert.DateTimeConverter.CONVERSION_detail = "{1}": Specified value is not a valid date/time.
+javax.faces.converter.DateTimeConverter.DATE=value must be a date
+javax.faces.converter.DateTimeConverter.DATE_detail=value must be a date,  eg. {1}
+javax.faces.converter.DateTimeConverter.TIME=value must be a time
+javax.faces.converter.DateTimeConverter.TIME_detail=value must be a time,  eg. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=value must be a date and time
+javax.faces.converter.DateTimeConverter.DATETIME_detail=value must be a date and time,  eg. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=a pattern or type attribute must be specified to convert the value
+javax.faces.converter.DoubleConverter.DOUBLE=value must be a number
+javax.faces.converter.DoubleConverter.DOUBLE_detail=value must be a number between 4.9E-324 and 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=value must be convertible to an enum
+javax.faces.converter.EnumConverter.ENUM_detail=value must be convertible to an enum or from the enum that contains the constant {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=value must be convertible to an enum or from the enum, but no enum class provided
+javax.faces.converter.FloatConverter.FLOAT=value must be a number
+javax.faces.converter.FloatConverter.FLOAT_detail=value must be a number between 1.4E-45 and 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=value must be a number
+javax.faces.converter.IntegerConverter.INTEGER_detail=value must be a number between -2147483648 and 2147483647
+javax.faces.converter.LongConverter.LONG=value must be a number
+javax.faces.converter.LongConverter.LONG_detail=must be a number between -9223372036854775808 and 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=value must be a currency amount
+javax.faces.converter.NumberConverter.CURRENCY_detail=value must be a currency amount, eg. {1}
+javax.faces.converter.NumberConverter.PERCENT=value must be a percentage amount
+javax.faces.converter.NumberConverter.PERCENT_detail=value must be a percentage amount, eg. {1}
+javax.faces.converter.NumberConverter.NUMBER=value must be a number
+javax.faces.converter.NumberConverter.NUMBER_detail=value must be a number
+javax.faces.converter.NumberConverter.PATTERN=value must be a number
+javax.faces.converter.NumberConverter.PATTERN_detail=value must be a number
+javax.faces.converter.ShortConverter.SHORT=value must be a number
+javax.faces.converter.ShortConverter.SHORT_detail=value must be a number between -32768 and 32767
+
+#JSF 1.1:
+javax.faces.convert.BigDecimalConverter.CONVERSION = value must be a number
+javax.faces.convert.BigDecimalConverter.CONVERSION_detail = value must be a number
+javax.faces.convert.BigIntegerConverter.CONVERSION = value must be an integre
+javax.faces.convert.BigIntegerConverter.CONVERSION_detail = value must be a number
+javax.faces.convert.BooleanConverter.CONVERSION = value must be true or false
+javax.faces.convert.BooleanConverter.CONVERSION_detail = value must be true or false
+javax.faces.convert.ByteConverter.CONVERSION = value must be a byte
+javax.faces.convert.ByteConverter.CONVERSION_detail = value must be a byte
+javax.faces.convert.CharacterConverter.CONVERSION = value must be a character
+javax.faces.convert.CharacterConverter.CONVERSION_detail = value must be a character
+javax.faces.convert.DateTimeConverter.CONVERSION = value must be a datetime
+javax.faces.convert.DateTimeConverter.CONVERSION_detail = value must be a datetime
+javax.faces.convert.DoubleConverter.CONVERSION = value must be a number
+javax.faces.convert.DoubleConverter.CONVERSION_detail = value must be a number
+javax.faces.convert.FloatConverter.CONVERSION  = value must be a number
+javax.faces.convert.FloatConverter.CONVERSION_detail = value must be a number
+javax.faces.convert.IntegerConverter.CONVERSION = value must be an integer
+javax.faces.convert.IntegerConverter.CONVERSION_detail = value must be an integer
+javax.faces.convert.LongConverter.CONVERSION = value must be an integer
+javax.faces.convert.LongConverter.CONVERSION_detail = value must be a long integer
+javax.faces.convert.NumberConverter.CONVERSION = value must be a number
+javax.faces.convert.NumberConverter.CONVERSION_detail = value must be a number
+javax.faces.convert.ShortConverter.CONVERSION = value must be an integer
+javax.faces.convert.ShortConverter.CONVERSION_detail = value must be a short integer
+

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:core="http://jboss.com/products/seam/core"
+            xmlns:persistence="http://jboss.com/products/seam/persistence"
+            xmlns:drools="http://jboss.com/products/seam/drools"
+            xmlns:security="http://jboss.com/products/seam/security"
+            xmlns:mail="http://jboss.com/products/seam/mail"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation=
+                "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.3.xsd 
+                 http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.3.xsd 
+                 http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.3.xsd
+                 http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.3.xsd
+                 http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.3.xsd
+                 http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.3.xsd">
+
+   <core:init debug="true" jndi-pattern="@jndiPattern@"/>
+     
+   <core:manager concurrent-request-timeout="500" 
+                 conversation-timeout="120000" 
+                 conversation-id-parameter="cid"/>
+    
+   <persistence:entity-manager-factory name="groovyEntityManagerFactory"
+      persistence-unit-name="groovy" installed="@loadPersistenceUnits@"/>
+
+   <!-- If Seam loads the persistence unit (JBoss 4.x), the EntityManagerFactory will be resolved from #{groovyEntityManagerFactory}.
+        On JBoss AS 5, the EntityManagerFactory is retrieved from JNDI (the binding occurs during application deployment). -->
+   <persistence:managed-persistence-context name="em" auto-create="true"
+      entity-manager-factory="#{groovyEntityManagerFactory}"
+      persistence-unit-jndi-name="java:/groovyEntityManagerFactory"/>
+               
+   <security:identity authenticate-method="#{authenticator.authenticate}"
+                      remember-me="true"/>
+                              
+   <event type="org.jboss.seam.security.notLoggedIn">
+       <action execute="#{redirect.captureCurrentView}"/>
+   </event>
+   <event type="org.jboss.seam.security.loginSuccessful">
+       <action execute="#{redirect.returnToCapturedView}"/>
+   </event>
+   
+   <mail:mail-session host="localhost" port="2525" username="test" password="test" />
+        
+   <!-- For use with jBPM pageflow or process management -->
+   <!--  
+   <core:jbpm>
+      <core:process-definitions></core:process-definitions>
+      <core:pageflow-definitions></core:pageflow-definitions>
+   </core:jbpm>
+   -->
+      
+</components>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<faces-config version="1.2"
+              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-facesconfig_1_2.xsd">
+
+    <!-- Facelets support -->
+
+    <application>
+        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+    </application>
+</faces-config>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-web.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-web.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-web.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,12 @@
+<!DOCTYPE jboss-web PUBLIC
+    "-//JBoss//DTD Web Application 4.2//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
+
+<jboss-web>
+	<class-loading java2ClassLoadingCompliance="false">
+		<loader-repository>
+			seam.jboss.org:loader=jboss-seam-groovybooking
+			<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+		</loader-repository>
+	</class-loading>
+</jboss-web>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.com/products/seam/pages"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.3.xsd"
+
+       no-conversation-view-id="/main.xhtml"
+                 login-view-id="/home.xhtml">
+
+    <page view-id="/register.xhtml">
+
+        <action if="#{validation.failed}"
+           execute="#{register.invalid}"/>
+
+        <navigation>
+            <rule if="#{register.registered}">
+                <redirect view-id="/home.xhtml"/>
+            </rule>
+        </navigation>
+
+    </page>
+
+    <page view-id="/home.xhtml">
+
+        <navigation>
+            <rule if="#{identity.loggedIn}">
+                <redirect view-id="/main.xhtml"/>
+            </rule>
+        </navigation>
+
+    </page>
+
+    <page view-id="/password.xhtml"
+          login-required="true">
+
+        <navigation>
+            <rule if="#{changePassword.changed}">
+                <redirect view-id="/main.xhtml"/>
+            </rule>
+        </navigation>
+
+    </page>
+
+    <page view-id="/main.xhtml"
+          login-required="true">
+
+        <navigation from-action="#{hotelBooking.selectHotel(hot)}">
+            <redirect view-id="/hotel.xhtml"/>
+        </navigation>
+
+    </page>
+
+	<page view-id="/hotel.xhtml"
+          conversation-required="true">
+
+        <description>View hotel: #{hotel.name}</description>
+
+        <navigation from-action="#{hotelBooking.bookHotel}">
+            <redirect view-id="/book.xhtml"/>
+        </navigation>
+
+    </page>
+
+	<page view-id="/book.xhtml"
+          conversation-required="true">
+
+        <description>Book hotel: #{hotel.name}</description>
+
+        <navigation from-action="#{hotelBooking.setBookingDetails}">
+            <rule if="#{hotelBooking.bookingValid}">
+                <redirect view-id="/confirm.xhtml"/>
+            </rule>
+        </navigation>
+
+    </page>
+
+	<page view-id="/confirm.xhtml"
+          conversation-required="true">
+
+        <description>Confirm booking: #{booking.description}</description>
+
+        <navigation from-action="#{hotelBooking.confirm}">
+            <redirect view-id="/main.xhtml"/>
+        </navigation>
+
+    </page>
+
+    <page view-id="*">
+
+        <navigation from-action="#{identity.logout}">
+            <redirect view-id="/home.xhtml"/>
+        </navigation>
+
+        <navigation from-action="#{hotelBooking.cancel}">
+            <redirect view-id="/main.xhtml"/>
+        </navigation>
+
+    </page>
+
+    <exception class="org.jboss.seam.security.NotLoggedInException">
+        <redirect view-id="/home.xhtml">
+            <message severity="warn">You must be logged in to use this feature</message>
+        </redirect>
+    </exception>
+    
+    <exception class="javax.faces.application.ViewExpiredException">
+        <redirect view-id="/home.xhtml">
+            <message severity="warn">Session expired, please log in again</message>
+        </redirect>
+    </exception>
+
+</pages>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,74 @@
+<?xml version="1.0" ?>
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         version="2.5">
+    
+    <context-param>
+        <param-name>org.richfaces.SKIN</param-name>
+        <param-value>blueSky</param-value>
+    </context-param>
+ 
+   <!-- Seam -->
+    
+   <listener>
+      <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
+   </listener>
+    
+    <filter>
+        <filter-name>Seam Filter</filter-name>
+        <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>Seam Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+        
+   <servlet>
+      <servlet-name>Seam Resource Servlet</servlet-name>
+      <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
+   </servlet>
+    
+   <servlet-mapping>
+      <servlet-name>Seam Resource Servlet</servlet-name>
+      <url-pattern>/seam/resource/*</url-pattern>
+   </servlet-mapping>
+   
+   <!-- Facelets development mode (disable in production) -->
+   
+   <context-param>
+      <param-name>facelets.DEVELOPMENT</param-name>
+      <param-value>true</param-value>
+   </context-param>
+    
+   <!-- JSF -->
+    
+   <context-param>
+      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+      <param-value>.xhtml</param-value>
+   </context-param>
+
+   <servlet>
+      <servlet-name>Faces Servlet</servlet-name>
+      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+      <load-on-startup>1</load-on-startup>
+   </servlet>
+    
+   <servlet-mapping>
+      <servlet-name>Faces Servlet</servlet-name>
+      <url-pattern>*.seam</url-pattern>
+   </servlet-mapping>
+                  
+   <security-constraint> 
+       <display-name>Restrict raw XHTML Documents</display-name>
+       <web-resource-collection>
+           <web-resource-name>XHTML</web-resource-name>
+           <url-pattern>*.xhtml</url-pattern>
+       </web-resource-collection>
+       <auth-constraint>
+           <role-name>NONE</role-name>
+       </auth-constraint>
+   </security-constraint>
+   
+</web-app>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/book.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/book.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/book.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,176 @@
+<!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: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"
+                xmlns:a="http://richfaces.org/a4j"
+                xmlns:rich="http://richfaces.org/rich"
+				template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+<div class="section">
+	<h1>Book Hotel</h1>
+</div>
+<div class="section">
+	<h:form id="booking">
+	<fieldset>
+		<div class="entry">
+			<div class="label">Name:</div>
+			<div class="output">#{hotel.name}</div>
+		</div>
+		<div class="entry">
+			<div class="label">Address:</div>
+			<div class="output">#{hotel.address}</div>
+		</div>
+		<div class="entry">
+			<div class="label">City, State:</div>
+			<div class="output">#{hotel.city}, #{hotel.state}</div>
+		</div>
+		<div class="entry">
+			<div class="label">Zip:</div>
+			<div class="output">#{hotel.zip}</div>
+		</div>
+		<div class="entry">
+			<div class="label">Country:</div>
+			<div class="output">#{hotel.country}</div>
+		</div>
+        <div class="entry">
+            <div class="label">Nightly rate:</div>
+            <div class="output">
+                <h:outputText value="#{hotel.price}">
+                    <f:convertNumber type="currency"  
+                                     currencySymbol="$"/>
+                </h:outputText>
+            </div>
+        </div>
+		
+		<s:validateAll>
+    
+            <f:facet name="aroundInvalidField">
+                <s:span id="Error" styleClass="errors"/>
+            </f:facet>
+            <f:facet name="afterInvalidField">
+                <s:div id="Message" styleClass="errors">
+               	    <s:message/>
+               	</s:div>
+            </f:facet>
+		    
+			<div class="entry">
+                            <div class="label"><h:outputLabel for="checkinDate">Check In Date:</h:outputLabel></div>
+                            <div class="input">
+                                <s:decorate id="checkinDateDecorate">
+									<rich:calendar id="checkinDate" value="#{booking.checkinDate}" required="true" datePattern="MM/dd/yyyy" event="onblur" reRender="checkinDateDecorate"  style="width: auto;" />                                
+								</s:decorate>
+                            </div>
+			</div>
+			
+			<div class="entry">
+                            <div class="label"><h:outputLabel for="checkoutDate">Check Out Date:</h:outputLabel></div>
+                            <div class="input">
+                                <s:decorate id="checkoutDateDecorate">
+									<rich:calendar id="checkoutDate" value="#{booking.checkoutDate}" required="true" datePattern="MM/dd/yyyy" event="onblur" reRender="checkoutDateDecorate"  style="width: auto;" />
+								</s:decorate>
+                            </div>
+                        </div>
+
+			<div class="entry">
+				<div class="label"><h:outputLabel for="beds">Room Preference:</h:outputLabel></div>
+				<div class="input">
+					<s:decorate id="bedsDecorate">
+						<h:selectOneMenu id="beds" value="#{booking.beds}">
+							<f:selectItem itemLabel="One king-size bed" itemValue="1"/>
+							<f:selectItem itemLabel="Two double beds" itemValue="2"/>
+							<f:selectItem itemLabel="Three beds" itemValue="3"/>
+						</h:selectOneMenu>
+					</s:decorate>
+				</div>
+			</div>
+			
+			<div class="entry">
+				<div class="label"><h:outputLabel for="smoking">Smoking Preference:</h:outputLabel></div>
+				<div id="radio" class="input">
+					<s:decorate id="smokingDecorate">
+						<h:selectOneRadio id="smoking" value="#{booking.smoking}" layout="pageDirection">
+							<f:selectItem itemLabel="Smoking" itemValue="true"/>
+							<f:selectItem itemLabel="Non Smoking" itemValue="false"/>
+						</h:selectOneRadio>
+					</s:decorate>
+				</div>
+			</div>
+			
+			<div class="entry">
+				<div class="label"><h:outputLabel for="creditCard">Credit Card #:</h:outputLabel></div>
+				<div class="input">
+					<s:decorate id="creditCardDecorate">
+						<h:inputText id="creditCard" value="#{booking.creditCard}" required="true">
+                           <a:support event="onblur" reRender="creditCardDecorate"/>
+                        </h:inputText>
+					</s:decorate>
+				</div>
+			</div>
+			
+			<div class="entry">
+				<div class="label"><h:outputLabel for="creditCardName">Credit Card Name:</h:outputLabel></div>
+				<div class="input">
+					<s:decorate id="creditCardNameDecorate">
+						<h:inputText id="creditCardName" value="#{booking.creditCardName}" required="true">
+                           <a:support event="onblur" reRender="creditCardNameDecorate"/>
+                        </h:inputText>
+					</s:decorate>
+				</div>
+			</div>
+			
+			<div class="entry">
+				<div class="label"><h:outputLabel for="creditCardExpiryMonth">Credit Card Expiry:</h:outputLabel></div>
+				<div class="input">
+					<s:decorate id="creditCardExpiryDecorate">
+						<h:selectOneMenu id="creditCardExpiryMonth" value="#{booking.creditCardExpiryMonth}">
+							<f:selectItem itemLabel="Jan" itemValue="1"/>
+							<f:selectItem itemLabel="Feb" itemValue="2"/>
+							<f:selectItem itemLabel="Mar" itemValue="3"/>
+							<f:selectItem itemLabel="Apr" itemValue="4"/>
+							<f:selectItem itemLabel="May" itemValue="5"/>
+							<f:selectItem itemLabel="Jun" itemValue="6"/>
+							<f:selectItem itemLabel="Jul" itemValue="7"/>
+							<f:selectItem itemLabel="Aug" itemValue="8"/>
+							<f:selectItem itemLabel="Sep" itemValue="9"/>
+							<f:selectItem itemLabel="Oct" itemValue="10"/>
+							<f:selectItem itemLabel="Nov" itemValue="11"/>
+							<f:selectItem itemLabel="Dec" itemValue="12"/>
+						</h:selectOneMenu>
+						<h:selectOneMenu id="creditCardExpiryYear" value="#{booking.creditCardExpiryYear}">
+							<f:selectItem itemLabel="2005" itemValue="2005"/>
+							<f:selectItem itemLabel="2006" itemValue="2006"/>
+							<f:selectItem itemLabel="2007" itemValue="2007"/>
+							<f:selectItem itemLabel="2008" itemValue="2008"/>
+							<f:selectItem itemLabel="2009" itemValue="2009"/>
+						</h:selectOneMenu>
+					</s:decorate>
+				</div>
+			</div>
+			
+		</s:validateAll>
+		
+		<div class="entry errors">
+			<h:messages globalOnly="true"/>
+		</div>
+		
+		<div class="entry">
+			<div class="label">&#160;</div>
+			<div class="input">
+				<h:commandButton id="proceed" value="Proceed" action="#{hotelBooking.setBookingDetails}"/>&#160;
+				<s:button id="cancel" value="Cancel" action="#{hotelBooking.cancel}"/>
+			</div>
+		</div>		
+	</fieldset>
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/confirm.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/confirm.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/confirm.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,75 @@
+<!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: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"
+				template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+<div class="section">
+	<h1>Confirm Hotel Booking</h1>
+</div>
+<div class="section">
+	<h:form id="confirm">
+	<fieldset>
+		<div class="entry">
+			<div class="label">Name:</div>
+			<div class="output">#{hotel.name}</div>
+		</div>
+		<div class="entry">
+			<div class="label">Address:</div>
+			<div class="output">#{hotel.address}</div>
+		</div>
+		<div class="entry">
+			<div class="label">City, State:</div>
+			<div class="output">#{hotel.city}, #{hotel.state}</div>
+		</div>
+		<div class="entry">
+			<div class="label">Zip:</div>
+			<div class="output">#{hotel.zip}</div>
+		</div>
+		<div class="entry">
+			<div class="label">Country:</div>
+			<div class="output">#{hotel.country}</div>
+		</div>
+        <div class="entry">
+            <div class="label">Total payment:</div>
+            <div class="output">
+                <h:outputText value="#{booking.total}">
+                    <f:convertNumber type="currency" 
+                                     currencySymbol="$"/>
+                </h:outputText>
+            </div>
+        </div>
+		<div class="entry">
+			<div class="label">Check In Date:</div>
+			<div class="output"><h:outputText value="#{booking.checkinDate}"/></div>
+		</div>
+		<div class="entry">
+			<div class="label">Check Out Date:</div>
+			<div class="output"><h:outputText value="#{booking.checkoutDate}"/></div>
+		</div>
+		<div class="entry">
+			<div class="label">Credit Card #:</div>
+			<div class="output">#{booking.creditCard}</div>
+		</div>
+		<div class="entry">
+			<div class="label">&#160;</div>
+			<div class="input">
+				<h:commandButton id="confirm" value="Confirm" action="#{hotelBooking.confirm}"/>&#160;
+    			<s:button id="revise" value="Revise" view="/book.xhtml"/>&#160;
+    			<h:commandButton id="cancel" value="Cancel" action="#{hotelBooking.cancel}"/>
+			</div>
+		</div>
+	</fieldset>
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,34 @@
+<!-- DOCTYPE div PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" -->
+<div xmlns="http://www.w3.org/1999/xhtml"
+     xmlns:c="http://java.sun.com/jstl/core"
+     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:s="http://jboss.com/products/seam/taglib">
+     
+<div class="section">
+    <h1><h:outputText rendered="#{not empty conversationList}" value="Workspaces"/></h1>
+</div>
+
+<div class="section">
+    <h:form id="ConversationListForm">
+        <h:dataTable id="ConversationListDataTable" value="#{conversationList}" var="entry">
+            <h:column id="column1">
+                <h:commandLink id="EntryDescriptionLink" action="#{entry.select}" value="#{entry.description}"/>
+                &#160;
+                <h:outputText id="CurrentEntry" value="[current]" rendered="#{entry.current}"/>
+            </h:column>
+            <h:column id="column2">
+                <h:outputText id="EntryStartDateTime" value="#{entry.startDatetime}">
+                    <s:convertDateTime type="time" pattern="hh:mm"/>
+                </h:outputText>
+                -
+                <h:outputText id="EntryLastDateTime" value="#{entry.lastDatetime}">
+                    <s:convertDateTime type="time" pattern="hh:mm"/>
+                </h:outputText>
+            </h:column>
+        </h:dataTable>
+    </h:form>
+</div>
+
+</div>
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/screen.css
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/screen.css	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/screen.css	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,274 @@
+/* Setup defaults since variable in browsers
+----------------------------------------------- */
+body, div, dd, dt, dl, img, ul, ol, li, p, h1, h2, h3, h4, h5, form, hr, fieldset {
+	margin: 0;
+	padding: 0;
+}
+/* Element Defaults
+----------------------------------------------- */
+html {
+	height: 100%;
+	background-color: #DBD4C6;
+}
+img {
+	border: 0;
+}
+body {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: small;
+	line-height: 1.25em;
+	color: #362F2D;
+	position: relative;
+	width: 760px;
+	height: 100%;
+	margin-left: auto;
+	margin-right: auto;
+}
+label {
+	font-weight: bold;
+	color: #5E5147;
+}
+input {
+	border: 1px solid #C3BBB6;
+	padding: 4px;
+	margin: 5px 0;
+	background: #fff url(../img/input.bg.gif) 0 0 repeat-x;
+}
+select {
+	border: 1px solid #C3BBB6;
+	padding: 4px;
+	margin: 5px 0;
+	background: #fff url(../img/input.bg.gif) 0 0 repeat-x;
+}ol, ul {
+	margin: 10px 0px 10px 6px;
+}
+li {
+	margin: 10px 12px;
+}
+fieldset {
+	border: 0;
+}
+/* Layout
+----------------------------------------------- */
+#document {
+	padding: 0 1px;
+	background: #fff url(../img/bg.gif) 0 0 repeat-y;
+	float: left;
+	border-bottom: 1px solid #C3BBB6;
+}
+#header {
+	float: left;
+	width: 758px;
+	height: 46px;
+	background: url(../img/hdr.bg.gif) 0 0 repeat-x;
+}
+#container {
+	float: left;
+	width: 758px;
+	background: url(../img/hdr.bar.jpg) 0 0 repeat-x;
+}
+#sidebar {
+	float: left;
+	width: 190px;
+	margin-top: 96px;
+	padding: 20px 10px 0 10px;
+	background: url(../img/sdb.bg.gif) 0 0 no-repeat;
+}
+#content {
+	float: left;
+	width: 548px;
+	margin-top: 75px;
+	padding-top: 5px;
+	background: #fff url(../img/cnt.bg.gif) 0 0 repeat-x;
+}
+#footer {
+	clear: both;
+	margin-top: 40px;
+	float: left;
+	padding: 20px;
+	border-top: 1px solid #C3BBB6;
+	background-color: #fff;
+	width: 718px;
+	text-align: right;
+}
+/* General
+----------------------------------------------- */
+input[type="submit"], input[type="button"] {
+	font-weight: bold;
+	color: #fff;
+	border: 1px solid #5D1414;
+	height: 26px;
+	background: #fff url(../img/btn.bg.gif) 0 0 repeat-x;
+	border-style: none;
+}
+.center {
+	text-align: center;
+}
+.entry {
+	clear: both;
+	padding-top: 10px;
+}
+.entry .label {
+	float: left;
+	padding-top: 10px;
+	padding-right: 5px;
+	font-weight: bold;
+	width: 150px;
+	text-align: right;
+}
+.entry .output {
+	float: left;
+	width: 250px;
+	padding-top: 10px;
+	text-align: left;
+}
+.entry .input {
+	float: left;
+	width: 250px;
+	text-align: left;
+}
+/* Sidebar
+----------------------------------------------- */
+.notes {
+	text-align: center;
+	font-size: small;
+}
+.subnotes {
+    margin-top: 1em;
+	font-size: small;
+}
+.errors {
+	font-size: small;
+	font-weight: bold;
+	text-align: center;
+	color: #600;
+}
+.errors div {
+	text-align: left;
+}
+.errors input {
+	border: 1px solid #600;
+}
+.errors ul {
+	list-style: none;
+}
+.buttonBox {
+	text-align: center;
+	padding: 5px 0;
+}
+#sidebar p {
+	font-size: small;
+	color: #8B7869;
+	line-height: 150%;
+	padding-bottom: 10px;
+}
+#sidebar li {
+	font-size: small;
+	color: #8B7869;
+}
+#sidebar h1 {
+	line-height: normal;
+	font-weight: bold;
+	font-size: small;
+}
+/*
+#sidebar p:hover {
+	color: #362F2D;
+}
+*/
+/* Content
+----------------------------------------------- */
+#content .section {
+	float: left;
+	width: 518px;
+	padding: 15px 15px 0 15px;
+}
+#content .section h1 {
+	font-family: "Trebuchet MS", Arial, sans-serif;
+	line-height: normal;
+	font-weight: normal;
+	font-size: large;
+}
+#content .section p {
+	line-height: 150%;
+	padding: 10px 0;
+	font-size: small;
+}
+#content table {
+	width: 100%;
+	border: 1px solid #D2C9C4;
+	border-collapse: collapse;
+}
+#content table caption {
+	padding-bottom: 6px;
+	text-align: left;
+	font-weight: bold;
+}
+#content table thead th {
+	border-left: 1px solid #D2C9C4;
+	background: #fff url(../img/th.bg.gif) 0 100% repeat-x;	
+	border-bottom: 1px solid #D2C9C4;
+	padding: 6px;
+	text-align: left;
+	font-size: small;
+}
+#content table tbody td {
+	border-left: 1px solid #E4DBD5;
+	padding: 4px;
+	border-bottom: 1px solid #D2C9C4;
+	font-size: small;
+}
+#content dt {
+	font-weight: bold;
+	float: left;
+	width: 33%;
+}
+#content dd {
+	padding-left: 10px;
+	float: left;
+	width: 66%;
+}
+#radio table {
+	border: 0px;
+}
+#content .input table,
+#content .input tbody tr td,
+#radio table tr td {
+	border: 0px;
+	border-left: 0px;
+	border-bottom: 0px;
+}
+/* Header
+----------------------------------------------- */
+#title {
+	float: left;
+	padding: 1px 0 6px 15px;
+}
+#status {
+	color: #C7B299;
+	float: right;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-weight: bold;
+	font-size: x-small;
+	text-align: right;
+	padding-top: 14px;
+	padding-right: 15px;
+}
+#status a {
+	color: #C7B299;
+	text-decoration: none;
+}
+/* Homepage Modifications
+----------------------------------------------- */
+#pgHome #container {
+	background: url(../img/hdr.ad.jpg) 0 0 repeat-x;
+}
+#pgHome #sidebar {
+	margin-top: 207px;
+}
+#pgHome #content {
+	margin-top: 183px;
+}
+#pgHome #sidebar input[type="submit"] {
+	height: 30px;
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,148 @@
+* {
+    margin:  0px; 
+    padding: 0px; 
+    border:  none;
+}
+
+body {
+    font: 1em verdana, arial, sans-serif;
+    background: #CCCCCC;
+}
+
+div#main {
+    margin-left:  0px;
+    width: 751px;
+    background: #ecefdf;
+}
+
+div#top,div#pictures{
+}
+
+div#pictures img {
+    float:left;
+}
+
+img#head1 {
+    margin-right: 3px;
+} 
+
+img#head2 {
+    margin-right: 4px;
+} 
+
+div.trail {
+    clear:both;     
+    margin-left:  50px;
+    margin-top:   0px;
+    margin-right: 50px
+}
+
+div.foot {
+    margin-left:  50px;
+    margin-right: 50px;
+    margin-top:   50px;
+    text-align:   center;
+    font-size:    .5em;
+    height: 36px;
+}
+
+div.trail h1 {
+    margin-top:   -30px;
+    margin-left:  -50px;
+    font-size:    1.2em;   
+    font-weight:  bold;
+    padding-left: .4em;
+}
+
+div.trail h2 { 
+    float:        left;
+    font-size:    1em;   
+    font-weight:  bold;
+    padding-left: .4em;
+}
+
+div.trail h3 { 
+    float:        left;
+    font-size:    .8em;   
+    font-weight:  bold;
+    margin-left: -1.4em;
+    margin-bottom: 1em;
+}
+
+
+div.trail p {
+    clear:      both;
+    margin-top: 20px;
+    font-size: .8em;
+    text-decoration: none;
+}
+
+div#next_trail {
+    margin-left: 36px;
+}
+
+div.numbox {
+    border: thin solid black; 
+    margin-left: -.8em;
+    float:   left;
+    background: #ffffff;
+    padding: .2em .35em .3em;
+    font-style: normal;
+    font-weight: bold;
+    font-size: 1.4em;
+}
+
+div.figure {
+    text-align: center;
+    font-size: .6em;
+    margin-top: 30px;
+}
+
+div.figure img {
+    display: block;
+    margin-right: auto;
+    margin-left: auto;
+}
+
+code {
+    font: 1.1em "Courier New", Courier, mono;
+}
+
+code.block {
+    white-space: pre;
+    font: 10pt "Courier New", Courier, mono;
+    display: block;
+    border-style: dashed;
+    border-width: thin;
+    padding: .5em;
+    background: #ffffff;
+    margin: 20px;
+}
+
+div.foot_image {
+   float: left;
+   height: 86px;
+}
+
+a:active {
+    color : #666666;
+    text-decoration: none;
+}
+
+a:hover {
+    color : #000000;
+    background-color : #D6E0FE;
+    text-decoration: none;
+}
+
+a:link {
+    color : #005EB6;
+    text-decoration: none;
+}
+
+a:visited {
+    color : #888888;
+    text-decoration: none;
+}
+
+

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/home.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/home.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/home.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,49 @@
+<!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">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>JBoss Suites: Seam Framework</title>
+	<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="pgHome">
+<f:view>
+<div id="document">
+	<div id="header">
+		<div id="title"><img src="img/hdr.title.gif" alt="JBoss Suites: seam framework demo"/></div>
+	</div>
+	<div id="container">
+		<div id="sidebar">
+            <h:form id="login">
+			<fieldset>
+				<div>
+					<h:outputLabel for="username">Login Name</h:outputLabel>
+					<h:inputText id="username" value="#{identity.username}" style="width: 175px;"/>
+					<div class="errors"><h:message for="username"/></div>
+				</div>
+				<div>
+					<h:outputLabel for="password">Password</h:outputLabel>
+					<h:inputSecret id="password" value="#{identity.password}" style="width: 175px;"/>
+				</div>
+				<div class="errors"><h:messages globalOnly="true"/></div>
+				<div class="buttonBox"><h:commandButton id="login" action="#{identity.login}" value="Account Login"/></div>
+				<div class="notes"><s:link id="register" view="/register.xhtml" value="Register New User"/></div>
+                <div class="subnotes">
+                    Or use a demo account:
+                    <ul>
+                        <li>gavin/foobar</li>
+                        <li>demo/demo</li>
+                    </ul>
+                </div>
+			</fieldset>
+            </h:form>
+		</div>
+	</div>
+	<div id="footer">Created with JBoss EJB 3.0, Seam, JSF (Mojarra), and Facelets</div>
+</div>
+</f:view>
+</body>
+</html>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/hotel.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/hotel.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/hotel.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,63 @@
+<!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: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"
+				template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+<div class="section">
+	<h1>View Hotel</h1>
+</div>
+<div class="section">
+	<div class="entry">
+		<div class="label">Name:</div>
+		<div class="output">#{hotel.name}</div>
+	</div>
+	<div class="entry">
+		<div class="label">Address:</div>
+		<div class="output">#{hotel.address}</div>
+	</div>
+	<div class="entry">
+		<div class="label">City:</div>
+		<div class="output">#{hotel.city}</div>
+	</div>
+	<div class="entry">
+		<div class="label">State:</div>
+		<div class="output">#{hotel.state}</div>
+	</div>
+	<div class="entry">
+		<div class="label">Zip:</div>
+		<div class="output">#{hotel.zip}</div>
+	</div>
+	<div class="entry">
+		<div class="label">Country:</div>
+		<div class="output">#{hotel.country}</div>
+	</div>
+    <div class="entry">
+        <div class="label">Nightly rate:</div>
+        <div class="output">
+            <h:outputText value="#{hotel.price}">
+                <f:convertNumber type="currency" 
+                                 currencySymbol="$"/>
+            </h:outputText>
+        </div>
+    </div>
+</div>
+<div class="section">
+	<h:form id="hotel">
+	<fieldset class="buttonBox">
+		<h:commandButton id="bookHotel" action="#{hotelBooking.bookHotel}" value="Book Hotel"/>&#160;
+		<h:commandButton id="cancel" action="#{hotelBooking.cancel}" value="Back to Search"/>
+	</fieldset>
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/btn.bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/btn.bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cal-next.png
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cal-next.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cal-prev.png
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cal-prev.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cnt.bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/cnt.bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/dtpick.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/dtpick.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.ad.jpg
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.ad.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bar.jpg
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bar.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.title.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/hdr.title.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/header_line.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/header_line.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/input.bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/input.bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/sdb.bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/sdb.bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/spinner.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/spinner.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/th.bg.gif
===================================================================
(Binary files differ)


Property changes on: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/img/th.bg.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/index.html	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=home.seam">
+</head>
+</html>
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/main.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/main.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/main.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,119 @@
+<!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: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"
+                xmlns:a="http://richfaces.org/a4j"
+				template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+
+<div class="section">
+  <h:form id="main">
+  
+    <span class="errors">
+       <h:messages id="messages" globalOnly="true"/>
+    </span>
+    
+	<h1>Search Hotels</h1>
+	<fieldset> 
+	   <h:inputText id="searchString" value="#{hotelSearch.searchString}" style="width: 165px;">
+         <a:support event="onkeyup" actionListener="#{hotelSearch.find}" reRender="searchResults" />
+       </h:inputText>
+       &#160;
+	   <a:commandButton id="findHotels" value="Find Hotels" action="#{hotelSearch.find}" reRender="searchResults"/>
+       &#160;
+       <a:status>
+          <f:facet name="start">
+             <h:graphicImage id="Spinner" value="/img/spinner.gif"/>
+          </f:facet>
+       </a:status>
+	   <br/>
+       <h:outputLabel for="pageSize">Maximum results:</h:outputLabel>&#160;
+       <h:selectOneMenu value="#{hotelSearch.pageSize}" id="pageSize">
+          <f:selectItem itemLabel="5" itemValue="5"/>
+          <f:selectItem itemLabel="10" itemValue="10"/>
+          <f:selectItem itemLabel="20" itemValue="20"/>
+       </h:selectOneMenu>
+    </fieldset>
+    
+  </h:form>
+</div>
+
+<a:outputPanel id="searchResults">
+  <div class="section">
+	<h:outputText id="NoHotelsFoundMessage" value="No Hotels Found" rendered="#{hotels != null and hotels.rowCount==0}"/>
+	<h:dataTable id="hotels" value="#{hotels}" var="hot" rendered="#{hotels.rowCount>0}">
+		<h:column>
+			<f:facet name="header">Name</f:facet>
+			#{hot.name}
+		</h:column>
+		<h:column>
+			<f:facet name="header">Address</f:facet>
+			#{hot.address}
+		</h:column>
+		<h:column>
+			<f:facet name="header">City, State</f:facet>
+			#{hot.city}, #{hot.state}, #{hot.country}
+		</h:column> 
+		<h:column>
+			<f:facet name="header">Zip</f:facet>
+			#{hot.zip}
+		</h:column>
+		<h:column>
+			<f:facet name="header">Action</f:facet>
+			<s:link id="viewHotel" value="View Hotel" action="#{hotelBooking.selectHotel(hot)}"/>
+		</h:column>
+	</h:dataTable>
+	<s:link id="MoreResultsLink" value="More results" action="#{hotelSearch.nextPage}" rendered="#{hotelSearch.nextPageAvailable}"/>
+  </div>
+</a:outputPanel>
+
+<div class="section">
+	<h1>Current Hotel Bookings</h1>
+</div>
+<div class="section">
+  <h:form id="bookings">
+	<h:outputText value="No Bookings Found" rendered="#{bookings.rowCount==0}"/>
+	<h:dataTable id="bookings" value="#{bookings}" var="book" rendered="#{bookings.rowCount>0}">
+		<h:column>
+			<f:facet name="header">Name</f:facet>
+			#{book.hotel.name}
+		</h:column>
+		<h:column>
+			<f:facet name="header">Address</f:facet>
+			#{book.hotel.address}
+		</h:column>
+		<h:column>
+			<f:facet name="header">City, State</f:facet>
+			#{book.hotel.city}, #{book.hotel.state}
+		</h:column>
+        <h:column>
+            <f:facet name="header">Check in date</f:facet>
+            <h:outputText value="#{book.checkinDate}"/>
+        </h:column>
+        <h:column>
+            <f:facet name="header">Check out date</f:facet>
+            <h:outputText value="#{book.checkoutDate}"/>
+        </h:column>
+		<h:column>
+			<f:facet name="header">Confirmation number</f:facet>
+			#{book.id}
+		</h:column>
+		<h:column>
+			<f:facet name="header">Action</f:facet>
+			<h:commandLink id="cancel" value="Cancel" action="#{bookingList.cancel}"/>
+		</h:column>
+	</h:dataTable>
+  </h:form>
+</div>
+
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+</ui:define>
+
+</ui:composition>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/password.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/password.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/password.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,81 @@
+<!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: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"
+				template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+<div class="section">
+	<h1>Change Your Password</h1>
+</div>
+<div class="section">
+	<h:form id="setpassword">
+	
+	    <f:facet name="aroundInvalidField">
+            <s:span id="Error" styleClass="errors"/>
+	    </f:facet>
+ 	    <f:facet name="afterInvalidField">
+            <s:div id="Message" styleClass="errors">
+                <s:message/>
+            </s:div>
+ 	    </f:facet>
+		    
+		<fieldset>
+		
+			<div class="entry">
+				<div class="label"><h:outputLabel for="password">Password:</h:outputLabel></div>
+				<div class="input">
+					<s:decorate id="PasswordDecorate">
+						<h:inputSecret id="password" value="#{user.password}" required="true">
+							<s:validate/>
+						</h:inputSecret>
+					</s:decorate>
+				</div>
+			</div>
+			
+			<div class="entry">
+				<div class="label"><h:outputLabel for="verify">Verify:</h:outputLabel></div>
+				<div class="input">
+					<s:decorate id="VerifyDecorate">
+						<h:inputSecret id="verify" value="#{changePassword.verify}" required="true"/>
+					</s:decorate>
+				</div>
+			</div>
+			
+			<div class="entry errors">
+				<h:messages id="Messages" globalOnly="true"/>
+			</div>
+			
+			<div class="entry">
+				<div class="label">&#160;</div>
+				<div class="input">
+					<h:commandButton id="change" value="Change" action="#{changePassword.changePassword}"/>&#160;
+					<s:button id="cancel" value="Cancel" view="/main.xhtml"/>
+				</div>
+			</div>
+			
+		</fieldset>
+		
+	</h:form>
+</div>
+</ui:define>
+
+<!-- sidebar -->
+<ui:define name="sidebar">
+<h1>Simple things should be easy</h1>
+<p>
+    (And so should some complex things.) You shouldn't have to write four different classes
+    just to change a password. Traditional J2EE architectures require that developers spend
+    more time writing code to make the frameworks happy, than they ever get to spend writing
+    code to make the user happy. Seam lets you reduce the size of your code dramatically.
+    And that reduces bugs. And it makes refactoring easier. And it makes delivering new 
+    functionality quicker. Productivity matters. But with Seam, JSF, EJB 3.0 and jBPM, you 
+    don't need to sacrifice the ability to handle complex problems just to achieve great
+    productivity.
+</p>
+</ui:define>
+
+</ui:composition>
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/register.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/register.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/register.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,102 @@
+<!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"
+      xmlns:a="http://richfaces.org/a4j">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>JBoss Suites: Seam Framework</title>
+	<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body id="pgHome">
+<div id="document">
+	<div id="header">
+		<div id="title"><img src="img/hdr.title.gif" alt="JBoss Suites: seam framework demo"/></div>
+	</div>
+	<div id="container">
+		<div id="content">
+			<div class="section">
+				<h1>Register</h1>
+			</div>
+			<div class="section">
+                
+                <h:form id="register">
+				<fieldset>
+				
+                    <s:validateAll>
+
+                       <f:facet name="aroundInvalidField">
+                           <s:span styleClass="errors"/>
+                       </f:facet>
+                       <f:facet name="afterInvalidField">
+                           <s:div styleClass="errors">
+               	               <s:message/>
+               	           </s:div>
+                       </f:facet>
+		    
+						<div class="entry">
+							<div class="label"><h:outputLabel for="username">Username:</h:outputLabel></div>
+							<div class="input">
+								<s:decorate id="usernameDecorate">
+									<h:inputText id="username" value="#{user.username}" required="true">
+                                        <a:support event="onblur" reRender="usernameDecorate"/>
+                                    </h:inputText>
+								</s:decorate>
+							</div>
+						</div>
+						
+						<div class="entry">
+							<div class="label"><h:outputLabel for="name">Real Name:</h:outputLabel></div>
+							<div class="input">
+								<s:decorate id="nameDecorate">
+									<h:inputText id="name" value="#{user.name}" required="true">
+                                        <a:support event="onblur" reRender="nameDecorate"/>
+                                    </h:inputText>
+								</s:decorate>
+							</div>
+						</div>
+						
+						<div class="entry">
+							<div class="label"><h:outputLabel for="password">Password:</h:outputLabel></div>
+							<div class="input">
+								<s:decorate id="passwordDecorate">
+									<h:inputSecret id="password" value="#{user.password}" required="true"/>
+								</s:decorate>
+							</div>
+						</div>
+						
+						<div class="entry">
+							<div class="label"><h:outputLabel for="verify">Verify Password:</h:outputLabel></div>
+							<div class="input">
+								<s:decorate id="verifyDecorate">
+									<h:inputSecret id="verify" value="#{register.verify}" required="true"/>
+								</s:decorate>
+							</div>
+						</div>
+
+					</s:validateAll>
+					
+					<div class="entry errors">
+						<h:messages id="messages" globalOnly="true"/>
+					</div>
+					
+					<div class="entry">
+						<div class="label">&#160;</div>
+						<div class="input">
+							<h:commandButton id="register" value="Register" action="#{register.register}"/>&#160;
+							<s:button id="cancel" value="Cancel" view="/home.xhtml"/>
+						</div>
+					</div>
+					
+				</fieldset>
+                </h:form>
+                
+			</div>			
+		</div>
+	</div>
+	<div id="footer">Created with JBoss EJB 3.0, Seam, JSF (Mojarra), and Facelets</div>
+</div>
+</body>
+</html>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/template.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/template.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/groovybooking-web/src/main/webapp/template.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,35 @@
+<!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:s="http://jboss.com/products/seam/taglib">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<title>JBoss Suites: Seam Framework</title>
+	<link href="css/screen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div id="document">
+	<div id="header">
+		<div id="title"><img src="img/hdr.title.gif" alt="JBoss Suites: seam framework demo"/></div>
+		<div id="status">
+            Welcome #{user.name}
+            | <s:link id="search" view="/main.xhtml" value="Search" propagation="none"/>
+            | <s:link id="settings" view="/password.xhtml" value="Settings" propagation="none"/>
+            | <s:link id="logout" action="#{identity.logout}" value="Logout"/>
+		</div>
+	</div>
+	<div id="container">
+		<div id="sidebar">
+			<ui:insert name="sidebar"/>
+		</div>
+		<div id="content">
+			<ui:insert name="content"/>
+		    <ui:include src="conversations.xhtml" />
+		</div>
+	</div>
+	<div id="footer">Created with Groovy, JBoss Seam, and Facelets</div>
+</div>
+</body>
+</html>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.seam.examples-ee6</groupId>
+    <artifactId>groovybooking</artifactId>
+    <parent>
+        <groupId>org.jboss.seam</groupId>
+        <artifactId>examples-ee6</artifactId>
+        <version>2.3.0.Beta1-SNAPSHOT</version>
+    </parent>
+    <packaging>pom</packaging>
+    <name>Groovy Booking Example (EE6)</name>
+    
+    <properties>
+        <example.name>groovybooking</example.name>
+    </properties>
+    
+    <modules>
+        <module>groovybooking-web</module>
+        <module>groovybooking-tests</module>
+    </modules>
+    
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam.examples</groupId>
+                <artifactId>groovybooking-web</artifactId>
+                <version>${project.version}</version>
+                <type>war</type>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/readme.txt
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/groovybooking/readme.txt	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,23 @@
+Seam GroovyBooking Example
+==========================
+
+This is the Hotel Booking example implemented in Groovy Beans and Hibernate JPA.
+This application runs on JBoss AS, but is deployed as an *exploded* WAR rather 
+than an EAR.
+
+To deploy the example to JBossAS 5, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package
+
+* Set JBOSS_HOME environment property.
+
+* In the groovybooking-web directory run:
+
+    mvn jboss:hard-deploy
+
+When deploying to JBossAS 4, use a -Pjbossas42 maven profile to package the 
+application.
+
+* Open this URL in a web browser: http://localhost:8080/jboss-seam-groovybooking

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ear/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ear/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ear/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>guice</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta1-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6</groupId>
+    <artifactId>guice-ear</artifactId>
+    <packaging>ear</packaging>
+    <name>Guice EAR Module (EE6)</name>
+    
+    <properties>
+        <jboss.home>${env.JBOSS_HOME}</jboss.home>
+        <jboss.domain>default</jboss.domain>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6</groupId>
+            <artifactId>guice-web</artifactId>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6</groupId>
+            <artifactId>guice-ejb</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.thoughtworks.xstream</groupId>
+                    <artifactId>xstream</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xpp3</groupId>
+                    <artifactId>xpp3_min</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-ioc</artifactId>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>seam-guice</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-ear-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <version>5</version>
+                    <defaultLibBundleDir>lib</defaultLibBundleDir>
+                    <!-- Exclude eclipse generated application.xml and manually modified jboss-app.xml during mvn build  -->
+                    <earSourceExcludes>**/application.xml, **/jboss-app.xml</earSourceExcludes>
+                    <!-- use maven generated application.xml instead -->
+                    <generateApplicationXml>true</generateApplicationXml>
+                    <jboss>
+                        <version>5</version>
+                        <loader-repository>seam.jboss.org:loader=seam-guice.ear</loader-repository>
+                    </jboss>
+                    <modules>
+                        <webModule>
+                            <groupId>org.jboss.seam.examples-ee6</groupId>
+                            <artifactId>guice-web</artifactId>
+                            <contextRoot>/seam-guice</contextRoot>
+                            <bundleFileName>guice-web.war</bundleFileName>
+                        </webModule>
+                        <ejbModule>
+                            <groupId>org.jboss.seam.examples-ee6</groupId>
+                            <artifactId>guice-ejb</artifactId>
+                            <bundleFileName>guice-ejb.jar</bundleFileName>
+                        </ejbModule>
+                    </modules>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jboss-maven-plugin</artifactId>
+                <configuration>
+                    <jbossHome>${jboss.home}</jbossHome>
+                    <serverName>${jboss.domain}</serverName>
+                    <fileNames>
+                        <param>${project.build.directory}/${project.build.finalName}.${project.packaging}</param>
+                    </fileNames>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>exploded</id>
+            <build>
+                <plugins>
+                    <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-ee6</groupId>
+                                            <artifactId>guice-ear</artifactId>
+                                            <type>ear</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6</groupId>
+                                            <artifactId>guice-web</artifactId>
+                                            <type>war</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-web.war</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6</groupId>
+                                            <artifactId>guice-ejb</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-ejb.jar</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>jboss-maven-plugin</artifactId>
+                        <version>1.5.0</version>
+                        <configuration>
+                            <jbossHome>${jboss.home}</jbossHome>
+                            <serverName>${jboss.domain}</serverName>
+                            <fileNames>
+                                <directory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</directory>
+                            </fileNames>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>guice</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta1-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6</groupId>
+    <artifactId>guice-ejb</artifactId>
+    <packaging>ejb</packaging>
+    <name>Guice EJB Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-ioc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.persistence</groupId>
+            <artifactId>persistence-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>ejb-api</artifactId>
+        </dependency>
+        <!-- Don&apos;know the reason for this dependency, needs to be cleared -->
+        <!--<dependency>-->
+            <!--<groupId>javax.faces</groupId>-->
+            <!--<artifactId>jsf-api</artifactId>-->
+            <!--<version></version>-->
+        <!--</dependency>-->
+        <dependency>
+            <groupId>com.google.code.guice</groupId>
+            <artifactId>guice</artifactId>
+        </dependency>
+   </dependencies>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/AppleJuice.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/AppleJuice.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/AppleJuice.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,28 @@
+package org.jboss.seam.example.guice;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+public class AppleJuice implements Juice
+{
+   private static final String name = "Apple Juice";
+   private static final int price = 10;
+
+   public AppleJuice() {}
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public int getPrice()
+   {
+      return price;
+   }
+
+   @Override
+   public String toString()
+   {
+      return name;
+   }
+}
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Juice.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Juice.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Juice.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,11 @@
+package org.jboss.seam.example.guice;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+public interface Juice
+{
+   public String getName();
+
+   public int getPrice();
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBar.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBar.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBar.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,26 @@
+package org.jboss.seam.example.guice;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.ioc.guice.Guice;
+import com.google.inject.Inject;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("juiceBar")
+ at Guice // Activates @Inject on a Seam component
+public class JuiceBar
+{
+   @Inject protected Juice juiceOfTheDay; // Guice looks at the variable type, not name
+   @Inject @Orange protected Juice anotherJuice;
+
+   public Juice getJuiceOfTheDay()
+   {
+       return juiceOfTheDay;
+   }
+
+   public Juice getAnotherJuice()
+   {
+       return anotherJuice;
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBarModule.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBarModule.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/JuiceBarModule.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,18 @@
+package org.jboss.seam.example.guice;
+
+import com.google.inject.Module;
+import com.google.inject.Binder;
+import com.google.inject.Scopes;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+public class JuiceBarModule implements Module
+{
+   public void configure(Binder binder)
+   {
+      binder.bind(Juice.class).to(AppleJuice.class); // Create a new instance every time.
+       
+      binder.bind(Juice.class).annotatedWith(Orange.class).to(OrangeJuice.class).in(Scopes.SINGLETON);
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Orange.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Orange.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/Orange.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,20 @@
+package org.jboss.seam.example.guice;
+
+import com.google.inject.BindingAnnotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.ElementType;
+
+/**
+ * Indicates we want the orange version of a binding.
+ *
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Retention(RetentionPolicy.RUNTIME)
+ at Target({ElementType.FIELD, ElementType.PARAMETER})
+ at BindingAnnotation
+public @interface Orange
+{
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/OrangeJuice.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/OrangeJuice.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/java/org/jboss/seam/example/guice/OrangeJuice.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,28 @@
+package org.jboss.seam.example.guice;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+public class OrangeJuice implements Juice
+{
+   private static final String name = "Orange Juice";
+   private static final int price = 12;
+
+   public OrangeJuice() {}
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public int getPrice()
+   {
+      return price;
+   }
+
+   @Override
+   public String toString()
+   {
+      return name + " (" + price + " cents)";
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-ejb/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>guice</artifactId>
+        <groupId>org.jboss.seam.examples-ee6</groupId>
+        <version>2.3.0.Beta1-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6</groupId>
+    <artifactId>guice-tests</artifactId>
+    <name>Guice Integration Tests Module (EE6)</name>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.testng</groupId>
+         <artifactId>testng</artifactId>
+         <classifier>jdk15</classifier>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam.examples-ee6</groupId>
+         <artifactId>guice-ejb</artifactId>
+         <type>ejb</type>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam</artifactId>
+         <type>ejb</type>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>com.sun.faces</groupId>
+         <artifactId>jsf-api</artifactId>
+         <scope>provided</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.seleniumhq.selenium.server</groupId>
+         <artifactId>selenium-server</artifactId>
+         <classifier>standalone</classifier>
+      </dependency>
+      <dependency>
+         <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+         <artifactId>selenium-java-client-driver</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>functional-tests</artifactId>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.arquillian.junit</groupId>
+         <artifactId>arquillian-junit-container</artifactId>
+         <scope>test</scope>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.arquillian.protocol</groupId>
+         <artifactId>arquillian-protocol-servlet</artifactId>
+         <scope>test</scope>
+      </dependency>
+
+   </dependencies>
+
+   <build>
+      <testResources>
+         <testResource>
+            <directory>src/test/resources</directory>
+            <filtering>true</filtering>
+         </testResource>
+         <testResource>
+            <directory>src/test/resources-integration</directory>
+         </testResource>
+      </testResources>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+               <skip>true</skip>
+            </configuration>
+         </plugin>
+      </plugins>
+   </build>
+
+   <profiles>
+      <profile>
+         <id>integration-tests</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+            </property>
+         </activation>
+      </profile>
+
+      <profile>
+         <id>arq-jbossas-7-managed</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+               <value>jbossas-managed-7</value>
+            </property>
+         </activation>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-dependency-plugin</artifactId>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+
+      <profile>
+         <id>arq-jbossas-7-remote</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+               <value>jbossas-remote-7</value>
+            </property>
+         </activation>
+      </profile>
+
+      <profile>
+         <id>ftest-jbossas</id>
+         <properties>
+            <example.context.path>seam-guice</example.context.path>
+         </properties>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.codehaus.mojo</groupId>
+                  <artifactId>jboss-maven-plugin</artifactId>
+                  <configuration>
+                     <jbossHome>${jboss.home}</jbossHome>
+                     <serverName>${jboss.domain}</serverName>
+                     <fileNames>
+                        <param>${basedir}/../guice-ear/target/seam-guice.ear</param>
+                     </fileNames>
+                  </configuration>
+               </plugin>
+               <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>
+      </profile>
+      <profile>
+         <id>ftest-tomcat</id>
+         <properties>
+            <example.context.path>jboss-seam-guice</example.context.path>
+         </properties>
+         <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>
+      </profile>
+   </profiles>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/GuiceTest.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/GuiceTest.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/GuiceTest.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,83 @@
+package org.jboss.seam.example.guice.test;
+
+import org.jboss.seam.example.guice.JuiceBar;
+import org.jboss.seam.example.guice.Juice;
+import org.jboss.seam.example.guice.AppleJuice;
+import org.jboss.seam.example.guice.Orange;
+import org.jboss.seam.example.guice.OrangeJuice;
+import org.jboss.seam.mock.SeamTest;
+import org.testng.annotations.Test;
+
+import com.google.inject.Injector;
+import com.google.inject.Key;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+public class GuiceTest extends SeamTest
+{
+   @Test
+   public void testGuiceInjector() throws Exception
+   {
+      new ComponentTest()
+      {
+         @Override
+         protected void testComponents() throws Exception
+         {
+            Injector injector = (Injector) getInstance("guiceExampleInjector");
+
+            Object juiceInstance = injector.getInstance(Juice.class);
+            assert juiceInstance instanceof AppleJuice : juiceInstance;
+
+            Object orangeInstance = injector.getInstance(Key.get(Juice.class, Orange.class));
+            assert orangeInstance instanceof OrangeJuice : orangeInstance;
+         }
+      }.run();
+   }
+
+   @Test
+   public void testGuiceIntegration() throws Exception
+   {
+      new ComponentTest()
+      {
+         @Override
+         protected void testComponents() throws Exception
+         {
+            JuiceBar juiceBar = (JuiceBar) getInstance("juiceBar");
+
+            Juice juiceOfTheDay = juiceBar.getJuiceOfTheDay();
+            assert "Apple Juice".equals(juiceOfTheDay.getName()) : juiceOfTheDay.getName();
+            Juice anotherJuice = juiceBar.getAnotherJuice();
+            assert "Orange Juice".equals(anotherJuice.getName()) : anotherJuice.getName();
+
+            Juice juiceOfTheDay2 = juiceBar.getJuiceOfTheDay();
+            assert juiceOfTheDay != juiceOfTheDay2 : "A new instance should be created by Guice.";
+            Juice anotherJuice2 = juiceBar.getAnotherJuice();
+            assert anotherJuice == anotherJuice2 : "Different instances returned for the singleton object.";
+         }
+      }.run();
+   }
+
+   @Test
+   public void testGuiceDisinjection() throws Exception
+   {
+      new ComponentTest()
+      {
+         @Override
+         protected void testComponents() throws Exception
+         {
+            JuiceTestBar juiceBar = (JuiceTestBar) getInstance("juiceTestBar");
+            juiceBar.getJuiceOfTheDay(); // Call a method to trigger Guice injection
+
+            assert juiceBar.getJuiceOfTheDay() != null;
+            assert juiceBar.getAnotherJuice() != null;
+
+            // Reflection to obtain the field value would not work here due to the proxy
+            assert juiceBar.getJuiceOfTheDayBypassInterceptors() == null
+                        : "Value injected by Guice was not cleared after the call";
+            assert juiceBar.getAnotherJuiceBypassInterceptors() == null
+                        : "Value injected by Guice was not cleared after the call";         
+         }
+      }.run();
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/JuiceTestBar.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/JuiceTestBar.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/JuiceTestBar.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,29 @@
+package org.jboss.seam.example.guice.test;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
+import org.jboss.seam.example.guice.JuiceBar;
+import org.jboss.seam.example.guice.Juice;
+import org.jboss.seam.ioc.guice.Guice;
+
+/**
+ * A component used by the disinjection test to obtain the values of the fields after the proxied call.
+ *
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] gmail . com)
+ */
+ at Name("juiceTestBar")
+ at Guice
+public class JuiceTestBar extends JuiceBar
+{
+   @BypassInterceptors
+   public Juice getJuiceOfTheDayBypassInterceptors()
+   {
+      return juiceOfTheDay;
+   }
+
+   @BypassInterceptors
+   public Juice getAnotherJuiceBypassInterceptors()
+   {
+      return anotherJuice;
+   }
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/selenium/GuiceTest.java
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/selenium/GuiceTest.java	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/java/org/jboss/seam/example/guice/test/selenium/GuiceTest.java	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.seam.example.guice.test.selenium;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+import static org.testng.AssertJUnit.assertTrue;
+
+ /*
+ * @author Martin Gencur
+ * 
+ */
+public class GuiceTest extends SeamSeleniumTest
+{
+   protected static final String BAR_URL = "/bar.seam";
+   protected static final String JUICE_OF_THE_DAY = "Apple Juice* - 10 cents"; 
+   protected static final String ANOTHER_JUICE = "Orange Juice - 12 cents";
+   protected static final String GUICE_TITLE = "Juice Bar";    
+   
+   @Override
+   @BeforeMethod
+   public void setUp()
+   {
+      super.setUp();
+      browser.open(CONTEXT_PATH + BAR_URL);
+   }
+
+   @Test
+   public void simplePageContentTest()
+   {
+      assertTrue("Home page of Guice Example expected", browser.getLocation().contains(BAR_URL));      
+      assertTrue("Different page title expected",browser.getTitle().contains(GUICE_TITLE));      
+      assertTrue("Juice of the day should contain its name and price", browser.isTextPresent(JUICE_OF_THE_DAY));
+      assertTrue("Another juice should contain its name and price", browser.isTextPresent(ANOTHER_JUICE));      
+   }
+   
+}

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-ftest/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-ftest/testng.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,27 @@
+
+	<!--
+		JBoss, Home of Professional Open Source Copyright 2008, Red Hat
+		Middleware LLC, and individual contributors by the @authors tag. See
+		the copyright.txt in the distribution for a full listing of individual
+		contributors. This is free software; you can redistribute it and/or
+		modify it under the terms of the GNU Lesser General Public License as
+		published by the Free Software Foundation; either version 2.1 of the
+		License, or (at your option) any later version. This software is
+		distributed in the hope that it will be useful, but WITHOUT ANY
+		WARRANTY; without even the implied warranty of MERCHANTABILITY or
+		FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+		License for more details. You should have received a copy of the GNU
+		Lesser General Public License along with this software; if not, write
+		to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+		Boston, MA 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+	--> 
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+<suite name="Guice example" verbose="2" parallel="false">
+	<test name="guice_jboss5">
+		<parameter name="PROPERTY_FILE" value="" />
+		<classes>
+			<class
+				name="org.jboss.seam.example.guice.test.selenium.GuiceTest" />
+		</classes>
+	</test>
+</suite>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-integration/testng.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-integration/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-tests/src/test/resources-integration/testng.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,11 @@
+<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
+
+<suite name="Guice" verbose="2" parallel="false">
+
+   <test name="Guice">
+     <classes>
+       <class name="org.jboss.seam.example.guice.test.GuiceTest"/>
+     </classes>
+   </test>
+
+</suite>
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <artifactId>guice</artifactId>
+      <groupId>org.jboss.seam.examples-ee6</groupId>
+      <version>2.3.0.Beta1-SNAPSHOT</version>
+      <relativePath>../pom.xml</relativePath>
+   </parent>
+
+   <groupId>org.jboss.seam.examples-ee6</groupId>
+   <artifactId>guice-web</artifactId>
+   <packaging>war</packaging>
+   <name>Guice Web Module (EE6)</name>
+
+   <properties>
+      <!-- filtering property for components.xml -->
+      <jndiPattern>java:app/guice-ejb/#{ejbName}</jndiPattern>
+   </properties>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.jboss.seam.examples-ee6</groupId>
+         <artifactId>guice-ejb</artifactId>
+         <type>ejb</type>
+         <scope>provided</scope>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam</artifactId>
+         <type>ejb</type>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam-debug</artifactId>
+      </dependency>
+      <!--<dependency>-->
+         <!--<groupId>com.sun.facelets</groupId>-->
+         <!--<artifactId>jsf-facelets</artifactId>-->
+      <!--</dependency>-->
+      <dependency>
+         <groupId>org.jboss.seam</groupId>
+         <artifactId>jboss-seam-ui</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>org.jboss.seam</groupId>
+               <artifactId>jboss-seam-jul</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>commons-beanutils</groupId>
+         <artifactId>commons-beanutils</artifactId>
+         <exclusions>
+            <exclusion>
+               <groupId>commons-collections</groupId>
+               <artifactId>commons-collections</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      <dependency>
+         <groupId>javax.servlet</groupId>
+         <artifactId>jstl</artifactId>
+      </dependency>
+   </dependencies>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-war-plugin</artifactId>
+            <configuration>
+               <webResources>
+                  <resource>
+                     <directory>src/main/webapp</directory>
+                     <filtering>true</filtering>
+                  </resource>
+               </webResources>
+            </configuration>
+         </plugin>
+      </plugins>
+   </build>
+
+   <profiles>
+      <profile>
+         <id>tomcat</id>
+         <properties>
+            <!-- filtering property for components.xml -->
+            <jndiPattern>#{ejbName}/local</jndiPattern>
+         </properties>
+         <dependencies>
+            <dependency>
+               <groupId>org.jboss.seam.examples</groupId>
+               <artifactId>guice-ejb</artifactId>
+               <type>ejb</type>
+               <scope>compile</scope>
+            </dependency>
+            <dependency>
+               <groupId>javax.faces</groupId>
+               <artifactId>jsf-api</artifactId>
+               <scope>compile</scope>
+            </dependency>
+            <dependency>
+               <groupId>javax.faces</groupId>
+               <artifactId>jsf-impl</artifactId>
+               <scope>compile</scope>
+            </dependency>
+            <dependency>
+               <groupId>org.jboss.seam</groupId>
+               <artifactId>jboss-seam</artifactId>
+               <type>ejb</type>
+               <scope>compile</scope>
+               <exclusions>
+                  <exclusion>
+                     <groupId>com.thoughtworks.xstream</groupId>
+                     <artifactId>xstream</artifactId>
+                  </exclusion>
+                  <exclusion>
+                     <groupId>xpp3</groupId>
+                     <artifactId>xpp3_min</artifactId>
+                  </exclusion>
+               </exclusions>
+            </dependency>
+         </dependencies>
+         <build>
+            <finalName>jboss-seam-guice</finalName>
+         </build>
+      </profile>
+   </profiles>
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/components.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xmlns:core="http://jboss.com/products/seam/core"
+   xmlns:guice="http://jboss.com/products/seam/guice"
+   xsi:schemaLocation="
+      http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.3.xsd
+      http://jboss.com/products/seam/guice http://jboss.com/products/seam/guice-2.3.xsd
+      http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.3.xsd">
+
+   <core:init debug="true"/>
+
+   <guice:injector name="guiceExampleInjector">
+      <guice:modules>
+         <value>org.jboss.seam.example.guice.JuiceBarModule</value>
+      </guice:modules>
+   </guice:injector>
+
+   <guice:init injector="#{guiceExampleInjector}"/>
+
+</components>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/faces-config.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<faces-config version="1.2"
+              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-facesconfig_1_2.xsd">
+    
+    <application>
+        <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+    </application>
+
+</faces-config>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/WEB-INF/web.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.5"
+    xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+    <display-name>Seam Guice Example</display-name>
+
+    <listener>
+        <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
+    </listener>
+
+    <filter>
+        <filter-name>Seam Filter</filter-name>
+        <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>Seam Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <context-param>
+        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+        <param-value>.xhtml</param-value>
+    </context-param>
+    
+    <context-param>
+        <param-name>facelets.DEVELOPMENT</param-name>
+        <param-value>true</param-value>
+    </context-param>
+    
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.seam</url-pattern>
+    </servlet-mapping>
+    
+    <session-config>
+        <session-timeout>10</session-timeout> 
+    </session-config>
+    
+</web-app>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/bar.xhtml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/bar.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/bar.xhtml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,23 @@
+<!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:h="http://java.sun.com/jsf/html"
+    xmlns:f="http://java.sun.com/jsf/core">
+    <head>
+        <title>Juice Bar</title>
+    </head>
+    <body>
+        <h1>Juice Bar</h1>
+        <h:form id="main">
+            <div>
+                Which juice do you prefer?
+                <ul>
+                    <li>#{juiceBar.juiceOfTheDay.name}* - #{juiceBar.juiceOfTheDay.price} cents</li>
+                    <li>#{juiceBar.anotherJuice.name} - #{juiceBar.anotherJuice.price} cents</li>
+                </ul>
+                <p><em>* Juice of the day</em></p>
+            </div>
+            <p><small>This page is intentionally static (no form action).</small></p>
+        </h:form>
+    </body>
+</html>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/guice-web/src/main/webapp/index.html	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=bar.seam">
+</head>
+</html>
\ No newline at end of file

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>examples-ee6</artifactId>
+        <groupId>org.jboss.seam</groupId>
+        <version>2.3.0.Beta1-SNAPSHOT</version>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.seam.examples-ee6</groupId>
+    <artifactId>guice</artifactId>
+    <packaging>pom</packaging>
+    <name>Guice Example (EE6)</name>
+  
+    <modules>
+        <module>guice-ejb</module>
+        <module>guice-web</module>
+        <module>guice-ear</module>
+        <module>guice-tests</module>
+    </modules>
+
+    <properties>
+        <example.name>guice</example.name>
+    </properties>
+    
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6</groupId>
+                <artifactId>guice-ejb</artifactId>
+                <version>${project.version}</version>
+                <type>ejb</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6</groupId>
+                <artifactId>guice-web</artifactId>
+                <version>${project.version}</version>
+                <type>war</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6</groupId>
+                <artifactId>guice-ear</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+</project>

Added: branches/community/Seam_2_3Beta2/examples-ee6/guice/readme.txt
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/guice/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3Beta2/examples-ee6/guice/readme.txt	2012-04-02 17:24:45 UTC (rev 14475)
@@ -0,0 +1,25 @@
+Seam Guice Example
+======================
+This is a simple example demonstrating the use of Google Guice with Seam.
+
+example.name=guice
+
+To deploy the example to JBossAS, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package
+
+* Set JBOSS_HOME environment property.
+
+* In the guice-ear directory run:
+
+    mvn jboss:hard-deploy
+
+To deploy the example to Tomcat with Embedded JBoss, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package -Ptomcat
+
+* Deploy the resulting WAR from guice-web/target directory to Tomcat manually.

Modified: branches/community/Seam_2_3Beta2/examples-ee6/messages/messages-web/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/messages/messages-web/pom.xml	2012-04-02 16:09:13 UTC (rev 14474)
+++ branches/community/Seam_2_3Beta2/examples-ee6/messages/messages-web/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -12,11 +12,6 @@
     <packaging>war</packaging>
     <name>Messages Web Module (EE6)</name>
 
-    <properties>
-        <!-- filtering property for components.xml -->
-        <jndiPattern>java:app/messages-ejb/#{ejbName}</jndiPattern>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.jboss.seam.examples-ee6</groupId>

Modified: branches/community/Seam_2_3Beta2/examples-ee6/pom.xml
===================================================================
--- branches/community/Seam_2_3Beta2/examples-ee6/pom.xml	2012-04-02 16:09:13 UTC (rev 14474)
+++ branches/community/Seam_2_3Beta2/examples-ee6/pom.xml	2012-04-02 17:24:45 UTC (rev 14475)
@@ -1,997 +1,1010 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
 
-    <parent>
-        <groupId>org.jboss.seam</groupId>
-        <artifactId>jboss-seam-parent</artifactId>
-        <version>2.3.0.Beta1-SNAPSHOT</version>
-        <relativePath>../jboss-seam-parent/pom.xml</relativePath>
-    </parent>
+   <parent>
+      <groupId>org.jboss.seam</groupId>
+      <artifactId>jboss-seam-parent</artifactId>
+      <version>2.3.0.Beta1-SNAPSHOT</version>
+      <relativePath>../jboss-seam-parent/pom.xml</relativePath>
+   </parent>
 
-    <artifactId>examples-ee6</artifactId>
-    <packaging>pom</packaging>
+   <artifactId>examples-ee6</artifactId>
+   <packaging>pom</packaging>
 
-    <name>Seam 2 EE 6 examples</name>
-    <description>Examples for Seam 2 Framework in Java EE6 enviroment</description>
+   <name>Seam 2 EE 6 examples</name>
+   <description>Examples for Seam 2 Framework in Java EE6 enviroment</description>
 
-    <modules>
-        <!--<module>blog</module>-->
-        <module>booking</module>
-        <!--<module>contactlist</module>-->
-        <!--<module>drools</module>-->
-<!--        <module>dvdstore</module> -->
-        <module>excel</module>
-        <module>mail</module>
-        <module>messages</module>
-        <module>todo</module>
-        <module>ui</module>
-    </modules>
+   <modules>
+      <!--<module>blog</module>-->
+      <module>booking</module>
+      <!--<module>contactlist</module>-->
+      <!--<module>drools</module>-->
+      <!--        <module>dvdstore</module> -->
+      <module>excel</module>
+      <module>mail</module>
+      <module>messages</module>
+      <module>todo</module>
+      <module>ui</module>
+      <module>hibernate</module>
+      <module>groovybooking</module>
+      <module>guice</module>
+   </modules>
 
-    <build>
-        <pluginManagement>
+   <build>
+      <pluginManagement>
+         <plugins>
+            <plugin>
+               <artifactId>maven-surefire-plugin</artifactId>
+               <configuration>
+                  <excludedGroups>${tests.excludedGroups}</excludedGroups>
+               </configuration>
+            </plugin>
+            <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+            <plugin>
+               <groupId>org.eclipse.m2e</groupId>
+               <artifactId>lifecycle-mapping</artifactId>
+               <version>1.0.0</version>
+               <configuration>
+                  <lifecycleMappingMetadata>
+                     <pluginExecutions>
+                        <pluginExecution>
+                           <pluginExecutionFilter>
+                              <groupId>org.apache.maven.plugins</groupId>
+                              <artifactId>maven-dependency-plugin</artifactId>
+                              <versionRange>[1.0,)</versionRange>
+                              <goals>
+                                 <goal>unpack</goal>
+                              </goals>
+                           </pluginExecutionFilter>
+                           <action>
+                              <execute>
+                                 <runOnIncremental>false</runOnIncremental>
+                              </execute>
+                           </action>
+                        </pluginExecution>
+                     </pluginExecutions>
+                  </lifecycleMappingMetadata>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.jboss.as.plugins</groupId>
+               <artifactId>jboss-as-maven-plugin</artifactId>
+               <version>7.1.0.Final</version>
+               <executions>
+                  <execution>
+                     <phase></phase>
+                     <goals>
+                        <goal>deploy</goal>
+                     </goals>
+                  </execution>
+               </executions>
+            </plugin>
+         </plugins>
+      </pluginManagement>
+   </build>
+
+   <dependencyManagement>
+      <dependencies>
+         <!-- common provided scope dependencies -->
+         <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.1.1</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>ejb-api</artifactId>
+            <version>3.0</version>
+            <type>jar</type>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <version>${project.version}</version>
+            <type>ejb</type>
+            <scope>provided</scope>
+            <exclusions>
+               <exclusion>
+                  <groupId>jboss</groupId>
+                  <artifactId>javassist</artifactId>
+               </exclusion>
+            </exclusions>
+         </dependency>
+         <dependency>
+            <groupId>com.sun.faces</groupId>
+            <artifactId>jsf-api</artifactId>
+            <version>${version.jsf2}</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>com.sun.faces</groupId>
+            <artifactId>jsf-impl</artifactId>
+            <version>${version.jsf2}</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.richfaces.ui</groupId>
+            <artifactId>richfaces-components-ui</artifactId>
+            <version>${richfaces.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.richfaces.core</groupId>
+            <artifactId>richfaces-core-impl</artifactId>
+            <version>${richfaces.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>mail</artifactId>
+            <version>1.4.2</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-web-api</artifactId>
+            <version>6.0</version>
+            <scope>provided</scope>
+         </dependency>
+
+         <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-core</artifactId>
+            <version>4.0.1.Final</version>
+         </dependency>
+
+         <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+            <version>4.2.0.Final</version>
+         </dependency>
+
+         <!-- common test scope dependencies -->
+         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>${slf4j.version}</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+            <scope>provided</scope>
+         </dependency>
+      </dependencies>
+   </dependencyManagement>
+
+   <profiles>
+      <profile>
+         <id>distribution</id>
+         <build>
             <plugins>
-                <plugin>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <configuration>
-                        <excludedGroups>${tests.excludedGroups}</excludedGroups>
-                    </configuration>
-                </plugin>
-                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
-		        <plugin>
-		            <groupId>org.eclipse.m2e</groupId>
-		            <artifactId>lifecycle-mapping</artifactId>
-		            <version>1.0.0</version>
-		            <configuration>
-		                <lifecycleMappingMetadata>
-		                    <pluginExecutions>
-		                        <pluginExecution>
-		                            <pluginExecutionFilter>
-		                                <groupId>org.apache.maven.plugins</groupId>
-		                                <artifactId>maven-dependency-plugin</artifactId>
-		                                <versionRange>[1.0,)</versionRange>
-		                                <goals>
-		                                    <goal>unpack</goal>
-		                                </goals>
-		                            </pluginExecutionFilter>
-		                            <action>
-		                                <execute><runOnIncremental>false</runOnIncremental></execute>
-		                            </action>
-		                        </pluginExecution>
-		                    </pluginExecutions>
-		                </lifecycleMappingMetadata>
-		            </configuration>
-		        </plugin>
-		         <plugin>
-                <groupId>org.jboss.as.plugins</groupId>
-                <artifactId>jboss-as-maven-plugin</artifactId>
-                <version>7.1.0.Final</version>
-                <executions>
-                    <execution>
-                        <phase></phase>
+               <plugin>
+                  <artifactId>maven-assembly-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <id>distribution</id>
+                        <phase>package</phase>
                         <goals>
-                            <goal>deploy</goal>
+                           <goal>single</goal>
                         </goals>
-                    </execution>
-                </executions>
-            </plugin>
+                        <configuration>
+                           <descriptorRefs>
+                              <descriptorRef>project</descriptorRef>
+                           </descriptorRefs>
+                        </configuration>
+                     </execution>
+                  </executions>
+               </plugin>
             </plugins>
-        </pluginManagement>
-    </build>
+         </build>
+      </profile>
 
-    <dependencyManagement>
-        <dependencies>
-            <!-- common provided scope dependencies -->
+      <profile>
+         <id>integration-tests</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+            </property>
+         </activation>
+         <build>
+            <pluginManagement>
+               <plugins>
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-surefire-plugin</artifactId>
+                     <configuration>
+                        <skip>true</skip>
+                     </configuration>
+                     <executions>
+                        <execution>
+                           <id>integration-test</id>
+                           <phase>integration-test</phase>
+                           <goals>
+                              <goal>test</goal>
+                           </goals>
+                           <configuration>
+                              <skip>false</skip>
+                              <!-- Needed as we have both junit and testng -->
+                              <testNGArtifactName>none:none</testNGArtifactName>
+                              <!-- exclude selenium tests -->
+                              <excludes>
+                                 <exclude>**/selenium/*</exclude>
+                              </excludes>
+                              <systemProperties>
+                                 <!-- used by the jbossas-managed-7 profile in arquillian.xml for the jbossHome property-->
+                                 <version.jbossas7>${version.jbossas7}</version.jbossas7>
+                              </systemProperties>
+                           </configuration>
+                        </execution>
+                     </executions>
+                  </plugin>
+               </plugins>
+            </pluginManagement>
+         </build>
+      </profile>
+
+      <profile>
+         <id>arq-jbossas-7-managed</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+               <value>jbossas-managed-7</value>
+            </property>
+         </activation>
+         <dependencies>
             <dependency>
-                <groupId>commons-logging</groupId>
-                <artifactId>commons-logging</artifactId>
-                <version>1.1.1</version>
-                <scope>provided</scope>
+               <groupId>org.jboss.as</groupId>
+               <artifactId>jboss-as-arquillian-container-managed</artifactId>
+               <scope>test</scope>
             </dependency>
+         </dependencies>
+         <build>
+            <pluginManagement>
+               <plugins>
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-dependency-plugin</artifactId>
+                     <executions>
+                        <execution>
+                           <id>unpack-as7</id>
+                           <phase>process-test-classes</phase>
+                           <goals>
+                              <goal>unpack</goal>
+                           </goals>
+                           <configuration>
+                              <artifactItems>
+                                 <artifactItem>
+                                    <groupId>org.jboss.as</groupId>
+                                    <artifactId>jboss-as-dist</artifactId>
+                                    <version>${version.jbossas7}</version>
+                                    <type>zip</type>
+                                    <overWrite>false</overWrite>
+                                    <outputDirectory>${project.build.directory}</outputDirectory>
+                                 </artifactItem>
+                              </artifactItems>
+                           </configuration>
+                        </execution>
+                     </executions>
+                  </plugin>
+               </plugins>
+            </pluginManagement>
+         </build>
+      </profile>
+
+      <profile>
+         <id>arq-jbossas-7-remote</id>
+         <activation>
+            <property>
+               <name>arquillian</name>
+               <value>jbossas-remote-7</value>
+            </property>
+         </activation>
+         <dependencies>
             <dependency>
-                <groupId>commons-collections</groupId>
-                <artifactId>commons-collections</artifactId>
-                <version>3.2</version>
-                <scope>provided</scope>
+               <groupId>org.jboss.as</groupId>
+               <artifactId>jboss-as-arquillian-container-remote</artifactId>
+               <scope>test</scope>
             </dependency>
+         </dependencies>
+      </profile>
+
+      <profile>
+         <id>ftest-jbossas</id>
+         <properties>
+            <testng.suite>testng.xml</testng.suite>
+            <container>jbossas7</container>
+         </properties>
+         <dependencies>
             <dependency>
-                <groupId>javax.ejb</groupId>
-                <artifactId>ejb-api</artifactId>
-                <version>3.0</version>
-                <type>jar</type>
-                <scope>provided</scope>
+               <groupId>org.seleniumhq.selenium.server</groupId>
+               <artifactId>selenium-server</artifactId>
+               <classifier>standalone</classifier>
+               <scope>test</scope>
             </dependency>
             <dependency>
-                <groupId>org.jboss.seam</groupId>
-                <artifactId>jboss-seam</artifactId>
-                <version>${project.version}</version>
-                <type>ejb</type>
-                <scope>provided</scope>
-                <exclusions>
-                    <exclusion>
-                        <groupId>jboss</groupId>
-                        <artifactId>javassist</artifactId>
-                    </exclusion>
-                </exclusions>
+               <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+               <artifactId>selenium-java-client-driver</artifactId>
+               <scope>test</scope>
             </dependency>
+         </dependencies>
+         <build>
+            <pluginManagement>
+               <plugins>
+                  <!-- skip unit tests when running functional tests -->
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-surefire-plugin</artifactId>
+                     <configuration>
+                        <skip>true</skip>
+                     </configuration>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.codehaus.mojo</groupId>
+                     <artifactId>selenium-maven-plugin</artifactId>
+                     <version>1.1</version>
+                     <executions>
+                        <execution>
+                           <id>start-selenium</id>
+                           <phase>pre-integration-test</phase>
+                           <goals>
+                              <goal>start-server</goal>
+                           </goals>
+                           <configuration>
+                              <background>true</background>
+                              <port>${selenium.server.port}</port>
+                              <logOutput>true</logOutput>
+                              <logFile>${selenium.log.dir}/selenium-server.log</logFile>
+                              <browserSideLog>${selenium.debug}</browserSideLog>
+                              <debug>${selenium.debug}</debug>
+                           </configuration>
+                        </execution>
+                     </executions>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.codehaus.mojo</groupId>
+                     <artifactId>failsafe-maven-plugin</artifactId>
+                     <version>2.4.3-alpha-1</version>
+                     <configuration>
+                        <junitArtifactName>none:node</junitArtifactName>
+                        <suiteXmlFiles>
+                           <suiteXmlFile>${ftest.resources.dir}/${testng.suite}</suiteXmlFile>
+                        </suiteXmlFiles>
+                        <argLine>-Xmx748m</argLine>
+                        <forkMode>once</forkMode>
+                        <properties>
+                           <property>
+                              <name>listener</name>
+                              <value>org.jboss.seam.example.common.test.selenium.SeleniumFunctionalTestListener</value>
+                           </property>
+                        </properties>
+                        <systemProperties>
+                           <property>
+                              <name>selenium.browser</name>
+                              <value>${selenium.browser}</value>
+                           </property>
+                           <property>
+                              <name>selenium.browser.url</name>
+                              <value>${selenium.browser.url}</value>
+                           </property>
+                           <property>
+                              <name>example.context.path</name>
+                              <value>${example.context.path}</value>
+                           </property>
+                           <property>
+                              <name>selenium.host</name>
+                              <value>${selenium.server.host}</value>
+                           </property>
+                           <property>
+                              <name>selenium.server.port</name>
+                              <value>${selenium.server.port}</value>
+                           </property>
+                           <property>
+                              <name>selenium.speed</name>
+                              <value>${selenium.speed}</value>
+                           </property>
+                           <property>
+                              <name>selenium.timeout</name>
+                              <value>${selenium.timeout}</value>
+                           </property>
+                           <property>
+                              <name>selenium.output.dir</name>
+                              <value>${selenium.output.dir}</value>
+                           </property>
+                           <property>
+                              <name>jboss.home</name>
+                              <value>${jboss.home}</value>
+                           </property>
+                           <property>
+                              <name>container</name>
+                              <value>${container}</value>
+                           </property>
+                           <property>
+                              <name>openid.account</name>
+                              <value>${openid.account}</value>
+                           </property>
+                           <property>
+                              <name>openid.password</name>
+                              <value>${openid.password}</value>
+                           </property>
+                           <property>
+                              <name>xml.namespace.aware</name>
+                              <value>${xml.namespace.aware}</value>
+                           </property>
+                           <!-- WebDriver specific properties -->
+                           <property>
+                              <name>browser</name>
+                              <value>${selenium.browser}</value>
+                           </property>
+                           <property>
+                              <name>server.url</name>
+                              <value>${selenium.browser.url}</value>
+                           </property>
+                           <property>
+                              <name>context.path</name>
+                              <value>${example.context.path}</value>
+                           </property>
+                        </systemProperties>
+                     </configuration>
+                     <executions>
+                        <execution>
+                           <id>verify</id>
+                           <phase>verify</phase>
+                           <goals>
+                              <goal>verify</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>integration-test</id>
+                           <phase>integration-test</phase>
+                           <goals>
+                              <goal>integration-test</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-antrun-plugin</artifactId>
+                     <executions>
+                        <execution>
+                           <!-- this ant script runs testng natively -->
+                           <id>wait-for-application</id>
+                           <phase>pre-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <echo message="Waiting for ${selenium.browser.url}/${example.context.path}"/>
+                                 <waitfor maxwait="1" maxwaitunit="minute" checkevery="5000">
+                                    <http url="${selenium.browser.url}/${example.context.path}" errorsBeginAt="404"/>
+                                 </waitfor>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <!-- this ant script runs testng natively -->
+                           <id>stop-selenium</id>
+                           <phase>post-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected"/>
+                                 <get taskname="selenium-shutdown"
+                                      src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer"
+                                      ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg"/>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <!-- undeploy the example now in the event of being a directory (exploded) -->
+                           <id>undeploy-exploded</id>
+                           <phase>post-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <delete dir="${jboss.home}/server/${jboss.domain}/deploy/${example.context.path}.war" failonerror="false"/>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                  </plugin>
+               </plugins>
+            </pluginManagement>
+         </build>
+      </profile>
+      <profile>
+         <id>ftest-tomcat</id>
+         <properties>
+            <testng.suite>testng.xml</testng.suite>
+            <container>jboss5</container>
+         </properties>
+         <dependencies>
             <dependency>
-                <groupId>com.sun.faces</groupId>
-                <artifactId>jsf-api</artifactId>
-                <version>${version.jsf2}</version>
-                <scope>provided</scope>
+               <groupId>org.seleniumhq.selenium.server</groupId>
+               <artifactId>selenium-server</artifactId>
+               <classifier>standalone</classifier>
+               <scope>test</scope>
             </dependency>
             <dependency>
-                <groupId>com.sun.faces</groupId>
-                <artifactId>jsf-impl</artifactId>
-                <version>${version.jsf2}</version>
-                <scope>provided</scope>
+               <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+               <artifactId>selenium-java-client-driver</artifactId>
+               <scope>test</scope>
             </dependency>
-			<dependency>
-			   <groupId>org.richfaces.ui</groupId>
-			   <artifactId>richfaces-components-ui</artifactId>
-			   <version>${richfaces.version}</version>
-			</dependency>
-			<dependency>
-			   <groupId>org.richfaces.core</groupId>
-			   <artifactId>richfaces-core-impl</artifactId>
-			   <version>${richfaces.version}</version>
-			</dependency>            
+         </dependencies>
+         <build>
+            <pluginManagement>
+               <plugins>
+                  <!-- skip unit tests when running functional tests -->
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-surefire-plugin</artifactId>
+                     <configuration>
+                        <skip>true</skip>
+                     </configuration>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.codehaus.mojo</groupId>
+                     <artifactId>selenium-maven-plugin</artifactId>
+                     <executions>
+                        <execution>
+                           <id>start-selenium</id>
+                           <phase>pre-integration-test</phase>
+                           <goals>
+                              <goal>start-server</goal>
+                           </goals>
+                           <configuration>
+                              <background>true</background>
+                              <port>${selenium.server.port}</port>
+                              <logOutput>true</logOutput>
+                              <logFile>${selenium.log.dir}/selenium-server.log</logFile>
+                              <browserSideLog>${selenium.debug}</browserSideLog>
+                              <debug>${selenium.debug}</debug>
+                           </configuration>
+                        </execution>
+                     </executions>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.codehaus.mojo</groupId>
+                     <artifactId>failsafe-maven-plugin</artifactId>
+                     <configuration>
+                        <suiteXmlFiles>
+                           <suiteXmlFile>${ftest.resources.dir}/${testng.suite}</suiteXmlFile>
+                        </suiteXmlFiles>
+                        <argLine>-Xmx748m</argLine>
+                        <forkMode>once</forkMode>
+                        <properties>
+                           <property>
+                              <name>listener</name>
+                              <value>org.jboss.seam.example.common.test.selenium.SeleniumFunctionalTestListener</value>
+                           </property>
+                        </properties>
+                        <systemProperties>
+                           <property>
+                              <name>selenium.browser</name>
+                              <value>${selenium.browser}</value>
+                           </property>
+                           <property>
+                              <name>selenium.browser.url</name>
+                              <value>${selenium.browser.url}</value>
+                           </property>
+                           <property>
+                              <name>example.context.path</name>
+                              <value>${example.context.path}</value>
+                           </property>
+                           <property>
+                              <name>selenium.host</name>
+                              <value>${selenium.server.host}</value>
+                           </property>
+                           <property>
+                              <name>selenium.server.port</name>
+                              <value>${selenium.server.port}</value>
+                           </property>
+                           <property>
+                              <name>selenium.speed</name>
+                              <value>${selenium.speed}</value>
+                           </property>
+                           <property>
+                              <name>selenium.timeout</name>
+                              <value>${selenium.timeout}</value>
+                           </property>
+                           <property>
+                              <name>selenium.output.dir</name>
+                              <value>${selenium.output.dir}</value>
+                           </property>
+                           <property>
+                              <name>jboss.home</name>
+                              <value>${jboss.home}</value>
+                           </property>
+                           <property>
+                              <name>container</name>
+                              <value>${container}</value>
+                           </property>
+                           <property>
+                              <name>openid.account</name>
+                              <value>${openid.account}</value>
+                           </property>
+                           <property>
+                              <name>openid.password</name>
+                              <value>${openid.password}</value>
+                           </property>
+                           <!-- WebDriver specific properties -->
+                           <property>
+                              <name>browser</name>
+                              <value>${selenium.browser}</value>
+                           </property>
+                           <property>
+                              <name>server.url</name>
+                              <value>${selenium.browser.url}</value>
+                           </property>
+                           <property>
+                              <name>context.path</name>
+                              <value>${example.context.path}</value>
+                           </property>
+                        </systemProperties>
+                     </configuration>
+                     <executions>
+                        <execution>
+                           <id>verify</id>
+                           <phase>verify</phase>
+                           <goals>
+                              <goal>verify</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>integration-test</id>
+                           <phase>integration-test</phase>
+                           <goals>
+                              <goal>integration-test</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-antrun-plugin</artifactId>
+                     <executions>
+                        <execution>
+                           <id>deploy-application</id>
+                           <phase>pre-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <fail unless="catalina.home" message="CATALINA_HOME environment property was not set"/>
+                                 <copy file="${basedir}/../${example.name}-web/target/${example.context.path}.war" todir="${catalina.home}/webapps"
+                                       overwrite="true"/>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>wait-for-application</id>
+                           <phase>pre-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <echo message="Waiting for ${selenium.browser.url}/${example.context.path}"/>
+                                 <waitfor maxwait="1" maxwaitunit="minute" checkevery="5000">
+                                    <http url="${selenium.browser.url}/${example.context.path}" errorsBeginAt="404"/>
+                                 </waitfor>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>stop-selenium</id>
+                           <phase>post-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected"/>
+                                 <get taskname="selenium-shutdown"
+                                      src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer"
+                                      ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg"/>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>undeploy-application</id>
+                           <phase>post-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <delete file="${catalina.home}/webapps/${example.context.path}.war" failonerror="false"/>
+                                 <delete dir="${catalina.home}/webapps/${example.context.path}" failonerror="false"/>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                  </plugin>
+               </plugins>
+            </pluginManagement>
+         </build>
+      </profile>
+      <profile>
+         <id>ftest-jbossas-cluster</id>
+         <properties>
+            <testng.suite>testng-cluster.xml</testng.suite>
+            <container>jboss5</container>
+         </properties>
+         <dependencies>
             <dependency>
-                <groupId>javax.mail</groupId>
-                <artifactId>mail</artifactId>
-                <version>1.4.2</version>
-                <scope>provided</scope>
+               <groupId>org.seleniumhq.selenium.server</groupId>
+               <artifactId>selenium-server</artifactId>
+               <classifier>standalone</classifier>
+               <scope>test</scope>
             </dependency>
             <dependency>
-                <groupId>javax</groupId>
-                <artifactId>javaee-web-api</artifactId>
-                <version>6.0</version>
-                <scope>provided</scope>
+               <groupId>org.seleniumhq.selenium.client-drivers</groupId>
+               <artifactId>selenium-java-client-driver</artifactId>
+               <scope>test</scope>
             </dependency>
+         </dependencies>
+         <build>
+            <pluginManagement>
+               <plugins>
+                  <!-- skip unit tests when running functional tests -->
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-surefire-plugin</artifactId>
+                     <configuration>
+                        <skip>true</skip>
+                     </configuration>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.codehaus.mojo</groupId>
+                     <artifactId>selenium-maven-plugin</artifactId>
+                     <version>1.1</version>
+                     <executions>
+                        <execution>
+                           <id>start-selenium</id>
+                           <phase>pre-integration-test</phase>
+                           <goals>
+                              <goal>start-server</goal>
+                           </goals>
+                           <configuration>
+                              <background>true</background>
+                              <port>${selenium.server.port}</port>
+                              <logOutput>true</logOutput>
+                              <logFile>${selenium.log.dir}/selenium-server.log</logFile>
+                              <browserSideLog>${selenium.debug}</browserSideLog>
+                              <debug>${selenium.debug}</debug>
+                           </configuration>
+                        </execution>
+                     </executions>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.codehaus.mojo</groupId>
+                     <artifactId>failsafe-maven-plugin</artifactId>
+                     <version>2.4.3-alpha-1</version>
+                     <configuration>
+                        <suiteXmlFiles>
+                           <suiteXmlFile>${ftest.resources.dir}/${testng.suite}</suiteXmlFile>
+                        </suiteXmlFiles>
+                        <argLine>-Xmx748m</argLine>
+                        <forkMode>once</forkMode>
+                        <properties>
+                           <property>
+                              <name>listener</name>
+                              <value>org.jboss.seam.example.common.test.selenium.SeleniumFunctionalTestListener</value>
+                           </property>
+                        </properties>
+                        <systemProperties>
+                           <property>
+                              <name>selenium.browser</name>
+                              <value>${selenium.browser}</value>
+                           </property>
+                           <property>
+                              <name>selenium.browser.url</name>
+                              <value>${selenium.browser.url}</value>
+                           </property>
+                           <property>
+                              <name>example.context.path</name>
+                              <value>${example.context.path}</value>
+                           </property>
+                           <property>
+                              <name>selenium.host</name>
+                              <value>${selenium.server.host}</value>
+                           </property>
+                           <property>
+                              <name>selenium.server.port</name>
+                              <value>${selenium.server.port}</value>
+                           </property>
+                           <property>
+                              <name>selenium.speed</name>
+                              <value>${selenium.speed}</value>
+                           </property>
+                           <property>
+                              <name>selenium.timeout</name>
+                              <value>${selenium.timeout}</value>
+                           </property>
+                           <property>
+                              <name>selenium.output.dir</name>
+                              <value>${selenium.output.dir}</value>
+                           </property>
+                           <property>
+                              <name>jboss.home</name>
+                              <value>${jboss.home}</value>
+                           </property>
+                           <property>
+                              <name>container</name>
+                              <value>${container}</value>
+                           </property>
+                           <property>
+                              <name>openid.account</name>
+                              <value>${openid.account}</value>
+                           </property>
+                           <property>
+                              <name>openid.password</name>
+                              <value>${openid.password}</value>
+                           </property>
+                           <property>
+                              <name>xml.namespace.aware</name>
+                              <value>${xml.namespace.aware}</value>
+                           </property>
+                           <!-- WebDriver specific properties -->
+                           <property>
+                              <name>browser</name>
+                              <value>${selenium.browser}</value>
+                           </property>
+                           <property>
+                              <name>server.url</name>
+                              <value>${selenium.browser.url}</value>
+                           </property>
+                           <property>
+                              <name>context.path</name>
+                              <value>${example.context.path}</value>
+                           </property>
+                        </systemProperties>
+                     </configuration>
+                     <executions>
+                        <execution>
+                           <id>verify</id>
+                           <phase>verify</phase>
+                           <goals>
+                              <goal>verify</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>integration-test</id>
+                           <phase>integration-test</phase>
+                           <goals>
+                              <goal>integration-test</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                  </plugin>
+                  <plugin>
+                     <groupId>org.apache.maven.plugins</groupId>
+                     <artifactId>maven-antrun-plugin</artifactId>
+                     <executions>
+                        <execution>
+                           <id>deploy-to-cluster</id>
+                           <phase>pre-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <copy todir="${jboss.master.configuration}/farm" overwrite="true" flatten="true">
+                                    <fileset dir="${basedir}/../${example.name}-ear/">
+                                       <include name="src/main/resources/jboss-seam-${example.name}-ds.xml"/>
+                                       <include name="target/${example.context.path}.ear"/>
+                                    </fileset>
+                                 </copy>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <!-- this ant script runs testng natively -->
+                           <id>wait-for-application</id>
+                           <phase>pre-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <echo message="Waiting for ${selenium.browser.cluster.url}/${example.context.path}"/>
+                                 <waitfor maxwait="1" maxwaitunit="minute" checkevery="5000">
+                                    <http url="${selenium.browser.cluster.url}/${example.context.path}" errorsBeginAt="404"/>
+                                 </waitfor>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <!-- this ant script runs testng natively -->
+                           <id>stop-selenium</id>
+                           <phase>post-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected"/>
+                                 <get taskname="selenium-shutdown"
+                                      src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer"
+                                      ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg"/>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                        <execution>
+                           <id>undeploy-from-cluster</id>
+                           <phase>post-integration-test</phase>
+                           <configuration>
+                              <tasks>
+                                 <delete failonerror="false">
+                                    <fileset dir="${jboss.master.configuration}/farm">
+                                       <include name="jboss-seam-${example.name}-ds.xml"/>
+                                       <include name="${example.context.path}.ear"/>
+                                    </fileset>
+                                 </delete>
+                              </tasks>
+                           </configuration>
+                           <goals>
+                              <goal>run</goal>
+                           </goals>
+                        </execution>
+                     </executions>
+                  </plugin>
+               </plugins>
+            </pluginManagement>
+         </build>
+      </profile>
+   </profiles>
 
-            <dependency>
-                <groupId>org.hibernate</groupId>
-                <artifactId>hibernate-core</artifactId>
-                <version>4.0.1.Final</version>
-            </dependency>
-            
-            <dependency>
-                <groupId>org.hibernate</groupId>
-                <artifactId>hibernate-validator</artifactId>
-                <version>4.2.0.Final</version>
-            </dependency>          
-              
-            <!-- common test scope dependencies -->
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-log4j12</artifactId>
-                <version>${slf4j.version}</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>${slf4j.version}</version>
-                <scope>provided</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+   <properties>
+      <!-- artifact versions -->
+      <hibernate.version>3.3.2.GA</hibernate.version>
+      <hibernate-em.version>3.4.0.GA</hibernate-em.version>
+      <richfaces.version>4.1.0.Final</richfaces.version>
+      <slf4j.version>1.5.8</slf4j.version>
+      <java.version>1.5</java.version>
+      <!-- Excluded TestNG groups (ex: slow annotated tests won't run during
+   the test phase) -->
+      <tests.excludedGroups>slow</tests.excludedGroups>
 
-    <profiles>
-        <profile>
-            <id>distribution</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>distribution</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>single</goal>
-                                </goals>
-                                <configuration>
-                                    <descriptorRefs>
-                                        <descriptorRef>project</descriptorRef>
-                                    </descriptorRefs>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>               
-                </plugins>               
-            </build>
-        </profile>
-
-        <profile>
-            <id>integration-tests</id>
-            <activation>
-                <property>
-                    <name>arquillian</name>
-                </property>
-            </activation>
-            <build>
-                <pluginManagement>
-                    <plugins>
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-surefire-plugin</artifactId>
-                            <configuration>
-                                <skip>true</skip>
-                            </configuration>
-                            <executions>
-                                <execution>
-                                    <id>integration-test</id>
-                                    <phase>integration-test</phase>
-                                    <goals>
-                                        <goal>test</goal>
-                                    </goals>
-                                    <configuration>
-                                        <skip>false</skip>
-                                        <!-- Needed as we have both junit and testng -->
-                                        <testNGArtifactName>none:none</testNGArtifactName>
-                                        <!-- exclude selenium tests -->
-                                        <excludes>
-                                            <exclude>**/selenium/*</exclude>
-                                        </excludes>
-                                        <systemProperties>
-                                            <!-- used by the jbossas-managed-7 profile in arquillian.xml for the jbossHome property-->
-                                            <version.jbossas7>${version.jbossas7}</version.jbossas7>
-                                        </systemProperties>
-                                    </configuration>
-                                </execution> 
-                            </executions>
-                        </plugin>
-                    </plugins>
-                </pluginManagement>
-            </build>
-        </profile>
-
-        <profile>
-            <id>arq-jbossas-7-managed</id>
-            <activation>
-                <property>
-                    <name>arquillian</name>
-                    <value>jbossas-managed-7</value>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.jboss.as</groupId>
-                    <artifactId>jboss-as-arquillian-container-managed</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-            <build>
-                <pluginManagement>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>unpack-as7</id>
-                                <phase>process-test-classes</phase>
-                                <goals>
-                                    <goal>unpack</goal>
-                                </goals>
-                                <configuration>
-                                    <artifactItems>
-                                        <artifactItem>
-                                            <groupId>org.jboss.as</groupId>
-                                            <artifactId>jboss-as-dist</artifactId>
-                                            <version>${version.jbossas7}</version>
-                                            <type>zip</type>
-                                            <overWrite>false</overWrite>
-                                            <outputDirectory>${project.build.directory}</outputDirectory>
-                                        </artifactItem>
-                                    </artifactItems>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-                </pluginManagement>
-            </build>
-       </profile>
-
-        <profile>
-            <id>arq-jbossas-7-remote</id>
-            <activation>
-                <property>
-                    <name>arquillian</name>
-                    <value>jbossas-remote-7</value>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.jboss.as</groupId>
-                    <artifactId>jboss-as-arquillian-container-remote</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <profile>
-            <id>ftest-jbossas</id>
-            <properties>
-                <testng.suite>testng.xml</testng.suite>
-                <container>jbossas7</container>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.seleniumhq.selenium.server</groupId>
-                    <artifactId>selenium-server</artifactId>
-                    <classifier>standalone</classifier>
-                    <scope>test</scope>
-                </dependency>
-                <dependency>
-                    <groupId>org.seleniumhq.selenium.client-drivers</groupId>
-                    <artifactId>selenium-java-client-driver</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-            <build>
-                <pluginManagement>
-                    <plugins>
-                        <!-- skip unit tests when running functional tests -->
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-surefire-plugin</artifactId>
-                            <configuration>
-                                <skip>true</skip>
-                            </configuration>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>selenium-maven-plugin</artifactId>
-                            <version>1.1</version>
-                            <executions>
-                                <execution>
-                                    <id>start-selenium</id>
-                                    <phase>pre-integration-test</phase>
-                                    <goals>
-                                        <goal>start-server</goal>
-                                    </goals>
-                                    <configuration>
-                                        <background>true</background>
-                                        <port>${selenium.server.port}</port>
-                                        <logOutput>true</logOutput>
-                                        <logFile>${selenium.log.dir}/selenium-server.log</logFile>
-                                        <browserSideLog>${selenium.debug}</browserSideLog>
-                                        <debug>${selenium.debug}</debug>
-                                    </configuration>
-                                </execution>
-                            </executions>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>failsafe-maven-plugin</artifactId>
-                            <version>2.4.3-alpha-1</version>
-                            <configuration>
-                                <junitArtifactName>none:node</junitArtifactName> 
-                                <suiteXmlFiles>
-                                    <suiteXmlFile>${ftest.resources.dir}/${testng.suite}</suiteXmlFile>
-                                </suiteXmlFiles>
-                                <argLine>-Xmx748m</argLine>
-                                <forkMode>once</forkMode>
-                                <properties>
-                                    <property>
-                                        <name>listener</name>
-                                        <value>org.jboss.seam.example.common.test.selenium.SeleniumFunctionalTestListener</value>
-                                    </property>
-                                </properties>
-                                <systemProperties>
-                                    <property>
-                                        <name>selenium.browser</name>
-                                        <value>${selenium.browser}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.browser.url</name>
-                                        <value>${selenium.browser.url}</value>
-                                    </property>
-                                    <property>
-                                        <name>example.context.path</name>
-                                        <value>${example.context.path}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.host</name>
-                                        <value>${selenium.server.host}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.server.port</name>
-                                        <value>${selenium.server.port}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.speed</name>
-                                        <value>${selenium.speed}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.timeout</name>
-                                        <value>${selenium.timeout}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.output.dir</name>
-                                        <value>${selenium.output.dir}</value>
-                                    </property>
-                                    <property>
-                                        <name>jboss.home</name>
-                                        <value>${jboss.home}</value>
-                                    </property>
-                                    <property>
-                                        <name>container</name>
-                                        <value>${container}</value>
-                                    </property>
-                                    <property>
-                                        <name>openid.account</name>
-                                        <value>${openid.account}</value>
-                                    </property>
-                                    <property>
-                                        <name>openid.password</name>
-                                        <value>${openid.password}</value>
-                                    </property>
-                                    <property>
-                                        <name>xml.namespace.aware</name>
-                                        <value>${xml.namespace.aware}</value>
-                                    </property>
-                                    <!-- WebDriver specific properties -->
-                                    <property>
-                                        <name>browser</name>
-                                        <value>${selenium.browser}</value>
-                                    </property>
-                                    <property>
-                                        <name>server.url</name>
-                                        <value>${selenium.browser.url}</value>
-                                    </property>
-                                    <property>
-                                        <name>context.path</name>
-                                        <value>${example.context.path}</value>
-                                    </property>
-                                </systemProperties>
-                            </configuration>
-                            <executions>
-                                <execution>
-                                    <id>verify</id>
-                                    <phase>verify</phase>
-                                    <goals>
-                                        <goal>verify</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>integration-test</id>
-                                    <phase>integration-test</phase>
-                                    <goals>
-                                        <goal>integration-test</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-antrun-plugin</artifactId>
-                            <executions>
-                                <execution>
-                                    <!-- this ant script runs testng natively -->
-                                    <id>wait-for-application</id>
-                                    <phase>pre-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <echo message="Waiting for ${selenium.browser.url}/${example.context.path}" />
-                                            <waitfor maxwait="1" maxwaitunit="minute" checkevery="5000">
-                                                <http url="${selenium.browser.url}/${example.context.path}" errorsBeginAt="404" />
-                                            </waitfor>
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <!-- this ant script runs testng natively -->
-                                    <id>stop-selenium</id>
-                                    <phase>post-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
-                                            <get taskname="selenium-shutdown" src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer" ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg" />
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <!-- undeploy the example now in the event of being a directory (exploded) -->
-                                    <id>undeploy-exploded</id>
-                                    <phase>post-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <delete dir="${jboss.home}/server/${jboss.domain}/deploy/${example.context.path}.war" failonerror="false" />
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
-                    </plugins>
-                </pluginManagement>
-            </build>
-        </profile>
-        <profile>
-            <id>ftest-tomcat</id>
-            <properties>
-                <testng.suite>testng.xml</testng.suite>
-                <container>jboss5</container>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.seleniumhq.selenium.server</groupId>
-                    <artifactId>selenium-server</artifactId>
-                    <classifier>standalone</classifier>
-                    <scope>test</scope>
-                </dependency>
-                <dependency>
-                    <groupId>org.seleniumhq.selenium.client-drivers</groupId>
-                    <artifactId>selenium-java-client-driver</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-            <build>
-                <pluginManagement>
-                    <plugins>
-                        <!-- skip unit tests when running functional tests -->
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-surefire-plugin</artifactId>
-                            <configuration>
-                                <skip>true</skip>
-                            </configuration>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>selenium-maven-plugin</artifactId>
-                            <executions>
-                                <execution>
-                                    <id>start-selenium</id>
-                                    <phase>pre-integration-test</phase>
-                                    <goals>
-                                        <goal>start-server</goal>
-                                    </goals>
-                                    <configuration>
-                                        <background>true</background>
-                                        <port>${selenium.server.port}</port>
-                                        <logOutput>true</logOutput>
-                                        <logFile>${selenium.log.dir}/selenium-server.log</logFile>
-                                        <browserSideLog>${selenium.debug}</browserSideLog>
-                                        <debug>${selenium.debug}</debug>
-                                    </configuration>
-                                </execution>
-                            </executions>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>failsafe-maven-plugin</artifactId>
-                            <configuration>
-                                <suiteXmlFiles>
-                                    <suiteXmlFile>${ftest.resources.dir}/${testng.suite}</suiteXmlFile>
-                                </suiteXmlFiles>
-                                <argLine>-Xmx748m</argLine>
-                                <forkMode>once</forkMode>
-                                <properties>
-                                    <property>
-                                        <name>listener</name>
-                                        <value>org.jboss.seam.example.common.test.selenium.SeleniumFunctionalTestListener</value>
-                                    </property>
-                                </properties>
-                                <systemProperties>
-                                    <property>
-                                        <name>selenium.browser</name>
-                                        <value>${selenium.browser}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.browser.url</name>
-                                        <value>${selenium.browser.url}</value>
-                                    </property>
-                                    <property>
-                                        <name>example.context.path</name>
-                                        <value>${example.context.path}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.host</name>
-                                        <value>${selenium.server.host}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.server.port</name>
-                                        <value>${selenium.server.port}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.speed</name>
-                                        <value>${selenium.speed}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.timeout</name>
-                                        <value>${selenium.timeout}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.output.dir</name>
-                                        <value>${selenium.output.dir}</value>
-                                    </property>
-                                    <property>
-                                        <name>jboss.home</name>
-                                        <value>${jboss.home}</value>
-                                    </property>
-                                    <property>
-                                        <name>container</name>
-                                        <value>${container}</value>
-                                    </property>
-                                    <property>
-                                        <name>openid.account</name>
-                                        <value>${openid.account}</value>
-                                    </property>
-                                    <property>
-                                        <name>openid.password</name>
-                                        <value>${openid.password}</value>
-                                    </property>
-                                    <!-- WebDriver specific properties -->
-                                    <property>
-                                        <name>browser</name>
-                                        <value>${selenium.browser}</value>
-                                    </property>
-                                    <property>
-                                        <name>server.url</name>
-                                        <value>${selenium.browser.url}</value>
-                                    </property>
-                                    <property>
-                                        <name>context.path</name>
-                                        <value>${example.context.path}</value>
-                                    </property>
-                                </systemProperties>
-                            </configuration>
-                            <executions>
-                                <execution>
-                                    <id>verify</id>
-                                    <phase>verify</phase>
-                                    <goals>
-                                        <goal>verify</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>integration-test</id>
-                                    <phase>integration-test</phase>
-                                    <goals>
-                                        <goal>integration-test</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-antrun-plugin</artifactId>
-                            <executions>
-                                <execution>
-                                    <id>deploy-application</id>
-                                    <phase>pre-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <fail unless="catalina.home" message="CATALINA_HOME environment property was not set" />
-                                            <copy file="${basedir}/../${example.name}-web/target/${example.context.path}.war" todir="${catalina.home}/webapps" overwrite="true" />
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>wait-for-application</id>
-                                    <phase>pre-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <echo message="Waiting for ${selenium.browser.url}/${example.context.path}" />
-                                            <waitfor maxwait="1" maxwaitunit="minute" checkevery="5000">
-                                                <http url="${selenium.browser.url}/${example.context.path}" errorsBeginAt="404" />
-                                            </waitfor>
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>stop-selenium</id>
-                                    <phase>post-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
-                                            <get taskname="selenium-shutdown" src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer" ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg" />
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>undeploy-application</id>
-                                    <phase>post-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <delete file="${catalina.home}/webapps/${example.context.path}.war" failonerror="false" />
-                                            <delete dir="${catalina.home}/webapps/${example.context.path}" failonerror="false" />
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
-                    </plugins>
-                </pluginManagement>
-            </build>
-        </profile>
-        <profile>
-            <id>ftest-jbossas-cluster</id>
-            <properties>
-                <testng.suite>testng-cluster.xml</testng.suite>
-                <container>jboss5</container>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.seleniumhq.selenium.server</groupId>
-                    <artifactId>selenium-server</artifactId>
-                    <classifier>standalone</classifier>
-                    <scope>test</scope>
-                </dependency>
-                <dependency>
-                    <groupId>org.seleniumhq.selenium.client-drivers</groupId>
-                    <artifactId>selenium-java-client-driver</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-            <build>
-                <pluginManagement>
-                    <plugins>
-                        <!-- skip unit tests when running functional tests -->
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-surefire-plugin</artifactId>
-                            <configuration>
-                                <skip>true</skip>
-                            </configuration>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>selenium-maven-plugin</artifactId>
-                            <version>1.1</version>
-                            <executions>
-                                <execution>
-                                    <id>start-selenium</id>
-                                    <phase>pre-integration-test</phase>
-                                    <goals>
-                                        <goal>start-server</goal>
-                                    </goals>
-                                    <configuration>
-                                        <background>true</background>
-                                        <port>${selenium.server.port}</port>
-                                        <logOutput>true</logOutput>
-                                        <logFile>${selenium.log.dir}/selenium-server.log</logFile>
-                                        <browserSideLog>${selenium.debug}</browserSideLog>
-                                        <debug>${selenium.debug}</debug>
-                                    </configuration>
-                                </execution>
-                            </executions>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>failsafe-maven-plugin</artifactId>
-                            <version>2.4.3-alpha-1</version>
-                            <configuration>
-                                <suiteXmlFiles>
-                                    <suiteXmlFile>${ftest.resources.dir}/${testng.suite}</suiteXmlFile>
-                                </suiteXmlFiles>
-                                <argLine>-Xmx748m</argLine>
-                                <forkMode>once</forkMode>
-                                <properties>
-                                    <property>
-                                        <name>listener</name>
-                                        <value>org.jboss.seam.example.common.test.selenium.SeleniumFunctionalTestListener</value>
-                                    </property>
-                                </properties>
-                                <systemProperties>
-                                    <property>
-                                        <name>selenium.browser</name>
-                                        <value>${selenium.browser}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.browser.url</name>
-                                        <value>${selenium.browser.url}</value>
-                                    </property>
-                                    <property>
-                                        <name>example.context.path</name>
-                                        <value>${example.context.path}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.host</name>
-                                        <value>${selenium.server.host}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.server.port</name>
-                                        <value>${selenium.server.port}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.speed</name>
-                                        <value>${selenium.speed}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.timeout</name>
-                                        <value>${selenium.timeout}</value>
-                                    </property>
-                                    <property>
-                                        <name>selenium.output.dir</name>
-                                        <value>${selenium.output.dir}</value>
-                                    </property>
-                                    <property>
-                                        <name>jboss.home</name>
-                                        <value>${jboss.home}</value>
-                                    </property>
-                                    <property>
-                                        <name>container</name>
-                                        <value>${container}</value>
-                                    </property>
-                                    <property>
-                                        <name>openid.account</name>
-                                        <value>${openid.account}</value>
-                                    </property>
-                                    <property>
-                                        <name>openid.password</name>
-                                        <value>${openid.password}</value>
-                                    </property>
-                                    <property>
-                                        <name>xml.namespace.aware</name>
-                                        <value>${xml.namespace.aware}</value>
-                                    </property>
-                                    <!-- WebDriver specific properties -->
-                                    <property>
-                                        <name>browser</name>
-                                        <value>${selenium.browser}</value>
-                                    </property>
-                                    <property>
-                                        <name>server.url</name>
-                                        <value>${selenium.browser.url}</value>
-                                    </property>
-                                    <property>
-                                        <name>context.path</name>
-                                        <value>${example.context.path}</value>
-                                    </property>
-                                </systemProperties>
-                            </configuration>
-                            <executions>
-                                <execution>
-                                    <id>verify</id>
-                                    <phase>verify</phase>
-                                    <goals>
-                                        <goal>verify</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>integration-test</id>
-                                    <phase>integration-test</phase>
-                                    <goals>
-                                        <goal>integration-test</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
-                        <plugin>
-                            <groupId>org.apache.maven.plugins</groupId>
-                            <artifactId>maven-antrun-plugin</artifactId>
-                            <executions>
-                                <execution>
-                                    <id>deploy-to-cluster</id>
-                                    <phase>pre-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <copy todir="${jboss.master.configuration}/farm" overwrite="true" flatten="true">
-                                                <fileset dir="${basedir}/../${example.name}-ear/">
-                                                    <include name="src/main/resources/jboss-seam-${example.name}-ds.xml" />
-                                                    <include name="target/${example.context.path}.ear" />
-                                                </fileset>
-                                            </copy>
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <!-- this ant script runs testng natively -->
-                                    <id>wait-for-application</id>
-                                    <phase>pre-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <echo message="Waiting for ${selenium.browser.cluster.url}/${example.context.path}" />
-                                            <waitfor maxwait="1" maxwaitunit="minute" checkevery="5000">
-                                                <http url="${selenium.browser.cluster.url}/${example.context.path}" errorsBeginAt="404" />
-                                            </waitfor>
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <!-- this ant script runs testng natively -->
-                                    <id>stop-selenium</id>
-                                    <phase>post-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <echo taskname="selenium-shutdown" message="DGF Errors during shutdown are expected" />
-                                            <get taskname="selenium-shutdown" src="http://${selenium.server.host}:${selenium.server.port}/selenium-server/driver/?cmd=shutDownSeleniumServer" ignoreerrors="true" dest="${selenium.log.dir}/selenium.stop.msg" />
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                                <execution>
-                                    <id>undeploy-from-cluster</id>
-                                    <phase>post-integration-test</phase>
-                                    <configuration>
-                                        <tasks>
-                                            <delete failonerror="false">
-                                                <fileset dir="${jboss.master.configuration}/farm">
-                                                    <include name="jboss-seam-${example.name}-ds.xml" />
-                                                    <include name="${example.context.path}.ear" />
-                                                </fileset>
-                                            </delete>
-                                        </tasks>
-                                    </configuration>
-                                    <goals>
-                                        <goal>run</goal>
-                                    </goals>
-                                </execution>
-                            </executions>
-                        </plugin>
-                    </plugins>
-                </pluginManagement>
-            </build>
-        </profile>
-    </profiles>
-
-    <properties>
-        <!-- artifact versions -->
-        <hibernate.version>3.3.2.GA</hibernate.version>
-        <hibernate-em.version>3.4.0.GA</hibernate-em.version>
-        <richfaces.version>4.1.0.Final</richfaces.version>
-        <slf4j.version>1.5.8</slf4j.version>
-        <java.version>1.5</java.version>
-        <!-- Excluded TestNG groups (ex: slow annotated tests won't run during 
-            the test phase) -->
-        <tests.excludedGroups>slow</tests.excludedGroups>
-        
-        <!-- dependencies for functional tests -->
-        <ant.junit.version>1.6.2</ant.junit.version>
-        <ftest.version.discriminator />
-        <selenium.browser>*firefoxproxy</selenium.browser>
-        <selenium.browser.url>http://localhost:8080</selenium.browser.url>
-        <selenium.browser.cluster.url>http://localhost:8180</selenium.browser.cluster.url>
-        <selenium.server.port>14444</selenium.server.port>
-        <selenium.server.host>localhost</selenium.server.host>
-        <selenium.speed>0</selenium.speed>
-        <selenium.timeout>30000</selenium.timeout>
-        <selenium.debug>false</selenium.debug>
-        <selenium.log.dir>${project.build.directory}/ftest-logs</selenium.log.dir>
-        <selenium.output.dir>${project.build.directory}/ftest-output</selenium.output.dir>
-        <application.deploy.timeout>300</application.deploy.timeout>
-        <browserSessionReuse>true</browserSessionReuse>
-        <ftest.resources.dir>src/test/resources-ftest</ftest.resources.dir>
-        <context.host>localhost</context.host>
-        <example.context.path>/${project.build.finalName}/</example.context.path>
-        <jboss.master.configuration>${env.JBOSS_HOME}/server/all</jboss.master.configuration>
-        <jboss.home>${env.JBOSS_HOME}</jboss.home>
-        <jboss.domain>default</jboss.domain>
-        <catalina.home>${env.CATALINA_HOME}</catalina.home>
-        <xml.namespace.aware>false</xml.namespace.aware>
-    </properties>
+      <!-- dependencies for functional tests -->
+      <ant.junit.version>1.6.2</ant.junit.version>
+      <ftest.version.discriminator/>
+      <selenium.browser>*firefoxproxy</selenium.browser>
+      <selenium.browser.url>http://localhost:8080</selenium.browser.url>
+      <selenium.browser.cluster.url>http://localhost:8180</selenium.browser.cluster.url>
+      <selenium.server.port>14444</selenium.server.port>
+      <selenium.server.host>localhost</selenium.server.host>
+      <selenium.speed>0</selenium.speed>
+      <selenium.timeout>30000</selenium.timeout>
+      <selenium.debug>false</selenium.debug>
+      <selenium.log.dir>${project.build.directory}/ftest-logs</selenium.log.dir>
+      <selenium.output.dir>${project.build.directory}/ftest-output</selenium.output.dir>
+      <application.deploy.timeout>300</application.deploy.timeout>
+      <browserSessionReuse>true</browserSessionReuse>
+      <ftest.resources.dir>src/test/resources-ftest</ftest.resources.dir>
+      <context.host>localhost</context.host>
+      <example.context.path>/${project.build.finalName}/</example.context.path>
+      <jboss.master.configuration>${env.JBOSS_HOME}/server/all</jboss.master.configuration>
+      <jboss.home>${env.JBOSS_HOME}</jboss.home>
+      <jboss.domain>default</jboss.domain>
+      <catalina.home>${env.CATALINA_HOME}</catalina.home>
+      <xml.namespace.aware>false</xml.namespace.aware>
+   </properties>
 </project>
 



More information about the seam-commits mailing list