Seam SVN: r14592 - in branches/community/Seam_2_3/examples-ee6/registration/registration-tests: src/test/java/org/jboss/seam/example/registration/test and 1 other directories.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 12:06:53 -0400 (Mon, 16 Apr 2012)
New Revision: 14592
Added:
branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/arquillian.xml
branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/registration/registration-tests/pom.xml
branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/java/org/jboss/seam/example/registration/test/RegisterTest.java
Log:
registration seamtest fix
Modified: branches/community/Seam_2_3/examples-ee6/registration/registration-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/registration/registration-tests/pom.xml 2012-04-16 15:46:07 UTC (rev 14591)
+++ branches/community/Seam_2_3/examples-ee6/registration/registration-tests/pom.xml 2012-04-16 16:06:53 UTC (rev 14592)
@@ -52,11 +52,30 @@
<groupId>org.seleniumhq.selenium.client-drivers</groupId>
<artifactId>selenium-java-client-driver</artifactId>
</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>
+
+ <dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>functional-tests</artifactId>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.spec.javax.el</groupId>
+ <artifactId>jboss-el-api_2.2_spec</artifactId>
+ </dependency>
+
</dependencies>
<build>
@@ -65,6 +84,9 @@
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
+ <testResource>
+ <directory>src/test/resources-integration</directory>
+ </testResource>
</testResources>
<plugins>
<plugin>
@@ -78,7 +100,45 @@
</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-registration</example.context.path>
Modified: branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/java/org/jboss/seam/example/registration/test/RegisterTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/java/org/jboss/seam/example/registration/test/RegisterTest.java 2012-04-16 15:46:07 UTC (rev 14591)
+++ branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/java/org/jboss/seam/example/registration/test/RegisterTest.java 2012-04-16 16:06:53 UTC (rev 14592)
@@ -1,15 +1,40 @@
//$Id: RegisterTest.java 10428 2009-04-15 21:54:38Z norman.richards(a)jboss.com $
package org.jboss.seam.example.registration.test;
+import java.io.File;
+
import javax.faces.context.FacesContext;
-import org.jboss.seam.mock.SeamTest;
-import org.testng.annotations.Test;
-import org.junit.Ignore;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OverProtocol;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.seam.mock.JUnitSeamTest;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.importer.ZipImporter;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
-@Ignore
-public class RegisterTest extends SeamTest
+(a)RunWith(Arquillian.class)
+public class RegisterTest extends JUnitSeamTest
{
+ @Deployment(name="RegisterTest")
+ @OverProtocol("Servlet 3.0")
+ public static Archive<?> createDeployment()
+ {
+ EnterpriseArchive er = ShrinkWrap.create(ZipImporter.class, "seam-registration.ear").importFrom(new File("../registration-ear/target/seam-registration.ear"))
+ .as(EnterpriseArchive.class);
+ WebArchive web = er.getAsType(WebArchive.class, "registration-web.war");
+ web.addClasses(RegisterTest.class);
+
+ // Install org.jboss.seam.mock.MockSeamListener
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
+
+ return er;
+ }
@Test
public void testLogin() throws Exception
Added: branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/arquillian.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/arquillian.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/arquillian.xml 2012-04-16 16:06:53 UTC (rev 14592)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://jboss.org/schema/arquillian"
+ xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+
+ <engine>
+ <property name="deploymentExportPath">target/</property>
+ </engine>
+
+ <container qualifier="jboss" default="true">
+ <configuration>
+ <property name="javaVmArguments">-Xmx1024m -XX:MaxPermSize=512m</property>
+ <property name="jbossHome">target/jboss-as-${version.jbossas7}</property>
+ </configuration>
+ </container>
+
+</arquillian>
Added: branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/registration/registration-tests/src/test/resources-integration/web.xml 2012-04-16 16:06:53 UTC (rev 14592)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
12 years
Seam SVN: r14591 - in branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests: src/test/java/org/jboss/seam/example/nestedbooking/test and 1 other directories.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 11:46:07 -0400 (Mon, 16 Apr 2012)
New Revision: 14591
Added:
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/Deployments.java
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/arquillian.xml
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/pom.xml
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/BookingTest.java
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/ChangePasswordTest.java
branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/LoginTest.java
Log:
update nestedbooking seamtest
Modified: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/pom.xml 2012-04-16 15:29:26 UTC (rev 14590)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/pom.xml 2012-04-16 15:46:07 UTC (rev 14591)
@@ -53,7 +53,20 @@
<artifactId>functional-tests</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>
+
+ <dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</dependency>
@@ -69,14 +82,9 @@
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
- <testResource> <!-- this takes datasource nestedbooking-ds.xml -->
- <directory>${basedir}/../nestedbooking-ear/src/main/resources</directory>
- <filtering>true</filtering>
- </testResource>
- <testResource> <!-- this takes themes aka *.properties -->
- <directory>${basedir}/../nestedbooking-web/src/main/resources</directory>
- <filtering>true</filtering>
- </testResource>
+ <testResource>
+ <directory>src/test/resources-integration</directory>
+ </testResource>
</testResources>
<plugins>
<plugin>
@@ -91,6 +99,43 @@
<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-nestedbooking</example.context.path>
Modified: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/BookingTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/BookingTest.java 2012-04-16 15:29:26 UTC (rev 14590)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/BookingTest.java 2012-04-16 15:46:07 UTC (rev 14591)
@@ -10,20 +10,35 @@
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OverProtocol;
+import org.jboss.arquillian.junit.Arquillian;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Manager;
import org.jboss.seam.example.booking.Booking;
import org.jboss.seam.example.booking.Hotel;
import org.jboss.seam.example.booking.HotelBooking;
import org.jboss.seam.example.booking.User;
-import org.jboss.seam.mock.SeamTest;
-import org.testng.annotations.Test;
-import org.junit.Ignore;
+import org.jboss.seam.mock.JUnitSeamTest;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
-@Ignore
-public class BookingTest extends SeamTest
+(a)RunWith(Arquillian.class)
+public class BookingTest extends JUnitSeamTest
{
-
+ @Deployment(name="BookingTest")
+ @OverProtocol("Servlet 3.0")
+ public static Archive<?> createDeployment()
+ {
+ EnterpriseArchive er = Deployments.nestedBookingDeployment();
+ WebArchive web = er.getAsType(WebArchive.class, "nestedbooking-web.war");
+ web.addClasses(BookingTest.class);
+ return er;
+ }
+
@Test
public void testBookHotel() throws Exception
{
@@ -35,7 +50,7 @@
{
Contexts.getSessionContext().set("user", new User("Gavin King", "foobar", "gavin"));
setValue("#{identity.username}", "gavin");
- setValue("#{identity.password}", "foobar");
+ setValue("#{identity.password}", "foobar");
invokeMethod("#{identity.login}");
}
Modified: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/ChangePasswordTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/ChangePasswordTest.java 2012-04-16 15:29:26 UTC (rev 14590)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/ChangePasswordTest.java 2012-04-16 15:46:07 UTC (rev 14591)
@@ -1,16 +1,31 @@
//$Id: ChangePasswordTest.java 6826 2007-11-25 13:12:07Z pmuir $
package org.jboss.seam.example.nestedbooking.test;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OverProtocol;
+import org.jboss.arquillian.junit.Arquillian;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Manager;
import org.jboss.seam.example.booking.User;
-import org.jboss.seam.mock.SeamTest;
-import org.testng.annotations.Test;
-import org.junit.Ignore;
+import org.jboss.seam.mock.JUnitSeamTest;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
-@Ignore
-public class ChangePasswordTest extends SeamTest
+(a)RunWith(Arquillian.class)
+public class ChangePasswordTest extends JUnitSeamTest
{
+ @Deployment(name="ChangePasswordTest")
+ @OverProtocol("Servlet 3.0")
+ public static Archive<?> createDeployment()
+ {
+ EnterpriseArchive er = Deployments.nestedBookingDeployment();
+ WebArchive web = er.getAsType(WebArchive.class, "nestedbooking-web.war");
+ web.addClasses(ChangePasswordTest.class);
+ return er;
+ }
@Test
public void testChangePassword() throws Exception
Added: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/Deployments.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/Deployments.java (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/Deployments.java 2012-04-16 15:46:07 UTC (rev 14591)
@@ -0,0 +1,22 @@
+package org.jboss.seam.example.nestedbooking.test;
+
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.importer.ZipImporter;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+
+import java.io.File;
+
+public class Deployments {
+ public static EnterpriseArchive nestedBookingDeployment() {
+ EnterpriseArchive ear = ShrinkWrap.create(ZipImporter.class, "seam-nestedbooking.ear").importFrom(new File("../nestedbooking-ear/target/seam-nestedbooking.ear"))
+ .as(EnterpriseArchive.class);
+
+ // Install org.jboss.seam.mock.MockSeamListener
+ WebArchive web = ear.getAsType(WebArchive.class, "nestedbooking-web.war");
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
+
+ return ear;
+ }
+}
Modified: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/LoginTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/LoginTest.java 2012-04-16 15:29:26 UTC (rev 14590)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/java/org/jboss/seam/example/nestedbooking/test/LoginTest.java 2012-04-16 15:46:07 UTC (rev 14591)
@@ -1,15 +1,30 @@
//$Id: LoginTest.java 6826 2007-11-25 13:12:07Z pmuir $
package org.jboss.seam.example.nestedbooking.test;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OverProtocol;
+import org.jboss.arquillian.junit.Arquillian;
import org.jboss.seam.Seam;
import org.jboss.seam.core.Manager;
-import org.jboss.seam.mock.SeamTest;
-import org.testng.annotations.Test;
-import org.junit.Ignore;
+import org.jboss.seam.mock.JUnitSeamTest;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
-@Ignore
-public class LoginTest extends SeamTest
+(a)RunWith(Arquillian.class)
+public class LoginTest extends JUnitSeamTest
{
+ @Deployment(name="LoginTest")
+ @OverProtocol("Servlet 3.0")
+ public static Archive<?> createDeployment()
+ {
+ EnterpriseArchive er = Deployments.nestedBookingDeployment();
+ WebArchive web = er.getAsType(WebArchive.class, "nestedbooking-web.war");
+ web.addClasses(LoginTest.class);
+ return er;
+ }
@Test
public void testLogin() throws Exception
Added: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/arquillian.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/arquillian.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/arquillian.xml 2012-04-16 15:46:07 UTC (rev 14591)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://jboss.org/schema/arquillian"
+ xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+
+ <engine>
+ <property name="deploymentExportPath">target/</property>
+ </engine>
+
+ <container qualifier="jboss" default="true">
+ <configuration>
+ <property name="javaVmArguments">-Xmx1024m -XX:MaxPermSize=512m</property>
+ <property name="jbossHome">target/jboss-as-${version.jbossas7}</property>
+ </configuration>
+ </container>
+
+</arquillian>
Added: branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/nestedbooking/nestedbooking-tests/src/test/resources-integration/web.xml 2012-04-16 15:46:07 UTC (rev 14591)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
12 years
Seam SVN: r14590 - in branches/community/Seam_2_3/examples-ee6/icefaces: icefaces-tests/src/test/resources-integration and 2 other directories.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 11:29:26 -0400 (Mon, 16 Apr 2012)
New Revision: 14590
Added:
branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/BookingTest.java
branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/ChangePasswordTest.java
branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/Deployments.java
branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/pom.xml
branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/src/main/webapp/WEB-INF/components.xml
Log:
fix icefaces seamtest
Modified: branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/BookingTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/BookingTest.java 2012-04-16 15:15:00 UTC (rev 14589)
+++ branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/BookingTest.java 2012-04-16 15:29:26 UTC (rev 14590)
@@ -52,7 +52,7 @@
{
Contexts.getSessionContext().set("user", new User("Gavin King", "foobar", "gavin"));
setValue("#{identity.username}", "gavin");
- setValue("#{identity.password}", "foobar");
+ setValue("#{identity.password}", "foobar");
invokeAction("#{identity.login}");
}
Modified: branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/ChangePasswordTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/ChangePasswordTest.java 2012-04-16 15:15:00 UTC (rev 14589)
+++ branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/ChangePasswordTest.java 2012-04-16 15:29:26 UTC (rev 14590)
@@ -8,7 +8,6 @@
import org.jboss.seam.core.Manager;
import org.jboss.seam.example.booking.User;
import org.jboss.seam.mock.JUnitSeamTest;
-import org.jboss.seam.mock.SeamTest;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
Modified: branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/Deployments.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/Deployments.java 2012-04-16 15:15:00 UTC (rev 14589)
+++ branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/java/org/jboss/seam/example/booking/test/Deployments.java 2012-04-16 15:29:26 UTC (rev 14590)
@@ -3,12 +3,20 @@
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.importer.ZipImporter;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
import java.io.File;
public class Deployments {
public static EnterpriseArchive iceFacesDeployment() {
- return ShrinkWrap.create(ZipImporter.class, "seam-icefaces.ear").importFrom(new File("../icefaces-ear/target/seam-icefaces.ear"))
+ EnterpriseArchive ear = ShrinkWrap.create(ZipImporter.class, "seam-icefaces.ear").importFrom(new File("../icefaces-ear/target/seam-icefaces.ear"))
.as(EnterpriseArchive.class);
+
+ // Install org.jboss.seam.mock.MockSeamListener
+ WebArchive web = ear.getAsType(WebArchive.class, "icefaces-web.war");
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
+
+ return ear;
}
}
Added: branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-tests/src/test/resources-integration/web.xml 2012-04-16 15:29:26 UTC (rev 14590)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
Modified: branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/pom.xml 2012-04-16 15:15:00 UTC (rev 14589)
+++ branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/pom.xml 2012-04-16 15:29:26 UTC (rev 14590)
@@ -16,7 +16,7 @@
<properties>
<!-- filtering property for components.xml -->
- <jndiPattern>java:app/seam-icefaces/#{ejbName}</jndiPattern>
+ <jndiPattern>java:app/icefaces-ejb/#{ejbName}</jndiPattern>
</properties>
<repositories>
@@ -39,6 +39,7 @@
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam</artifactId>
<type>ejb</type>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
Modified: branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/src/main/webapp/WEB-INF/components.xml 2012-04-16 15:15:00 UTC (rev 14589)
+++ branches/community/Seam_2_3/examples-ee6/icefaces/icefaces-web/src/main/webapp/WEB-INF/components.xml 2012-04-16 15:29:26 UTC (rev 14590)
@@ -20,4 +20,7 @@
<security:identity authenticate-method="#{authenticator.authenticate}"/>
+ <component class="org.jboss.seam.transaction.EjbSynchronizations" jndi-name="java:app/jboss-seam/EjbSynchronizations"/>
+ <component class="org.jboss.seam.async.TimerServiceDispatcher" jndi-name="java:app/jboss-seam/TimerServiceDispatcher"/>
+
</components>
12 years
Seam SVN: r14589 - in branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test: resources-integration and 1 other directory.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 11:15:00 -0400 (Mon, 16 Apr 2012)
New Revision: 14589
Added:
branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/java/org/jboss/seam/example/messages/test/MessageListTest.java
Log:
fix messages seamtest
Modified: branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/java/org/jboss/seam/example/messages/test/MessageListTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/java/org/jboss/seam/example/messages/test/MessageListTest.java 2012-04-16 15:07:04 UTC (rev 14588)
+++ branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/java/org/jboss/seam/example/messages/test/MessageListTest.java 2012-04-16 15:15:00 UTC (rev 14589)
@@ -27,8 +27,12 @@
{
EnterpriseArchive er = ShrinkWrap.create(ZipImporter.class, "seam-messages.ear").importFrom(new File("../messages-ear/target/seam-messages.ear"))
.as(EnterpriseArchive.class);
- WebArchive web = er.getAsType(WebArchive.class, "messages-web.war");
+ WebArchive web = er.getAsType(WebArchive.class, "messages-web.war");
web.addClasses(MessageListTest.class);
+
+ // Install org.jboss.seam.mock.MockSeamListener
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
return er;
}
Added: branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/messages/messages-tests/src/test/resources-integration/web.xml 2012-04-16 15:15:00 UTC (rev 14589)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
12 years
Seam SVN: r14588 - in branches/community/Seam_2_3/examples-ee6/mail/mail-tests: src/test/java/org/jboss/seam/example/mail/test and 1 other directories.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 11:07:04 -0400 (Mon, 16 Apr 2012)
New Revision: 14588
Added:
branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/mail/mail-tests/pom.xml
branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java
Log:
fix seamtest
Modified: branches/community/Seam_2_3/examples-ee6/mail/mail-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/mail/mail-tests/pom.xml 2012-04-16 14:49:07 UTC (rev 14587)
+++ branches/community/Seam_2_3/examples-ee6/mail/mail-tests/pom.xml 2012-04-16 15:07:04 UTC (rev 14588)
@@ -95,17 +95,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.shrinkwrap.resolver</groupId>
- <artifactId>shrinkwrap-resolver-api-maven</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.shrinkwrap.resolver</groupId>
- <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.jboss.spec.javax.el</groupId>
<artifactId>jboss-el-api_2.2_spec</artifactId>
<scope>runtime</scope>
Modified: branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java 2012-04-16 14:49:07 UTC (rev 14587)
+++ branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java 2012-04-16 15:07:04 UTC (rev 14588)
@@ -54,7 +54,7 @@
{
EnterpriseArchive er = ShrinkWrap.create(ZipImporter.class, "seam-mail.ear").importFrom(new File("../mail-ear/target/seam-mail.ear"))
.as(EnterpriseArchive.class);
- WebArchive web = er.getAsType(WebArchive.class, "mail-web.war");
+ WebArchive web = er.getAsType(WebArchive.class, "mail-web.war");
web.addClasses(MailTest.class);
//web.addAsWebInfResource(new StringAsset("org.jboss.seam.mock.MockApplicationFactory"), "classes/META-INF/services/javax.faces.application.ApplicationFactory");
web.addAsWebInfResource(new StringAsset("org.jboss.seam.mock.MockFacesContextFactory"), "classes/META-INF/services/javax.faces.context.FacesContextFactory");
@@ -63,7 +63,11 @@
web.addAsWebResource("org/jboss/seam/example/mail/test/errors3.xhtml", "org/jboss/seam/example/mail/test/errors3.xhtml");
web.addAsWebResource("org/jboss/seam/example/mail/test/errors4.xhtml", "org/jboss/seam/example/mail/test/errors4.xhtml");
web.addAsWebResource("org/jboss/seam/example/mail/test/sanitization.xhtml", "org/jboss/seam/example/mail/test/sanitization.xhtml");
-
+
+ // Install org.jboss.seam.mock.MockSeamListener
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
+
return er;
}
Added: branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/resources-integration/web.xml 2012-04-16 15:07:04 UTC (rev 14588)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
12 years
Seam SVN: r14587 - in branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test: resources-integration and 1 other directory.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 10:49:07 -0400 (Mon, 16 Apr 2012)
New Revision: 14587
Added:
branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/BookingTest.java
branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/Deployments.java
Log:
fix jpa seamtest
Modified: branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/BookingTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/BookingTest.java 2012-04-16 14:28:04 UTC (rev 14586)
+++ branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/BookingTest.java 2012-04-16 14:49:07 UTC (rev 14587)
@@ -53,7 +53,7 @@
{
Contexts.getSessionContext().set("user", new User("Gavin King", "foobar", "gavin"));
setValue("#{identity.username}", "gavin");
- setValue("#{identity.password}", "foobar");
+ setValue("#{identity.password}", "foobar");
invokeAction("#{identity.login}");
}
Modified: branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/Deployments.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/Deployments.java 2012-04-16 14:28:04 UTC (rev 14586)
+++ branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/java/org/jboss/seam/example/jpa/test/Deployments.java 2012-04-16 14:49:07 UTC (rev 14587)
@@ -8,8 +8,13 @@
import java.io.File;
public class Deployments {
- public static WebArchive jpaDeployment() {
- return ShrinkWrap.create(ZipImporter.class, "jboss-seam-jpa.war").importFrom(new File("../jpa-web/target/jboss-seam-jpa.war"))
- .as(WebArchive.class);
- }
+ public static WebArchive jpaDeployment() {
+ WebArchive web = ShrinkWrap.create(ZipImporter.class, "jboss-seam-jpa.war").importFrom(new File("../jpa-web/target/jboss-seam-jpa.war"))
+ .as(WebArchive.class);
+
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
+
+ return web;
+ }
}
Added: branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/jpa/jpa-tests/src/test/resources-integration/web.xml 2012-04-16 14:49:07 UTC (rev 14587)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
12 years
Seam SVN: r14586 - in branches/community/Seam_2_3/examples-ee6/itext/itext-tests: src/test/java/org/jboss/seam/example/itext/test and 1 other directories.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 10:28:04 -0400 (Mon, 16 Apr 2012)
New Revision: 14586
Added:
branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTest.java
branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/arquillian.xml
branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/web.xml
Removed:
branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java
Modified:
branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml
Log:
itext seamtest
Modified: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml 2012-04-16 11:49:54 UTC (rev 14585)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/pom.xml 2012-04-16 14:28:04 UTC (rev 14586)
@@ -50,6 +50,16 @@
<artifactId>selenium-java-client-driver</artifactId>
</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>
+ <dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>functional-tests</artifactId>
<scope>test</scope>
@@ -80,9 +90,22 @@
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.el</groupId>
+ <artifactId>jboss-el-api_2.2_spec</artifactId>
+ </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>
@@ -96,6 +119,43 @@
<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-itext</example.context.path>
Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTest.java (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTest.java 2012-04-16 14:28:04 UTC (rev 14586)
@@ -0,0 +1,112 @@
+package org.jboss.seam.example.itext.test;
+
+import java.io.File;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OverProtocol;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.seam.contexts.Contexts;
+import org.jboss.seam.core.Conversation;
+import org.jboss.seam.document.ByteArrayDocumentData;
+import org.jboss.seam.document.DocumentData;
+import org.jboss.seam.document.DocumentStore;
+import org.jboss.seam.mock.JUnitSeamTest;
+import org.jboss.seam.pdf.ui.UIDocument;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.importer.ZipImporter;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * This is just a placeholder until I can find a way to actually test the UI
+ * components.
+ */
+(a)RunWith(Arquillian.class)
+public class DocumentTest extends JUnitSeamTest
+{
+ @Deployment
+ @OverProtocol("Servlet 3.0")
+ public static Archive<?> createDeployment()
+ {
+ EnterpriseArchive er = ShrinkWrap.create(ZipImporter.class, "seam-itext.ear").importFrom(new File("../itext-ear/target/seam-itext.ear"))
+ .as(EnterpriseArchive.class);
+ WebArchive web = er.getAsType(WebArchive.class, "itext-web.war");
+ web.addAsWebInfResource(new StringAsset("org.jboss.seam.mock.MockFacesContextFactory"), "classes/META-INF/services/javax.faces.context.FacesContextFactory");
+ web.addClasses(DocumentTest.class);
+
+ // Install org.jboss.seam.mock.MockSeamListener
+ web.delete("/WEB-INF/web.xml");
+ web.addAsWebInfResource("web.xml");
+
+ return er;
+ }
+
+ @Test
+ public void documentStore() throws Exception
+ {
+ String conversationId = new FacesRequest("/whyseam.xhtml")
+ {
+
+ @Override
+ protected void invokeApplication() throws Exception
+ {
+ Conversation.instance().begin();
+
+ DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+ String docId = store.newId();
+
+ Contexts.getSessionContext().set("docId", docId);
+
+ DocumentData documentData = new ByteArrayDocumentData("base", UIDocument.PDF, new byte[100]);
+ store.saveData(docId, documentData);
+ }
+
+ @Override
+ protected void renderResponse() throws Exception
+ {
+ String docId = (String) getValue("#{docId}");
+ assert docId != null;
+
+ DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+ assert store.idIsValid(docId);
+
+ }
+ }.run();
+
+ // different conversation
+ new FacesRequest("/whyseam.xhtml")
+ {
+ @Override
+ protected void renderResponse() throws Exception
+ {
+ String docId = (String) getValue("#{docId}");
+ assert docId != null;
+
+ DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+ assert !store.idIsValid(docId);
+ }
+ }.run();
+
+ new FacesRequest("/whyseam.xhtml", conversationId)
+ {
+ @Override
+ protected void renderResponse() throws Exception
+ {
+ String docId = (String) getValue("#{docId}");
+ assert docId != null;
+
+ DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
+ assert store.idIsValid(docId);
+
+ ByteArrayDocumentData data = (ByteArrayDocumentData)store.getDocumentData(docId);
+ assert data.getDocumentType().equals(UIDocument.PDF);
+ assert data.getData().length == 100;
+ }
+ }.run();
+ }
+
+}
Deleted: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java 2012-04-16 11:49:54 UTC (rev 14585)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/java/org/jboss/seam/example/itext/test/DocumentTests.java 2012-04-16 14:28:04 UTC (rev 14586)
@@ -1,84 +0,0 @@
-package org.jboss.seam.example.itext.test;
-
-import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.core.Conversation;
-import org.jboss.seam.document.ByteArrayDocumentData;
-import org.jboss.seam.document.DocumentData;
-import org.jboss.seam.document.DocumentStore;
-import org.jboss.seam.mock.SeamTest;
-import org.jboss.seam.pdf.ui.UIDocument;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * This is just a placeholder until I can find a way to actually test the UI
- * components.
- */
-@Ignore
-public class DocumentTests extends SeamTest
-{
- @Test
- public void documentStore() throws Exception
- {
- String conversationId = new FacesRequest("/whyseam.xhtml")
- {
-
- @Override
- protected void invokeApplication() throws Exception
- {
- Conversation.instance().begin();
-
- DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
- String docId = store.newId();
-
- Contexts.getSessionContext().set("docId", docId);
-
- DocumentData documentData = new ByteArrayDocumentData("base", UIDocument.PDF, new byte[100]);
- store.saveData(docId, documentData);
- }
-
- @Override
- protected void renderResponse() throws Exception
- {
- String docId = (String) getValue("#{docId}");
- assert docId != null;
-
- DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
- assert store.idIsValid(docId);
-
- }
- }.run();
-
- // different conversation
- new FacesRequest("/whyseam.xhtml")
- {
- @Override
- protected void renderResponse() throws Exception
- {
- String docId = (String) getValue("#{docId}");
- assert docId != null;
-
- DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
- assert !store.idIsValid(docId);
- }
- }.run();
-
- new FacesRequest("/whyseam.xhtml", conversationId)
- {
- @Override
- protected void renderResponse() throws Exception
- {
- String docId = (String) getValue("#{docId}");
- assert docId != null;
-
- DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
- assert store.idIsValid(docId);
-
- ByteArrayDocumentData data = (ByteArrayDocumentData)store.getDocumentData(docId);
- assert data.getDocumentType().equals(UIDocument.PDF);
- assert data.getData().length == 100;
- }
- }.run();
- }
-
-}
Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/arquillian.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/arquillian.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/arquillian.xml 2012-04-16 14:28:04 UTC (rev 14586)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://jboss.org/schema/arquillian"
+ xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+
+ <engine>
+ <property name="deploymentExportPath">target/</property>
+ </engine>
+
+ <container qualifier="jboss" default="true">
+ <configuration>
+ <property name="javaVmArguments">-Xmx1024m -XX:MaxPermSize=512m</property>
+ <property name="jbossHome">target/jboss-as-${version.jbossas7}</property>
+ </configuration>
+ </container>
+
+</arquillian>
Added: branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/itext/itext-tests/src/test/resources-integration/web.xml 2012-04-16 14:28:04 UTC (rev 14586)
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <listener>
+ <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
+ </listener>
+
+</web-app>
12 years
Seam SVN: r14585 - in branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests: src/test/java/org/jboss/seam/example/contactlist/test and 1 other directories.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-04-16 07:49:54 -0400 (Mon, 16 Apr 2012)
New Revision: 14585
Removed:
branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/resources-integration/web.xml
Modified:
branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/pom.xml
branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/java/org/jboss/seam/example/contactlist/test/ContactListTest.java
Log:
contactlist example deseamtested
Modified: branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/pom.xml 2012-04-16 09:45:41 UTC (rev 14584)
+++ branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/pom.xml 2012-04-16 11:49:54 UTC (rev 14585)
@@ -77,13 +77,21 @@
</dependency>
<dependency>
+ <groupId>org.jboss.arquillian.extension</groupId>
+ <artifactId>arquillian-seam2</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.spec.javax.el</groupId>
<artifactId>jboss-el-api_2.2_spec</artifactId>
</dependency>
+
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</dependency>
+
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
Modified: branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/java/org/jboss/seam/example/contactlist/test/ContactListTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/java/org/jboss/seam/example/contactlist/test/ContactListTest.java 2012-04-16 09:45:41 UTC (rev 14584)
+++ branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/java/org/jboss/seam/example/contactlist/test/ContactListTest.java 2012-04-16 11:49:54 UTC (rev 14585)
@@ -5,16 +5,20 @@
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.OverProtocol;
import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.seam.Component;
+import org.jboss.seam.contexts.Lifecycle;
import org.jboss.seam.example.contactlist.Contact;
-import org.jboss.seam.mock.JUnitSeamTest;
+import org.jboss.seam.framework.EntityHome;
+import org.jboss.seam.framework.EntityQuery;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
+import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(Arquillian.class)
-public class ContactListTest extends JUnitSeamTest
+public class ContactListTest
{
@Deployment(name="ContactListTest")
@@ -25,10 +29,6 @@
WebArchive web = er.getAsType(WebArchive.class, "contactlist-web.war");
web.addClasses(ContactListTest.class);
-
- // Install org.jboss.seam.mock.MockSeamListener
- web.delete("/WEB-INF/web.xml");
- web.addAsWebInfResource("web.xml");
return er;
}
@@ -36,141 +36,64 @@
@Test
public void testList() throws Exception
{
- new NonFacesRequest("/search.xhtml")
- {
- @Override
- protected void renderResponse() throws Exception
- {
- List<Contact> contacts = (List<Contact>) getValue("#{contacts.resultList}");
- assert contacts.size()==5;
- }
- }.run();
+ EntityQuery<Contact> contacts = (EntityQuery<Contact>)Component.getInstance("contacts");
+ List<Contact> contactsList = (List<Contact>) (contacts.getResultList());
+ assertEquals(5, contactsList.size());
}
@Test
public void testSearch() throws Exception
{
- new FacesRequest("/search.xhtml")
- {
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{exampleContact.firstName}", "Norman");
- }
- @Override
- protected void invokeApplication() throws Exception
- {
- setOutcome("/search.xhtml");
- }
- @Override
- protected void afterRequest()
- {
- assert !isRenderResponseBegun();
- }
- }.run();
+ Contact exampleContact = (Contact)Component.getInstance("exampleContact");
+ exampleContact.setFirstName("Norman");
+
+ EntityQuery<Contact> contacts = (EntityQuery<Contact>)Component.getInstance("contacts");
+ List<Contact> contactsList = (List<Contact>) (contacts.getResultList());
+ assertEquals(1, contactsList.size());
- new NonFacesRequest("/search.xhtml")
- {
- @Override
- protected void beforeRequest()
- {
- setParameter("firstName", "Norman");
- }
- @Override
- protected void renderResponse() throws Exception
- {
- List<Contact> contacts = (List<Contact>) getValue("#{contacts.resultList}");
- System.out.println(contacts.size());
- assert contacts.size()==1;
- }
- }.run();
+ Lifecycle.endCall();
- new FacesRequest("/search.xhtml")
- {
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{exampleContact.lastName}", "King");
- }
- @Override
- protected void invokeApplication() throws Exception
- {
- setOutcome("/search.xhtml");
- }
- @Override
- protected void afterRequest()
- {
- assert !isRenderResponseBegun();
- }
- }.run();
+ Lifecycle.beginCall();
+
+ exampleContact = (Contact)Component.getInstance("exampleContact");
+ exampleContact.setLastName("King");
- new NonFacesRequest("/search.xhtml")
- {
- @Override
- protected void beforeRequest()
- {
- setParameter("lastName", "King");
- }
- @Override
- protected void renderResponse() throws Exception
- {
- List<Contact> contacts = (List<Contact>) getValue("#{contacts.resultList}");
- assert contacts.size()==1;
- }
- }.run();
+ contacts = (EntityQuery<Contact>)Component.getInstance("contacts");
+ contactsList = (List<Contact>) (contacts.getResultList());
+ assertEquals(1, contactsList.size());
+
+ Lifecycle.endCall();
}
- String contactId;
+ Long contactId;
@Test
public void testCreateDeleteContact() throws Exception
{
- new FacesRequest("/editContact.xhtml")
- {
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{contact.firstName}", "Emmanuel");
- setValue("#{contact.lastName}", "Bernard");
- setValue("#{contact.city}", "Paris");
- }
- @Override
- protected void invokeApplication() throws Exception
- {
- assert invokeMethod("#{contactHome.persist}").equals("persisted");
- contactId = getValue("#{contactHome.id}").toString();
- }
- }.run();
+ Contact contact = (Contact) Component.getInstance("contact");
+ contact.setFirstName("Emmanuel");
+ contact.setLastName("Bernard");
+ contact.setCity("Paris");
- new NonFacesRequest("/viewContact.xhtml")
- {
- @Override
- protected void beforeRequest()
- {
- setParameter("contactId", contactId);
- }
- @Override
- protected void renderResponse() throws Exception
- {
- assert getValue("#{contact.firstName}").equals("Emmanuel");
- assert getValue("#{contact.lastName}").equals("Bernard");
- assert getValue("#{contact.city}").equals("Paris");
- }
- }.run();
+ EntityHome<Contact> contactHome = (EntityHome<Contact>)Component.getInstance("contactHome");
+ assertEquals("persisted", contactHome.persist());
+ contactId = (Long)contactHome.getId();
+
+ Lifecycle.endCall();
+ Lifecycle.beginCall();
+
+ contactHome = (EntityHome<Contact>)Component.getInstance("contactHome");
+ contactHome.setId(contactId);
+ contact = (Contact) Component.getInstance("contact");
+ assertEquals("Emmanuel", contact.getFirstName());
+ assertEquals("Bernard", contact.getLastName());
+ assertEquals("Paris", contact.getCity());
+
+ Lifecycle.endCall();
+ Lifecycle.beginCall();
- new FacesRequest("/viewContact.xhtml")
- {
- @Override
- protected void beforeRequest()
- {
- setPageParameter( "contactId", new Long(contactId) );
- }
- @Override
- protected void invokeApplication() throws Exception
- {
- assert invokeMethod("#{contactHome.remove}").equals("removed");
- }
- }.run();
+ contactHome = (EntityHome<Contact>)Component.getInstance("contactHome");
+ contactHome.setId(contactId);
+ assertEquals("removed", contactHome.remove());
}
-
}
Deleted: branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/resources-integration/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/resources-integration/web.xml 2012-04-16 09:45:41 UTC (rev 14584)
+++ branches/community/Seam_2_3/examples-ee6/contactlist/contactlist-tests/src/test/resources-integration/web.xml 2012-04-16 11:49:54 UTC (rev 14585)
@@ -1,12 +0,0 @@
-<?xml version="1.0" ?>
-
-<web-app version="3.0"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
-
- <listener>
- <listener-class>org.jboss.seam.mock.MockSeamListener</listener-class>
- </listener>
-
-</web-app>
12 years
Seam SVN: r14584 - in branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking: groovybooking-tests and 4 other directories.
by seam-commits@lists.jboss.org
Author: rsmeral
Date: 2012-04-16 05:45:41 -0400 (Mon, 16 Apr 2012)
New Revision: 14584
Added:
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/pom.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources-ftest/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/metawidget-groovybooking.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/seam.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/pom.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/readme.txt
Log:
metawidget/groovybooking (partly broken)
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/pom.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/pom.xml 2012-04-16 09:45:41 UTC (rev 14584)
@@ -0,0 +1,201 @@
+<?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.metawidget</groupId>
+ <version>2.3.0.Beta2-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.jboss.seam.examples-ee6.metawidget</groupId>
+ <artifactId>groovybooking-tests</artifactId>
+ <name>Metawidget 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>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-test-source</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${basedir}/../hibernate-web/src/main/groovy</source>
+ <source>${basedir}/../hibernate-web/src/main/java</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </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>jboss-seam-metawidget-groovybooking</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>
+ <directory>${basedir}/../groovybooking-web/target/jboss-seam-metawidget-groovybooking-exploded/jboss-seam-metawidget-groovybooking.war</directory>
+ </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-metawidget-groovybooking</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_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/metawidget-groovybooking.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/metawidget-groovybooking.properties (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/metawidget-groovybooking.properties 2012-04-16 09:45:41 UTC (rev 14584)
@@ -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 //div[@class='errors']
+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:bookingBeds
+HOTEL_BED_FIELD_SELECT_CRITERIA value=
+HOTEL_CHECKIN_DATE_FIELD id=booking:bookingCheckinDateInputDate
+HOTEL_CHECKIN_DATE_MESSAGE xpath=//li[contains(.,'Check in date')]
+HOTEL_CHECKOUT_DATE_FIELD id=booking:bookingCheckoutDateInputDate
+HOTEL_CHECKOUT_DATE_MESSAGE xpath=//li[contains(.,'Check out date')]
+HOTEL_SMOKING_1 id=booking:bookingSmoking:0
+HOTEL_SMOKING_2 id=booking:bookingSmoking:1
+HOTEL_CREDIT_CARD id=booking:bookingCreditCard
+HOTEL_CREDIT_CARD_NAME id=booking:bookingCreditCardName
+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 xpath=id('register:usernameDecorate')//div[@class='errors']
+REGISTRATION_NAME id=register:nameDecorate:name
+REGISTRATION_NAME_MESSAGE xpath=id('register:nameDecorate')//div[@class='errors']
+REGISTRATION_PASSWORD id=register:passwordDecorate:password
+REGISTRATION_PASSWORD_MESSAGE xpath=id('register:passwordDecorate')//div[@class='errors']
+REGISTRATION_VERIFY id=register:verifyDecorate:verify
+REGISTRATION_VERIFY_MESSAGE xpath=id('register:verifyDecorate')//div[@class='errors']
+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
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/metawidget-groovybooking.properties
___________________________________________________________________
Added: svn:executable
+ *
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/seam.properties (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources/seam.properties 2012-04-16 09:45:41 UTC (rev 14584)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml 2012-04-16 09:45:41 UTC (rev 14584)
@@ -0,0 +1,34 @@
+<!--
+ 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="Metawidget Groovybooking example" verbose="2" parallel="false">
+ <test name="metawidget_groovybooking_tests">
+ <parameter name="PROPERTY_FILE" value="/metawidget-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_3/examples-ee6/metawidget/groovybooking/groovybooking-tests/src/test/resources-ftest/testng.xml
___________________________________________________________________
Added: svn:executable
+ *
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/pom.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/pom.xml 2012-04-16 09:45:41 UTC (rev 14584)
@@ -0,0 +1,34 @@
+<?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.metawidget</groupId>
+ <artifactId>groovybooking</artifactId>
+ <parent>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>examples-ee6</artifactId>
+ <version>2.3.0.Beta2-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <packaging>pom</packaging>
+ <name>Metawidget 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-ee6.metawidget</groupId>
+ <artifactId>groovybooking-web</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/readme.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/readme.txt (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/readme.txt 2012-04-16 09:45:41 UTC (rev 14584)
@@ -0,0 +1,29 @@
+Seam Metawidget GroovyBooking Example
+=====================================
+
+This is the Hotel Booking example implemented in Groovy Beans, Metawidget
+and Hibernate JPA. This application runs on JBoss AS, but is deployed as
+an *exploded* WAR rather than an EAR.
+
+A majority of source files in this project comes from non-metawidget GroovyBooking example
+in the distribution. Metawidget resource files are placed under src/metawidget
+subdirectory of a booking-web submodule.
+
+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 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-metawidget-grovybooking
+
+For further Metawidget documentation see http://metawidget.org/documentation.html
12 years
Seam SVN: r14583 - in branches/community/Seam_2_3/examples-ee6/metawidget: groovybooking and 25 other directories.
by seam-commits@lists.jboss.org
Author: rsmeral
Date: 2012-04-16 05:42:34 -0400 (Mon, 16 Apr 2012)
New Revision: 14583
Added:
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/pom.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/AuthenticatorAction.java
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/BookingListAction.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/ChangePasswordAction.java
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelBookingAction.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelSearchingAction.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/Random.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/RegisterAction.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/seam.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Booking.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Hotel.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/User.groovy
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/seam.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/META-INF/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/import.sql
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages_en.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/seam.properties
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/screen.css
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/home.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/btn.bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cal-next.png
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cal-prev.png
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cnt.bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/dtpick.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.ad.jpg
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bar.jpg
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.title.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/header_line.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/input.bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/sdb.bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/spinner.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/th.bg.gif
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/index.html
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/password.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/register.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/template.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/WEB-INF/
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/WEB-INF/metawidget.xml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/book.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/confirm.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/hotel.xhtml
branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/main.xhtml
Log:
metawidget/groovybooking (partly broken)
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/pom.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/pom.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,269 @@
+<?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.metawidget</groupId>
+ <version>2.3.0.Beta2-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.jboss.seam.examples-ee6.metawidget</groupId>
+ <artifactId>groovybooking-web</artifactId>
+ <packaging>war</packaging>
+ <name>Metawidget 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>
+ <exclusions>
+ <exclusion>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.spec.javax.faces</groupId>
+ <artifactId>jboss-jsf-api_2.0_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </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>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-components-ui</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.core</groupId>
+ <artifactId>richfaces-core-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate.javax.persistence</groupId>
+ <artifactId>hibernate-jpa-2.0-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.servlet</groupId>
+ <artifactId>jboss-servlet-api_3.0_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.spec.javax.faces</groupId>
+ <artifactId>jboss-jsf-api_2.1_spec</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- metawidget -->
+ <dependency>
+ <groupId>org.metawidget.modules</groupId>
+ <artifactId>metawidget-annotation</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.metawidget.modules.faces</groupId>
+ <artifactId>metawidget-facesannotation</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.metawidget.modules.faces</groupId>
+ <artifactId>metawidget-faces</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.metawidget.modules.faces</groupId>
+ <artifactId>metawidget-richfaces</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.metawidget.modules</groupId>
+ <artifactId>metawidget-jpa</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.metawidget.modules</groupId>
+ <artifactId>metawidget-beanvalidation</artifactId>
+ <version>2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.metawidget.modules</groupId>
+ <artifactId>metawidget-groovy</artifactId>
+ <version>2.1</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>jboss-seam-metawidget-groovybooking</finalName>
+ <plugins>
+ <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>
+ <resource>
+ <directory>src/metawidget/webapp</directory>
+ <filtering>true</filtering>
+ </resource>
+ </webResources>
+ </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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/AuthenticatorAction.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/AuthenticatorAction.java (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/AuthenticatorAction.java 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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;
+
+@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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/BookingListAction.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/BookingListAction.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/BookingListAction.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,57 @@
+//$Id: BookingListAction.groovy 8748 2008-08-20 12:08:30Z pete.muir(a)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
+
+(a)Scope(ScopeType.SESSION)
+@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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/ChangePasswordAction.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/ChangePasswordAction.java (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/ChangePasswordAction.java 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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;
+
+@Scope(EVENT)
+@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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelBookingAction.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelBookingAction.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelBookingAction.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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
+
+@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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelSearchingAction.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelSearchingAction.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/HotelSearchingAction.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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
+
+@Name("hotelSearch")
+(a)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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/Random.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/Random.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/Random.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/RegisterAction.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/RegisterAction.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/org/jboss/seam/example/groovy/RegisterAction.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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;
+
+@Scope(EVENT)
+@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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/action/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Booking.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Booking.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Booking.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,120 @@
+//$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
+import org.metawidget.inspector.annotation.*;
+import org.metawidget.inspector.faces.*;
+
+@Entity
+@Name("booking")
+class Booking implements Serializable
+{
+ @Id @GeneratedValue
+ Long id
+
+ @ManyToOne @NotNull
+ @UiHidden
+ User user
+
+ @ManyToOne @NotNull
+ @UiHidden
+ Hotel hotel
+
+ @NotNull
+ @Basic @Temporal(TemporalType.DATE)
+ @UiComesAfter( [ "total" ] )
+ @UiFacesDateTimeConverter( pattern = "MM/dd/yyyy" )
+ Date checkinDate
+
+ @Basic @Temporal(TemporalType.DATE)
+ @NotNull
+ @UiComesAfter( [ "checkinDate" ] )
+ @UiFacesDateTimeConverter( pattern = "MM/dd/yyyy" )
+ 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")
+ @UiComesAfter( [ "smoking" ] )
+ @UiLabel( "Credit card #" )
+ String creditCard
+
+ @NotNull(message="Credit card name is required")
+ @Size(min=3, max=70)
+ @UiComesAfter( [ "creditCard" ] )
+ String creditCardName
+
+ @UiLookup( value = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" ], labels = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] )
+ @UiComesAfter( [ "creditCardName" ] )
+ @UiLabel( "Expiry month" )
+ int creditCardExpiryMonth
+
+ @UiComesAfter( [ "creditCardExpiryMonth" ] )
+ @UiLookup( [ "2005", "2006", "2007", "2008", "2009" ] )
+ @UiLabel( "Expiry year" )
+ int creditCardExpiryYear
+
+ @UiLookup( value = [ "true", "false" ], labels = [ "Smoking", "Non Smoking" ] )
+ @UiFacesComponent( "javax.faces.HtmlSelectOneRadio" )
+ @UiComesAfter( [ "beds" ] )
+ boolean smoking
+
+ @UiLabel( "Room preference" )
+ @UiComesAfter( [ "checkoutDate" ] )
+ @UiLookup( value = [ "1", "2", "3" ], labels = [ "One king-size bed", "Two double beds", "Three beds" ] )
+ int beds
+
+ Booking() {}
+
+ Booking(Hotel hotel, User user)
+ {
+ this.hotel = hotel
+ this.user = user
+ }
+
+ @Transient
+ @UiHidden
+ @UiFacesNumberConverter(type="currency",currencySymbol="\$")
+ @UiLabel("Total payment")
+ BigDecimal getTotal()
+ {
+ return hotel.price * getNights()
+ }
+
+ @Transient
+ @UiHidden
+ int getNights()
+ {
+ return (int) ( ( checkoutDate.time - checkinDate.time ) / 1000 / 60 / 60 / 24 )
+ }
+
+ @Transient
+ @UiHidden
+ 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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Hotel.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Hotel.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/Hotel.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,57 @@
+//$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
+
+import org.metawidget.inspector.annotation.*;
+import org.metawidget.inspector.faces.*;
+
+@Entity
+@Name("hotel")
+class Hotel implements Serializable
+{
+ @Id @GeneratedValue
+ Long id
+
+ @Size(max=50) @NotNull
+ String name
+
+ @Size(max=100) @NotNull
+ @UiComesAfter( [ "name" ] )
+ String address
+
+ @Size(max=40) @NotNull
+ @UiComesAfter( [ "address" ] )
+ String city
+
+ @Size(min=2, max=10) @NotNull
+ @UiComesAfter( [ "city" ] )
+ String state
+
+ @Size(min=4, max=6) @NotNull
+ @UiComesAfter( [ "state" ] )
+ String zip
+
+ @Size(min=2, max=40) @NotNull
+ @UiComesAfter( [ "zip" ] )
+ String country
+
+ @Column(precision=6, scale=2)
+ @UiComesAfter( [ "country" ])
+ @UiFacesNumberConverter(type="currency",currencySymbol="\$")
+ @UiLabel("Nightly rate")
+ BigDecimal price
+
+ @Override
+ String toString()
+ {
+ return "Hotel(${name},${address},${city},${zip})"
+ }
+}
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/User.groovy
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/User.groovy (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/org/jboss/seam/example/groovy/User.groovy 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,48 @@
+//$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
+
+@Entity
+@Name("user")
+(a)Scope(ScopeType.SESSION)
+@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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/groovy/model/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/META-INF/persistence.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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:jboss/datasources/ExampleDS</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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/import.sql
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/import.sql (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/import.sql 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages.properties (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages.properties 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages_en.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages_en.properties (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/messages_en.properties 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/components.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/faces-config.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<faces-config version="2.1"
+ 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_2_1.xsd">
+</faces-config>
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-deployment-structure.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/jboss-deployment-structure.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,12 @@
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+ <deployment>
+ <dependencies>
+ <module name="org.apache.log4j" export="true"/>
+ <module name="org.dom4j" export="true"/>
+ <module name="org.apache.commons.logging" export="true"/>
+ <module name="org.apache.commons.collections" export="true"/>
+ <module name="javax.faces.api" export="true"/>
+ <module name="com.sun.jsf-impl" export="true"/>
+ </dependencies>
+ </deployment>
+</jboss-deployment-structure>
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/pages.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/WEB-INF/web.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3_0.xsd"
+ version="3.0">
+
+ <!-- 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>
+
+ <context-param>
+ <param-name>org.richfaces.enableControlSkinning</param-name>
+ <param-value>false</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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/conversations.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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}"/>
+  
+ <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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/screen.css
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/screen.css (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/screen.css 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/css/trailblazer_main.css 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/home.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/home.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/home.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h: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">
+<h: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" />
+</h:head>
+<h: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>
+</h:body>
+</h:html>
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/btn.bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/btn.bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cal-next.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cal-next.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cal-prev.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cal-prev.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cnt.bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/cnt.bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/dtpick.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/dtpick.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.ad.jpg
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.ad.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bar.jpg
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bar.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.title.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/hdr.title.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/header_line.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/header_line.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/input.bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/input.bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/sdb.bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/sdb.bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/spinner.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/spinner.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/th.bg.gif
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/img/th.bg.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/index.html (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/index.html 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/password.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/password.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/password.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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"> </div>
+ <div class="input">
+ <h:commandButton id="change" value="Change" action="#{changePassword.changePassword}"/> 
+ <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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/register.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/register.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/register.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h: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">
+<h: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" />
+</h:head>
+<h: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:ajax event="blur" render="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:ajax event="blur" render="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"> </div>
+ <div class="input">
+ <h:commandButton id="register" value="Register" action="#{register.register}"/> 
+ <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>
+</h:body>
+</h:html>
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/template.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/template.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/main/webapp/template.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<h: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">
+<h: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" />
+</h:head>
+<h: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>
+</h:body>
+</h:html>
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/WEB-INF/metawidget.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/WEB-INF/metawidget.xml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/WEB-INF/metawidget.xml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<metawidget xmlns="http://metawidget.org"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://metawidget.org http://metawidget.org/xsd/metawidget-1.0.xsd" version="1.0">
+
+ <htmlMetawidget xmlns="java:org.metawidget.faces.component.html">
+ <rendererType>
+ <string>div</string>
+ </rendererType>
+ <parameter>
+ <string>divStyleClasses</string>
+ <string>entry,label,required,output,error errors</string>
+ </parameter>
+
+ <inspector>
+ <compositeInspector xmlns="java:org.metawidget.inspector.composite" config="CompositeInspectorConfig">
+ <inspectors>
+ <array>
+ <propertyTypeInspector xmlns="java:org.metawidget.inspector.propertytype" config="org.metawidget.inspector.impl.BaseObjectInspectorConfig">
+ <propertyStyle>
+ <groovyPropertyStyle xmlns="java:org.metawidget.inspector.impl.propertystyle.groovy"/>
+ </propertyStyle>
+ </propertyTypeInspector>
+ <metawidgetAnnotationInspector xmlns="java:org.metawidget.inspector.annotation" config="org.metawidget.inspector.impl.BaseObjectInspectorConfig">
+ <propertyStyle>
+ <groovyPropertyStyle xmlns="java:org.metawidget.inspector.impl.propertystyle.groovy"/>
+ </propertyStyle>
+ </metawidgetAnnotationInspector>
+ <facesAnnotationInspector xmlns="java:org.metawidget.inspector.faces" config="org.metawidget.inspector.impl.BaseObjectInspectorConfig">
+ <propertyStyle>
+ <groovyPropertyStyle xmlns="java:org.metawidget.inspector.impl.propertystyle.groovy"/>
+ </propertyStyle>
+ </facesAnnotationInspector>
+ <jpaInspector xmlns="java:org.metawidget.inspector.jpa" config="JpaInspectorConfig">
+ <propertyStyle>
+ <groovyPropertyStyle xmlns="java:org.metawidget.inspector.impl.propertystyle.groovy"/>
+ </propertyStyle>
+ </jpaInspector>
+ <beanValidationInspector xmlns="java:org.metawidget.inspector.beanvalidation" config="org.metawidget.inspector.impl.BaseObjectInspectorConfig">
+ <propertyStyle>
+ <groovyPropertyStyle xmlns="java:org.metawidget.inspector.impl.propertystyle.groovy"/>
+ </propertyStyle>
+ </beanValidationInspector>
+ </array>
+ </inspectors>
+ </compositeInspector>
+ </inspector>
+
+ <widgetBuilder>
+ <compositeWidgetBuilder xmlns="java:org.metawidget.widgetbuilder.composite" config="CompositeWidgetBuilderConfig">
+ <widgetBuilders>
+ <array>
+ <overriddenWidgetBuilder xmlns="java:org.metawidget.faces.component.widgetbuilder"/>
+ <readOnlyWidgetBuilder xmlns="java:org.metawidget.faces.component.html.widgetbuilder"/>
+ <richFacesWidgetBuilder xmlns="java:org.metawidget.faces.component.html.widgetbuilder.richfaces"/>
+ <htmlWidgetBuilder xmlns="java:org.metawidget.faces.component.html.widgetbuilder"/>
+ </array>
+ </widgetBuilders>
+ </compositeWidgetBuilder>
+ </widgetBuilder>
+
+ <widgetProcessors>
+ <array>
+ <requiredAttributeProcessor xmlns="java:org.metawidget.faces.component.widgetprocessor"/>
+ <standardBindingProcessor xmlns="java:org.metawidget.faces.component.widgetprocessor"/>
+ <readableIdProcessor xmlns="java:org.metawidget.faces.component.widgetprocessor"/>
+ <standardConverterProcessor xmlns="java:org.metawidget.faces.component.widgetprocessor"/>
+ </array>
+ </widgetProcessors>
+
+ </htmlMetawidget>
+
+</metawidget>
\ No newline at end of file
Added: branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/book.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/book.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/book.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,51 @@
+<!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"
+ xmlns:m="http://metawidget.org/faces"
+ template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+<div class="section">
+ <h1>Book Hotel</h1>
+</div>
+<div class="section">
+ <h:form id="booking">
+ <fieldset>
+
+ <m:metawidget value="#{hotel}" readOnly="#{true}"/>
+
+ <s:validateAll>
+
+ <m:metawidget value="#{booking}" validatorClass="org.metawidget.faces.component.validator.RequiredValidator">
+ <f:param name="divStyleClasses" value="entry,label,required,input,error errors"/>
+ </m:metawidget>
+
+ </s:validateAll>
+
+ <div class="entry errors">
+ <h:messages globalOnly="true"/>
+ </div>
+
+ <div class="entry">
+ <div class="label"> </div>
+ <div class="input">
+ <h:commandButton id="proceed" value="Proceed" action="#{hotelBooking.setBookingDetails}"/> 
+ <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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/confirm.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/confirm.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/confirm.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,44 @@
+<!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:m="http://metawidget.org/faces"
+ 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>
+
+ <m:metawidget value="#{hotel}" readOnly="#{true}"/>
+
+ <m:metawidget value="#{booking}" readOnly="#{true}">
+ <h:outputText value="#{booking.total}"/>
+ <m:stub value="#{booking.creditCardExpiryMonth}"/>
+ <m:stub value="#{booking.creditCardExpiryYear}"/>
+ </m:metawidget>
+
+ <div class="entry">
+ <div class="label"> </div>
+ <div class="input">
+ <h:commandButton id="confirm" value="Confirm" action="#{hotelBooking.confirm}"/> 
+ <s:button id="revise" value="Revise" view="/book.xhtml"/> 
+ <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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/hotel.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/hotel.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/hotel.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -0,0 +1,34 @@
+<!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:m="http://metawidget.org/faces"
+ template="template.xhtml">
+
+<!-- content -->
+<ui:define name="content">
+<div class="section">
+ <h1>View Hotel</h1>
+</div>
+<div class="section">
+
+ <m:metawidget value="#{hotel}" readOnly="#{true}"/>
+
+</div>
+<div class="section">
+ <h:form id="hotel">
+ <fieldset class="buttonBox">
+ <h:commandButton id="bookHotel" action="#{hotelBooking.bookHotel}" value="Book Hotel"/> 
+ <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_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/main.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/main.xhtml (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/metawidget/groovybooking/groovybooking-web/src/metawidget/webapp/main.xhtml 2012-04-16 09:42:34 UTC (rev 14583)
@@ -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:ajax event="keyup" listener="#{hotelSearch.find}" render="searchResults" />
+ </h:inputText>
+  
+ <a:commandButton id="findHotels" value="Find Hotels" action="#{hotelSearch.find}" render="searchResults"/>
+  
+ <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> 
+ <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>
12 years