[seam-commits] Seam SVN: r14455 - in branches/community/Seam_2_3/examples-ee6: remoting and 136 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Mon Apr 2 02:53:22 EDT 2012


Author: maschmid
Date: 2012-04-02 02:53:18 -0400 (Mon, 02 Apr 2012)
New Revision: 14455

Added:
   branches/community/Seam_2_3/examples-ee6/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-deployment-structure.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-seam-chatroom-hornetq-jms.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomAction.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomActionWebRemote.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomEvent.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomUsers.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/LoggerBean.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/META-INF/ejb-jar.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/selenium/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/selenium/SeleniumChatroomTest.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/webdriver/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/webdriver/WebDriverChatroomTest.java
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources-ftest/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources-ftest/testng.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/faces-config.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.js
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.xhtml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/index.html
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/chatroom/readme.txt
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/application/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/application/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/application/META-INF/jboss-deployment-structure.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/HelloWorld.gwt.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/AskQuestionWidget.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/HelloWorld.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyService.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyServiceAsync.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/ValidationUtility.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/package.html
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/public/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/public/HelloWorld.html
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/server/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/server/ServiceImpl.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/META-INF/ejb-jar.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/test/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/test/selenium/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/test/selenium/GwtTest.java
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources-ftest/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources-ftest/testng.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/history.html
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/index.html
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/gwt/readme.txt
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/application/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/application/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/application/META-INF/jboss-deployment-structure.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/example/remoting/HelloAction.java
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/META-INF/ejb-jar.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/test/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/test/selenium/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/test/selenium/HelloworldTest.java
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources-ftest/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources-ftest/testng.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/faces-config.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/helloworld.xhtml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/index.html
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/helloworld/readme.txt
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/application/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/application/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/application/META-INF/jboss-deployment-structure.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/Progress.java
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarAction.java
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarLocal.java
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/META-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/META-INF/ejb-jar.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/seam.properties
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/pom.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/components.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/faces-config.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/web.xml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/complete.xhtml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/index.html
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/progressbar.xhtml
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/slider.js
   branches/community/Seam_2_3/examples-ee6/remoting/progressbar/readme.txt
Log:
Add remoting examples to examples-ee6


Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,127 @@
+<?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>chatroom</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+    <artifactId>chatroom-ear</artifactId>
+    <packaging>ear</packaging>
+    <name>Chatroom EAR Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+            <artifactId>chatroom-web</artifactId>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+            <artifactId>chatroom-ejb</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.thoughtworks.xstream</groupId>
+                    <artifactId>xstream</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xpp3</groupId>
+                    <artifactId>xpp3_min</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>seam-chatroom</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-ear-plugin</artifactId>
+                <configuration>
+                    <version>6</version>
+                    <defaultLibBundleDir>lib</defaultLibBundleDir>
+                    <!-- Exclude eclipse generated application.xml and manually modified jboss-app.xml during mvn build  -->
+                    <earSourceExcludes>**/application.xml, **/jboss-app.xml</earSourceExcludes>
+                    <!-- use maven generated application.xml instead -->
+                    <generateApplicationXml>true</generateApplicationXml>
+                    <filtering>true</filtering>
+                    <modules>
+                        <webModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                            <artifactId>chatroom-web</artifactId>
+                            <contextRoot>/seam-chatroom</contextRoot>
+                            <bundleFileName>chatroom-web.war</bundleFileName>
+                        </webModule>
+                        <ejbModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                            <artifactId>chatroom-ejb</artifactId>
+                            <bundleFileName>chatroom-ejb.jar</bundleFileName>
+                        </ejbModule>
+                    </modules>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>exploded</id>
+            <properties>
+                <example.name>chatroom</example.name>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                                            <artifactId>chatroom-ear</artifactId>
+                                            <type>ear</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                                            <artifactId>chatroom-web</artifactId>
+                                            <type>war</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-web.war</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                                            <artifactId>chatroom-ejb</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-ejb.jar</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-deployment-structure.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-deployment-structure.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-deployment-structure.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,9 @@
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+  <deployment>
+      <dependencies>
+          <module name="javax.faces.api" export="true"/>
+          <module name="com.sun.jsf-impl" export="true"/>
+          <module name="org.hibernate" export="true"/>
+      </dependencies>
+  </deployment>  
+</jboss-deployment-structure>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-seam-chatroom-hornetq-jms.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-seam-chatroom-hornetq-jms.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ear/src/main/application/META-INF/jboss-seam-chatroom-hornetq-jms.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
+    <hornetq-server>
+        <jms-destinations>
+            <jms-topic name="chatroomTopic">
+                <entry name="/topic/chatroomTopic"/>
+            </jms-topic>
+        </jms-destinations>
+    </hornetq-server>
+</messaging-deployment>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,50 @@
+<?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>chatroom</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+    <artifactId>chatroom-ejb</artifactId>
+    <packaging>ejb</packaging>
+    <name>Chatroom EJB Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>ejb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.faces</groupId>
+            <artifactId>jsf-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-remoting</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.jms</groupId>
+            <artifactId>jms</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.ehcache</groupId>
+            <artifactId>ehcache</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomAction.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomAction.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomAction.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,80 @@
+package org.jboss.seam.example.remoting.chatroom;
+
+import static org.jboss.seam.ScopeType.CONVERSATION;
+
+import java.util.Set;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.jms.TopicPublisher;
+import javax.jms.TopicSession;
+
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.Destroy;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+ at Stateful
+ at Name("chatroomAction")
+ at Scope(CONVERSATION)
+public class ChatRoomAction implements ChatRoomActionWebRemote
+{
+
+   @In(create=true)
+   private transient TopicPublisher topicPublisher;   
+   @In(create=true)
+   private transient TopicSession topicSession;
+
+   @In(create=true)
+   Set<String> chatroomUsers;
+   
+   private String username;
+   
+   @Begin
+   public boolean connect(String username)
+   {
+      this.username = username;
+      boolean added = chatroomUsers.add(username);
+      if (added)
+      {
+         publish( new ChatroomEvent("connect", username) );
+      }
+      return added;
+   }
+
+   public void sendMessage(String message)
+   {
+      publish( new ChatroomEvent("message", username, message) );
+   }
+
+   @End
+   public void disconnect()
+   {
+      chatroomUsers.remove(username);
+      publish( new ChatroomEvent("disconnect", username) );
+   }
+
+   public Set<String> listUsers()
+   {
+      return chatroomUsers;
+   }
+
+   private void publish(ChatroomEvent message)
+   {
+      try
+      {
+         topicPublisher.publish( topicSession.createObjectMessage(message) );
+      } 
+      catch (Exception ex)
+      {
+         throw new RuntimeException(ex);
+      } 
+   }
+   
+   @Destroy
+   @Remove
+   public void destroy() {}
+
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomActionWebRemote.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomActionWebRemote.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatRoomActionWebRemote.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,17 @@
+package org.jboss.seam.example.remoting.chatroom;
+
+import java.util.Set;
+import javax.ejb.Local;
+
+import org.jboss.seam.annotations.remoting.WebRemote;
+
+ at Local
+public interface ChatRoomActionWebRemote {
+  @WebRemote boolean connect(String name);
+  @WebRemote void disconnect();
+  @WebRemote void sendMessage(String message);
+  @WebRemote Set<String> listUsers();
+
+  public void destroy();
+}
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomEvent.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomEvent.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomEvent.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,43 @@
+package org.jboss.seam.example.remoting.chatroom;
+
+import java.io.Serializable;
+
+import org.jboss.seam.annotations.Name;
+
+/**
+ * @author Shane Bryzak
+ */
+ at Name("chatroomEvent")
+public class ChatroomEvent implements Serializable
+{
+   private String action;
+   private String user;
+   private String data;
+
+   public ChatroomEvent(String action, String user)
+   {
+      this(action, user, null);
+   }
+   
+   public ChatroomEvent(String action, String user, String data)
+   {
+      this.action = action;
+      this.user = user;
+      this.data = data;
+   }
+
+   public String getAction()
+   {
+      return action;
+   }
+
+   public String getUser()
+   {
+      return user;
+   }
+
+   public String getData()
+   {
+      return data;
+   }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomUsers.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomUsers.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/ChatroomUsers.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,33 @@
+package org.jboss.seam.example.remoting.chatroom;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.seam.cache.CacheProvider;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.Unwrap;
+
+ at Name("chatroomUsers")
+ at Scope(ScopeType.STATELESS)
+public class ChatroomUsers
+{
+   @SuppressWarnings("unchecked")
+   @In CacheProvider cacheProvider;
+   
+   @SuppressWarnings("unchecked")
+   @Unwrap
+   public Set<String> getUsers()
+   {
+      Set<String> userList = (Set<String>) cacheProvider.get("chatroom", "userList");
+      if (userList==null) 
+      {
+         userList = new HashSet<String>();
+         cacheProvider.put("chatroom", "userList", userList);
+      }
+      return userList;
+   }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/LoggerBean.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/LoggerBean.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/java/org/jboss/seam/example/remoting/chatroom/LoggerBean.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,37 @@
+package org.jboss.seam.example.remoting.chatroom;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+import javax.jms.ObjectMessage;
+
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+
+ at MessageDriven(activationConfig={
+      @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic"),
+      @ActivationConfigProperty(propertyName="destination", propertyValue="topic/chatroomTopic")
+   })
+ at Name("logger")
+public class LoggerBean implements MessageListener
+{
+   
+   @Logger Log log;
+
+   public void onMessage(Message msg)
+   {
+      try
+      {
+         ChatroomEvent event = (ChatroomEvent) ( (ObjectMessage) msg ).getObject();
+         log.info( "#0: #1", event.getUser(), event.getData()==null ? event.getAction() : event.getData() );
+      }
+      catch (JMSException jmse)
+      {
+         throw new RuntimeException(jmse);
+      }
+   }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/META-INF/ejb-jar.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/META-INF/ejb-jar.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar 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/ejb-jar_3_0.xsd"
+         version="3.0">
+         
+   <interceptors>
+     <interceptor>
+       <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+     </interceptor>
+   </interceptors>
+   
+   <assembly-descriptor>
+      <interceptor-binding>
+         <ejb-name>*</ejb-name>
+         <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+      </interceptor-binding>
+   </assembly-descriptor>
+   
+</ejb-jar>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-ejb/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,74 @@
+<?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>chatroom</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+    <artifactId>chatroom-tests</artifactId>
+    <name>Chatroom Integration Tests Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <classifier>jdk15</classifier>
+        </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>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+        </plugins>     
+    </build>    
+
+    <profiles>
+        <profile>
+            <id>ftest-jbossas</id>
+            <properties>
+                <example.context.path>/seam-chatroom</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/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/selenium/SeleniumChatroomTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/selenium/SeleniumChatroomTest.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/selenium/SeleniumChatroomTest.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,160 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.example.remoting.chatroom.test.selenium;
+
+import org.jboss.seam.example.common.test.selenium.SeamSelenium;
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+import static org.testng.AssertJUnit.assertEquals;
+
+/**
+ * This class tests functionality of remoting/chatroom example. 
+ * The test opens two browsers and tests communication between users.
+ * 
+ * @author Martin Gencur
+ * 
+ */
+public class SeleniumChatroomTest extends SeamSeleniumTest
+{
+   public static long timeout = 22000;
+   
+   public static final String HOME_PAGE = "/chatroom.seam";
+   public static final String HOME_PAGE_TITLE = "Chat Room Example";
+   public static final String NAME_INPUT = "id=username";
+   public static final String CONNECT_BUTTON = "id=btnConnect";
+   public static final String DISCONNECT_BUTTON = "id=btnDisconnect";
+   public static final String CONNECT_BUTTON_DISABLED = "xpath=//input[@id='btnConnect'][@disabled]";
+   public static final String DISCONNECT_BUTTON_DISABLED = "xpath=//input[@id='btnDisconnect'][@disabled]";
+   public static final String MESSAGE_INPUT = "id=messageText";
+   public static final String CHAT_AREA = "id=channelDisplay";
+   public static final String NAME1 = "Martin";
+   public static final String NAME2 = "Jozef";
+   public static final String MARTIN_CONNECTED = "xpath=//div[@id='channelDisplay']/span[contains(text(),'Martin connected.')]";
+   public static final String MARTIN_LISTED = "xpath=//div/select[@id='userList']/option[contains(text(),'Martin')]";
+   public static final String JOZEF_CONNECTED = "xpath=//div[@id='channelDisplay']/span[contains(text(),'Jozef connected.')]";
+   public static final String JOZEF_LISTED = "xpath=//div/select[@id='userList']/option[contains(text(),'Jozef')]";
+   public static final String JOZEF_DISCONNECTED = "xpath=//div[@id='channelDisplay']/span[contains(text(),'Jozef disconnected.')]";
+   public static final String MESSAGE_FROM_MARTIN = "Hello";
+   public static final String MESSAGE_FROM_JOZEF = "Good evening";
+   public static final String MARTIN_GT = "xpath=//div[@id='channelDisplay']/span[contains(text(),'Martin>')]";
+   public static final String HELLO = "xpath=//div[@id='channelDisplay']/text()[contains(.,'"+ MESSAGE_FROM_MARTIN +"')]";   
+   public static final String JOZEF_GT = "xpath=//div[@id='channelDisplay']/span[contains(text(),'Jozef>')]";
+   public static final String GOOD_MORNING = "xpath=//div[@id='channelDisplay']/text()[contains(.,'" + MESSAGE_FROM_JOZEF + "')]";
+      
+   protected SeamSelenium browser2;
+   
+   @BeforeMethod
+   @Override
+   public void setUp() {
+      super.setUp();
+      startSecondBrowser();      
+      browser.open(CONTEXT_PATH + HOME_PAGE);      
+      browser2.open(CONTEXT_PATH + HOME_PAGE);
+   }
+   
+   @AfterMethod
+   @Override
+   public void tearDown() {
+       stopSecondBrowser();
+       super.tearDown();
+   }
+   
+   @Test // place holder - should be replaced by better tests as soon as JBSEAM-3944 is resolved
+   public void homePageLoadTest() {
+      assertEquals("Unexpected page title.", HOME_PAGE_TITLE, browser.getTitle());
+   }
+   
+   @Test(dependsOnMethods={"homePageLoadTest"})
+   public void connectAndChatTest(){
+      /*connect user to chat*/
+      connect();      
+      /*verify that user is connected and is seen by other users*/
+      verifyConnecting();      
+      /*exchange several messages*/
+      chat();      
+      /*disconnect user from chat*/
+      disconnect();      
+      /*verify that user is disconnected and is not in a list of users anymore*/
+      verifyDisconnecting();
+   }
+      
+   public void connect(){
+      browser.type(NAME_INPUT, NAME1);
+      browser.click(CONNECT_BUTTON);
+   }
+   
+   public void verifyConnecting(){
+      //browser.waitForElement(MARTIN_CONNECTED, timeout);
+      browser.waitForElement(MARTIN_LISTED, timeout);      
+      browser2.type(NAME_INPUT, NAME2);
+      browser2.click(CONNECT_BUTTON);
+      browser2.waitForElement(JOZEF_LISTED, timeout);
+      browser2.waitForElement(MARTIN_LISTED, timeout);
+      browser.waitForElement(JOZEF_CONNECTED, timeout);
+      browser.waitForElement(JOZEF_LISTED, timeout);
+   }
+   
+   public void disconnect(){
+      browser2.click(DISCONNECT_BUTTON);
+   }
+   
+   public void verifyDisconnecting(){
+      browser2.waitForElementNotPresent(JOZEF_LISTED, timeout);
+      browser2.waitForElement(DISCONNECT_BUTTON_DISABLED, timeout);
+      browser.waitForElement(JOZEF_DISCONNECTED, timeout);
+      browser.waitForElementNotPresent(JOZEF_LISTED, timeout);
+      browser.click(DISCONNECT_BUTTON);
+      browser.waitForElementNotPresent(MARTIN_LISTED, timeout);
+      browser.waitForElement(DISCONNECT_BUTTON_DISABLED, timeout);
+   }
+   
+   public void chat(){
+      /*first user is sending a message*/
+      browser.type(MESSAGE_INPUT, MESSAGE_FROM_MARTIN);
+      browser.focus(MESSAGE_INPUT);
+      browser.keyPressNative("10");//browser.keyPressNative("13");      
+      browser.keyPress(MESSAGE_INPUT,"13");
+      browser.waitForElement(MARTIN_GT, timeout);
+      browser.waitForElement(HELLO, timeout);
+      browser2.waitForElement(MARTIN_GT, timeout);
+      browser2.waitForElement(HELLO, timeout);       
+      /*second user is sending a message*/
+      browser2.type(MESSAGE_INPUT, MESSAGE_FROM_JOZEF);
+      browser2.focus(MESSAGE_INPUT);
+      browser2.keyPressNative("10");
+      browser2.keyPress(MESSAGE_INPUT,"13");
+      browser2.waitForElement(JOZEF_GT, timeout);
+      browser2.waitForElement(GOOD_MORNING, timeout);
+      browser.waitForElement(JOZEF_GT, timeout);
+      browser.waitForElement(GOOD_MORNING, timeout); 
+   }
+      
+   public void startSecondBrowser(){
+      browser2 = super.startBrowser();
+   }
+   
+   public void stopSecondBrowser(){
+      browser2.stop();
+   }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/webdriver/WebDriverChatroomTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/webdriver/WebDriverChatroomTest.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/java/org/jboss/seam/example/remoting/chatroom/test/webdriver/WebDriverChatroomTest.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,242 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.example.remoting.chatroom.test.webdriver;
+
+
+//import static junit.framework.Assert.assertTrue;
+
+import org.jboss.seam.example.common.test.webdriver.AjaxWebDriverFactory;
+import org.jboss.seam.example.common.test.webdriver.AjaxWebDriverTest;
+import org.jboss.seam.example.common.test.webdriver.AjaxWebElement;
+import org.jboss.seam.example.common.test.webdriver.AjaxWebDriver;
+import org.openqa.selenium.By;
+import org.openqa.selenium.Keys;
+import org.openqa.selenium.NoSuchElementException;
+import org.testng.annotations.Test;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import static junit.framework.Assert.assertTrue;
+import static junit.framework.Assert.assertNull;
+import static org.testng.Assert.fail;
+
+/**
+ * This class tests functionality of remoting/chatroom example. 
+ * The test opens two browsers and tests communication between users.
+ * 
+ * @author Martin Gencur
+ * 
+ */
+public class WebDriverChatroomTest extends AjaxWebDriverTest
+{
+   public static int timeout = 16000;
+   
+   public static final String NAME1 = "Martin";
+   public static final String NAME2 = "Jozef";
+   public static final String MESSAGE_FROM_MARTIN = "Hello";
+   public static final String MESSAGE_FROM_JOZEF = "Good evening";
+   public static final String HOME_PAGE = "/chatroom.seam";
+   
+   public static final String HOME_PAGE_TITLE = "Chat Room Example";
+   public static final By NAME_INPUT = By.id("username");
+   public static final By CONNECT_BUTTON = By.id("btnConnect");
+   public static final By DISCONNECT_BUTTON = By.id("btnDisconnect");
+   public static final By CONNECT_BUTTON_DISABLED = By.xpath("//input[@id='btnConnect'][@disabled]");
+   public static final By DISCONNECT_BUTTON_DISABLED = By.xpath("//input[@id='btnDisconnect'][@disabled]");
+   public static final By MESSAGE_INPUT = By.id("messageText");
+   public static final By CHAT_AREA = By.id("channelDisplay");
+   public static final By MARTIN_CONNECTED = By.xpath("//div[@id='channelDisplay']/span[contains(text(),'Martin connected.')]");
+   public static final By MARTIN_LISTED = By.xpath("//div/select[@id='userList']/option[contains(text(),'Martin')]");
+   public static final By JOZEF_CONNECTED = By.xpath("//div[@id='channelDisplay']/span[contains(text(),'Jozef connected.')]");
+   public static final By JOZEF_LISTED = By.xpath("//div/select[@id='userList']/option[contains(text(),'Jozef')]");
+   public static final By JOZEF_DISCONNECTED = By.xpath("//div[@id='channelDisplay']/span[contains(text(),'Jozef disconnected.')]");
+   public static final By MARTIN_GT = By.xpath("//div[@id='channelDisplay']/span[contains(text(),'Martin>')]");
+   public static final By HELLO = By.xpath("//div[@id='channelDisplay']/text()[contains(.,'"+ MESSAGE_FROM_MARTIN +"')]");   
+   public static final By JOZEF_GT = By.xpath("//div[@id='channelDisplay']/span[contains(text(),'Jozef>')]");
+   public static final By GOOD_MORNING = By.xpath("//div[@id='channelDisplay']/text()[contains(.,'" + MESSAGE_FROM_JOZEF + "')]");
+         
+   protected AjaxWebDriver driver2;
+   
+   @BeforeMethod
+   public void setUp() 
+   {
+      startSecondBrowser();      
+      driver.get(serverURL + contextPath + HOME_PAGE);
+      driver2.get(serverURL + contextPath + HOME_PAGE);
+   }
+   
+   @AfterMethod
+   public void tearDown() 
+   {
+       stopSecondBrowser();
+   }
+   
+   @Test
+   public void homePageLoadTest() 
+   {
+      assertTrue("Unexpected page title.", driver.getTitle().contains(HOME_PAGE_TITLE));
+   }
+   
+   @Test(dependsOnMethods={"homePageLoadTest"})
+   public void connectAndChatTest()
+   {
+      /*connect user to chat*/
+      connect();      
+      /*verify that user is connected and is seen by other users*/
+      verifyConnecting();      
+      /*exchange several messages*/
+      chat();      
+      /*disconnect user from chat*/
+      disconnect();      
+      /*verify that user is disconnected and is not in a list of users anymore*/
+      verifyDisconnecting();
+   }
+      
+   public void connect()
+   {
+      
+      driver.findElement(NAME_INPUT).clearAndSendKeys(NAME1, Keys.TAB);
+            
+      driver.setWaitTime(timeout);
+      
+      //more reliable than simple click
+      driver.findElement(CONNECT_BUTTON).clearAndSendKeys(Keys.RETURN);
+      
+      try
+      {
+         Thread.sleep(timeout);
+      }
+      catch (InterruptedException e)
+      {
+      }
+   }
+   
+   public void verifyConnecting()
+   {
+      driver.findElement(MARTIN_LISTED);      
+      driver2.setWaitTime(timeout);
+      driver2.findElement(NAME_INPUT).clearAndSendKeys(NAME2);
+      driver2.findElement(CONNECT_BUTTON).clickAndWait();
+      driver2.findElement(JOZEF_LISTED);
+      driver2.findElement(MARTIN_LISTED);
+      driver.findElement(JOZEF_CONNECTED);
+      driver.findElement(JOZEF_LISTED);
+   }
+   
+   public void disconnect()
+   {
+      driver2.findElement(DISCONNECT_BUTTON).clickAndWait();
+   }
+   
+   public void verifyDisconnecting()
+   {
+      
+      AjaxWebElement el = null;
+      try
+      {
+         el = driver2.findElement(JOZEF_LISTED);
+      }
+      catch (NoSuchElementException e)
+      {         
+      }    
+      assertNull("Jozef should not be listed in second browser window", el);
+
+      driver2.findElement(DISCONNECT_BUTTON_DISABLED);
+      driver.findElement(JOZEF_DISCONNECTED);
+      
+      AjaxWebElement el2 = null;
+      try
+      {
+         el2 = driver.findElement(JOZEF_LISTED);
+      }
+      catch (NoSuchElementException e)
+      {         
+      } 
+      assertNull("Jozef should not be listed in first browser window", el2);
+      
+      driver.findElement(DISCONNECT_BUTTON).clickAndWait();
+
+      AjaxWebElement el3 = null;
+      try
+      {
+         el3 = driver.findElement(MARTIN_LISTED);
+      }
+      catch (NoSuchElementException e)
+      {         
+      }
+      assertNull("Martin should not be listed in first browser window", el3);
+
+      driver.findElement(DISCONNECT_BUTTON_DISABLED);
+   }
+   
+   public void chat()
+   {
+      /*first user is sending a message*/
+      driver.findElement(MESSAGE_INPUT).clearAndSendKeys(MESSAGE_FROM_MARTIN);
+      driver.findElement(MESSAGE_INPUT).sendKeys(Keys.RETURN);
+
+      try 
+      {
+         Thread.sleep(timeout);
+      } catch (InterruptedException e) 
+      {
+      }
+      
+      driver.findElement(MARTIN_GT);
+      driver.findElement(HELLO);
+      driver2.findElement(MARTIN_GT);
+      driver2.findElement(HELLO);   
+      driver2.findElement(MESSAGE_INPUT).clearAndSendKeys(MESSAGE_FROM_JOZEF, Keys.RETURN);
+      
+      try 
+      {
+         Thread.sleep(timeout);
+      } catch (InterruptedException e) 
+      {
+      }
+      
+      driver2.findElement(JOZEF_GT);
+      driver2.findElement(GOOD_MORNING);
+      driver.findElement(JOZEF_GT);
+      driver.findElement(GOOD_MORNING);
+   }
+      
+   public void startSecondBrowser()
+   {
+      try
+      {
+         this.driver2 = AjaxWebDriverFactory.getDriver(this.browser);
+      }
+      catch (IllegalArgumentException e)
+      {
+         fail("Unable to instantiate browser of type: " + this.browser + ", available browsers are: " + AjaxWebDriverFactory.availableBrowsers());
+      }
+      catch (NullPointerException e)
+      {
+         fail("Unable to instantiate browser of type: " + this.browser + ", available browsers are: " + AjaxWebDriverFactory.availableBrowsers());
+      }
+   }
+   
+   public void stopSecondBrowser()
+   {
+      driver2.close();
+   }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources/seam.properties	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources/seam.properties	2012-04-02 06:53:18 UTC (rev 14455)
@@ -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

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources-ftest/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-tests/src/test/resources-ftest/testng.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,24 @@
+<!--
+    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="Web Driver Chatroom example" verbose="2" parallel="false">
+    <test name="chatroom_tests_jboss56">
+        <packages>
+            <package name="org.jboss.seam.example.remoting.chatroom.test.webdriver" />
+        </packages>
+    </test>
+</suite>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,74 @@
+<?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>chatroom</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+    <artifactId>chatroom-web</artifactId>
+    <packaging>war</packaging>
+    <name>Chatroom Web Module (EE6)</name>
+    
+    <properties>
+        <!-- filtering property for components.xml -->
+        <jndiPattern>java:app/chatroom-ejb/#{ejbName}</jndiPattern>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+            <artifactId>chatroom-ejb</artifactId>
+            <type>ejb</type>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-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>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
+    </dependencies>
+  
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/webapp</directory>
+                            <filtering>true</filtering>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+  
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/components.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,28 @@
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:cache="http://jboss.com/products/seam/cache">
+
+    <component name="org.jboss.seam.core.init">
+        <property name="jndiPattern">@jndiPattern@</property>
+    </component>
+    
+    <component name="topicPublisher" class="org.jboss.seam.jms.ManagedTopicPublisher">
+        <property name="topicJndiName">topic/chatroomTopic</property>
+    </component>
+
+    <component class="org.jboss.seam.remoting.messaging.SubscriptionRegistry" installed="true">
+        <property name="allowedTopics">chatroomTopic</property>
+    </component>
+
+    <component name="org.jboss.seam.core.manager">
+        <property name="conversationTimeout">120000</property>
+    </component>
+
+    <cache:eh-cache-provider/>
+    
+    <component name="org.jboss.seam.remoting.remoting">
+      <property name="debug">false</property>
+      <property name="pollTimeout">2</property>
+      <property name="pollInterval">1</property>
+    </component>
+
+</components>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/faces-config.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,7 @@
+<?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/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/WEB-INF/web.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<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">
+
+    <!-- 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>      
+
+    <context-param>
+        <param-name>facelets.DEVELOPMENT</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+        <param-value>.xhtml</param-value>
+    </context-param>
+
+    <!-- Faces Servlet -->
+    
+    <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>
+
+</web-app>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.js
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.js	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.js	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,127 @@
+// Returns a reference to an object by its id
+function getObject(objectId) {
+  if (document.getElementById && document.getElementById(objectId))
+    return document.getElementById(objectId);
+  else if (document.all && document.all(objectId))
+    return document.all(objectId);
+  else if (document.layers && document.layers[objectId])
+    return document.layers[objectId];
+  else
+    return false;
+}
+
+var username = null;
+var connectedFlag = false;
+var chatroom = Seam.Component.getInstance("chatroomAction");
+
+function connect() {
+  var nameCtl = getObject("username");
+  username = nameCtl.value;
+
+  var connectCallback = function(connected, context) {
+    connectedFlag = true;
+    setInterfaceState(connected);
+    getObject("username").value = username;
+    Seam.Remoting.getContext().setConversationId(context.getConversationId());
+  };
+
+  var listUsersCallback = function(users) {
+    for (var i = 0; i < users.length; i++)
+      addUser(users[i]);
+  };
+
+  Seam.Remoting.startBatch();
+  chatroom.connect(username, connectCallback);
+  chatroom.listUsers(listUsersCallback);
+  Seam.Remoting.executeBatch();  
+  Seam.Remoting.subscribe("chatroomTopic", channelMessageCallback);  
+}
+
+function disconnect() {
+  connectedFlag = false;
+  Seam.Remoting.unsubscribe("chatroomTopic");
+  setInterfaceState(false);
+  chatroom.disconnect();
+  getObject("userList").options.length = 0;
+}
+
+function channelMessageCallback(message) {
+  var ctl = getObject("channelDisplay");
+
+  var actionDTO = message.getValue();
+
+  if (actionDTO.action == "message")
+    ctl.innerHTML += "<span style='font-weight:bold" + (actionDTO.getUser() == username ? ";color:green" : "") + "'>" + actionDTO.getUser() + "></span> " + actionDTO.getData() + "<br/>";
+  else if (actionDTO.action == "connect")
+  {
+    addUser(actionDTO.getUser());
+    ctl.innerHTML += "<span style='font-weight:bold;color:red'>" + actionDTO.getUser() + " connected.</span><br/>";
+  }
+  else if (actionDTO.action == "disconnect")
+  {
+    removeUser(actionDTO.getUser());
+    ctl.innerHTML += "<span style='font-weight:bold;color:red'>" + actionDTO.getUser() + " disconnected.</span><br/>";
+  }
+
+  ctl.scrollTop = ctl.scrollHeight;
+}
+
+function addUser(user) {
+  var ctl = getObject("userList");
+  var found = false;
+
+  for (var i = 0; i < ctl.options.length; i++) {
+    if (ctl.options[i].value == user)
+    {
+      found = true;
+      break;
+    }
+  }
+
+  if (!found)
+    ctl.options[ctl.options.length] = new Option(user, user);
+}
+
+function removeUser(user) {
+  var ctl = getObject("userList");
+
+  for (var i = 0; i < ctl.options.length; i++) {
+    if (ctl.options[i].value == user)
+      ctl.options[i] = null;
+  }
+}
+
+function setInterfaceState(connected) {
+  getObject("username").readOnly = connected;
+  getObject("btnConnect").disabled = connected;
+  getObject("btnDisconnect").disabled = !connected;
+}
+
+function sendMessage() {
+  if (!connectedFlag) {
+    alert("Not connected");
+    return;
+  }
+
+  var ctl = getObject("messageText");
+  chatroom.sendMessage(ctl.value);
+  ctl.value = "";
+  // Force a poll so that we see our new message straight away
+  Seam.Remoting.poll();
+}
+
+function checkEnterPressed(e) {
+  if ((window.event && window.event.keyCode == 13) ||
+      (e && e.which == 13))
+  {
+    sendMessage();
+
+    if (navigator.userAgent.indexOf("MSIE") != -1)
+    {
+      window.event.cancelBubble = true;
+      window.event.returnValue = false;
+    }
+    else
+      e.preventDefault();
+  }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/chatroom.xhtml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	  xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:h="http://java.sun.com/jsf/html">
+
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>Chat Room Example</title>
+</head>
+
+<body>
+
+  <script type="text/javascript" src="seam/resource/remoting/resource/remote.js"></script>
+  <script type="text/javascript" src="seam/resource/remoting/interface.js?chatroomAction&amp;chatroomEvent"></script>
+  <script type="text/javascript" src="chatroom.js"></script>
+
+  <h1>Chat Room Example</h1>
+
+  <p>
+    Enter your name <input id="username" type="text"/>
+    <input type="button" id="btnConnect" onclick="javascript:connect()" value="Connect"></input>
+    <input type="button" id="btnDisconnect" disabled="true" onclick="javascript:disconnect()" value="Disconnect"></input>
+  </p>
+
+  <div>
+    <div id="channelDisplay" style="position:absolute;left:10px;width:580px;height:400px;border:1px solid #000000;overflow:auto">
+
+    </div>
+
+    <div style="position:absolute;left:600px;width:190px">
+      <div style="color:#ffffff;background-color:#880022;text-align:center">Users</div>
+      <select id="userList" size="10" style="width:190px;border:1px solid #000000">
+      <!--
+      -->
+      </select>
+    </div>
+
+    <div style="position:relative;top:410px;left:2px">
+      &gt; <input id="messageText" style="border:1px solid black;width:560px" onkeypress="checkEnterPressed(event)"></input>
+    </div>
+  </div>
+
+</body>
+</html>
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/chatroom-web/src/main/webapp/index.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=chatroom.seam">
+</head>
+</html>
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>examples-ee6</artifactId>
+        <groupId>org.jboss.seam</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+    <artifactId>chatroom</artifactId>
+    <packaging>pom</packaging>
+    <name>Chatroom Example (EE6)</name>
+  
+    <modules>
+        <module>chatroom-ejb</module>
+        <module>chatroom-web</module>
+        <module>chatroom-ear</module>
+        <module>chatroom-tests</module>
+    </modules>
+
+    <properties>
+        <example.name>chatroom</example.name>
+        <jms.provider.file>jboss-seam-chatroom-hornetq-jms.xml</jms.provider.file>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                <artifactId>chatroom-ejb</artifactId>
+                <version>${project.version}</version>
+                <type>ejb</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                <artifactId>chatroom-web</artifactId>
+                <version>${project.version}</version>
+                <type>war</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.chatroom</groupId>
+                <artifactId>chatroom-ear</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/chatroom/readme.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/chatroom/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/chatroom/readme.txt	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,33 @@
+Seam Chatroom Example
+=====================
+
+This example shows using Seam Remoting to subscribe and publish messages to JMS. 
+It runs on JBoss AS as an EAR.
+
+NOTE:
+JBoss AS 6 has got new default JMS provider Hornetq, which requires different JMS
+configuration. JBoss AS 5 can have also Hornetq instead of default JBoss Messaging.
+
+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 chatroom-ear directory run:
+
+    mvn jboss:hard-deploy               (when intending to use JBoss Messaging)
+
+    mvn jboss:hard-deploy -Phornetq     (when intending to use HornetQ)
+
+* Open this URL in a web browser: http://localhost:8080/seam-chatroom
+
+To run functional tests for the example on JBoss AS 5 or 6, run:
+
+    mvn verify -Pftest-jbossas          (add a hornetq profile when intending to use HornetQ)
+
+To run functional tests for the example on JBoss AS 4, run:
+
+    mvn verify -Pftest-jbossas -Djbossas.version=4

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,135 @@
+<?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>gwt</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+    <artifactId>gwt-ear</artifactId>
+    <packaging>ear</packaging>
+    <name>Gwt EAR Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+            <artifactId>gwt-web</artifactId>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+            <artifactId>gwt-ejb</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.thoughtworks.xstream</groupId>
+                    <artifactId>xstream</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xpp3</groupId>
+                    <artifactId>xpp3_min</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-remoting</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.gwt</groupId>
+            <artifactId>gwt-servlet</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>seam-gwt</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-ear-plugin</artifactId>
+                <configuration>
+                    <version>6</version>
+                    <defaultLibBundleDir>lib</defaultLibBundleDir>
+                    <!-- Exclude eclipse generated application.xml and manually modified jboss-app.xml during mvn build  -->
+                    <earSourceExcludes>**/application.xml, **/jboss-app.xml</earSourceExcludes>
+                    <!-- use maven generated application.xml instead -->
+                    <generateApplicationXml>true</generateApplicationXml>
+                    <filtering>true</filtering>
+                    <modules>
+                        <webModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                            <artifactId>gwt-web</artifactId>
+                            <contextRoot>/seam-gwt</contextRoot>
+                            <bundleFileName>gwt-web.war</bundleFileName>
+                        </webModule>
+                        <ejbModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                            <artifactId>gwt-ejb</artifactId>
+                            <bundleFileName>gwt-ejb.jar</bundleFileName>
+                        </ejbModule>
+                    </modules>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>exploded</id>
+            <properties>
+                <example.name>gwt</example.name>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                                            <artifactId>gwt-ear</artifactId>
+                                            <type>ear</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                                            <artifactId>gwt-web</artifactId>
+                                            <type>war</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-web.war</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                                            <artifactId>gwt-ejb</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-ejb.jar</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/application/META-INF/jboss-deployment-structure.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/application/META-INF/jboss-deployment-structure.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ear/src/main/application/META-INF/jboss-deployment-structure.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,8 @@
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+  <deployment>
+      <dependencies>
+          <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/remoting/gwt/gwt-ejb/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,75 @@
+<?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>gwt</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+    <artifactId>gwt-ejb</artifactId>
+    <packaging>ejb</packaging>
+    <name>Gwt EJB Module</name>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>gwt-maven-plugin</artifactId>
+                <version>1.2</version> <!-- version 1.2 allows us to specify gwt version by gwt-user dependency -->
+                <configuration>
+                    <generateDirectory>${project.build.outoutDirectory}/${project.build.finalName}</generateDirectory>
+                    <inplace>false</inplace>
+                    <logLevel>TRACE</logLevel>
+                    <extraJvmArgs>-Xmx512m -DDEBUG</extraJvmArgs>
+                    <soyc>false</soyc>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>resources</goal>
+                            <goal>compile</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>ejb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.faces</groupId>
+            <artifactId>jsf-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-remoting</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.gwt</groupId>
+            <artifactId>gwt-servlet</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.gwt</groupId>
+            <artifactId>gwt-user</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/HelloWorld.gwt.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/HelloWorld.gwt.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/HelloWorld.gwt.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,9 @@
+<module>
+
+	<!-- Inherit the core Web Toolkit stuff.                  -->
+	<inherits name='com.google.gwt.user.User'/>
+
+	<!-- Specify the app entry point class.                   -->
+	<entry-point class='org.jboss.seam.example.remoting.gwt.client.HelloWorld'/>
+  
+</module>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/AskQuestionWidget.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/AskQuestionWidget.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/AskQuestionWidget.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,79 @@
+package org.jboss.seam.example.remoting.gwt.client;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.rpc.ServiceDefTarget;
+import com.google.gwt.user.client.ui.AbsolutePanel;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * This shows how to do a a "composite" widget in GWT, as well as how to call back to the server.
+ * @author Michael Neale
+ */
+public class AskQuestionWidget extends Composite
+{
+   private AbsolutePanel panel = new AbsolutePanel();
+   
+   public AskQuestionWidget() 
+   {      
+      Label lbl = new Label("OK, what do you want to know?");
+      panel.add(lbl);
+      final TextBox box = new TextBox();
+      box.setText("What is the meaning of life?");
+      panel.add(box);
+      Button ok = new Button("Ask");
+      ok.addClickListener(new ClickListener() 
+      {
+         public void onClick(Widget w)
+         {
+            ValidationUtility valid = new ValidationUtility();
+            if (!valid.isValid(box.getText())) 
+            {
+               Window.alert("A question has to end with a '?'");
+            } 
+            else 
+            {
+               askServer(box.getText());
+            } 
+         }
+      });
+      panel.add(ok);
+      
+      initWidget(panel);
+   }
+
+   /** Now lets actually go to the server, using a callback - its called Ajax for a reason ! */
+   private void askServer(String text)
+   {
+      getService().askIt(text, new AsyncCallback() 
+      {
+         public void onFailure(Throwable t)
+         {
+            Window.alert(t.getMessage());
+         }
+
+         public void onSuccess(Object data)
+         {
+            Window.alert((String) data);
+         }         
+      });      
+   }
+   
+   /**
+    * This gets the async service client stub. 
+    */
+   private MyServiceAsync getService() 
+   {       
+      String endpointURL = GWT.getModuleBaseURL() + "seam/resource/gwt";      
+      
+      MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);
+      ((ServiceDefTarget) svc).setServiceEntryPoint(endpointURL);
+      return svc;     
+   }   
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/HelloWorld.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/HelloWorld.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/HelloWorld.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,27 @@
+package org.jboss.seam.example.remoting.gwt.client;
+
+import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.user.client.ui.RootPanel;
+
+/**
+ * This is the "main" entry point, as per GWT.
+ * Generally this is a lean class, you tend to use seperate widget classes after this point.
+ * This is pretty much boiler plate, you can mostly ignore this.
+ * 
+ * Entry point classes define <code>onModuleLoad()</code>.
+ */
+public class HelloWorld implements EntryPoint {
+
+  /**
+   * This is the entry point method.
+   */
+  public void onModuleLoad() {
+    // Assume that the host HTML has elements defined whose
+    // IDs are "slot1", "slot2".  In a real app, you probably would not want
+    // to hard-code IDs.  Instead, you could, for example, search for all 
+    // elements with a particular CSS class and replace them with widgets.
+    //
+    RootPanel.get("slot1").add(new AskQuestionWidget());
+
+  }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyService.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyService.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyService.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,15 @@
+package org.jboss.seam.example.remoting.gwt.client;
+
+import com.google.gwt.user.client.rpc.RemoteService;
+
+/**
+ * This is a GWT service, which will be implemented as a Seam component on the server
+ * (see the server package). GWT uses strongly typed RPC interfaces.
+ * 
+ * @author Michael Neale
+ */
+public interface MyService extends RemoteService
+{
+      public String askIt(String question);
+      
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyServiceAsync.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyServiceAsync.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/MyServiceAsync.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,16 @@
+package org.jboss.seam.example.remoting.gwt.client;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.rpc.RemoteService;
+
+/**
+ * This is the interface the client code uses. You NEVER implement this directly, 
+ * GWT does this for you, and calls are marshalled through to the Sync equivalent method in MyService
+ * on the server (which is a Seam component).
+ * 
+ * @author Michael Neale
+ */
+public interface MyServiceAsync extends RemoteService 
+{
+   public void askIt(String question, AsyncCallback callback);
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/ValidationUtility.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/ValidationUtility.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/ValidationUtility.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,22 @@
+package org.jboss.seam.example.remoting.gwt.client;
+
+/**
+ * This simple validation utility shows how you can have the same code on the "client" 
+ * as on the server (ie the server can re-use some code from the client - one of the GWT advantages).
+ * 
+ * @author michael
+ */
+public class ValidationUtility
+{
+
+   public boolean isValid(String question) {
+      if ("".equals(question)) {
+         return false;
+      } else if (!question.trim().endsWith("?")) {
+         return false;
+      } else {
+         return true;
+      }
+   }
+   
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/package.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/package.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/client/package.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,6 @@
+<body>
+This package is the client side GWT code - which can be run as java in debug mode, 
+or compiled to javascript via GWT.
+Code in this package and sub packages can be used on the server, but not vice versa. 
+To communicate with the server, the GWT RPC mechanism with Seam remoting is used. 
+</body>
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/public/HelloWorld.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/public/HelloWorld.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/public/HelloWorld.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,49 @@
+<html>
+	<head>
+	
+		<!--                                           -->
+		<!-- Any title is fine                         -->
+		<!--                                           -->
+		<title>Wrapper HTML for HelloWorld</title>
+
+		<!--                                           -->
+		<!-- Use normal html, such as style            -->
+		<!--                                           -->
+		<style>
+			body,td,a,div,.p{font-family:arial,sans-serif}
+			div,td{color:#000000}
+			a:link,.w,.w a:link{color:#0000cc}
+			a:visited{color:#551a8b}
+			a:active{color:#ff0000}
+		</style>
+		
+	</head>
+
+	<!--                                           -->
+	<!-- The body can have arbitrary html, or      -->
+	<!-- you can leave the body empty if you want  -->
+	<!-- to create a completely dynamic ui         -->
+	<!--                                           -->
+	<body>
+
+		<script language="javascript" src="org.jboss.seam.example.remoting.gwt.HelloWorld.nocache.js"></script>
+
+		<!-- OPTIONAL: include this if you want history support -->
+		<iframe id="__gwt_historyFrame" style="width:0;height:0;border:0"></iframe>
+
+		<h1>HelloWorld</h1>
+
+		<p>
+			This is an example of a host page for the HelloWorld application. 
+			You can attach a Web Toolkit module to any HTML page you like, 
+			making it easy to add bits of AJAX functionality to existing pages 
+			without starting from scratch.
+		</p>
+
+		<table align=center>
+			<tr>
+				<td id="slot1"></td><td id="slot2"></td>
+			</tr>
+		</table>
+	</body>
+</html>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/server/ServiceImpl.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/server/ServiceImpl.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/java/org/jboss/seam/example/remoting/gwt/server/ServiceImpl.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,37 @@
+package org.jboss.seam.example.remoting.gwt.server;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.remoting.WebRemote;
+import org.jboss.seam.example.remoting.gwt.client.MyService;
+import org.jboss.seam.example.remoting.gwt.client.ValidationUtility;
+
+/**
+ * This is the seam component that implements the service the GUI uses.
+ * Note that @WebRemote is needed, as is @Name to match the service full class name
+ * (defaults are not a great idea, as this is open to the wide world !)
+ * 
+ * @author Michael Neale
+ */
+ at Name("org.jboss.seam.example.remoting.gwt.client.MyService")
+public class ServiceImpl implements MyService
+{
+
+   @WebRemote
+   public String askIt(String question)
+   {
+      if (!validate(question)) {
+         throw new IllegalStateException("Hey, this shouldn't happen, I checked on the client, " +
+               "but its always good to double check.");
+      }
+      return "42. Its the real question that you seek now.";
+   }
+   
+   /**
+    * Woh, we can re-use code from the client !
+    */
+   public boolean validate(String q) {
+      ValidationUtility util = new ValidationUtility();
+      return util.isValid(q);
+   }
+
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/META-INF/ejb-jar.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/META-INF/ejb-jar.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar 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/ejb-jar_3_0.xsd"
+         version="3.0">
+         
+   <interceptors>
+     <interceptor>
+       <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+     </interceptor>
+   </interceptors>
+   
+   <assembly-descriptor>
+      <interceptor-binding>
+         <ejb-name>*</ejb-name>
+         <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+      </interceptor-binding>
+   </assembly-descriptor>
+   
+</ejb-jar>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-ejb/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,74 @@
+<?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>gwt</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+    <artifactId>gwt-tests</artifactId>
+    <name>Gwt Integration Tests Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <classifier>jdk15</classifier>
+        </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>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+        </plugins>     
+    </build>    
+
+    <profiles>
+        <profile>
+            <id>ftest-jbossas</id>
+            <properties>
+                <example.context.path>/seam-gwt</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/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/test/selenium/GwtTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/test/selenium/GwtTest.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/java/org/jboss/seam/example/remoting/gwt/test/selenium/GwtTest.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+
+package org.jboss.seam.example.remoting.gwt.test.selenium;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.thoughtworks.selenium.Wait;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This class tests a functionality of remoting/gwt example.
+ * 
+ * @author Martin Gencur
+ * 
+ */
+public class GwtTest extends SeamSeleniumTest
+{
+   protected static final String GWT_URL = "/HelloWorld.html";
+   protected static final String GWT_TITLE = "Wrapper HTML for HelloWorld";   
+   protected static final String ASK_BUTTON = "dom=document.getElementsByTagName('button')[0]";
+   protected static final String TEXT_FIELD = "dom=document.getElementsByTagName('input')[0]";
+   protected static final Long TIMEOUT = 2000L; //2 seconds      
+   
+   protected static final String ENTER_TEXT_WITHOUT = "Text without question mark at the end";
+   protected static final String ENTER_TEXT_WITH = "Text WITH question mark at the end?";
+   
+   protected static final String MESSAGE_WITHOUT = "A question has to end with a \'?\'";
+   protected static final String MESSAGE_WITH = "Its the real question that you seek now";
+ 
+   @Override
+   @BeforeMethod
+   public void setUp()
+   {
+      super.setUp();
+      browser.open(CONTEXT_PATH + GWT_URL);
+   }
+
+   @Test
+   public void simplePageContentTest()
+   {      
+      assertTrue("Home page of Remoting/Gwt Example expected", browser.getLocation().contains(GWT_URL));      
+      assertTrue("Different page title expected ale je:"+ browser.getTitle(),browser.getTitle().contains(GWT_TITLE));
+      assertTrue("Home page should contain Text field", browser.isElementPresent(TEXT_FIELD));
+      assertTrue("Home page should contain Ask button", browser.isElementPresent(ASK_BUTTON));
+   }
+   
+   @Test(dependsOnMethods = {"simplePageContentTest"})
+   public void withoutQuestionMarkTest(){
+      String result = "";   
+      browser.type(TEXT_FIELD, ENTER_TEXT_WITHOUT);
+      browser.click(ASK_BUTTON);
+      waitForAlertPresent(TIMEOUT);
+      result = browser.getAlert();      
+      assertTrue("An alert message should show up and should contain message \"" + MESSAGE_WITHOUT + "\"", result.contains(MESSAGE_WITHOUT));       
+   } 
+   
+   @Test(dependsOnMethods = {"simplePageContentTest"})
+   public void withQuestionMarkTest(){
+      String result = "";   
+      browser.type(TEXT_FIELD, ENTER_TEXT_WITH);
+      browser.click(ASK_BUTTON);
+      waitForAlertPresent(TIMEOUT);
+      result = browser.getAlert();      
+      assertTrue("An alert message should show up and should contain message \"" + MESSAGE_WITH + "\"", result.contains(MESSAGE_WITH));       
+   }    
+   
+   public void waitForAlertPresent(Long timeout){
+      new Wait()
+      {
+         @Override
+         public boolean until()
+         {
+            return browser.isAlertPresent();
+         }
+      }.wait("Timeout while waiting for alert window.", timeout);
+   }   
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources/seam.properties	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources/seam.properties	2012-04-02 06:53:18 UTC (rev 14455)
@@ -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

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources-ftest/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-tests/src/test/resources-ftest/testng.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,25 @@
+<!--
+    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="Gwt example" verbose="2" parallel="false">
+    <test name="remoting_gwt_tests">
+        <parameter name="PROPERTY_FILE" value="" />
+        <classes>
+            <class name="org.jboss.seam.example.remoting.gwt.test.selenium.GwtTest" />
+        </classes>
+    </test>
+</suite>


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

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,61 @@
+<?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>gwt</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+    <artifactId>gwt-web</artifactId>
+    <packaging>war</packaging>
+    <name>Gwt Web Module (EE6)</name>
+    
+    <properties>
+        <!-- filtering property for components.xml -->
+        <jndiPattern>java:app/gwt-ejb/#{ejbName}</jndiPattern>
+    </properties>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/webapp</directory>
+                            <filtering>true</filtering>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                    <executions>
+                        <execution>
+                            <id>copy-resources</id>
+                            <phase>validate</phase>
+                            <goals>
+                                <goal>copy-resources</goal>
+                            </goals>
+                            <configuration>
+                                <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
+                                <resources>          
+                                    <resource>
+                                        <directory>${basedir}/../gwt-ejb/target/gwt-ejb/org.jboss.seam.example.remoting.gwt.HelloWorld</directory>
+                                        <includes>
+                                            <include>**/*</include>
+                                        </includes>
+                                    </resource>
+                              </resources>              
+                            </configuration>            
+                        </execution>
+                    </executions>
+                </plugin>
+        </plugins>
+    </build>
+  
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/components.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+            xmlns:core="http://jboss.com/products/seam/core"
+            xmlns:remoting="http://jboss.com/products/seam/remoting"
+            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/components http://jboss.com/products/seam/components-2.3.xsd
+                 http://jboss.com/products/seam/remoting http://jboss.com/products/seam/remoting-2.3.xsd">
+
+  <core:init jndi-pattern="@jndiPattern@" debug="true"/>
+            
+</components>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/WEB-INF/web.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<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">
+
+  <!-- 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>
+
+</web-app>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/history.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/history.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/history.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,21 @@
+<html>
+<head>
+<script>
+function hst() {
+  var search = location.search;
+  var historyToken = '';
+  if (search.length > 0)
+    historyToken = search.substring(1);
+
+  document.getElementById('__gwt_historyToken').value = historyToken;
+  if (parent.__gwt_onHistoryLoad) {
+    parent.__gwt_onHistoryLoad(historyToken);
+  }
+}
+</script></head>
+<body onload='hst()'>
+
+<input type='text' id='__gwt_historyToken' tabIndex='-1'>
+
+</body>
+</html>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/gwt-web/src/main/webapp/index.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=HelloWorld.html">
+</head>
+</html>
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>examples-ee6</artifactId>
+        <groupId>org.jboss.seam</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+    <artifactId>gwt</artifactId>
+    <packaging>pom</packaging>
+    <name>Gwt Example (EE6)</name>
+  
+    <modules>
+        <module>gwt-ejb</module>
+        <module>gwt-web</module>
+        <module>gwt-ear</module>
+        <module>gwt-tests</module>
+    </modules>
+
+    <properties>
+        <example.name>gwt</example.name>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                <artifactId>gwt-ejb</artifactId>
+                <version>${project.version}</version>
+                <type>ejb</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                <artifactId>gwt-web</artifactId>
+                <version>${project.version}</version>
+                <type>war</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.gwt</groupId>
+                <artifactId>gwt-ear</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/gwt/readme.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/gwt/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/gwt/readme.txt	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,30 @@
+Seam Remoting/Gwt Example
+=========================
+
+This example shows GWT with Seam remoting. 
+It runs on JBoss AS as an EAR.
+
+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 gwt-ear directory run:
+
+    mvn jboss:hard-deploy
+
+* Open this URL in a web browser: http://localhost:8080/seam-gwt
+
+The Gwt front-end is being generated each time upon issuing "mvn package".
+The artifacts are generated in gwt-ejb submodule and later coppied to 
+gwt-web submodule's output directory.
+
+This feature was added in Seam 2.3 version. Before that, the Gwt artifacts 
+were pre-build in a source directory.
+
+If you want to use the GWT hosted mode, well, read all about it from the 
+GWT docs ! A gwt-maven-plugin generating Gwt front-end has this capability, 
+though.

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,127 @@
+<?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>helloworld</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+    <artifactId>helloworld-ear</artifactId>
+    <packaging>ear</packaging>
+    <name>Helloworld EAR Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+            <artifactId>helloworld-web</artifactId>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+            <artifactId>helloworld-ejb</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.thoughtworks.xstream</groupId>
+                    <artifactId>xstream</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xpp3</groupId>
+                    <artifactId>xpp3_min</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>seam-helloworld</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-ear-plugin</artifactId>
+                <configuration>
+                    <version>6</version>
+                    <defaultLibBundleDir>lib</defaultLibBundleDir>
+                    <!-- Exclude eclipse generated application.xml and manually modified jboss-app.xml during mvn build  -->
+                    <earSourceExcludes>**/application.xml, **/jboss-app.xml</earSourceExcludes>
+                    <!-- use maven generated application.xml instead -->
+                    <generateApplicationXml>true</generateApplicationXml>
+                    <filtering>true</filtering>
+                    <modules>
+                        <webModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                            <artifactId>helloworld-web</artifactId>
+                            <contextRoot>/seam-helloworld</contextRoot>
+                            <bundleFileName>helloworld-web.war</bundleFileName>
+                        </webModule>
+                        <ejbModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                            <artifactId>helloworld-ejb</artifactId>
+                            <bundleFileName>helloworld-ejb.jar</bundleFileName>
+                        </ejbModule>
+                    </modules>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>exploded</id>
+            <properties>
+                <example.name>helloworld</example.name>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                                            <artifactId>helloworld-ear</artifactId>
+                                            <type>ear</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                                            <artifactId>helloworld-web</artifactId>
+                                            <type>war</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-web.war</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                                            <artifactId>helloworld-ejb</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-ejb.jar</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/application/META-INF/jboss-deployment-structure.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/application/META-INF/jboss-deployment-structure.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ear/src/main/application/META-INF/jboss-deployment-structure.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,8 @@
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+  <deployment>
+      <dependencies>
+          <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/remoting/helloworld/helloworld-ejb/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,41 @@
+<?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>helloworld</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+    <artifactId>helloworld-ejb</artifactId>
+    <packaging>ejb</packaging>
+    <name>Helloworld EJB Module (EE6)</name>
+        
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>ejb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.faces</groupId>
+            <artifactId>jsf-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-remoting</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/example/remoting/HelloAction.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/example/remoting/HelloAction.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/java/org/jboss/seam/example/remoting/HelloAction.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,12 @@
+package org.jboss.seam.example.remoting;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.remoting.WebRemote;
+
+ at Name("helloAction")
+public class HelloAction {
+   @WebRemote
+   public String sayHello(String name) {
+      return "Hello, " + name;
+   }
+}
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/META-INF/ejb-jar.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/META-INF/ejb-jar.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar 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/ejb-jar_3_0.xsd"
+         version="3.0">
+         
+   <interceptors>
+     <interceptor>
+       <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+     </interceptor>
+   </interceptors>
+   
+   <assembly-descriptor>
+      <interceptor-binding>
+         <ejb-name>*</ejb-name>
+         <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+      </interceptor-binding>
+   </assembly-descriptor>
+   
+</ejb-jar>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-ejb/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,96 @@
+<?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>helloworld</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+    <artifactId>helloworld-tests</artifactId>
+    <name>Helloworld Integration Tests Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <classifier>jdk15</classifier>
+        </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>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+        </plugins>     
+    </build>    
+
+    <profiles>
+        <profile>
+            <id>ftest-jbossas</id>
+            <properties>
+                <example.context.path>/seam-helloworld</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>
+        <profile>
+            <id>ftest-tomcat</id>
+            <properties>
+                <example.context.path>/jboss-seam-helloworld</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/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/test/selenium/HelloworldTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/test/selenium/HelloworldTest.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/java/org/jboss/seam/example/remoting/helloworld/test/selenium/HelloworldTest.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+
+package org.jboss.seam.example.remoting.helloworld.test.selenium;
+
+import org.jboss.seam.example.common.test.selenium.SeamSeleniumTest;
+
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.thoughtworks.selenium.Wait;
+
+import static org.testng.AssertJUnit.*;
+
+/**
+ * This class tests a functionality of remoting/helloworld example.
+ * 
+ * @author Martin Gencur
+ * 
+ */
+public class HelloworldTest extends SeamSeleniumTest
+{
+   protected static final String HELLOWORLD_URL = "/helloworld.seam";
+   protected static final String HELLOWORLD_TITLE = "Seam Remoting - Hello World Example";
+   protected static final String SAYHELLO_BUTTON = "xpath=//button[contains(@onclick,\"sayHello\")]";
+   protected static final String PROMPT_ANSWER = "Martin";
+   protected static final String ALERT_MESSAGE = "Hello, Martin";
+   protected static final Long TIMEOUT = 10000L; //10 seconds         
+   
+   @Override
+   @BeforeMethod
+   public void setUp()
+   {
+      super.setUp();
+      browser.open(CONTEXT_PATH + HELLOWORLD_URL);
+   }
+
+   @Test
+   public void simplePageContentTest()
+   {
+      assertTrue("Home page of Remoting/Helloworld Example expected", browser.getLocation().contains(HELLOWORLD_URL));      
+      assertTrue("Different page title expected",browser.getTitle().contains(HELLOWORLD_TITLE)); 
+      assertTrue("Home page should contain Say Hello button", browser.isElementPresent(SAYHELLO_BUTTON));
+   }
+   
+   @Test(dependsOnMethods = {"simplePageContentTest"})
+   public void sayHelloButtonTest(){
+      String result = "";
+      browser.answerOnNextPrompt(PROMPT_ANSWER);
+      browser.click(SAYHELLO_BUTTON);
+      waitForAlertPresent(TIMEOUT);
+      result = browser.getAlert();
+      assertTrue("An alert message should show up and should contain \"Hello,\" and name.", result.contains(ALERT_MESSAGE));      
+   }   
+   
+   public void waitForAlertPresent(Long timeout){
+      new Wait()
+      {
+         @Override
+         public boolean until()
+         {
+            return browser.isAlertPresent();
+         }
+      }.wait("Timeout while waiting for alert window.", timeout);
+   }   
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources/seam.properties
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources/seam.properties	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources/seam.properties	2012-04-02 06:53:18 UTC (rev 14455)
@@ -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

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources-ftest/testng.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources-ftest/testng.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-tests/src/test/resources-ftest/testng.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,25 @@
+<!--
+    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="Helloworld example" verbose="2" parallel="false">
+    <test name="remoting_helloworld_tests">
+        <parameter name="PROPERTY_FILE" value="" />
+        <classes>
+            <class name="org.jboss.seam.example.remoting.helloworld.test.selenium.HelloworldTest" />
+        </classes>
+    </test>
+</suite>


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

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,109 @@
+<?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>helloworld</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+    <artifactId>helloworld-web</artifactId>
+    <packaging>war</packaging>
+    <name>Helloworld Web Module</name>
+    
+    <properties>
+        <!-- filtering property for components.xml -->
+        <jndiPattern>java:app/helloworld-ejb/#{ejbName}</jndiPattern>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+            <artifactId>helloworld-ejb</artifactId>
+            <type>ejb</type>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-ui</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.jboss.seam</groupId>
+                    <artifactId>jboss-seam-jul</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+        </dependency>
+    </dependencies>
+  
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/webapp</directory>
+                            <filtering>true</filtering>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <profiles>
+        <profile>
+            <id>tomcat</id>
+            <dependencies>
+                <dependency>
+                    <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                    <artifactId>helloworld-ejb</artifactId>
+                    <type>ejb</type>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.jboss.seam</groupId>
+                    <artifactId>jboss-seam</artifactId>
+                    <type>ejb</type>
+                    <scope>compile</scope>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>com.thoughtworks.xstream</groupId>
+                            <artifactId>xstream</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>xpp3</groupId>
+                            <artifactId>xpp3_min</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-api</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-impl</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+            </dependencies>
+            <build>
+                <finalName>jboss-seam-helloworld</finalName>
+            </build>
+        </profile>
+    </profiles>
+  
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/components.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,15 @@
+<components xmlns="http://jboss.com/products/seam/components">
+
+    <component name="org.jboss.seam.core.init">
+        <property name="jndiPattern">@jndiPattern@</property>
+    </component>
+ 
+    <component name="org.jboss.seam.core.manager">
+        <property name="conversationTimeout">120000</property>
+    </component>
+    
+    <component name="org.jboss.seam.remoting.remoting">
+      <property name="debug">true</property>
+    </component>
+
+</components>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/faces-config.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,7 @@
+<?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/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/WEB-INF/web.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<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.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>
+
+    <context-param>
+        <param-name>facelets.DEVELOPMENT</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+        <param-value>.xhtml</param-value>
+    </context-param>
+
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.seam</url-pattern>
+    </servlet-mapping>
+
+</web-app>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/helloworld.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/helloworld.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/helloworld.xhtml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	  xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:h="http://java.sun.com/jsf/html"
+	  xmlns:s="http://jboss.com/products/seam/taglib">
+
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>Seam Remoting - Hello World Example</title>
+</head>
+
+<body>
+
+  <h1>Seam Remoting - Hello World Example</h1>
+  
+  <p>
+  
+  </p>
+
+  <s:remote include="helloAction"/>
+  
+  <script type="text/javascript">    
+    function sayHello() {
+      var name = prompt("What is your name?");
+      if (name == null) return;
+      var callback = function(result) { alert(result); };
+      Seam.Component.getInstance("helloAction").sayHello(name, callback);
+    }
+  </script>  
+
+  <button onclick="javascript:sayHello()">Say Hello</button>
+
+</body>
+</html>
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/helloworld-web/src/main/webapp/index.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=helloworld.seam">
+</head>
+</html>
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>examples-ee6</artifactId>
+        <groupId>org.jboss.seam</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+    <artifactId>helloworld</artifactId>
+    <packaging>pom</packaging>
+    <name>Helloworld Example (EE6)</name>
+  
+    <modules>
+        <module>helloworld-ejb</module>
+        <module>helloworld-web</module>
+        <module>helloworld-ear</module>
+        <module>helloworld-tests</module>
+    </modules>
+
+    <properties>
+        <example.name>helloworld</example.name>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                <artifactId>helloworld-ejb</artifactId>
+                <version>${project.version}</version>
+                <type>ejb</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                <artifactId>helloworld-web</artifactId>
+                <version>${project.version}</version>
+                <type>war</type>
+            </dependency>
+            <dependency>
+                <groupId>org.jboss.seam.examples-ee6.remoting.helloworld</groupId>
+                <artifactId>helloworld-ear</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/helloworld/readme.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/helloworld/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/helloworld/readme.txt	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,29 @@
+Seam Remoting/Helloworld Example
+================================
+
+This example is a trivial example of Seam Remoting. It runs on JBoss AS as an
+EAR and on Tomcat with JBoss Embedded as a WAR.
+
+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 helloworld-ear directory run:
+
+    mvn jboss:hard-deploy
+
+* Open this URL in a web browser: http://localhost:8080/seam-helloworld
+
+To deploy the example to Tomcat with Embedded JBoss, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package -Ptomcat
+
+* Deploy the resulting war from helloworld-web/target directory to Tomcat manually
+
+* Open this URL in a web browser: http://localhost:8080/jboss-seam-helloworld

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

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,127 @@
+<?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>progressbar</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+    <artifactId>progressbar-ear</artifactId>
+    <packaging>ear</packaging>
+    <name>Progressbar EAR Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+            <artifactId>progressbar-web</artifactId>
+            <type>war</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+            <artifactId>progressbar-ejb</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+            <scope>compile</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.thoughtworks.xstream</groupId>
+                    <artifactId>xstream</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xpp3</groupId>
+                    <artifactId>xpp3_min</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>seam-progressbar</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-ear-plugin</artifactId>
+                <configuration>
+                    <version>6</version>
+                    <defaultLibBundleDir>lib</defaultLibBundleDir>
+                    <!-- Exclude eclipse generated application.xml and manually modified jboss-app.xml during mvn build  -->
+                    <earSourceExcludes>**/application.xml, **/jboss-app.xml</earSourceExcludes>
+                    <!-- use maven generated application.xml instead -->
+                    <generateApplicationXml>true</generateApplicationXml>
+                    <filtering>true</filtering>
+                    <modules>
+                        <webModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+                            <artifactId>progressbar-web</artifactId>
+                            <contextRoot>/seam-progressbar</contextRoot>
+                            <bundleFileName>progressbar-web.war</bundleFileName>
+                        </webModule>
+                        <ejbModule>
+                            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+                            <artifactId>progressbar-ejb</artifactId>
+                            <bundleFileName>progressbar-ejb.jar</bundleFileName>
+                        </ejbModule>
+                    </modules>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>exploded</id>
+            <properties>
+                <example.name>progressbar</example.name>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+                                            <artifactId>progressbar-ear</artifactId>
+                                            <type>ear</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+                                            <artifactId>progressbar-web</artifactId>
+                                            <type>war</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-web.war</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+                                            <artifactId>progressbar-ejb</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}/${project.build.finalName}-exploded/${project.build.finalName}.ear/${example.name}-ejb.jar</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/application/META-INF/jboss-deployment-structure.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/application/META-INF/jboss-deployment-structure.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ear/src/main/application/META-INF/jboss-deployment-structure.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,11 @@
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+  <deployment>
+      <dependencies>
+          <module name="org.apache.log4j" 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/remoting/progressbar/progressbar-ejb/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,41 @@
+<?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>progressbar</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+    <artifactId>progressbar-ejb</artifactId>
+    <packaging>ejb</packaging>
+    <name>Progressbar EJB Module (EE6)</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>ejb-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.faces</groupId>
+            <artifactId>jsf-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam-remoting</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/Progress.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/Progress.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/Progress.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,39 @@
+package org.jboss.seam.example.remoting;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+/**
+ * Contains progress information.
+ *
+ * @author Shane Bryzak
+ * @version 1.0
+ */
+ at Name("progress")
+ at Scope(ScopeType.SESSION)
+public class Progress {
+
+  private int percentComplete;
+  private String status;
+
+  public int getPercentComplete()
+  {
+    return percentComplete;
+  }
+
+  public void setPercentComplete(int percentComplete)
+  {
+    this.percentComplete = percentComplete;
+  }
+
+  public String getStatus()
+  {
+    return status;
+  }
+
+  public void setStatus(String status)
+  {
+    this.status = status;
+  }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarAction.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarAction.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarAction.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,37 @@
+package org.jboss.seam.example.remoting;
+
+import java.util.Random;
+
+import javax.ejb.Stateless;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+
+ at Stateless
+ at Name("progressBarAction")
+public class ProgressBarAction implements ProgressBarLocal {
+
+  @In(create = true)
+  Progress progress;
+
+  public String doSomething() {
+    Random r = new Random(System.currentTimeMillis());
+    try {
+      for (int i = 1; i <= 100;)
+      {
+        Thread.sleep(r.nextInt(200));
+        progress.setPercentComplete(i);
+        i++;
+      }
+    }
+    catch (InterruptedException ex) {
+    }
+
+    return "/complete.xhtml";
+  }
+
+  public Progress getProgress()
+  {
+    return progress;
+  }
+}

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarLocal.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarLocal.java	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/java/org/jboss/seam/example/remoting/ProgressBarLocal.java	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,12 @@
+package org.jboss.seam.example.remoting;
+
+import javax.ejb.Local;
+
+import org.jboss.seam.annotations.remoting.WebRemote;
+
+ at Local
+public interface ProgressBarLocal {
+  String doSomething();
+  @WebRemote Progress getProgress();
+}
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/META-INF/ejb-jar.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/META-INF/ejb-jar.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/META-INF/ejb-jar.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar 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/ejb-jar_3_0.xsd"
+         version="3.0">
+         
+   <interceptors>
+     <interceptor>
+       <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+     </interceptor>
+   </interceptors>
+   
+   <assembly-descriptor>
+      <interceptor-binding>
+         <ejb-name>*</ejb-name>
+         <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
+      </interceptor-binding>
+   </assembly-descriptor>
+   
+</ejb-jar>

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-ejb/src/main/resources/seam.properties
===================================================================
Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/pom.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/pom.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/pom.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,98 @@
+<?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>progressbar</artifactId>
+        <groupId>org.jboss.seam.examples-ee6.remoting</groupId>
+        <version>2.3.0.Beta2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+    <artifactId>progressbar-web</artifactId>
+    <packaging>war</packaging>
+    <name>Progressbar Web Module (EE6)</name>
+    
+    <properties>
+        <!-- filtering property for components.xml -->
+        <jndiPattern>java:app/progressbar-ejb/#{ejbName}</jndiPattern>
+    </properties>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+            <artifactId>progressbar-ejb</artifactId>
+            <type>ejb</type>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.seam</groupId>
+            <artifactId>jboss-seam</artifactId>
+            <type>ejb</type>
+        </dependency>
+    </dependencies>
+  
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/webapp</directory>
+                            <filtering>true</filtering>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <profiles>
+        <profile>
+            <id>tomcat</id>
+            <properties>
+                <jndiPattern>#{ejbName}/local</jndiPattern>
+            </properties>
+            <dependencies>
+                <dependency>
+                    <groupId>org.jboss.seam.examples-ee6.remoting.progressbar</groupId>
+                    <artifactId>progressbar-ejb</artifactId>
+                    <type>ejb</type>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.jboss.seam</groupId>
+                    <artifactId>jboss-seam</artifactId>
+                    <type>ejb</type>
+                    <scope>compile</scope>
+                    <exclusions>
+                        <exclusion>
+                            <groupId>com.thoughtworks.xstream</groupId>
+                            <artifactId>xstream</artifactId>
+                        </exclusion>
+                        <exclusion>
+                            <groupId>xpp3</groupId>
+                            <artifactId>xpp3_min</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-api</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-impl</artifactId>
+                    <scope>compile</scope>
+                </dependency>
+            </dependencies>
+            <build>
+                <finalName>jboss-seam-progressbar</finalName>
+            </build>
+        </profile>
+    </profiles>
+  
+</project>

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/components.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/components.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/components.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,11 @@
+<components xmlns="http://jboss.com/products/seam/components">
+
+    <component name="org.jboss.seam.core.init">
+        <property name="jndiPattern">@jndiPattern@</property>
+    </component>
+ 
+    <component name="org.jboss.seam.core.manager">
+        <property name="conversationTimeout">120000</property>
+    </component>
+
+</components>

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/faces-config.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,7 @@
+<?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/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/WEB-INF/web.xml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<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.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>
+    
+    <context-param>
+        <param-name>facelets.DEVELOPMENT</param-name>
+        <param-value>true</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+        <param-value>.xhtml</param-value>
+    </context-param>
+
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+
+    <!-- Faces Servlet Mapping -->
+
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.seam</url-pattern>
+    </servlet-mapping>
+
+</web-app>
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/complete.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/complete.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/complete.xhtml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	  xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:h="http://java.sun.com/jsf/html">
+
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>Seam Remoting Framework</title>
+</head>
+
+<body>
+
+  <h1>Action complete</h1>
+
+</body>
+</html>
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/index.html
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/index.html	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/index.html	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=progressbar.seam">
+</head>
+</html>
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/progressbar.xhtml
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/progressbar.xhtml	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/progressbar.xhtml	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	  xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:h="http://java.sun.com/jsf/html">
+
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>Seam Remoting Progress Bar Example</title>
+	
+	<style>
+
+    div.slider-box
+    {
+      position: relative;
+      width: 200px;
+      height: 20px;
+      border: 1px solid #cccccc; 
+      background-color: white;
+      color: white;
+      margin-bottom: 4px;
+    }	
+
+    div.slider-progress
+    {
+      color: black;
+      font-family: helvetica;
+      font-size: 9pt;
+      padding: 2px;
+      font-weight: bold;
+    }
+
+	</style>
+</head>
+
+<body>
+
+  <script type="text/javascript" src="seam/resource/remoting/resource/remote.js"></script>
+  <script type="text/javascript" src="seam/resource/remoting/interface.js?progressBarAction"></script> 
+  <script type="text/javascript" src="slider.js"></script>
+  
+  <script type="text/javascript">
+    //<![CDATA[
+       
+    // don't display the loading indicator
+    Seam.Remoting.displayLoadingMessage = function() {};
+    Seam.Remoting.hideLoadingMessage = function() {};
+    
+    var progressBarAction = Seam.Component.getInstance("progressBarAction");
+    
+    function queryProgress() {
+      setTimeout("getProgress()", 250);
+    }
+    
+    function getProgress() {
+      progressBarAction.getProgress(progressCallback);    
+    }
+    
+    function progressCallback(progress) {  
+      progressBar.setPosition(progress.percentComplete);
+      if (progress.percentComplete < 100)
+        queryProgress();
+    }
+
+    // ]]>
+  </script>  
+
+  <h1>Seam Progress Bar Demo</h1>
+   
+  <p>This small example demonstrates how to implement a progress bar for long-running actions, using Seam Remoting.</p>
+
+  <h:form onsubmit="queryProgress();return true;"> 
+   
+    <h:commandButton style="width:80px" value="Go!" action="#{progressBarAction.doSomething}" styleClass="button"/>    
+  
+  </h:form>
+  
+  <div id="progressBar"></div>
+   
+  <script type="text/javascript">
+    //<![CDATA[
+    
+		var progressBar = qfSliderFactory.addSlider("progressBar");
+	  progressBar.setMaxValue(100);
+	  progressBar.setWidth(200);
+	  progressBar.setClassName("slider-box");
+	  progressBar.setUsedColour("#0000cf");
+	  progressBar.setShowProgress(true);
+	  progressBar.setProgressClassName("slider-progress");
+	  progressBar.repaint();   
+
+    // ]]>
+  </script>    
+
+</body>
+</html>
+

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/slider.js
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/slider.js	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/progressbar-web/src/main/webapp/slider.js	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,635 @@
+function getObject(objectId)
+{
+  if (document.getElementById && document.getElementById(objectId))
+    return document.getElementById(objectId);
+  else if (document.all && document.all(objectId))
+    return document.all(objectId);
+  else if (document.layers && document.layers[objectId])
+    return document.layers[objectId];
+  else
+    return null;
+};
+
+function getStyleObject(objectId) 
+{
+  if(document.getElementById && document.getElementById(objectId)) 
+	  return document.getElementById(objectId).style;
+  else if (document.all && document.all(objectId))
+  	return document.all(objectId).style;
+  else if (document.layers && document.layers[objectId])
+    return document.layers[objectId];
+  else
+	  return null;
+};
+
+// Returns the location and dimensions of a control
+function __getControlDim(ctl)
+{
+  var width = ctl.offsetWidth;
+  var height = ctl.offsetHeight;
+	for (var lx = 0, ly = 0; ctl != null; lx += ctl.offsetLeft, ly += ctl.offsetTop, ctl = ctl.offsetParent);
+	return {x:lx, y:ly, width:width, height:height};
+};
+
+function inverseRGB(rgbString)
+{
+  if (!rgbString || (rgbString = ""))
+    rgbString = "rgb(0,0,0)";
+    
+  var elts = rgbString.slice(4, rgbString.length - 1).split(",");
+  return "rgb(" + (255 - elts[0]) + "," + (255 - elts[1]) + "," + (255 - elts[2]) + ")";    
+};
+
+function __TagAttribute(name, value)
+{
+  this.name = name;
+  this.value = value; 
+};
+
+function __Tag(name)
+{
+  this.name = name; 
+  this.attributes = new Array();
+  this.childTags = new Array();
+  this.text = "";
+  
+  __Tag.prototype.addChildTag = function(name)
+  {
+    var childTag = new __Tag(name);
+    this.appendChild(childTag);
+    return childTag; 
+  };
+  
+  __Tag.prototype.appendChild = function(childTag)
+  {
+    this.childTags[this.childTags.length] = childTag;
+  };
+  
+  __Tag.prototype.setAttribute = function(name, value)
+  {
+    this.attributes[this.attributes.length] = new __TagAttribute(name, value);
+  };
+  
+  __Tag.prototype.setText = function(text)
+  {
+    this.text = text; 
+  };
+  
+  __Tag.prototype.getHTML = function()
+  {
+    var html = "<" + this.name;
+    for (var i = 0; i < this.attributes.length; i++)
+    {
+      var tagAttribute = this.attributes[i];
+      html += " " + tagAttribute.name + "=\"" + tagAttribute.value + "\"";
+    } 
+    html += ">" + this.text;
+    
+    for (var i = 0; i < this.childTags.length; i++)
+    {
+      html += this.childTags[i].getHTML();  
+    }
+    
+    html += "</" + this.name + ">";
+    return html;
+  };
+};
+
+function __SliderFactory()
+{
+  this.sliders = new Array();
+  
+  __SliderFactory.prototype.addSlider = function (divId)
+  {
+  	var slider = new __Slider(divId);
+  	this.sliders[this.sliders.length] = slider;
+  	return slider;
+  };
+  
+  __SliderFactory.prototype.getSliderByName = function (name)
+  {
+    for (var i = 0; i < this.sliders.length; i++)
+    {
+      if (this.sliders[i].sliderName == name)
+        return this.sliders[i];
+    }
+    return null;
+  };  
+}
+
+
+function qfSliderLimits(top, right, bottom, left)
+{
+  this.top = top;
+  this.right = right;
+  this.bottom = bottom;
+  this.left = left;
+}
+
+// TODO percentage indicator
+// TODO verticial (bottom to top)
+// TODO reverse painting Top to Bottom
+// TODO snap to closest value (multiple of abs(step))
+
+var qfSlider_VERTICAL = "vertical";
+var qfSlider_HORIZONTAL = "horizontal";
+
+function __Slider(divId)
+{
+  this.sliderName = divId;
+  this.divId = "__" + divId; 
+  this.divCtl = getObject(divId);
+  this.width = 0;
+  this.height = 0;
+  this.minValue = 0;
+  this.maxValue = 0;
+  this.position = 0;
+  this.stepAmt = 1;
+  this.horizontal = true;
+  this.onChange = null;
+  this.className = "";
+  this.thumbClassName = "";
+  this.showProgress = false;
+  this.progressClassName = "";
+  this.reversePaint = false;
+
+  this.showThumb = false;
+  this.thumbLimits = new qfSliderLimits(0, 0, 0, 0);
+
+  this.showUsed = true;
+  this.usedLimits = new qfSliderLimits(0, 0, 0, 0);
+  this.usedColour = "navy";
+  this.usedClassName = "";
+  
+  this.showRemain = false;
+  this.remainLimits = new qfSliderLimits(0, 0, 0, 0);
+  this.remainColour = "white";
+  this.remainClassName = "";
+
+  this.innerDivId = this.divId + "_inner";
+  this.thumbDivId = this.divId + "_thumb";
+  this.usedDivId = this.divId + "_used";
+  this.remainDivId = this.divId + "_rem";
+  this.progressUsedDivId = this.divId + "p_used";
+  this.progressRemainDivId = this.divId + "p_remain";
+  
+  __Slider.prototype.setWidth = function(value) 
+  { 
+    this.width = 1 * value; 
+  };
+  
+  __Slider.prototype.setHeight = function(value) 
+  { 
+    this.height = 1 * value; 
+  };
+
+  __Slider.prototype.setMinValue = function(value) 
+  { 
+    this.minValue = 1 * value; 
+  };
+
+  __Slider.prototype.setMaxValue = function(value) 
+  { 
+    this.maxValue = 1 * value; 
+  };
+
+  __Slider.prototype.setStep = function(value) 
+  { 
+    this.stepAmt = 1 * value; 
+  };
+
+  __Slider.prototype.setOrientation = function(value) 
+  { 
+    this.horizontal = (value == qfSlider_HORIZONTAL); 
+  };
+
+  __Slider.prototype.setOnChange = function(func) 
+  { 
+    this.onChange = func; 
+  };
+
+  __Slider.prototype.setPosition = function(value) 
+  { 
+    this.position = 1 * value;
+    this.step(0); 
+  };
+  
+  __Slider.prototype.setClassName = function(value) 
+  { 
+    this.className = value; 
+  };
+
+  __Slider.prototype.setThumbClassName = function(value) 
+  { 
+    this.thumbClassName = value; 
+  };
+  
+  __Slider.prototype.setShowThumb = function(value) 
+  { 
+    this.showThumb = value; 
+  };
+
+  __Slider.prototype.setThumbLimits = function(value) 
+  { 
+    this.thumbLimits = value; 
+  };
+
+  __Slider.prototype.setShowUsed = function(value) 
+  { 
+    this.showUsed = value; 
+  };
+
+  __Slider.prototype.setUsedLimits = function(value) 
+  { 
+    this.usedLimits = value; 
+  };
+
+  __Slider.prototype.setUsedColour = function(value) 
+  { 
+    this.usedColour = value; 
+  };
+
+  __Slider.prototype.setUsedClassName = function(value) 
+  { 
+    this.usedClassName = value; 
+  };
+
+  __Slider.prototype.setShowRemain = function(value) 
+  { 
+    this.showRemain = value; 
+  };
+
+  __Slider.prototype.setRemainLimits = function(value) 
+  { 
+    this.remainLimits = value; 
+  };
+
+  __Slider.prototype.setRemainColour = function(value) 
+  { 
+    this.remainColour = value; 
+  };
+  
+  __Slider.prototype.setRemainClassName = function(value) 
+  { 
+    this.remainClassName = value; 
+  };
+
+  __Slider.prototype.setShowProgress = function(value) 
+  { 
+    this.showProgress = value; 
+  };
+
+  __Slider.prototype.setProgressClassName = function(value) 
+  { 
+    this.progressClassName = value; 
+  };
+
+  __Slider.prototype.setReversePaint = function(value) 
+  { 
+    this.reversePaint = value; 
+  };
+
+  __Slider.prototype.getHTML = function()
+  {
+    var html = "";
+    
+    // Used for internal sizings of the div (excluding the border).
+    var innerDivTag = new __Tag("div");
+    innerDivTag.setAttribute("id", this.innerDivId);
+    innerDivTag.setAttribute("style", "position:relative;width:100%;height:100%"); 
+    html += innerDivTag.getHTML();
+    
+	  // Used Div
+	  var usedDivTag = new __Tag("div");
+	  usedDivTag.setAttribute("id", this.usedDivId);
+	  var usedStyle = "visibility:hidden;position:absolute;";
+	  
+	  if (this.usedClassName != "")
+	    usedDivTag.setAttribute("class", this.usedClassName);
+	  else if (this.usedColor != "")
+	    usedStyle += "background-color:" + this.usedColour;
+	    
+    usedDivTag.setAttribute("style", usedStyle);
+    html += usedDivTag.getHTML();
+
+    // Remaining Div
+	  var remainDivTag = new __Tag("div");
+	  remainDivTag.setAttribute("id", this.remainDivId);
+	  
+	  var remainStyle = "visibility:hidden;position:absolute;";
+	  
+	  if (this.remainClassName != "")
+	    remainDivTag.setAttribute("class", this.remainClassName);
+	  else if (this.remainColor != "")
+	    remainStyle += "background-color:" + this.remainColour;
+	    
+    remainDivTag.setAttribute("style", remainStyle);
+    html += remainDivTag.getHTML();
+    
+    // Progress Text
+    var progDivTag = new __Tag("div");
+	  progDivTag.setAttribute("id", this.progressUsedDivId);
+	  var progStyle = "visibility:hidden;position:absolute;";
+	  if (this.progressClassName != "")
+	    progDivTag.setAttribute("class", this.progressClassName);
+    progDivTag.setAttribute("style", progStyle);
+    html += progDivTag.getHTML();
+
+    progDivTag = new __Tag("div");
+	  progDivTag.setAttribute("id", this.progressRemainDivId);
+	  progStyle = "visibility:hidden;position:absolute;";
+	  if (this.progressClassName != "")
+	    progDivTag.setAttribute("class", this.progressClassName);
+    progDivTag.setAttribute("style", progStyle);
+    html += progDivTag.getHTML();
+	
+    // Thumb Div
+	  var thumbDivTag = new __Tag("div");
+	  thumbDivTag.setAttribute("id", this.thumbDivId);
+	  thumbDivTag.setAttribute("class", this.thumbClassName); 
+    thumbDivTag.setAttribute("style", "visibility:hidden;position:absolute;");
+    html += thumbDivTag.getHTML();
+
+    return html;
+  };
+  
+  __Slider.prototype.getSliderProperties = function(limits)
+  {
+    var population = Math.abs(this.maxValue - this.minValue);
+    var min = Math.min(this.minValue, this.maxValue);
+    var max = Math.max(this.minValue, this.maxValue);
+
+    var percent = (this.position - min)/population;
+    
+    var sliderDims = __getControlDim(getObject(this.innerDivId));
+    
+    if (limits)
+    {
+      sliderDims.width = sliderDims.width - limits.right - limits.left;
+      sliderDims.height = sliderDims.height - limits.bottom - limits.top;
+    }
+    
+    var sliderSize = 0;
+    if (this.horizontal)
+      sliderSize = Math.round(sliderDims.width * percent);
+    else
+      sliderSize = Math.round(sliderDims.height * percent);
+               
+    if (this.minValue > this.maxValue)
+      sliderSize = sliderDims.width - sliderSize;
+      
+    return ( {dims:sliderDims, size:sliderSize, population:population, percent:percent, min:min, max:max} );
+  };
+  
+  __Slider.prototype.repaint = function()
+  {
+    this.divCtl.className = this.className;
+    this.divCtl.innerHTML = this.getHTML();
+    
+    this.divCtl.style.width = this.width + "px";
+    
+    if (this.showThumb)
+    {
+      // Allow the thumb to be dragged.
+      var thumbObject = getObject(this.thumbDivId);
+      __browser.chainEvent(thumbObject, "mousedown", dragStart);
+
+      var props = this.getSliderProperties(this.thumbLimits);
+      var styleObject = getStyleObject(this.thumbDivId);
+      
+      if (this.horizontal)
+      {
+        if (this.reversePaint)
+          styleObject.left = this.thumbLimits.left + (props.dims.width - props.size - (styleObject.width / 2));
+        else
+          styleObject.left = this.thumbLimits.left + (props.size - (styleObject.width / 2));
+
+        styleObject.top = this.thumbLimits.top;
+      }
+      else
+      {
+        if (this.reversePaint)
+          styleObject.top = this.thumbLimits.top + (props.size - (styleObject.height / 2));
+        else
+          styleObject.top = this.thumbLimits.top + (props.dims.height - props.size - (styleObject.height / 2));
+
+        styleObject.left = this.thumbLimits.left;
+      }
+      styleObject.visibility = "visible";
+    }
+
+    if (this.showUsed)
+    {
+      var props = this.getSliderProperties(this.usedLimits);
+      var styleObject = getStyleObject(this.usedDivId);
+      
+      if (this.horizontal)
+      {
+        if (this.reversePaint)
+          styleObject.left = this.usedLimits.left + props.dims.width - props.size;
+        else
+          styleObject.left = this.usedLimits.left;
+        styleObject.top = this.usedLimits.top;
+        styleObject.height = props.dims.height + "px";
+        styleObject.fontSize = "1px"; // Hack for IE
+        styleObject.width = props.size + "px";
+      }
+      else
+      {
+        if (this.reversePaint)
+          styleObject.top = this.usedLimits.top;
+        else
+          styleObject.top = this.usedLimits.top + props.dims.height - props.size;
+        styleObject.left = this.usedLimits.left;
+        styleObject.width = props.dims.width + "px";
+        styleObject.fontSize = "1px"; // Hack for IE
+        styleObject.height = props.size + "px";
+      }
+      styleObject.visibility = "visible";
+    }
+
+    if (this.showRemain)
+    {
+      var props = this.getSliderProperties(this.remainLimits);
+      var styleObject = getStyleObject(this.remainDivId);
+      
+      if (this.horizontal)
+      {
+        if (this.reversePaint)
+          styleObject.left = this.remainLimits.left;
+        else
+          styleObject.left = this.remainLimits.left + props.size;
+        styleObject.top = this.remainLimits.top;
+        styleObject.height = props.dims.height + "px";
+        styleObject.fontSize = "1px"; // Hack for IE
+        styleObject.width = (props.dims.width - props.size) + "px";
+      }
+      else
+      {
+        if (this.reversePaint)
+          styleObject.top = this.remainLimits.top + props.size;
+        else
+          styleObject.top = this.remainLimits.top;
+        styleObject.left = this.remainLimits.left;
+        styleObject.width = props.dims.width + "px";
+        styleObject.fontSize = "1px"; // Hack for IE
+        styleObject.height = (props.dims.height - props.size) + "px";
+      }
+      
+      styleObject.visibility = "visible";
+    }
+    
+    if (this.showProgress)
+    {
+      var props = this.getSliderProperties(this.usedLimits);
+      var usedStyleObject = getStyleObject(this.usedDivId);
+      var remainStyleObject = getStyleObject(this.remainDivId);
+      var baseStyleObject = this.divCtl.style;
+      
+      // Used side
+      var styleObject = getStyleObject(this.progressUsedDivId);
+      
+      styleObject.left = usedStyleObject.left;
+      styleObject.top = usedStyleObject.top;
+      styleObject.height = usedStyleObject.height;
+      
+      if (this.showRemain)
+        styleObject.color = remainStyleObject.backgroundColor;
+      else
+        styleObject.color = inverseRGB(baseStyleObject.backgroundColor);
+        
+      if (this.horizontal)
+      {
+        styleObject.width = props.dims.width + "px";
+        styleObject.textAlign = "center";
+        styleObject.clip = "rect(0px, " + props.size + "px, " + props.dims.height + "px, 0px)";
+        getObject(this.progressUsedDivId).innerHTML = Math.round(props.percent * 100) + "%";
+      }
+      else
+      {
+        // TODO vertical clipping
+      }
+      styleObject.visibility = "visible";    
+      
+      // Remain side
+      props = this.getSliderProperties(this.remainsLimits);
+      styleObject = getStyleObject(this.progressRemainDivId);
+      
+      if (this.horizontal)
+      {
+        styleObject.left = this.remainLimits.left;
+        styleObject.top = this.remainLimits.top;
+        styleObject.height = props.dims.height + "px";
+        styleObject.width = props.dims.width + "px";
+
+        if (this.showUsed)
+          styleObject.color = usedStyleObject.backgroundColor;
+        else
+          styleObject.color = inverseRGB(baseStyleObject.backgroundColor);
+
+        styleObject.textAlign = "center";
+        styleObject.clip = "rect(0px, " + props.dims.width + "px, " + props.dims.height + "px, " + props.size + "px)";
+        getObject(this.progressRemainDivId).innerHTML = Math.round(props.percent * 100) + "%";
+      }
+      else
+      {
+        // TODO vertical clipping
+      }
+     
+      styleObject.visibility = "visible";          
+    }
+  };
+
+  __Slider.prototype.step = function(delta)
+  {
+    this.position = this.position + (delta * this.stepAmt);
+    
+    var min = Math.min(this.minValue, this.maxValue);
+    var max = Math.max(this.minValue, this.maxValue);
+
+    if (this.position < min) 
+      this.position = min;
+      
+    if (this.position > max) 
+      this.position = max;
+    
+    this.repaint();
+
+    if (this.onChange)
+      this.onChange(this);
+  };
+  
+  var dragDiv;
+  var dragDivId;
+  var dragStartMousePos;
+  var dragStartSliderPos;
+
+  function dragStart(event)
+  {
+    var thumbDiv = __browser.getEventTarget(event);
+    dragDiv = thumbDiv;
+    dragStartMousePos = __browser.getMousePos(event);
+    
+    var slider = qfSliderFactory.getSliderByName(thumbDiv.id.split("_")[2]);
+    dragStartSliderPos = slider.position;
+    
+    __browser.chainEvent(document, "mousemove", dragMove);
+    __browser.chainEvent(document, "mouseup", dragDrop);
+    __browser.stopEventBubble(event);
+  }
+  
+  function dragMove(event)
+  {
+	  var mousePos = __browser.getMousePos(event);
+
+    var thumbDiv = dragDiv;
+    var slider = qfSliderFactory.getSliderByName(thumbDiv.id.split("_")[2]);
+    
+    var styleObject = getStyleObject(thumbDiv.id);
+    var thumbDims = __getControlDim(getObject(thumbDiv.id));
+    var props = slider.getSliderProperties(slider.thumbLimits);
+    
+		// Limit movement of thumb within boundaries of the containing thumb limits
+		if (slider.horizontal)
+		{
+    	var newLeft = mousePos.x - props.dims.x - thumbDims.width / 2;
+  	  
+  		if (newLeft < slider.thumbLimits.left)
+  		  newLeft = slider.thumbLimits.left;
+  	  if (newLeft > (slider.thumbLimits.left + props.dims.width))
+  	    newLeft = slider.thumbLimits.left + props.dims.width;
+  	    
+  	  var percent = (newLeft - slider.thumbLimits.left) / props.dims.width;
+ 	    if (this.reversePaint)
+ 	      percent = 1 - percent;
+      
+      var min = Math.min(slider.minValue, slider.maxValue);
+      var max = Math.max(slider.minValue, slider.maxValue);
+      
+      var pos = ((max - min) * percent).roundedValue(slider.stepAmt);
+      
+      slider.setPosition(pos);
+      slider.repaint();
+    }
+    else
+    {
+      var min = Math.min(slider.minValue, slider.maxValue);
+      var max = Math.max(slider.minValue, slider.maxValue);
+      var pos = (dragStartSliderPos - (mousePos.y - dragStartMousePos.y) / props.dims.height * (max - min)).roundedValue(slider.stepAmt);
+      
+      slider.setPosition(pos);
+      slider.repaint();
+    }
+	  
+	  __browser.stopEventBubble(event);
+  };  
+
+  function dragDrop(event)
+  {
+    __browser.unchainEvent(document, "mousemove", dragMove);
+    __browser.unchainEvent(document, "mouseup", dragDrop);
+  };
+} 
+
+
+var qfSliderFactory = new __SliderFactory();
\ No newline at end of file

Added: branches/community/Seam_2_3/examples-ee6/remoting/progressbar/readme.txt
===================================================================
--- branches/community/Seam_2_3/examples-ee6/remoting/progressbar/readme.txt	                        (rev 0)
+++ branches/community/Seam_2_3/examples-ee6/remoting/progressbar/readme.txt	2012-04-02 06:53:18 UTC (rev 14455)
@@ -0,0 +1,29 @@
+Seam Remoting/Progressbar Example
+=================================
+
+This example shows how to create a progress bar using Seam Remoting. 
+It runs on JBoss AS as an EAR and on Tomcat with JBoss Embedded as a WAR.
+
+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 progressbar-ear directory run:
+
+    mvn jboss:hard-deploy
+
+* Open this URL in a web browser: http://localhost:8080/seam-progressbar
+
+To deploy the example to Tomcat with Embedded JBoss, follow these steps:
+
+* In the example root directory run:
+
+    mvn clean package -Ptomcat
+
+* Deploy the resulting war from progressbar-web/target directory to Tomcat manually
+
+* Open this URL in a web browser: http://localhost:8080/jboss-seam-progressbar



More information about the seam-commits mailing list