Seam SVN: r8359 - trunk/src/mail/org/jboss/seam/mail/ui.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-06-09 12:59:59 -0400 (Mon, 09 Jun 2008)
New Revision: 8359
Modified:
trunk/src/mail/org/jboss/seam/mail/ui/UIMessage.java
Log:
JBSEAM-3083
Modified: trunk/src/mail/org/jboss/seam/mail/ui/UIMessage.java
===================================================================
--- trunk/src/mail/org/jboss/seam/mail/ui/UIMessage.java 2008-06-09 16:55:20 UTC (rev 8358)
+++ trunk/src/mail/org/jboss/seam/mail/ui/UIMessage.java 2008-06-09 16:59:59 UTC (rev 8359)
@@ -109,8 +109,8 @@
@Override
public void encodeBegin(FacesContext context) throws IOException
{
- MailFacesContextImpl.start(getUrlBase()
- + context.getExternalContext().getRequestContextPath() == null ? "" : context.getExternalContext().getRequestContextPath());
+ String contextPathOverride = getUrlBase();
+ MailFacesContextImpl.start(contextPathOverride == null ? context.getExternalContext().getRequestContextPath() : contextPathOverride);
mimeMessage = null;
try
{
@@ -253,7 +253,7 @@
{
if (urlBase == null)
{
- return urlBase;
+ return getString("urlBase");
}
else
{
16 years, 6 months
Seam SVN: r8358 - branches/Seam_2_0/src/mail/org/jboss/seam/mail/ui.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-06-09 12:55:20 -0400 (Mon, 09 Jun 2008)
New Revision: 8358
Modified:
branches/Seam_2_0/src/mail/org/jboss/seam/mail/ui/UIMessage.java
Log:
JBSEAM-3083
Modified: branches/Seam_2_0/src/mail/org/jboss/seam/mail/ui/UIMessage.java
===================================================================
--- branches/Seam_2_0/src/mail/org/jboss/seam/mail/ui/UIMessage.java 2008-06-09 16:49:47 UTC (rev 8357)
+++ branches/Seam_2_0/src/mail/org/jboss/seam/mail/ui/UIMessage.java 2008-06-09 16:55:20 UTC (rev 8358)
@@ -84,8 +84,8 @@
@Override
public void encodeBegin(FacesContext context) throws IOException
{
- MailFacesContextImpl.start(getUrlBase()
- + context.getExternalContext().getRequestContextPath() == null ? "" : context.getExternalContext().getRequestContextPath());
+ String contextPathOverride = getUrlBase();
+ MailFacesContextImpl.start(contextPathOverride == null ? context.getExternalContext().getRequestContextPath() : contextPathOverride);
mimeMessage = null;
try
{
@@ -228,7 +228,7 @@
{
if (urlBase == null)
{
- return urlBase;
+ return getString("urlBase");
}
else
{
16 years, 6 months
Seam SVN: r8357 - trunk/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-06-09 12:49:47 -0400 (Mon, 09 Jun 2008)
New Revision: 8357
Modified:
trunk/src/main/org/jboss/seam/web-2.1.xsd
Log:
JBSEAM-3090
Modified: trunk/src/main/org/jboss/seam/web-2.1.xsd
===================================================================
--- trunk/src/main/org/jboss/seam/web-2.1.xsd 2008-06-09 16:49:26 UTC (rev 8356)
+++ trunk/src/main/org/jboss/seam/web-2.1.xsd 2008-06-09 16:49:47 UTC (rev 8357)
@@ -133,14 +133,14 @@
<xs:attribute name="log4j-init-file" type="components:string"/>
</xs:attributeGroup>
- <xs:element name="servlet-session">
+ <xs:element name="session">
<xs:complexType mixed="true">
<xs:attributeGroup ref="components:attlist.component"/>
- <xs:attributeGroup ref="web:attlist.servlet-session"/>
+ <xs:attributeGroup ref="web:attlist.session"/>
</xs:complexType>
</xs:element>
- <xs:attributeGroup name="attlist.servlet-session">
+ <xs:attributeGroup name="attlist.session">
<xs:attribute name="invalidate-on-scheme-change" type="components:boolean"/>
</xs:attributeGroup>
16 years, 6 months
Seam SVN: r8356 - branches/Seam_2_0/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-06-09 12:49:26 -0400 (Mon, 09 Jun 2008)
New Revision: 8356
Modified:
branches/Seam_2_0/src/main/org/jboss/seam/web-2.0.xsd
Log:
JBSEAM-3090
Modified: branches/Seam_2_0/src/main/org/jboss/seam/web-2.0.xsd
===================================================================
--- branches/Seam_2_0/src/main/org/jboss/seam/web-2.0.xsd 2008-06-09 14:18:58 UTC (rev 8355)
+++ branches/Seam_2_0/src/main/org/jboss/seam/web-2.0.xsd 2008-06-09 16:49:26 UTC (rev 8356)
@@ -106,13 +106,13 @@
<xs:attribute name="log4j-init-file" type="xs:string"/>
</xs:attributeGroup>
- <xs:element name="servlet-session">
+ <xs:element name="session">
<xs:complexType mixed="true">
<xs:attributeGroup ref="components:attlist.component"/>
- <xs:attributeGroup ref="web:attlist.servlet-session"/>
+ <xs:attributeGroup ref="web:attlist.session"/>
</xs:complexType>
</xs:element>
- <xs:attributeGroup name="attlist.servlet-session">
+ <xs:attributeGroup name="attlist.session">
<xs:attribute name="invalidate-on-scheme-change" type="xs:boolean"/>
</xs:attributeGroup>
16 years, 6 months
Seam SVN: r8355 - branches/Seam_2_0.
by seam-commits@lists.jboss.org
Author: jbalunas(a)redhat.com
Date: 2008-06-09 10:18:58 -0400 (Mon, 09 Jun 2008)
New Revision: 8355
Modified:
branches/Seam_2_0/build.xml
Log:
JBSEAM-3072
Modified: branches/Seam_2_0/build.xml
===================================================================
--- branches/Seam_2_0/build.xml 2008-06-09 13:13:49 UTC (rev 8354)
+++ branches/Seam_2_0/build.xml 2008-06-09 14:18:58 UTC (rev 8355)
@@ -541,6 +541,11 @@
<copy file="seam-text.g" todir="${dist.dir}" />
<copy file="seam.bat" todir="${dist.dir}" />
<copy file="seam2migration.txt" todir="${dist.dir}" />
+ <copy todir="${dist.dir}/extras">
+ <fileset dir="${basedir}/extras">
+ <include name="**/*" />
+ </fileset>
+ </copy>
<replace file="${dist.dir}/build.xml">
<replacetoken>
<![CDATA[${name}-${complete.version}]]>
16 years, 6 months
Seam SVN: r8354 - in branches/Seam_2_0_FP: seam-gen and 4 other directories.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2008-06-09 09:13:49 -0400 (Mon, 09 Jun 2008)
New Revision: 8354
Modified:
branches/Seam_2_0_FP/build.xml
branches/Seam_2_0_FP/readme.txt
branches/Seam_2_0_FP/release-process.txt
branches/Seam_2_0_FP/seam-gen/build.xml
branches/Seam_2_0_FP/seam2migration.txt
branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java
branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java
branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java
branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java
Log:
feature pack modifications
Modified: branches/Seam_2_0_FP/build.xml
===================================================================
--- branches/Seam_2_0_FP/build.xml 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/build.xml 2008-06-09 13:13:49 UTC (rev 8354)
@@ -18,7 +18,6 @@
<property name="classes.ioc.dir" value="${classes.dir}/iocclasses" />
<property name="classes.mail.dir" value="${classes.dir}/mailclasses" />
<property name="classes.debug.dir" value="${classes.dir}/debugclasses" />
- <property name="classes.jbas5.dir" value="${classes.dir}/jbas5classes" />
<property name="classes.remoting.dir" value="${classes.dir}/remotingclasses" />
<property name="classes.gen.dir" value="${classes.dir}/genclasses" />
<property name="classes.test.dir" value="${classes.dir}/testclasses" />
@@ -33,7 +32,6 @@
<property name="src.ioc.dir" value="src/ioc" />
<property name="src.mail.dir" value="src/mail" />
<property name="src.debug.dir" value="src/debug" />
- <property name="src.jbas5.dir" value="src/jbas5" />
<property name="src.gen.dir" value="src/gen" />
<property name="src.remoting.dir" value="src/remoting" />
<property name="src.test.dir" value="src/test" />
@@ -63,7 +61,6 @@
<property name="dist.src.ioc.dir" value="${dist.dir}/src/ioc" />
<property name="dist.src.mail.dir" value="${dist.dir}/src/mail" />
<property name="dist.src.debug.dir" value="${dist.dir}/src/debug" />
- <property name="dist.src.jbas5.dir" value="${dist.dir}/src/jbas5" />
<property name="dist.src.gen.dir" value="${dist.dir}/src/gen" />
<property name="dist.src.remoting.dir" value="${dist.dir}/src/remoting" />
<property name="dist.src.test.dir" value="${dist.dir}/src/test" />
@@ -149,7 +146,7 @@
<delete dir="${lib.dir}" quiet="${quietclean}" />
</target>
- <target name="build" depends="jarcore,jarpdf,jarioc,jarmail,jarremoting,jardebug,jargen,jarui,jarjbas5" description="Build all distribution .jar files" />
+ <target name="build" depends="jarcore,jarpdf,jarioc,jarmail,jarremoting,jardebug,jargen,jarui" description="Build all distribution .jar files" />
<target name="select-compiler">
<available classname="org.eclipse.jdt.core.JDTCompilerAdapter" property="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
@@ -256,20 +253,6 @@
<archive classesdir="${classes.debug.dir}" module="jboss-seam-debug" pom="${debug.pom}" srcdir="${src.debug.dir}"/>
</target>
- <!-- ########################### JBAS5 TARGETS ###########################-->
-
- <target name="initjbas5" depends="init, jarcore">
- <init classesdir="${classes.jbas5.dir}" srcdir="${src.jbas5.dir}" modulename="jbas5" pom="${jbas5.pom}" />
- </target>
-
- <target name="compilejbas5" depends="initjbas5, select-compiler">
- <compile classesdir="${classes.jbas5.dir}" srcdir="${src.jbas5.dir}" classpath="compile.jbas5.path" />
- </target>
-
- <target name="jarjbas5" depends="compilejbas5" description="Build the distribution .jar file for the JBAS5 integration package">
- <archive classesdir="${classes.jbas5.dir}" module="jboss-seam-jbas5" pom="${jbas5.pom}" srcdir="${src.jbas5.dir}" outputdir="${lib.dir}/interop" />
- </target>
-
<!-- ########################### GEN TARGETS ###########################-->
<target name="initgen" depends="init">
@@ -338,11 +321,8 @@
<cleanexample name="remoting/gwt" />
<cleanexample name="hibernate" />
<cleanexample name="jpa" />
- <cleanexample name="jee5/booking" />
- <cleanexample name="jee5/remoting" />
<cleanexample name="groovybooking" />
<cleanexample name="quartz" />
- <cleanexample name="wiki" />
<cleanexample name="seamdiscs" />
<cleanexample name="icefaces" />
<cleanexample name="seambay" />
@@ -398,11 +378,7 @@
<testexample name="itext" />
<testexample name="hibernate" />
<testexample name="jpa" />
- <testexample name="quartz" />
- <ant dir="examples/wiki" target="test" inheritall="false">
- <property name="test.output.dir" value="${test.dir}/wiki" />
- </ant>
- <!--<ant dir="examples/portal" target="test" inheritall="false" />-->
+ <testexample name="quartz" />
</target>
<target name="validateall" description="Validate all example XML Configuration Files">
<ant dir="examples/booking" target="validateConfiguration" inheritall="false" />
@@ -431,7 +407,6 @@
<copysource destdir="${dist.src.remoting.dir}" srcdir="${src.remoting.dir}" />
<copysource destdir="${dist.src.mail.dir}" srcdir="${src.mail.dir}" />
<copysource destdir="${dist.src.debug.dir}" srcdir="${src.debug.dir}" />
- <copysource destdir="${dist.src.jbas5.dir}" srcdir="${src.jbas5.dir}" />
<copysource destdir="${dist.src.gen.dir}" srcdir="${src.gen.dir}" />
<copysource destdir="${dist.src.test.dir}" srcdir="${src.test.dir}" />
@@ -615,22 +590,25 @@
<copy todir="${classes.test.core.dir}">
<fileset dir="${classes.core.dir}" includes="**/*.*" />
</copy>
- <artifact:dependencies pathId="remoting.path">
- <dependency groupId="org.jboss.seam" artifactId="jboss-seam-remoting" version="${complete.version}" />
- </artifact:dependencies>
+ <inlineDependencies scope="compile" id="remoting">
+ <dependency groupId="org.jboss.seam" artifactId="jboss-seam-remoting" version="${complete.version}" />
+ </inlineDependencies>
<path id="test.compile.path">
<path refid="test.core.path" />
<path path="${classes.test.core.dir}" />
- <path refid="remoting.path" />
+ <path refid="compile.remoting.path" />
</path>
</target>
<target name="testcore" depends="inittestcore,compiletest,getemma" description="Run the core tests">
<taskdef resource="testngtasks" classpathref="test.core.path" />
- <testng>
- <jvmarg value="-Demma.coverage.out.file=${coverage.ec}" />
- <jvmarg line="-Djava.awt.headless=true" />
+ <testng outputdir="${test.dir}">
+ <jvmarg line="-Xmx800M" />
+ <jvmarg line="-Djava.awt.headless=true" />
+ <jvmarg line="-Demma.coverage.out.file=${coverage.ec}" />
+ <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir}" />
+ <jvmarg line="${testng.jvmargs}" />
<classpath>
<path path="${classes.test.core.dir}" />
<path path="${classes.test.dir}" />
@@ -886,7 +864,6 @@
<propertyref name="ioc.pom" />
<propertyref name="mail.pom" />
<propertyref name="debug.pom" />
- <propertyref name="jbas5.pom" />
<propertyref name="testng.jvmargs"/>
</propertyset>
</ant>
@@ -896,7 +873,6 @@
<target name="downloadDependenciesSources" description="Download source jars for all dependencies" depends="init">
<dependenciesWithSources id="core" scope="compile" pom="${core.pom}" />
<dependenciesWithSources id="debug" scope="compile" pom="${debug.pom}" />
- <dependenciesWithSources id="jbas5" scope="compile" pom="${jbas5.pom}" />
<dependenciesWithSources id="gen" scope="compile" pom="${gen.pom}" />
<dependenciesWithSources id="ioc" scope="compile" pom="${ioc.pom}" />
<dependenciesWithSources id="mail" scope="compile" pom="${mail.pom}" />
@@ -924,7 +900,6 @@
classpathref="seam-gen.path"/>
<dependencies id="core" scope="compile" pom="${core.pom}" />
<dependencies id="debug" scope="compile" pom="${debug.pom}" />
- <dependencies id="jbas5" scope="compile" pom="${jbas5.pom}" />
<dependencies id="gen" scope="compile" pom="${gen.pom}" />
<dependencies id="ioc" scope="compile" pom="${ioc.pom}" />
<dependencies id="mail" scope="compile" pom="${mail.pom}" />
@@ -940,7 +915,6 @@
<path refid="compile.pdf.path" />
<path refid="compile.remoting.path" />
<path refid="compile.ui.path" />
- <path refid="compile.jbas5.path" />
</eclipseClasspath>
</target>
Modified: branches/Seam_2_0_FP/readme.txt
===================================================================
--- branches/Seam_2_0_FP/readme.txt 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/readme.txt 2008-06-09 13:13:49 UTC (rev 8354)
@@ -1,6 +1,6 @@
-JBoss Seam - Contextual Component framework for Java EE 5
+JBoss Seam FP - Contextual Component framework for Java EE 5
=========================================================
-version 2.0.2.GA, May 2008
+version 1.0.GA, May 2008
This software is distributed under the terms of the FSF Lesser Gnu
Public License (see lgpl.txt).
Modified: branches/Seam_2_0_FP/release-process.txt
===================================================================
--- branches/Seam_2_0_FP/release-process.txt 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/release-process.txt 2008-06-09 13:13:49 UTC (rev 8354)
@@ -5,8 +5,10 @@
------------------------
* Send an email to seam-dev(a)lists.jboss.org.
- State a version of the following :
- - As all issues in JIRA for Seam <release> are now resolved, the release process for <release> is now underway.
- - Please don't make any commits to the <branch or trunk> without checking with this mail list first.
+ - As all issues in JIRA for Seam <release> are now resolved, the release
+ process for <release> is now underway. Please don't make any commits to
+ the <branch or trunk> without checking with and getting approval from
+ this mail list first.
Updating version numbers
------------------------
@@ -21,49 +23,50 @@
- build/default.build.properties
- Change the version numbers as needed
- Set the qualifier using a "." ex. ".CR1" or ".GA"
- - Check that build.properties has the qualifier commented out for the release
+ - Check that build.properties has the qualifier commented out
Maven repository settings
-------------------------
* A released version of seam should not reference any repositories other than
"repository.jboss.org". See "build/readme.txt" for details.
- Search "$SEAM/build" for "repositories".
- - Verify/Comment out any repository entry not "http://repository.jboss.org/maven2"
+ - Comment out any repository entry not "http://repository.jboss.org/maven2"
- Should only be entries in "root.pom.xml" and "docs.pom.xml"
- Search "$SEAM/build" for "artifact:remoteRepository"
- Note any that reference other repositories
- <TODO: determine acceptable list (ci, embedded, etc...)/>
- Verify prior to tagging
+ - Clean our your local maven repository
+ - ex. "~/.m2"
+ - <TODO document way to set local repo settings for clean build />
- run "ant cleanall testall testreport" with these changes
- This should build, and test without a problem.
+ - Run "ant dependencyReport"
+ - Review for snapshot dependencies
SVN tagging and checkout
------------------------
-* Note: testing can begin prior to official tagging but a complete process should be executed on the tag prior to release.
+<NOTE testing can begin prior to official tagging but a complete process
+ should be executed on the tag prior to release/>
* Tag the release (XX as needed)
- -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag""
- - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1"
+ -"svn copy https://svn.jboss.org/repos/seam/XX/XX
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX
+ -m "create JBoss_Seam_x_x_x_XXX tag""
+ - ex. "svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1
+ -m "create JBoss_Seam_2_0_2_CR1 tag""
* In a clean directory checkout the newly tagged seam source ( XX as needed)
- "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX seam"
- ex. "svn co https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 seam"
* In the original branch/trunk change:
- Qualifier back to "-SNAPSHOT" in default.build.properties file.
- - The version numbers should stay the same
+ - The version numbers should be incremented as appropriate.
- Any new work is that versions snapshot
- - Revert the Maven repository changes if needed
+ - Revert any Maven repository changes if needed
Building and Checking Dist
--------------------------
-* Run "mkdir ../releaselogs" for release artifacts.
-
-* Initial build and test suite execution
- - run initial build to download dependencies and setup env.
- - run "ant > ../releaselogs/x.x.x.XX.initbuild.txt"
- - run "ant -Dvalidate.xml=true cleanall testall testreport > ../releaselogs/x.x.x.XX.testallreport.txt"
- - check report/junit-noframes.html
- - There should be no failures or errors.
- - run "cp -R test-output ../releaselogs"
- - run "cp -R test-report ../releaselogs"
+* Run "mkdir ../releaselogs" for release artifacts and logs.
* Create the distribution build
- run "ant cleanall dist > ../releaselogs/x.x.x.XX.distbuild.txt"
@@ -77,6 +80,8 @@
- "diff -r ./gz/. ./zip/."
- "diff -r ./gz/. ./dist/."
- There should be no differences.
+ - Compare the new dist to dist of the previous version using the same method
+ - Manually look over for any glaring differences or errors.
- Delete "../tmp" if you wish
* check that the following files/directories exist in the dist "ls -1"
@@ -89,7 +94,6 @@
examples
lgpl.txt
lib
- mail
readme.txt
seam
seam-gen
@@ -103,7 +107,6 @@
debug
gen
ioc
- jbas5
mail
main
pdf
@@ -142,7 +145,7 @@
* Archive reports
- run these in the dist directory
- find . -name *.jar > ../releaselogs/jarlist.txt
+ find . -name *.jar > ../releaselogs/jarlist.txt
find . -name *.sar > ../releaselogs/sarlist.txt
find . -name *.war > ../releaselogs/warlist.txt
find . -name *.ear > ../releaselogs/earlist.txt
@@ -150,25 +153,43 @@
find . -name *.gz > ../releaselogs/gzlist.txt
find . -name *seam*.jar > ../releaselogs/seamjarlist.txt
- Manually review the lists for problems
- - seam jars all in one place
- - <TODO: list expected items or provide listing in svn>
+ - <TODO: list expected items or provide listing in svn/>
-* In the dist run "ant dependencyReport"
- - run "cp ./dependency-report.txt ../releaselogs"
- - Review for snapshot dependencies
- - there should be none.
- - Compare with real jar versions from META-INF/MANIFEST.MF
- - <TODO: A tool is needed to do this effectivly.>
-
-* Built source verification
+* Built source verification, dependency report & test suite
+ - Clean our your local maven repository
+ - ex. "rm -Rf ~/.m2"
+ - <TODO document way to set local repo settings for clean build/>
- Create a copy of the $DIST directory
- - In the original run "ant"
- - diff the original and the built versions
- - only difference should be build related
- - <TODO: list expected differences>
- - Extract seam jars from orig, and the newly built into different dirs
- - diff the directories
- - Should be no differences except version of ant and/or jdk versions
+ - the idea is the leave the original pristine for example testing.
+
+ ** Source verification **
+ - In the copy run "ant > ../releaselogs/x.x.x.XX.sourcebuild.txt"
+ - diff the original and the built versions of the $DIST directories
+ - only difference should be build related
+ - <TODO: list expected differences/>
+ - Extract seam jars from orig, and the newly built into tmp directories
+ - diff the directories
+ - Should be no differences except version of ant and/or jdk versions
+
+ ** Dependency report **
+ - In the copy run:
+ - "ant dependencyReport > ../releaselogs/x.x.x.XX.dependencybuild.txt"
+ - run "cp ./dependency-report.txt ../releaselogs"
+ - Review for snapshot dependencies
+ - there should be none.
+ - Compare with real jar versions from META-INF/MANIFEST.MF
+ - <TODO: A tool is needed to do this effectively/>
+
+ ** Testsuite execution **
+ - In the copy run :
+ - "ant -Dvalidate.xml=true cleanall testall testreport
+ > ../releaselogs/x.x.x.XX.testallreport.txt"
+ - check report/junit-noframes.html
+ - There should be no failures or errors.
+ - run "cp -R test-output ../releaselogs"
+ - run "cp -R test-report ../releaselogs"
+
+ - You can delete the dist copy
Example verification
--------------------
@@ -211,7 +232,6 @@
- remoting/chatroom
- remoting/gwt
- remoting/helloworld
- - remoting/poker
- remoting/progressbar
- seambay
- seamdiscs
@@ -267,39 +287,59 @@
CONSTRAINT `owner` FOREIGN KEY (`ownerUsername`) REFERENCES `Person` (`username`)
) ENGINE=InnoDB;
-* seam-gen review seam-gen chapter of the reference guide
+<NOTE: seam-gen should be able to run without an internet connection. To test
+ this you should first remove/rename your maven repository (document
+ option to set this as a property). Then either disable networking, or
+ lock down a firewall on the test machine so that no requests are allowed
+ out. Then test the various seam-gen targets. JBoss-as may not start in
+ the configuration so testing the live app may need to be done after
+ executing the various seam-gen targets. This does not have to be
+ done for each test below but the different targets should be verified./>
+
+* Review seam-gen chapter of the reference guide
- accurate and up to date
* seam-gen EAR
- - run "seam setup create-project generate-entities explode"
- - during setup choose an EAR project
- - test the basic functionality of the app (CRUD on each table)
+ - run seam with setup create-project and explode
+ - during setup choose an EAR project
+ - verify basic functionality
+ - run seam generate-entities restart
+ - test the basic functionality of the app (CRUD on each table)
- run "seam new-action new-form restart"
- - test both generated pages
- - run the unit tests in eclipse using the TestNG plugin
+ - test both generated pages
+ - run seam test
* seam-gen IceFaces EAR test
- - run "seam setup create-project generate-entities explode"
- - during setup choose an EAR project
- - during setup choose to use IceFaces instead of RichFaces
- - test the basic functionality of the app (CRUD on each table)
+ - run seam with setup create-project and explode
+ - during setup choose to use icefaces
+ - during setup choose an EAR project
+ - verify basic functionality
+ - run seam generate-entities restart
+ - test the basic functionality of the app (CRUD on each table)
+ - run seam test
* seam-gen WAR
- - run "seam setup create-project generate-entities explode"
- - during setup choose a WAR project
- - test the basic functionality of the app (CRUD on each table)
+ - run seam with setup create-project and explode
+ - during setup choose a WAR project
+ - verify basic functionality
+ - run seam generate-entities restart
+ - test the basic functionality of the app (CRUD on each table)
- run "seam new-action new-form restart"
- - test both generated pages
- - run the unit tests in eclipse using the TestNG plugin
+ - test both generated pages
+ - run seam test
* JBDS - import the EAR seam-gen generated project into JBDS.
- Enable Seam support in project properties
- Check that EL code completion works for Seam components
+ - both project specific and core components
+ - in views, and config files, etc...
- Check that Hibernate Console work on the project
- expand the Configuration node
- Open HQL editor and query "from SomeEntity" and execute the query
+ - Execute testng testcases for project
* JBDS new WAR project
- Reverse engineer entities from MySQL
- Create "new Seam Action" and "new Seam Form"
- Test generated pages (check hot deployment of Seam components, html)
- Test running unit tests from Eclipse
* JBDS new EAR project
+ - <NOTE JBIDE-1862 will require changes to the generated project/>
- Reverse engineer entities from MySQL
- Create "new Seam Action" and "new Seam Form"
- Test generated pages (check hot deployment of Seam components, html)
@@ -309,41 +349,72 @@
Portal Bridge Verification
--------------------------
-* Use the latest released version of the PortalBridge and JBoss Portal.
+* Use the latest released version of the PortalBridge (PBR) and JBoss Portal.
- http://labs.jboss.com/portletbridge
- http://www.jboss.org/jbossportal/
-* Deploy and verify the bridge booking example to JBoss portal.
+* <NOTE: because the bridge is beta first test the example using the PBR
+ distribution. Then follow the steps below to upgrade the seam
+ version in the example. Then retest the example./>
+* Deploy PBR seam booking example following the PBR document instructions.
+ - Review any known issues with the PBR in the PBR Jira project.
+* Verify the example and functionality.
+ - User authentication through portal
+ - use default users, and new users that are created
+ - Basic hotel booking
+ - user both text search and search button
+ - change dates, and options in the booking
+ - confirm, logout, login, verify confirmation, cancel confirmation
+ - Conversation handling
+ - launch several hotels booking conv. from the search page
+ - individually confirm and switch between conversations.
+ - <NOTE: logging in/out through the portlet, registering new users, and
+ changing passwords do not work, and jiras have been entered
+ for them to be removed as it is integrated with portal auth/>
+* Upgrade the seam version in the seam portlet booking example
+ - download the src distribution of the PBR
+ - edit the $PBR_SRC/examples/seam/booking/seamBookingPortlet/pom.xml file
+ - adjust the seam version properties at the top of the file
+ - build the example by running "mvn install" in the $PBR_SRC/examples dir
+ - <NOTE: You may need to remove the "javassist.jar" from both the EAR
+ and WAR lib directories. This is related to PBR-2 - but for some
+ reason the javassist.jar is still placed in both./>
* Deploy a second version of the booking example as a separate portlet
- - <TODO: there may be a new chatroom seam portlet for this testing>
+ - <TODO: this is not supported in the bridge yet - defer/>
+ - <TODO: there may be a new chatroom seam portlet for this testing/>
* Build the seam identity extension with the booking example
- - <TODO add reference link to the instructions>
+ - <TODO this seems to be done in the 1.0.0.B2 PBR release automatically
+ - verify/>
+ - <TODO add reference link to the instructions if needed/>
- Go to the booking demo seamBookingPortlet/pom.xml
- go to the bottom and uncomment the identity module.
- - Build the booking demo and login via the portal admin link.
+ - Build the booking demo and log in via the portal admin link.
- this should automatically logs you into the seam booking demo
Document review
---------------
* Review the API javadocs in both IE and FF.
- Specifically for version differences
- - This is not a full review
+ - This is not a full review at all
* Review the Reference Guide documentation in both IE and FF.
- Review for format and code styles
- Review for version numbers, and dependencies
- Review any extensive changes based on release notes and the team.
- - This is not a full review
+ - This is not a full review at all.
Final Build + Upload
--------------
* When ready for the release
- - checkout a clean version of the tag
+ - checkout a clean version of the tag in a new/clean directory.
- run "ant cleanall dist > ../releaselogs/x.x.x.XX.finaldistbuild.txt"
- diff this to the one used for testing
* Follow instructions for sourceforge upload
- Create md5 files for the ".zip" and ".tar.gz" files
- - <QUESTION: do we want to create md5 files for the archives>
- - upload the .zip and .tar.gz and md5 files to SF FTP "upload.sf.net/incoming" folder
+ - <QUESTION: do we want to create md5 files for the archives/>
+ - <NOTE: not for 2.0.X/>
+ - upload the .zip and .tar.gz and md5 files
+ - FTP "upload.sf.net/incoming"
+ - <NOTE: sf upload process may have changed - check during next release/>
* Login to sourceforge.org and go to jboss.org project
- Under admin tab click on "file releases"
@@ -351,7 +422,7 @@
- Set "Status" to "hidden"
- Paste this release changelog snippet in the "changelog"
- Paste this release readme.txt in the "release notes"
- - Add the 4 files uploaded to the release
+ - Add the files uploaded to the release
- Keep everything hidden for now.
* Upload the "$DIST/doc" directory to "docs.jboss.com/seam/<NEW VERSION>"
@@ -367,7 +438,14 @@
- to the directory you checked out to.
- Run "ant releaseSeam" in the build directory
- Review and Commit the release changes to repository.jboss.org
+ - simple script to add new files to SVN
+ - svn status | grep "^\?" | awk '{print $2}' | xargs svn add
+ - they still need to be reviewed and commited.
+* Create draft of the documentation and download pages on seamframework.org
+ - documentation points to "docs.jboss.com"
+ - downloads point to sourceforge download page
+
Final Coordination and Announcement
-----------------------------------
* For a GA release and if its newest version of Seam
@@ -381,14 +459,13 @@
* Login to sourceforge.org and modify the Seam release entry
- Change the date to today
- Change "Status" to active
-* Update the documentation and download pages on seamframework.org
- - documentation points to "docs.jboss.com"
- - downloads point to sourceforge download page
+* Update the documentation and download pages on seamframework.org with drafts.
* Update Jira so that version shows as "released"
* Announce the release
- Blog on in.relation.to
- seamframework.org news, and forums
- jboss.org news
+ - TheServerSide.com
Update Demos
------------
@@ -400,14 +477,20 @@
-----
* To reapply a tag:
- First delete the original
- - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "removing old tag prior to applying updated tag"
- - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "removing old tag prior to applying updated tag"
+ - svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX
+ -m "removing old tag prior to applying updated tag"
+ - ex. svn delete https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1
+ -m "removing old tag prior to applying updated tag"
- Recopy back to tag
- -"svn copy https://svn.jboss.org/repos/seam/XX/XX https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX -m "create JBoss_Seam_x_x_x_XXX tag""
- - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0 https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1 -m "Updated tag for 2.0.2.CR1"
+ -"svn copy https://svn.jboss.org/repos/seam/XX/XX
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_x_x_x_XXX
+ -m "create JBoss_Seam_x_x_x_XXX tag""
+ - ex. svn copy https://svn.jboss.org/repos/seam/branches/Seam_2_0
+ https://svn.jboss.org/repos/seam/tags/JBoss_Seam_2_0_2_CR1
+ -m "Updated tag for 2.0.2.CR1"
[FUTURE]
--------
* Store release related scripts (especially when more automated) in svn.
* Store release logs, and reports in svn.
-* Find a jar/archive reporting tool for detailed dependency, version, location reports.
+* Find a jar/archive reporting tool for detailed dependency, version reports.
Modified: branches/Seam_2_0_FP/seam-gen/build.xml
===================================================================
--- branches/Seam_2_0_FP/seam-gen/build.xml 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/seam-gen/build.xml 2008-06-09 13:13:49 UTC (rev 8354)
@@ -7,8 +7,8 @@
<!-- Order is important -->
<property file="./build.properties" />
<import file="${seam.dir}/build/common.build.xml" />
-
- <target name="init" depends="initpoms">
+
+ <target name="init">
<path id="seam-gen.path" path="${seam.dir}/lib/jboss-seam-gen.jar" />
<!-- taskdefs -->
@@ -39,8 +39,6 @@
<taskdef name="pathFixer"
classname="org.jboss.seam.tool.FixPathTask"
classpathref="seam-gen.path"/>
-
- <copyDependencies pom="${gen.pom}" id="gen" scope="runtime" todir="${lib.dir}/gen" />
</target>
<target name="init-properties" depends="init">
@@ -207,7 +205,7 @@
<property name="old.richfaces.skin" value="blueSky"/>
<input addproperty="richfaces.skin.new"
message="Select a RichFaces skin [${old.richfaces.skin}]"
- validargs="blueSky,classic,ruby,wine,deepMarine,emeraldTown,sakura,DEFAULT"
+ validargs="blueSky,classic,ruby,wine,deepMarine,emeraldTown,japanCherry,DEFAULT"
defaultvalue="${old.richfaces.skin}"/>
<property name="old.project.type" value="ear"/>
@@ -1060,9 +1058,13 @@
<target name="init-generate">
<path id="htools.classpath">
- <fileset dir="${lib.dir}/gen">
- <include name="*.jar"/>
- </fileset>
+ <pathelement path="../lib/ant.jar"/>
+ <pathelement path="../lib/hibernate-tools.jar"/>
+ <pathelement path="../lib/freemarker.jar"/>
+ <pathelement path="../lib/jboss-seam.jar"/>
+ <pathelement path="../lib/runtime.jar"/>
+ <pathelement path="../lib/common.jar"/>
+ <pathelement path="../lib/text.jar"/>
<pathelement path="../lib/dom4j.jar" />
<pathelement path="../lib/persistence-api.jar" />
<pathelement path="../lib/hibernate.jar" />
Modified: branches/Seam_2_0_FP/seam2migration.txt
===================================================================
--- branches/Seam_2_0_FP/seam2migration.txt 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/seam2migration.txt 2008-06-09 13:13:49 UTC (rev 8354)
@@ -4,15 +4,6 @@
your existing code and configuration. This process should not be too
painful - if you get stuck, just refer back to the updated Seam examples.
-Supported container environments
---------------------------------
-Seam 2.0 has been tested on the following containers:
-
-* JBoss 4.2 (it is possible to run Seam2 on JBoss 4.0.5 by upgrading JSF)
-* Tomcat 6.0 (Tomcat 5.5 is not compatible with JSF 1.2)
-* GlassFish V2
-* OC4J 11g Technology Preview
-
Migration to JSF 1.2
--------------------
Seam 2.0 requires JSF 1.2. We now recommend Sun's JSF RI as the most
@@ -111,23 +102,6 @@
<action execute="#{redirect.captureCurrentView}"/>
</event>
-Migration to JBoss Embedded
----------------------------
-Support for deployment to JBoss Embeddable EJB3 and JBoss Microcontainer
-has been removed. Instead, the new JBoss Embedded distribution gives you
-a full set of EE-compatible APIs with simplified deployment.
-
-For testing, you need the jars in Seam's lib/ directory, together with the
-bootstrap/ directory in your classpath. SeamTest will automatically start
-the container. Refer to the Seam examples, or seam-gen, if you have
-trouble.
-
-For Tomcat deployment, follow the instructions in the user guide. You no
-longer need any special configuration or packaging for Tomcat deployments.
-
-Note that JBoss Embedded is able to bootstrap a datasource from a -ds.xml
-file, so there is no longer a need for jboss-beans.xml.
-
Migration to JBPM 3.2
---------------------
If you are using JBPM for business processes (not just pageflows), you need
Modified: branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java
===================================================================
--- branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/src/main/org/jboss/seam/Seam.java 2008-06-09 13:13:49 UTC (rev 8354)
@@ -11,7 +11,9 @@
import static org.jboss.seam.util.EJB.STATELESS;
import static org.jboss.seam.util.EJB.name;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import javax.persistence.Entity;
@@ -35,30 +37,35 @@
*/
public class Seam
{
-
private static final Map<Class, String> COMPONENT_NAME_CACHE = new ConcurrentHashMap<Class, String>();
- private static final Map<String, EjbDescriptor> EJB_DESCRIPTOR_CACHE = new ConcurrentHashMap<String, EjbDescriptor>();
+ private static final Map<Class, EjbDescriptor> EJB_DESCRIPTOR_CACHE = new ConcurrentHashMap<Class, EjbDescriptor>();
+ private static final Set<ClassLoader> CLASSLOADERS_LOADED = new HashSet<ClassLoader>();
- public static EjbDescriptor getEjbDescriptor(String className)
+ public static EjbDescriptor getEjbDescriptor(Class clazz)
{
- EjbDescriptor info = EJB_DESCRIPTOR_CACHE.get(className);
+ EjbDescriptor info = EJB_DESCRIPTOR_CACHE.get(clazz);
if (info != null)
{
return info;
}
- else
+ else if (!CLASSLOADERS_LOADED.contains(clazz.getClassLoader()))
{
- Map<String, EjbDescriptor> ejbDescriptors = new DeploymentDescriptor().getEjbDescriptors();
- EJB_DESCRIPTOR_CACHE.putAll(ejbDescriptors);
- return ejbDescriptors.get(className);
+ cacheEjbDescriptors(clazz);
+ return EJB_DESCRIPTOR_CACHE.get(clazz);
}
+
+ return null;
}
- // TODO Better impl
- static EjbDescriptor getEjbDescriptor(Class clazz)
+ private synchronized static void cacheEjbDescriptors(Class clazz)
{
- return getEjbDescriptor(clazz.getName());
- }
+ if (!CLASSLOADERS_LOADED.contains(clazz.getClassLoader()))
+ {
+ Map<Class, EjbDescriptor> ejbDescriptors = new DeploymentDescriptor(clazz).getEjbDescriptors();
+ EJB_DESCRIPTOR_CACHE.putAll(ejbDescriptors);
+ CLASSLOADERS_LOADED.add(clazz.getClassLoader());
+ }
+ }
/**
* Get the default scope
@@ -161,7 +168,7 @@
}
else
{
- EjbDescriptor ejbDescriptor = Seam.getEjbDescriptor(clazz.getName());
+ EjbDescriptor ejbDescriptor = Seam.getEjbDescriptor(clazz);
if (ejbDescriptor != null)
{
return ejbDescriptor.getBeanType() == ComponentType.ENTITY_BEAN ? clazz : null;
Modified: branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java
===================================================================
--- branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/src/main/org/jboss/seam/init/DeploymentDescriptor.java 2008-06-09 13:13:49 UTC (rev 8354)
@@ -23,10 +23,16 @@
{
private static final LogProvider log = Logging.getLogProvider(Initialization.class);
- private Map<String, EjbDescriptor> ejbDescriptors = new HashMap<String, EjbDescriptor>();
+ private Map<Class, EjbDescriptor> ejbDescriptors = new HashMap<Class, EjbDescriptor>();
+ private Class componentClass;
- public DeploymentDescriptor()
+ public DeploymentDescriptor(Class clazz)
{
+ componentClass = clazz;
+ if (clazz.getClassLoader() == null) {
+ return;
+ }
+
try
{
InputStream ejbJarXml = Resources.getResourceAsStream("META-INF/ejb-jar.xml", null);
@@ -54,7 +60,7 @@
}
}
- public Map<String, EjbDescriptor> getEjbDescriptors()
+ public Map<Class, EjbDescriptor> getEjbDescriptors()
{
return ejbDescriptors;
}
@@ -197,6 +203,14 @@
protected void add(EjbDescriptor descriptor)
{
- ejbDescriptors.put(descriptor.getEjbClassName(), descriptor);
+ try
+ {
+ Class ejbClass = componentClass.getClassLoader().loadClass( descriptor.getEjbClassName() );
+ ejbDescriptors.put(ejbClass, descriptor);
+ }
+ catch (ClassNotFoundException cnfe)
+ {
+ log.warn("Could not load EJB class: " + descriptor.getEjbClassName());
+ }
}
}
Modified: branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java
===================================================================
--- branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/ui/src/main/java/org/jboss/seam/ui/util/UrlBuilder.java 2008-06-09 13:13:49 UTC (rev 8354)
@@ -2,7 +2,7 @@
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
-import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
import javax.faces.component.UIParameter;
@@ -23,7 +23,7 @@
protected UrlBuilder(String fragment, String characterEncoding)
{
this.fragment = fragment;
- parameters = new HashMap<String, String>();
+ parameters = new LinkedHashMap<String, String>();
this.characterEncoding = characterEncoding;
}
Modified: branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java
===================================================================
--- branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java 2008-06-09 13:12:16 UTC (rev 8353)
+++ branches/Seam_2_0_FP/ui/src/test/java/org/jboss/seam/ui/test/UrlBuilderTest.java 2008-06-09 13:13:49 UTC (rev 8354)
@@ -7,7 +7,6 @@
public class UrlBuilderTest
{
-
@Test
public void testBaseUrlAlreadyHasParams() throws UnsupportedEncodingException
{
@@ -19,4 +18,15 @@
assert "/someurl?arg1=a&foo=bar".equals(encodedUrl);
}
+ @Test
+ public void testParameterOrdering() throws UnsupportedEncodingException
+ {
+ UrlBuilder url = new UrlBuilder("/Hotel.seam", "", "UTF-8");
+ url.addParameter("hotelId", "5");
+ url.addParameter("cid", "10");
+ url.addParameter("z", "z");
+ url.addParameter("a", "a");
+ String encodedUrl = url.getEncodedUrl();
+ assert "/Hotel.seam?hotelId=5&cid=10&z=z&a=a".equals(encodedUrl) : "Parameters not properly ordered";
+ }
}
16 years, 6 months
Seam SVN: r8353 - branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2008-06-09 09:12:16 -0400 (Mon, 09 Jun 2008)
New Revision: 8353
Removed:
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Websphere.xml
Modified:
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml
branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/master.xml
Log:
removed unsupported documentation parts, added tech preview notes
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -957,6 +957,11 @@
<ulink url="http://labs.jboss.com/portletbridge">http://labs.jboss.com/portletbridge</ulink>
for more.
</para>
+
+ <note>
+ <title>Technology preview </title>
+ <para>Seam Integration with JBoss Portlet Bridge is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
</sect1>
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -694,6 +694,11 @@
These libraries are required if you with to use the Google Web Toolkit (GWT) with your Seam application.
</para>
+ <note>
+ <title>Technology preview </title>
+ <para>GWT in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
+
<table>
<title>GWT dependencies</title>
@@ -749,6 +754,11 @@
These libraries are required if you with to use the Spring Framework with your Seam application.
</para>
+ <note>
+ <title>Technology preview </title>
+ <para>Spring integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
+
<table>
<title>Spring Framework dependencies</title>
@@ -804,6 +814,11 @@
These libraries are required if you with to use Groovy with your Seam application.
</para>
+ <note>
+ <title>Technology preview </title>
+ <para>Groovy integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
+
<table>
<title>Groovy dependencies</title>
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -16,6 +16,11 @@
and dynamic languages. JBoss Seam lets the application developer use the best tool for the task, without context
switching. Writing dynamic Seam components is exactly like writing regular Seam components. You use the same
annotations, the same APIs, the same everything.</para>
+
+ <note>
+ <title>Technology preview </title>
+ <para>Groovy integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
<section>
<title id="groovy-intro">Groovy introduction</title>
Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-
-<chapter id="gwt">
- <title>Seam and the Google Web Toolkit</title>
-
- <para>
- For those that prefer to use the Google Web Toolkit (GWT) to develop dynamic AJAX applications, Seam provides
- an integration layer that allows GWT widgets to interact directly with Seam components.
- </para>
-
- <para>
- To use GWT, we assume that you are already familiar with the GWT tools - more information can be found at
- <ulink url="http://code.google.com/webtoolkit/">http://code.google.com/webtoolkit/</ulink>. This chapter
- does not attempt to explain how GWT works or how to use it.
- </para>
-
- <section>
- <title>Configuration</title>
-
- <para>
- There is no special configuration required to use GWT in a Seam application, however the Seam resource servlet
- must be installed. See <xref linkend="configuration"/> for details.
- </para>
-
- </section>
-
- <section>
- <title>Preparing your component</title>
-
- <para>
- The first step in preparing a Seam component to be called via GWT, is to create both synchronous and
- asynchronous service interfaces for the methods you wish to call. Both of these interfaces should extend the
- GWT interface <literal>com.google.gwt.user.client.rpc.RemoteService</literal>:
- </para>
-
- <programlisting role="JAVA"><![CDATA[public interface MyService extends RemoteService {
- public String askIt(String question);
- }]]></programlisting>
-
- <para>
- The asynchronous interface should be identical, except that it also contains an additional
- <literal>AsyncCallback</literal> parameter for each of the methods it declares:
- </para>
-
- <programlisting role="JAVA"><![CDATA[public interface MyServiceAsync extends RemoteService {
- public void askIt(String question, AsyncCallback callback);
-}]]></programlisting>
-
- <para>
- The asynchronous interface, in this example <literal>MyServiceAsync</literal>, will be implemented by GWT and
- should never be implemented directly.
- </para>
-
- <para>
- The next step, is to create a Seam component that implements the synchronous interface:
- </para>
-
- <programlisting role="JAVA"><![CDATA[@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.";
- }
-
- public boolean validate(String q) {
- ValidationUtility util = new ValidationUtility();
- return util.isValid(q);
- }
-}]]></programlisting>
-
- <para>
- The methods that should be made accessible via GWT need to be annotated with the
- <literal>@WebRemote</literal> annotation, which is required for all web-remoteable methods.
- </para>
- </section>
-
- <section>
- <title>Hooking up a GWT widget to the Seam component</title>
-
- <para>
- The next step, is to write a method that returns the asynchronous interface to the component. This method
- can be located inside the widget class, and will be used by the widget to obtain a reference to the
- asynchronous client stub:
- </para>
-
- <programlisting role="JAVA"><![CDATA[private MyServiceAsync getService() {
- String endpointURL = GWT.getModuleBaseURL() + "seam/resource/gwt";
-
- MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);
- ((ServiceDefTarget) svc).setServiceEntryPoint(endpointURL);
- return svc;
-}]]></programlisting>
-
- <para>
- The final step is to write the widget code that invokes the method on the client stub. The following example
- creates a simple user interface with a label, text input and a button:
- </para>
-
- <programlisting role="JAVA"><![CDATA[
-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);
- }
-
- 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);
- }
- });
- }
-
- ...]]></programlisting>
-
-
- <para>
- When clicked, the button invokes the <literal>askServer()</literal> method passing the contents of the input text (in this
- example, validation is also performed to ensure that the input is a valid question). The <literal>askServer()</literal>
- method acquires a reference to the asynchronous client stub (returned by the <literal>getService()</literal> method)
- and invokes the <literal>askIt()</literal> method. The result (or error message if the call fails) is shown in an alert window.
- </para>
-
- <mediaobject>
- <imageobject role="fo">
- <imagedata fileref="images/gwt-helloworld.png" align="center" scalefit="1"/>
- </imageobject>
- <imageobject role="html">
- <imagedata fileref="images/gwt-helloworld.png" align="center"/>
- </imageobject>
- </mediaobject>
-
-
- <para>
- The complete code for this example can be found in the Seam distribution in the <literal>examples/remoting/gwt</literal>
- directory.
- </para>
- </section>
-
- <section>
- <title>GWT Ant Targets</title>
-
- <para>
- For deployment of GWT apps, there is a compile-to-Javascript step (which compacts and obfuscates the code). There is an
- ant utility which can be used instead of the command line or GUI utility that GWT provides. To use this, you will need
- to have the ant task jar in your ant classpath, as well as GWT downloaded (which you will need for hosted mode anyway).
- </para>
-
- <para>
- Then, in your ant file, place (near the top of your ant file):
- </para>
-
- <programlisting role="XML"><![CDATA[<taskdef uri="antlib:de.samaflost.gwttasks"
- resource="de/samaflost/gwttasks/antlib.xml"
- classpath="./lib/gwttasks.jar"/>
-
- <property file="build.properties"/>]]></programlisting>
-
- <para>
- Create a <literal>build.properties</literal> file, which has the contents:
- </para>
-
- <programlisting><![CDATA[gwt.home=/gwt_home_dir]]></programlisting>
-
- <para>
- This of course should point to the directory where GWT is installed. Then to use it, create a target:
- </para>
-
- <programlisting role="XML"><![CDATA[<!-- the following are are handy utilities for doing GWT development.
- To use GWT, you will of course need to download GWT seperately -->
- <target name="gwt-compile">
- <!-- in this case, we are "re homing" the gwt generated stuff, so in this case
- we can only have one GWT module - we are doing this deliberately to keep the URL short -->
- <delete>
- <fileset dir="view"/>
- </delete>
- <gwt:compile outDir="build/gwt"
- gwtHome="${gwt.home}"
- classBase="${gwt.module.name}"
- sourceclasspath="src"/>
- <copy todir="view">
- <fileset dir="build/gwt/${gwt.module.name}"/>
- </copy>
- </target>]]></programlisting>
-
- <para>
- This target when called will compile the GWT application, and copy it to the specified directory (which would be
- in the <literal>webapp</literal> part of your war - remember GWT generates HTML and Javascript artifacts). You
- never edit the resulting code that <literal>gwt-compile</literal> generates - you always edit in the GWT source
- directory.
- </para>
-
- <para>
- Remember that GWT comes with a hosted mode browser - you should be using that if you are developing with GWT. If you
- aren't using that, and are just compiling it each time, you aren't getting the most out of the toolkit (in fact, if
- you can't or won't use the hosted mode browser, I would go far as to say you should NOT be using GWT at all - it's
- that valuable!).
- </para>
-
- </section>
-</chapter>
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -334,6 +334,12 @@
version of JBoss AS you use already has this file, replace it.
</para>
+ <note>
+ <title>Technology preview </title>
+ <para>Distributed mail-ra.rar in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
+
+
<para>
You can configure it like this:
</para>
Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,1161 +0,0 @@
-<chapter id="oc4j">
- <title>Seam on OC4J</title>
-
- <para> OC4J (Oracle Containers for Java) 11g (currently a "Technology
- Preview" release) is Oracle's JEE5 application server. Seam application
- can be deployed to OC4J, but require some additional configuration
- changes, and dependencies. This chapter will show you exactly what must be
- done. We will start by looking at the building and deploying the JEE5 Hotel
- Booking example application which comes with Seam. Then we will deploy a
- project generated by <literal>seam-gen</literal> . First a basic
- <literal>seam-gen</literal> application with RichFaces ajax
- components, and facelets. Then expand that application to include Seam
- security with Drools, JPA provided with hibernate, and automatic CRUD
- reverse engineering of a MySQL database. </para>
-
- <section id="oc4j-install-operation">
- <title>Installation and operation of OC4J</title>
- <para> First we need to install the target container - OC4j. This chapter
- requires you to use OC4J 11g Technology Preview (not OC4J 10g). You can
- download OC4J 11g from <ulink
- url="http://www.oracle.com/technology/tech/java/oc4j/11/">
- http://www.oracle.com/technology/tech/java/oc4j/11/ </ulink>
- Below are instructions to install. launch, access, and shutdown the 11g
- release. For further information on installing OC4J, consult the
- <literal>readme.txt</literal> distributed with OC4J, or the OC4J
- installation guide and release notes.
- <orderedlist>
- <listitem>
- <para>Download and unzip OC4J</para>
- </listitem>
- <listitem>
- <para> Make sure you have <literal>$JAVA_HOME</literal> and
- <literal>$ORACLE_HOME</literal> set as environment
- variables ( <literal>$ORACLE_HOME</literal> is the
- directory to which you unzip OC4J). For further information
- on installing OC4J, consult the
- <literal>readme.txt</literal> distributed with OC4J
- </para>
- </listitem>
- <listitem>
- <para> Applications (ear/war) are deployed to the
- <literal>$ORACLE_HOME/j2ee/home/applications</literal>
- directory. </para>
- <para> Note that OC4J does not support hot deployment by default.
- This means every time you deploy the application you must
- restart the server. </para>
- </listitem>
- <listitem>
- <para> Start OC4J: <literal> $ORACLE_HOME/j2ee/home/java
- -jar -XX:MaxPermSize=256M oc4j.jar </literal> </para>
- <para> You must override the default PermGen memory settings
- using above command. See <ulink
- url="http://www.oracle.com/technology/tech/java/oc4j/11/oc4j-relnotes.html">
- OC4J release notes </ulink> for details. </para>
- <para> You will be asked to set the admin password if this is the
- first time you have started OC4J </para>
- </listitem>
- <listitem>
- <para> Once deployed you can check out your applications at
- <literal>http://localhost:8888/<your-app-path></literal>
- </para>
- </listitem>
- <listitem>
- <para> You can stop the server by pressing
- <literal>CTRL-C</literal> in the console on which the
- server is running. </para>
- </listitem>
- </orderedlist> </para>
- </section>
-
- <section>
- <title> The <literal>jee5/booking</literal> example </title>
-
- <para> The <literal>jee5/booking</literal> example is based on the Hotel
- Booking example (which runs on JBoss AS). Out of the box it is designed to
- run on Glassfish, but it's easy to build it for OC4J. It is located in the
- <literal>$SEAM_DIST/examples/jee5/booking</literal> directory.
- </para>
-
- <section>
- <title>Booking Example Dependencies</title>
-
- <para> First, lets look at the basic dependencies of the booking
- example. Armed with this knowledge we can look at the extra
- dependencies requirements that OC4J adds. </para>
-
- <para> We will show you how to get these dependencies into the
- application in <xref linkend="oc4j-build-jee5"/> below. </para>
- <section>
- <title>Core Seam dependencies</title>
- <itemizedlist>
- <listitem>
- <simpara><literal>jboss-seam.jar</literal> — We
- declare this as an EJB3 module (why? well Seam needs to be
- able to interact with container managed transactions;
- this is implemented as an EJB3 Stateful Session Bean)
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>jboss-el.jar</literal> </simpara>
- </listitem>
- <listitem>
- <simpara><literal>jboss-seam-ui.jar</literal> —
- Seam's JSF controls depend on Apache's
- commons-beanutils</simpara>
- </listitem>
- <listitem>
- <simpara> <literal>jboss-seam-debug.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>jsf-facelets.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>richfaces-api.jar</literal> ,
- <literal>richfaces-impl.jar</literal> and
- <literal>richfaces-ui.jar</literal> — which
- requires Apache commons-digester and
- commons-beanutils </simpara>
- </listitem>
- </itemizedlist>
- </section>
-
- <section>
- <title>Extra dependencies</title>
- <itemizedlist>
- <listitem>
- <para> Hibernate — of course, we decided to use
- Hibernate as the JPA provider (rather than TopLink
- Essentials which ships with OC4J). </para>
- <para> To use Hibernate as your JPA provider you need the
- following jars:
- <itemizedlist>
- <listitem>
- <simpara> <literal>hibernate.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-annotations.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-entitymanager.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-validator.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>jboss-common-core.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-logging.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-collections.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para> Third party jars — various jars needed for seam
- and this example to run.
- <itemizedlist>
- <listitem>
- <simpara> <literal>javaasist.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>dom4j.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>cglib.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>asm.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-beanutils.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-digester.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara><literal>log4j.jar</literal>
- — This can be left out if you are not going
- to configure log4j. If it is packaged but not
- configured logging will be hidden in oc4j.
- </simpara>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para> Extra OC4J jars — Running Seam on most
- application servers (such as JBoss AS or Glassfish) you
- only need to include the dependencies for those bits of
- Seam you actually use (e.g. if you use Seam Text you need to
- include ANTLR); but, on OC4J, due to its "interesting"
- classloading you must always include them:
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>hibernate-search.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-common-annotations.jar</literal>
- — needed for hibernate search
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>lucene-core.jar</literal>
- — needed for hibernate search
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>antlr.jar</literal>
- — needed for Seam Text </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>jbpm-jpdl.jar</literal>
- — needed for Seam's JBPM </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>quartz.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>dbunit.jar</literal>
- — needed for some testing classes
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>jboss-embedded-api.jar</literal>
- — needed for some testing classes
- </simpara>
- </listitem>
- <listitem>
- <para> Drools — needed for Seam Security. We
- aren't using Seam security with Drools, but
- have to include it. Drools consists of 6 jars:
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>drools-core.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>drools-compiler.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>janino.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>mvel141.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>core.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>antlr-runtime.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist> Drools integration is not
- used in the example. </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- </itemizedlist>
- </section>
- </section>
-
- <section>
- <title>Configuration file changes</title>
-
- <para>There are just a few changes to be made:</para>
- <variablelist>
- <varlistentry>
- <term> <literal>web.xml</literal>
- </term>
- <listitem>
- <para> You need to declare all your ejb's in the
- <literal>web.xml</literal> . This is a silly
- requirement of a number of JEE5 application servers - for
- example OC4J and Glassfish. </para>
- <para> This is already done in the example's web.xml file,
- below is an example. </para>
-
-
- <programlisting role="XML"><![CDATA[<ejb-local-ref>
- <ejb-ref-name>
- jboss-seam-jee5/AuthenticatorAction/local
- </ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local>
- org.jboss.seam.example.booking.Authenticator
- </local>
- <ejb-link>AuthenticatorAction</ejb-link>
-</ejb-local-ref>]]></programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>persistence.xml</literal>
- </term>
- <listitem>
- <para> You need to provide the correct configuration for your
- JPA implementation. We are using Hibernate and due to OC4J
- bundling an old ANTLR, we need to use an alternative query
- factory, we also want to use the OC4J transaction manager:
- </para>
- <para> For our example modify the
- <literal>resources/META-INF/persistence.xml</literal>
- file. Comment out the Glassfish properties and
- un-comment the OC4J properties. </para>
-
-
- <programlisting role="XML"><![CDATA[<property name="hibernate.dialect"
- value="org.hibernate.dialect.HSQLDialect"/>
-<property name="hibernate.query.factory_class"
- value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.OrionTransactionManagerLookup"/>]]></programlisting>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </section>
-
- <section id="oc4j-build-jee5">
- <title> Building the <literal>jee5/booking</literal> example
- </title>
-
- <orderedlist>
- <listitem>
- <para> Modify the <literal>build.xml</literal> file in the
- example: </para>
- <itemizedlist>
- <listitem>
- <para> Un-comment the labeled OC4J-related library
- properties. This will include all the extra
- dependencies discussed above. </para>
- <para>It should look like the following:</para>
-
-
- <programlisting role="XML"><![CDATA[<!-- add libs for oc4j (eager classloading) -->
-<property name="jbpm.lib" value="true"/>
-<property name="drools.lib" value="true"/>
-<property name="quartz.lib" value="true" />
-<property name="search.lib" value="true" />
-<property name="dbunit.lib" value="true" />
-<property name="jboss-embedded-api.lib" value="true" />
- ]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para> Build the demo app by running <literal>ant</literal> in
- the <literal>examples/jee5/booking</literal>
- directory. The build target is
- <literal>dist/jboss-seam-jee5.ear</literal> </para>
- </listitem>
- <listitem>
- <para> Copy <literal>dist/jboss-seam-jee5.ear</literal>
- following the instructions below. </para>
- </listitem>
- </orderedlist>
- </section>
- </section>
-
- <section id="oc4j-app-deploy">
- <title>Deploying the Seam application to OC4J</title>
- <para> This mini-tutorial describes the (fairly tedious) steps required
- to deploy a JEE 5 application to OC4J. It assumes you have already
- downloaded and installed it following the instructions in <xref
- linkend="oc4j-install-operation"/>. It also assumes you are
- deploying the <literal>jee5/booking</literal> example, using the
- embedded hsqldb database. To deploy another application you would need
- to alter the datasource and application name. </para>
- <orderedlist>
- <listitem>
- <para> Copy <literal>hsqldb.jar</literal> to OC4J shared library
- directory: <literal> cp ../../seam-gen/lib/hsqldb.jar
- $ORACLE_HOME/j2ee/home/applib/ </literal> (OC4J doesn't
- come with an embedded database so we decided to use HSQLDB)
- </para>
- </listitem>
- <listitem>
- <para> Edit the OC4J datasource file
- <literal>$ORACLE_HOME/j2ee/home/config/data-sources.xml</literal>
- and, inside <literal><data-sources></literal> , add
- </para>
-
-
- <programlisting role="XML"><![CDATA[<managed-data-source
- connection-pool-name="jee5-connection-pool"
- jndi-name="jdbc/__default"
- name="jee5-managed-data-source" />
-<connection-pool name="jee5-connection-pool">
- <connection-factory
- factory-class="org.hsqldb.jdbcDriver"
- user="sa"
- password=""
- url="jdbc:hsqldb:." />
-</connection-pool>]]></programlisting>
-
- <para> The <literal>jndi-name</literal> is used as the
- <literal>jta-data-source</literal> in
- <literal>persistence.xml</literal> . </para>
- </listitem>
- <listitem>
- <para> Edit
- <literal>$ORACLE_HOME/j2ee/home/config/server.xml</literal>
- and, inside <literal><application-server></literal>
- , add </para>
-
-
- <programlisting role="XML"><![CDATA[<application name="jboss-seam-jee5"
- path="../../home/applications/jboss-seam-jee5.ear"
- parent="default"
- start="true" />]]></programlisting>
- <para> To keep things simple use the same names as you used for
- project. </para>
- </listitem>
- <listitem>
- <para> Edit <literal>
- $ORACLE_HOME/j2ee/home/config/default-web-site.xml
- </literal> , and, inside
- <literal><web-site></literal> , add </para>
-
-
- <programlisting role="XML"><![CDATA[<web-app application="jboss-seam-jee5"
- name="jboss-seam-jee5"
- load-on-startup="true"
- root="/seam-jee5" />]]></programlisting>
- <para> The <literal>root</literal> is the context path you will put
- into your web browser to access the application. </para>
- </listitem>
- <listitem>
- <para> Copy the application to OC4J: <literal> cp
- dist/jboss-seam-jee5.ear
- $ORACLE_HOME/j2ee/home/applications/ </literal> </para>
- </listitem>
- <listitem>
- <para> Start/stop OC4J following instructions in <xref
- linkend="oc4j-install-operation"/> above. </para>
- </listitem>
- <listitem>
- <para> Checkout the app at:
- <literal>http://localhost:8888/seam-jee5</literal>
- </para>
- </listitem>
- </orderedlist>
- </section>
-
- <section>
- <title> Deploying an application created using
- <literal>seam-gen</literal> to OC4J </title>
-
- <para> <literal>seam-gen</literal> is a great tool for developers that
- can quickly get you up and running with a full Seam application. However
- the project that it created is configured to run on JBoss AS. This means
- there are some extra steps needed to have it execute on OC4j. The
- following explanation assumes you are using the command line and a
- simple text editor, but of course you can use your favorite IDE.
- <literal>seam-gen</literal> projects come with support for Eclipse
- and Netbeans. </para>
-
- <para> We will start by creating and deploying a pretty simple application
- using <literal>seam-gen</literal> . Then we'll show you how easy it is
- to use <literal>seam-gen</literal> and Hibernate Tools to reverse
- engineer a database schema into a functional CRUD application.
- <literal>seam-gen</literal> will create JPA entity beans, Seam
- Application Framework components and JSF views for you. We will also add
- Seam security using Drools. </para>
-
- <para> This tutorial uses MySQL (but of course you could use any database,
- altering the SQL and datasources as appropriate); install, configure
- and run MySQL, then create a database with some sample data. Don't forget
- to also download the
- <literal>mysql-connector-java-X.jar</literal> for jdbc support.
- When setting up Seam security this tutorial will assume there is a table
- named <literal>User</literal> with columns
- <literal>username</literal> and <literal>password</literal> with
- at least one entry. Beyond that you can set up any type of sample data and
- tables you would like. </para>
-
- <section>
- <title> Generating a basic <literal>seam-gen</literal> application
- </title>
- <para> First we need to tell the <literal>seam-gen</literal> what we
- want, run <literal>./seam setup</literal> in the seam
- distribution directory. Follow the settings example below based on
- your system and setup (ex. use your database name instead of
- <literal>oc4jexample</literal> ). </para>
-
-
- <programlisting><![CDATA[> ./seam setup
-Buildfile: build.xml
-
-init:
-
-setup:
- [echo] Welcome to seam-gen :-)
- [input] Enter your Java project workspace (the directory that contains your
-Seam projects) [C:/Projects] [C:/Projects]
-/home/jbalunas/workspace
- [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.GA]
-[C:/Program Files/jboss-4.2.2.GA]
-/home/jbalunas/jboss/jboss-4.2.2.GA
- [input] Enter the project name [myproject] [myproject]
-oc4j_example
- [echo] Accepted project name as: oc4j_example
- [input] Select a RichFaces skin (not applicable if using ICEFaces) [blueSky]
- ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT)
-
- [input] Is this project deployed as an EAR (with EJB components) or a WAR
-(with no EJB support) [ear] ([ear], war, )
-
- [input] Enter the Java package name for your session beans [com.mydomain.
-oc4j_example] [com.mydomain.oc4j_example]
-org.jboss.seam.tutorial.oc4j.action
- [input] Enter the Java package name for your entity beans [org.jboss.seam.
-tutorial.oc4j.action] [org.jboss.seam.tutorial.oc4j.action]
-org.jboss.seam.tutorial.oc4j.model
- [input] Enter the Java package name for your test cases [org.jboss.seam.
-tutorial.oc4j.action.test] [org.jboss.seam.tutorial.oc4j.action.test]
-org.jboss.seam.tutorial.oc4j.test
- [input] What kind of database are you using? [hsql] ([hsql], mysql, oracle,
- postgres, mssql, db2, sybase, enterprisedb, h2)
-mysql
- [input] Enter the Hibernate dialect for your database [org.hibernate.
-dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect]
-
- [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.jar]
-[lib/hsqldb.jar]
-lib/mysql-connector.jar
- [input] Enter JDBC driver class for your database [com.mysql.jdbc.Driver]
-[com.mysql.jdbc.Driver]
-
- [input] Enter the JDBC URL for your database [jdbc:mysql:///test]
-[jdbc:mysql:///test]
-jdbc:mysql:///oc4jexample
- [input] Enter database username [sa] [sa]
-username
- [input] Enter database password [] []
-password
- [input] skipping input as property hibernate.default_schema.new has already
-been set.
- [input] Enter the database catalog name (it is OK to leave this blank) [] []
-
- [input] Are you working with tables that already exist in the database? [n]
- (y, [n], )
-y
- [input] Do you want to drop and recreate the database tables and data in
-import.sql each time you deploy? [n] (y, [n], )
-n
- [input] Enter your ICEfaces home directory (leave blank to omit ICEfaces) [] []
-
-[propertyfile] Creating new property file:
-/home/jbalunas/workspace/jboss-seam/seam-gen/build.properties
- [echo] Installing JDBC driver jar to JBoss server
- [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.2.GA/server/default/lib
- [echo] Type 'seam create-project' to create the new project
-
-BUILD SUCCESSFUL]]></programlisting>
-
- <para> Type <literal>./seam new-project</literal> to create your
- project and <literal>cd
- /home/jbalunas/workspace/oc4j_example</literal> to the newly
- created project. </para>
-
- </section>
- <section>
- <title>Changes needed for deployment to OC4J</title>
- <para>We now need to make some changes to the generated project.</para>
- <section>
- <title>Configuration file changes</title>
- <para>Let's start with the configuration files:</para>
- <variablelist>
- <varlistentry>
- <term> <literal>build.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>Change the default target to archive (we
- aren't going to cover automatic deployment to
- OC4J).
- </para>
- <programlisting role="XML"><![CDATA[<project name="oc4j_example" default="archive" basedir=".">]]></programlisting>
- </listitem>
- <listitem>
- <para>OC4J looks for the drools file
- <literal>/security.drl</literal> file in
- the root of the <literal>war</literal> file
- instead of the root of the
- <literal>ear</literal> file so we need to have
- the <literal>build.xml</literal> move it to
- the correct location at build time. The
- following must be added at the top of the
- <literal> <target name="war"
- depends="compile" description="Build the
- distribution .war file"> </literal>
- target.
- </para>
-
- <programlisting role="XML"><![CDATA[<copy todir="${war.dir}">
- <fileset dir="${basedir}/resources" >
- <include name="*.drl" />
- </fileset>
- </copy>]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/persistence-dev.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Alter the
- <literal>jta-data-source</literal> to be
- <literal>jdbc/__oc4jexample</literal>
- (and use this as the
- <literal>jndi-name</literal> when creating
- the data source in
- <literal>data-sources.xml</literal> later
- during deployment). </para>
- </listitem>
- <listitem>
- <para> Add the properties (described in
- <literal>jee5/booking</literal> example):
- </para>
-
-
- <programlisting role="XML"><![CDATA[<property name="hibernate.query.factory_class"
- value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory" />
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.OrionTransactionManagerLookup" />
-<property name="hibernate.transaction.flush_before_completion"
- value="true"/>
-<property name="hibernate.cache.provider_class"
- value="org.hibernate.cache.HashtableCacheProvider"/>]]></programlisting>
- </listitem>
- <listitem>
- <para> Remove the JBoss AS specific method of
- exposing the EntityManagerFactory: </para>
-
-
- <programlisting role="XML"><![CDATA[<property
- name="jboss.entity.manager.factory.jndi.name"
- value="java:/oc4j_exampleEntityManagerFactory">]]></programlisting>
- </listitem>
- <listitem>
- <para> You'll need to alter
- <literal>persistence-prod.xml</literal>
- as well if you want to deploy to OC4J using the
- prod profile. </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/jboss-app.xml</literal>
- </term>
- <listitem>
- <para> You can delete this file as we aren't deploying to
- JBoss AS ( <literal>jboss-app.xml</literal> is used
- to enable classloading isolation in JBoss AS) </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/*-ds.xml</literal>
- </term>
- <listitem>
- <para> You can delete these file as we aren't deploying to
- JBoss AS (these files define datasources in JBoss AS,
- in OC4J you have to edit the master
- <literal>data-sources.xml</literal> file)
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/WEB-INF/components.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Enable container managed transaction
- integration - add the <literal>
- <transaction:ejb-transaction />
- </literal> component, and it's namespace
- declaration <literal>
- xmlns:transaction="http://jboss.com/products/seam/transaction"
- </literal> </para>
- </listitem>
- <listitem>
- <para> Alter the
- <literal>jndi-pattern</literal> to
- <literal>
- java:comp/env/oc4j_example/#{ejbName}/local
- </literal> </para>
- </listitem>
- <listitem>
- <para> We want to use a Seam Managed Persistence
- Context in our application. Unfortunately
- OC4J doesn't expose the EntityManagerFactory
- in JNDI, but Seam provides a built-in manager
- component. To activate add the following
- entry: </para>
-
-
- <programlisting role="XML"><![CDATA[<persistence:entity-manager-factory
- auto-create="true"
- name="oc4jEntityManagerFactory"
- persistence-unit-name="oc4j_example" />]]></programlisting>
- <para> We then need to tell Seam to use it, so we alter
- the
- <literal>managed-persistence-context</literal>
- injecting the Entity Manager Factory into the
- existing element: </para>
-
-
- <programlisting role="XML"><![CDATA[<persistence:managed-persistence-context
- name="entityManager"
- auto-create="true"
- entity-manager-factory="#{oc4jEntityManagerFactory}" />]]>
- </programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/WEB-INF/web.xml</literal>
- </term>
- <listitem>
- <para> You must add the Seam container managed
- transaction integration EJB entry below. Remember
- for OC4j you need to declare all your EJBs here if you
- modify the application further. </para>
-
-
- <programlisting role="XML"><![CDATA[<ejb-local-ref>
- <ejb-ref-name>
- oc4j_example/EjbSynchronizations/local
- </ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local>
- org.jboss.seam.transaction.LocalEjbSynchronizations
- </local>
- <ejb-link>EjbSynchronizations</ejb-link>
-</ejb-local-ref>]]></programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/orion-application.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> This is a file that you must create so that
- RichFaces and Ajax4Jsf stylesheets will work
- with OC4J. This file basically tells OC4J not
- force its own inherited URL settings. </para>
-
-
- <programlisting role="XML"><![CDATA[<?xml version = '1.0' encoding = 'utf-8'?>
-<orion-application
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/
- orion-application-10_0.xsd"
- schema-major-version="10"
- schema-minor-version="0"
- component-classification="internal">
-
- <imported-shared-libraries>
- <remove-inherited name="oracle.xml"/>
- </imported-shared-libraries>
-</orion-application>]]></programlisting>
- </listitem>
- <listitem>
- <para> Now you need to tell the
- <literal>build.xml</literal> file that it
- needs to copy this file to the
- <literal>ear</literal> archive. Find the
- <literal> <target name="ear"
- description="Build the EAR"> </literal>
- target and modify the <literal>
- <copy todir="${ear.dir}/META-INF">
- </literal> section to look like the following:
- </para>
-
-
- <programlisting role="XML"><![CDATA[<copy todir="${ear.dir}/META-INF">
- <fileset dir="${basedir}/resources/META-INF">
- <include name="application.xml" />
- <include name="orion-application.xml"/>
- <include name="jboss-app.xml" />
- </fileset>
- </copy>]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
- <section>
- <title>Extra jar dependencies</title>
- <para> This application has similar requirements as the
- <literal>jee5/booking</literal> example above. </para>
- <para> The <literal>build.xml</literal> must be modified to add
- the jars listed below to the generated archive files. Look for the
- <literal><fileset dir="${basedir}"></literal>
- section below and add the imports underneath the other libraries
- being imported. </para>
-
-
- <programlisting role="XML"><![CDATA[<target name="ear" description="Build the EAR">
- <copy todir="${ear.dir}">
- <fileset dir="${basedir}/resources">
- <include name="*jpdl.xml" />
- <include name="*hibernate.cfg.xml" />
- <include name="jbpm.cfg.xml" />
- <include name="*.drl" />
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="jboss-seam.jar" />
- </fileset>
- <fileset dir="${basedir}">
- <include name="lib/jbpm*.jar" />
- <include name="lib/jboss-el.jar" />
- <include name="lib/drools-*.jar"/>
- <include name="lib/janino*.jar"/>
- <include name="lib/antlr-*.jar"/>
- <include name="lib/mvel*.jar"/>
- <include name="lib/richfaces-api*.jar" />
- </fileset>
- </copy>
- <copy todir="${ear.dir}/META-INF">
- <fileset dir="${basedir}/resources/META-INF">
- <include name="application.xml" />
- <include name="jboss-app.xml" />
- </fileset>
- </copy>
-</target>]]></programlisting>
- <itemizedlist>
- <listitem>
- <para>Hibernate:</para>
-
-
- <programlisting role="XML"><![CDATA[<include name="lib/hibernate.jar"/>
-<include name="lib/hibernate-annotations.jar"/>
-<include name="lib/hibernate-commons-annotations.jar"/>
-<include name="lib/hibernate-entitymanager.jar"/>
-<include name="lib/hibernate-search.jar"/>
-<include name="lib/hibernate-validator.jar"/>
-<include name="lib/commons-logging.jar"/>
-<include name="lib/commons-collections.jar"/>
-<include name="lib/jboss-common-core.jar"/>]]></programlisting>
- </listitem>
- <listitem>
- <para> Drools — because we are using Drools to provide
- Seam Security rules, we need to add in Eclipse JDT compiler
- (you don't need this on JBoss AS; again this is due to OC4J's
- classloading): </para>
-
-
- <programlisting role="XML"><![CDATA[<include name="lib/core.jar"/>]]></programlisting>
- </listitem>
- <listitem>
- <para> Third party jars — most of these are only needed
- because of OC4J's classloading: </para>
-
-
- <programlisting role="XML"><![CDATA[<include name="lib/javassist.jar"/>
-<include name="lib/quartz.jar"/>
-<include name="lib/dbunit.jar"/>
-<include name="lib/jboss-embedded-api.jar"/>
-<include name="lib/dom4j.jar"/>
-<include name="lib/lucene-core.jar"/>
-<include name="lib/cglib.jar"/>
-<include name="lib/asm.jar"/>
-<include name="lib/commons-beanutils.jar"/>
-<include name="lib/commons-digester.jar"/>
-<include name="lib/antlr.jar"/>]]></programlisting>
- </listitem>
- </itemizedlist>
-
- <para>You should end up with something like:</para>
-
-
- <programlisting role="XML"><![CDATA[<fileset dir="${basedir}">
- <include name="lib/jbpm*.jar" />
- <include name="lib/jboss-el.jar" />
- <include name="lib/drools-*.jar"/>
- <include name="lib/janino*.jar"/>
- <include name="lib/antlr-*.jar"/>
- <include name="lib/mvel*.jar"/>
- <include name="lib/richfaces-api*.jar" />
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-search.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/jboss-common-core.jar"/>
- <include name="lib/core.jar"/>
- <include name="lib/javassist.jar"/>
- <include name="lib/quartz.jar"/>
- <include name="lib/dbunit.jar"/>
- <include name="lib/jboss-embedded-api.jar"/>
- <include name="lib/dom4j.jar"/>
- <include name="lib/lucene-core.jar"/>
- <include name="lib/cglib.jar"/>
- <include name="lib/asm.jar"/>
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/antlr.jar"/>
-</fileset>]]></programlisting>
- </section>
-
- </section>
- <section>
- <title> Building and deploying the seam-gen'd application to OC4J
- </title>
- <para> These instructions are very similar to the ones in <xref
- linkend="oc4j-app-deploy"/> but with the correct references
- for the <literal>oc4j_example</literal> application. </para>
-
- <itemizedlist>
- <listitem>
- <para> Build your application by calling
- <literal>ant</literal> in the base directory of your
- project (ex.
- <literal>/home/jbalunas/workspace/oc4j_example</literal>
- ). The target of the build will be
- <literal>dist/oc4j_example.ear</literal> . </para>
- </listitem>
- <listitem>
- <para> Copy the <literal>mysql-connector.jar</literal> file
- to the
- <literal>$ORACLE_HOME/j2ee/home/applib</literal>
- directory so that jdbc drivers are available. </para>
- </listitem>
-
- <listitem>
- <para> <literal>
- $ORACLE_HOME/j2ee/home/config/data-sources.xml
- </literal> </para>
-
-
- <programlisting role="XML"><![CDATA[<managed-data-source
- connection-pool-name="oc4j-example-connection-pool"
- jndi-name="jdbc/__oc4jexample"
- name="oc4j-example-managed-data-source" />
-<connection-pool
- name="oc4j-example-connection-pool">
- <connection-factory
- factory-class="com.mysql.jdbc.Driver"
- user="username"
- password="password"
- url="jdbc:mysql:///oc4j" />
-</connection-pool>]]></programlisting>
- </listitem>
- <listitem>
- <para>
- <literal>$ORACLE_HOME/j2ee/home/config/server.xml</literal>
- </para>
-
-
- <programlisting role="XML"><![CDATA[<application name="oc4j_example"
- path="../../home/applications/oc4j_example.ear"
- parent="default"
- start="true" />]]></programlisting>
- </listitem>
- <listitem>
- <para> <literal>
- $ORACLE_HOME/j2ee/home/config/default-web-site.xml
- </literal> </para>
-
-
- <programlisting role="XML"><![CDATA[<web-app application="oc4j_example"
- name="oc4j_example"
- load-on-startup="true"
- root="/oc4j_example" />]]></programlisting>
- </listitem>
-
- <listitem>
- <para> Start/stop OC4J following instructions in the
- <literal>Installation and operation of OC4J</literal>
- section above. </para>
- </listitem>
- <listitem>
- <para> Checkout the app at:
- <literal>http://localhost:8888/oc4j_example</literal>
- </para>
- </listitem>
- </itemizedlist>
-
- </section>
-
- <section>
- <title> Extending example with reverse engineered CRUD and Drools
- </title>
- <para> In this section we extend the basic
- <literal>seam-gen</literal> application into a full blown CRUD
- application based on an existing database. Plus we will add
- <literal>Drools</literal> based security as well. </para>
- <section>
- <title> Have <literal>seam-gen</literal> generate your CRUD
- applications </title>
- <para> Type <literal>./seam generate-entities</literal> in the
- base directory of your seam distribution. This will create the
- entities, the Seam Application Framework classes and the
- relevant views for the CRUD application. </para>
-
- <para> That's it...no really...that's it. Build and deploy as
- before and see for yourself. </para>
-
- </section>
- <section>
- <title> Hook up drools authentication using your new CRUD
- application </title>
- <para> As stated above this section assumes your database had a
- <literal>User</literal> table with
- <literal>username</literal> and
- <literal>password</literal> columns with at least one entry.
- If you don't have this you may need to modify the
- <literal>authenticate</literal> method below. </para>
- <para> Lets link our <literal>User</literal> entity into Seam
- Security by making our authenticator class a Stateless Session
- Bean (OC4J is a EJB3 container after all!): </para>
-
- <orderedlist>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Add the <literal>@Stateless</literal>
- annotation to the
- <literal>Authenticator</literal> class.
- </para>
- </listitem>
- <listitem>
- <para> Rename the class to
- <literal>AuthenticatorAction</literal>
- </para>
- </listitem>
- <listitem>
- <para> Create an interface called
- <literal>Authenticator</literal> which
- <literal>AuthenticatorAction</literal>
- implements (EJB3 requires session beans to have a
- local interface). Annotate the interface with
- <literal>@Local</literal> , and add a single
- method with same signature as the
- <literal>authenticate</literal> in
- <literal>AuthenticatorAction</literal> .
- </para>
- </listitem>
- </itemizedlist>
-
-
- <programlisting role="JAVA"><![CDATA[@Name("authenticator") @Stateless public class
- AuthenticatorAction implements Authenticator {]]></programlisting>
-
-
- <programlisting role="JAVA"><![CDATA[@Local public interface Authenticator {
- public boolean authenticate();
-}]]></programlisting>
- </listitem>
- <listitem>
- <para> Use <literal>@PersistenceContext</literal> to
- inject an EntityManager by adding this line the
- <literal>AuthenticatorAction</literal> class:
- </para>
-
-
- <programlisting role="JAVA"><![CDATA[@PersistenceContext private EntityManager entityManager;]]></programlisting>
- </listitem>
- <listitem>
- <para>Implement authenticate:</para>
-
-
- <programlisting role="JAVA"><![CDATA[public boolean authenticate() {
- List <User> users = entityManager .createQuery("select u from User u where
- u.username = #{identity.username} and
- u.password = #{identity.password}") .getResultList();
- if (users.size() == 1) {
- identity.addRole("admin");
- return true;
- } else {
- return false;
- }
-}]]></programlisting>
- </listitem>
- <listitem>
- <para> And then add the EJB3 reference to
- <literal>web.xml</literal> : </para>
-
-
- <programlisting role="XML"><![CDATA[<ejb-local-ref>
- <ejb-ref-name>
- oc4j_example/AuthenticatorAction/local
- </ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local>
- org.jboss.seam.tutorial.oc4j.action.Authenticator
- </local>
- <ejb-link>AuthenticatorAction</ejb-link>
-</ejb-local-ref>]]></programlisting>
- </listitem>
- </orderedlist>
-
- <para> Build and deploy as before and notice that now only actual
- username and passwords are accepted. </para>
- </section>
-
- </section>
-
- </section>
- <section>
- <title>Finishing up</title>
- <para> That's it, we're through. You now have a great starting point for any
- Seam based application deployed to OC4J. </para>
- </section>
-</chapter>
\ No newline at end of file
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -83,6 +83,12 @@
ICEfaces. These solutions let you add AJAX capability to your user interface without
the need to write any JavaScript code.
</para>
+
+ <note>
+ <title>Technology preview </title>
+ <para>Icefaces integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
+
<para>
Alternatively, Seam provides a built-in JavaScript remoting layer that lets you call
components asynchronously from client-side JavaScript without the need for an intermediate
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -5,7 +5,12 @@
<para>The Spring integration module allows easy migration of Spring-based projects to Seam and allows Spring
applications to take advantage of key Seam features like conversations and Seam's more sophisticated persistence
context management.</para>
-
+
+ <note>
+ <title>Technology preview </title>
+ <para>Spring integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>
+ </note>
+
<para>Note! The Spring integration code is included in the jboss-seam-ioc library. This dependency is required for
all seam-spring integration techniques covered in this chapter.</para>
Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,1595 +0,0 @@
-<chapter id="weblogic">
- <title>Seam on BEA's Weblogic</title>
-
- <para> Weblogic 10.X is BEA's JEE5 server offering, currently 10.0.MP1 is
- their stable release, and 10.3.TP is their latest tech preview release.
- Seam applications can be deployed and developed on Weblogic servers, and
- this chapter will show you how. There are some known issues with the
- Weblogic servers that will need to be worked around, and configuration
- changes that are needed. </para>
-
- <para> First step is to get Weblogic downloaded, installed and running (no
- small feat). Then we'll talk about Seam's JEE5 example and the hurdles to
- getting it running. After that, the JPA example will
- be modified and deployed to the server. Then finally we will create a
- <literal>seam-gen</literal> application and get it up and running to
- provide a jump start to your own application. </para>
-
- <section>
- <title>Installation and operation of Weblogic</title>
- <para> First things first we need to get the server installed - and there
- is a choice to be made. Weblogic 10.0.MP1 is the most recent stable
- release, while 10.3.TP is a technical preview version that fixes some
- things and breaks others. </para>
- <itemizedlist>
- <listitem>
- <para><literal>Weblogic 10.0.MP1</literal>
- — <ulink
-url="http://commerce.bea.com/showproduct.jsp?family=WLS&major=10&minor=1">
- Download page </ulink></para>
- <para> 10.0.MP1 has a known issue with EJBs that use
- <literal>varargs</literal> in their methods (it confuses them
- as <literal>transient</literal> ). This causes exceptions
- when Weblogic attempts to compile the Seam EJBs. There is a BEA
- support patch available to fix this issue, but BEA is currently
- working on a second issue related to the EJBs. See the
- <literal>jee5/booking</literal> example for more details. </para>
- </listitem>
- <listitem>
- <para><literal>Weblogic 10.3.TP</literal>
- — <ulink
-url="http://commerce.bea.com/showproduct.jsp?family=WLS&major=10.3Tech&...">
- Download page </ulink></para>
- <para> This version still has not fixed the
- <literal>varargs</literal> bug, and there is a new issue with
- EJBs that do not use <literal>kodo</literal> (BEA's
- implementation of JPA). BEA has said that the <literal>varargs
- </literal> issue will be resolved in the final version of 10.3,
- but the <literal>kodo</literal> issue is a blocker for getting
- the <literal>jee5/booking</literal> working.
- </para>
- </listitem>
- </itemizedlist>
-
- <note>
- <title>Special <literal>jboss-seam.jar</literal> for Weblogic EJB
- Support</title>
- <para> Starting with Seam 2.0.2.CR2 a special Weblogic specific jar has
- been created that does not contain the <literal>TimerServiceDispatcher
- </literal>. This is the EJB that uses <literal>varargs</literal> and
- exposes the second EJB issue. We will be using this jar for the
- <literal>jee5/booking</literal> example, as it avoids both known BEA
- issues.
- </para>
- </note>
-
- <section>
- <title>Installing 10.0.MP1</title>
-
- <para>
- Here are the quick steps to installing Weblogic 10.1.MP1.
- For more details or if you are having any issues please
- check with the BEA docs at the
- <ulink url="http://e-docs.bea.com/wls/docs100/index.html">
- Weblogic 10.0 Doc Center
- </ulink>
- . Here we install the RHEL 5 version using the graphical
- installer:
- </para>
-
- <orderedlist>
- <listitem>
- <para> Follow the link given above for 10.0.MP1 and download the
- correct version for your environment. You will need to sign up
- for an account with BEA in order to do this. </para>
- </listitem>
- <listitem>
- <para> You may need to change the the
- <literal>server1001_XX.bin</literal> file to be
- executable: </para>
- <programlisting>chmod a+x server1001_XX.bin</programlisting>
- </listitem>
- <listitem>
- <para> Execute the install: </para>
- <programlisting>./server1001_XX.bin</programlisting>
- </listitem>
- <listitem>
- <para> When the graphical install loads, you need to set the BEA
- home location. This is where all BEA applications are
- installed. This location will be known as
- <literal>$BEA_HOME</literal> in this document e.g.:
- </para>
- <programlisting>/jboss/apps/bea</programlisting>
- </listitem>
- <listitem>
- <para> Select <literal>Complete</literal> as the
- installation type. You do not need all the extras of the
- complete install (such as struts and beehive libraries), but
- it will not hurt. </para>
- </listitem>
- <listitem>
- <para> Then you need to tell it where to install the server
- components: </para>
- <programlisting>$BEA_HOME/wlserver_10.0</programlisting>
- </listitem>
- </orderedlist>
- </section>
- <section id="weblogic-domain">
- <title>Creating your Weblogic domain</title>
- <para> A Weblogic domain is similar to a JBoss server configuration - it
- is a self contained server instance. The Weblogic server you just
- installed has some example domains, but we are going to create one
- just for the seam examples. You can use the existing domains if you
- wish (modify the instructions as needed). </para>
- <orderedlist>
- <listitem>
- <para> Start up the Weblogic configuration wizard:</para>
- <programlisting>$BEA_HOME/wlserver_10.0/common/bin/config.sh
- </programlisting>
- </listitem>
- <listitem>
- <para> Choose to create a new domain, configured to support
- <literal>Weblogic Server</literal>. Note that this is
- the default domain option. </para>
- </listitem>
- <listitem>
- <para>Set a username and password for this domain.</para>
- </listitem>
- <listitem>
- <para> Next choose <literal>Development Mode</literal> and
- the default JDK when given the option. </para>
- </listitem>
- <listitem>
- <para> The next screen asks if you want to customize any setting.
- Select <literal>No</literal>. </para>
- </listitem>
- <listitem>
- <para> Finally set the name of the domain to
- <literal>seam_examples</literal> and leave the default
- domain location. </para>
- </listitem>
- </orderedlist>
- </section>
- <section id="bea_start_stop_access">
- <title>How to Start/Stop/Access your domain</title>
- <para>
- Now that the server is installed and the domain is created
- you need to know how to start and stop it, plus how to
- access its configuration console.
- </para>
- <itemizedlist>
- <listitem>
- <para> Starting the domain:</para>
- <para> This is the easy part - go to the <literal>
- $BEA_HOME/user_projects/domains/seam_examples/bin
- </literal> directory and run the
- <literal>./startWeblogic.sh</literal> script. </para>
- </listitem>
- <listitem>
- <para> Accessing the configuration console:</para>
- <para> Launch
- <literal>http://127.0.0.1:7001/console</literal> in
- your web browser. It will ask for your username and password
- that you entered before. We won't get into this much now, but
- this is the starting point for a lot of the various
- configurations that are needed later. </para>
- </listitem>
- <listitem>
- <para> Stopping the domain:</para>
- <para> There are a couple of options here: </para>
- <itemizedlist>
- <listitem>
- <para> The recommended way is through the configuration
- console:
- <orderedlist>
- <listitem>
- <para> Select
- <literal>seam_examples</literal> on the
- left hand side of the console. </para>
- </listitem>
- <listitem>
- <para> Choose the
- <literal>Control</literal> tab in the
- middle of the page. </para>
- </listitem>
- <listitem>
- <para> Select the check box
- <literal>AdminServer</literal> in the
- table. </para>
- </listitem>
- <listitem>
- <para> Choose <literal>Shutdown</literal>
- just above the table, and select either
- <literal>When work completes</literal>
- or <literal>Force shutdown now</literal>
- as appropriate. </para>
- </listitem>
- <listitem>
- <para> Then finally confirm that you want to
- shut this server down. </para>
- </listitem>
- </orderedlist> </para>
- </listitem>
- <listitem>
- <para> Hitting <literal>Ctrl-C</literal> in the
- terminal where you started the domain.</para>
- <para> No negative effects have been seen, but we would not
- recommend doing this while in the middle of
- configuration changes in the console. </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para><note>
- <title>A note on Weblogic classloading</title>
- <para>When using the
- <literal>@DOMAIN/autodeploy</literal> directory as
- described in this chapter you may see
- <literal>NoClassDefFound</literal> exceptions. If
- you see this try restarting the Weblogic server. If you
- still see it remove the auto-deployed EAR/WAR files,
- restart the server, and redeploy. We could not find a
- specific reason for this, but others seem to be having this
- issue as well. </para> </note></para>
- </listitem>
- </itemizedlist>
- </section>
- </section>
-
- <section>
- <title> The <literal>jee5/booking</literal> Example </title>
-
- <para>
- Do you want to run Seam using EJB's on Weblogic? If so there
- are some obstacles that you will have to avoid. This section
- describes those obstacles and what changes are needed to the
- <literal>jee5/booking</literal>
- example to get it deployed and functioning.
- </para>
-
- <section id="weblogic-ejb-issues">
- <title>EJB3 Issues with Weblogic</title>
- <para>
- For several releases of Weblogic there has been an issue
- with how Weblogic compiles EJB's that use variable arguments
- in their methods. This is confirmed in the Weblogic 9.X and
- 10.X versions. Seam uses variable arguments in one of its
- internal EJB's (
- <literal>TimerServiceDispatcher</literal>
- ). So Seam will not function correctly without
- modifications.
- </para>
-
- <para>
- The basic explanation of the issue is that the Weblogic EJB
- compiler believes that methods that use
- <literal>varargs</literal>
- are
- <literal>transient</literal>
- and the deployment will fail with exceptions like below:
-
- <programlisting><![CDATA[java.io.IOException: Compiler failed executable.exec:
-/jboss/apps/bea/wlserver_10.0/user_projects/domains/seam_examples/servers/AdminServer
-/cache/EJBCompilerCache/5yo5dk9ti3yo/org/jboss/seam/async/
-TimerServiceDispatcher_qzt5w2_LocalTimerServiceDispatcherImpl.java:194: modifier transient
-not allowed here
- public transient javax.ejb.Timer scheduleAsynchronousEvent(java.lang.String arg0,
- java.lang.Object[] arg1)
- ^
-/jboss/apps/bea/wlserver_10.0/user_projects/domains/seam_examples/servers/AdminServer
-/cache/EJBCompilerCache/5yo5dk9ti3yo/org/jboss/seam/async/
-TimerServiceDispatcher_qzt5w2_LocalTimerServiceDispatcherImpl.java:275: modifier transient
-not allowed here
- public transient javax.ejb.Timer scheduleTimedEvent(java.lang.String arg0,
- org.jboss.seam.async.TimerSchedule arg1, java.lang.Object[] arg2)]]></programlisting>
- <para>
- BEA has created a patch (
- <literal>CR327275</literal>
- ) for this issue that can be requested from their
- support. It is rumored that it will be included in the
- final release of Weblogic 10.3, although not confirmed.
- </para>
- <para>
- Unfortunately a second issue has been reported and
- verified by BEA (
- <literal>CR363182</literal>
- ). This issue has to do with certain EJB methods
- incorrectly left out of Weblogic's generated internal
- stub classes. At the time of this writing the status of
- this issue is not known. When this issue has been
- patched, and tested with Seam this reference guide
- chapter will be updated.
- </para>
-
- <para>
- So that Seam's users can deploy an EJB application to
- Weblogic a special Weblogic specific jar has been
- created, starting with Seam 2.0.2.CR2. It is located in
- the
- <literal>$SEAM/lib/interop</literal>
- directory and is called
- <literal>jboss-seam-wls-compatible.jar</literal>
- . The only difference between this jar and the
- <literal>jboss-seam.jar</literal>
- is that it does not contain the
- <literal>TimerServiceDispatcher</literal>
- EJB. To use this jar simply rename the
- <literal>jboss-seam-wls-compatible.jar</literal>
- to
- <literal>jboss-seam.jar</literal>
- and replace the original in your applications
- <literal>EAR</literal>
- file. The
- <literal>jee5/booking</literal>
- example demonstrates this.
- </para>
- </para>
- </section>
-
- <section>
- <title>Getting the <literal>jee5/booking</literal> Working</title>
- <para>In this section we will go over the steps needed to get
- the <literal>jee5/booking</literal> example to up and running.</para>
-
- <section id="weblogic-hsql-jee5-ds">
- <title>Setting up the hsql datasource</title>
- <para>This example uses the in memory hypersonic database, and the
- correct data source needs to be set up. The admin console uses a
- wizard like set of pages to configure it.
-
- <orderedlist>
- <listitem>
- <para>Copy <literal>hsqldb.jar</literal> to the Weblogic
- domain's shared library directory: <literal> cp
- ../../../lib/hsqldb.jar
- /jboss/apps/bea/user_projects/domains/seam_examples/lib
- </literal>
- </para>
- </listitem>
- <listitem>
- <para>Start up the server and navigate to the
- administration console following <xref
- linkend="bea_start_stop_access"/></para>
- </listitem>
- <listitem>
- <para>On the left side tree navigate
- <literal>seam_examples - Services- JDBC - Data
- Sources</literal>.</para>
- </listitem>
- <listitem>
- <para>You must lock the domain configuration using the
- button in the upper left box.</para>
- </listitem>
- <listitem>
- <para>Then select the <literal>New</literal>
- button at the top of the data source table</para>
- </listitem>
- <listitem>
- <para>Fill in the following:
- <orderedlist>
- <listitem>
- <para>Name:
- <literal>seam-jee5-ds</literal>
- </para>
- </listitem>
- <listitem>
- <para>JNDI Name:
- <literal>seam-jee5-ds</literal>
- </para>
- </listitem>
- <listitem>
- <para>Database Type and Driver:
- <literal>other</literal></para>
- </listitem>
- <listitem>
- <para>Select <literal>Next</literal>
- button</para>
- </listitem>
- </orderedlist></para>
- </listitem>
- <listitem>
- <para>Select <literal>Next</literal> button on the
- <literal>Transaction Options</literal>
- page</para>
- </listitem>
- <listitem>
- <para>Fill in the following on the <literal>Connection
- Properties</literal> page:
- <orderedlist>
- <listitem>
- <para>Database Name:
- <literal>hsqldb</literal></para>
- </listitem>
- <listitem>
- <para>Host Name:
- <literal>127.0.0.1</literal></para>
- </listitem>
- <listitem>
- <para>Port: <literal>9001</literal>
- </para>
- </listitem>
- <listitem>
- <para>Username: <literal>sa</literal> will
- empty password fields.</para>
- </listitem>
- <listitem>
- <para>Select <literal>Next</literal>
- button</para>
- </listitem>
- </orderedlist></para>
- </listitem>
- <listitem>
- <para>Fill in the following on the <literal>Connection
- Properties</literal> page:
- <orderedlist>
- <listitem>
- <para>Driver Class Name:
- <literal>org.hsqldb.jdbcDriver</literal>
- </para>
- </listitem>
- <listitem>
- <para>URL:
- <literal>jdbc:hsqldb:.</literal>
- </para>
- </listitem>
- <listitem>
- <para>Username: <literal>sa</literal> will
- empty password fields.</para>
- </listitem>
- <listitem>
- <para>Leave the rest of the fields
- as is.</para>
- </listitem>
- <listitem>
- <para>Select <literal>Next</literal>
- button</para>
- </listitem>
- </orderedlist></para>
- </listitem>
- <listitem>
- <para>Choose the target domain for the data source in our
- case the only one <literal>AdminServer</literal>.
- Click <literal>Next</literal>.</para>
- </listitem>
- <listitem>
- <para>Finally - apply the changes by selecting the
- <literal>Apply Changes</literal> button in the
- upper left corner.</para>
- </listitem>
- </orderedlist> </para>
- </section>
- <section id="weblogic-jsf-deploy">
- <title>Setting up Weblogics JSF Support</title>
- <para>These are the instructions to deploy and configure Weblogic's
- JSF 1.2 libraries. Out of the box Weblogic does not come with its
- own JSF libraries active, and unfortunately when deploying an
- <literal>EAR</literal> based application Weblogic requires its
- own JSF libraries to function. This appears to be caused by
- classloader issues. The assumption being that JSF libraries
- in the application are not visible to Weblogic during deployment of
- the <literal>EAR</literal> application. Why this does not effect
- <literal>WAR</literal> based applications is not known.</para>
-
- <orderedlist>
- <listitem>
- <para>In the administration console navigate to the
- <literal>Deployments</literal> page using the left hand
- menu.</para>
- </listitem>
- <listitem>
- <para>You must lock the domain configuration using the
- button in the upper left box.</para>
- </listitem>
- <listitem>
- <para>Then select the <literal>Install</literal>
- button at the top of the deployments table</para>
- </listitem>
- <listitem>
- <para>Using the directory browser navigate to the
- <literal>/jboss/apps/bea/wlserver_10.0/common/deployable-libraries
- </literal>
- directory. Then select the <literal>jsj-1.2.war</literal>
- archive, and click the <literal>Next</literal> button.</para>
- </listitem>
- <listitem>
- <para>Make sure that the <literal>Install this deployment
- as a library</literal> is selected. Click the <literal>Next
- </literal> button on the <literal>Install Application
- Assistant</literal> page.</para>
- </listitem>
- <listitem>
- <para>Click the <literal>Next</literal> button on the
- <literal> Optional Settings</literal> page.</para>
- </listitem>
- <listitem>
- <para>Make sure that the <literal>Yes, take me to the
- deployment's configuration screen.</literal> is selected.
- Click the <literal>Finish</literal> button on the <literal>
- Review your choices and click Finish</literal> page.</para>
- </listitem>
- <listitem>
- <para>On the <literal>Settings for jsf(1.2,1.2.3.1)</literal>
- page set the <literal>Deployment Order</literal> to
- <literal>99</literal> so that it is deployed prior to
- autodeployed applications. Then click the <literal>
- Save</literal> button.</para>
- </listitem>
- <listitem>
- <para>Then activate the changes by clicking the green
- button in the upper left.</para>
- </listitem>
- </orderedlist>
-
- <para>There is another step that is needed for this to work. For
- some reason, even with the steps above classes in the <literal>
- jsf-api.jar</literal> are not found during application deployment.
- The only way I found for this to work is to put the <literal>
- jsf-api.jar</literal> from <literal>$SEAM/lib</literal> directory
- in the domains shared library
- <literal>/jboss/apps/bea/user_projects/domains/seam_domain/lib</literal>
- </para>
-
- <orderedlist>
- <listitem>
- <para>Shutdown the server following <xref
- linkend="bea_start_stop_access"/></para>
- </listitem>
- <listitem>
- <para>Then execute
- <literal>
-cp ../../../lib/jsf-api.jar /jboss/apps/bea/user_projects/domains/seam_examples/lib
- </literal>. Verify the jar was copied correctly.</para>
- </listitem>
- <listitem>
- <para>Start up the server and navigate to the
- administration console following <xref
- linkend="bea_start_stop_access"/></para>
- </listitem>
- <listitem>
- <para>Then verify a clean start up of the server.</para>
- </listitem>
- </orderedlist>
- </section>
- <section>
- <title>Configuration and Build changes</title>
- <para>
- OK - now we are ready to finally begin adjusting the seam
- application for deployment to the Weblogic server.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- <literal>
- resources/META-INF/persistence.xml
- </literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- Change the
- <literal>jta-data-source</literal>
- to what you entered above :
- </para>
- <programlisting role="XML"><![CDATA[
- <jta-data-source>seam-jee5-ds</jta-data-source>]]></programlisting>
- </listitem>
- <listitem>
- <para>
- Then comment out the glassfish properties.
- </para>
- </listitem>
- <listitem>
- <para>
- Then add these two properties for weblogic
- support.
- </para>
- <programlisting role="XML"><![CDATA[
-<property name="hibernate.dialect"
- value="org.hibernate.dialect.HSQLDialect"/>
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/>
-]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>
- resources/META-INF/weblogic-application.xml
- </literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- This file needs to be created and should
- contain the following:
- </para>
- <programlisting role="XML"><![CDATA[
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<weblogic-application>
- <library-ref>
- <library-name>jsf</library-name>
- <specification-version>1.2</specification-version>
- <implementation-version>1.2</implementation-version>
- <exact-match>false</exact-match>
- </library-ref>
- <prefer-application-packages>
- <package-name>antlr.*</package-name>
- </prefer-application-packages>
-</weblogic-application>
-]]></programlisting>
- </listitem>
- <listitem>
- <para>
- These changes do two two different things.
- The first element
- <literal>library-ref</literal>
- tells weblogic that this application will
- be using the deployed JSF libraries. The
- second element
- <literal>
- prefer-application-packages
- </literal>
- tells weblogic that the
- <literal>antlr</literal>
- jars take precedence. This avoids a
- conflict with hibernate.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/ejb-jar.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- The changes described here work around an
- issue where Weblogic is only using a
- single instance of the
- <literal>sessionBeanInterceptor</literal>
- for all session beans. Seam's interceptor
- caches and stores some component specific
- attributes, so when a call comes in - the
- interceptor is primed for a different
- component and an error is seen. To solve
- this problem you must define a separate
- interceptor binding for each EJB you wish
- to use. When you do this Weblogic will use
- a separate instance for each EJB.
- </para>
- <para>
- Modify the
- <literal>assembly-descriptor</literal>
- element to look like this:
- </para>
- <programlisting role="XML"><![CDATA[
-<assembly-descriptor>
- <interceptor-binding>
- <ejb-name>AuthenticatorAction</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
- <interceptor-binding>
- <ejb-name>BookingListAction</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
- <interceptor-binding>
- <ejb-name>RegisterAction</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
- <interceptor-binding>
- <ejb-name>ChangePasswordAction</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
- <interceptor-binding>
- <ejb-name>HotelBookingAction</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
- <interceptor-binding>
- <ejb-name>HotelSearchingAction</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
- <interceptor-binding>
- <ejb-name>EjbSynchronizations</ejb-name>
- <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
- </interceptor-binding>
-</assembly-descriptor>]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/WEB-INF/weblogic.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- This file needs to be created and should
- contain the following:
- </para>
- <programlisting role="XML"><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-
-<weblogic-web-app>
-<library-ref>
- <library-name>jsf</library-name>
- <specification-version>1.2</specification-version>
- <implementation-version>1.2</implementation-version>
- <exact-match>false</exact-match>
- </library-ref>
-</weblogic-web-app>
-]]></programlisting>
- </listitem>
- <listitem>
- <para>
- This file and the element
- <literal>library-ref</literal>
- tells Weblogic that this application will
- using the deployed JSF libraries. This is
- needed in both this file and the
- <literal>
- weblogic-application.xml
- </literal>
- file because both applications require
- access.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/WEB-INF/web.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- Because the
- <literal>jsf-impl.jar</literal>
- is not going to be in the
- <literal>$WAR/WEB_INF/lib</literal>
- directory we need to add a configuration
- listener to this file.
- </para>
- <programlisting role="XML"><![CDATA[
- <listener>
- <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
- </listener>
-]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
- <section>
- <title>Building and Deploying the Application</title>
- <para>
- There are some changes needed to the build script and the
- <literal>jboss-seam.jar</literal>
- then we can deploy the app.
- </para>
- <variablelist>
- <varlistentry>
- <term>
- <literal>build.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- Add the following to the
- <literal>build.xml</literal>
- . Note that
- <literal>richfaces-api.jar</literal>
- is only needed if using the admin console
- to deploy. For some reason Weblogic needs
- it in the
- <literal>WAR</literal>
- when it scans the application.
- </para>
- <programlisting role="XML"><![CDATA[
-<fileset id="war.lib.extras" dir="${seam.dir}">
- <include name="lib/richfaces-api.jar" />
-</fileset>]]></programlisting>
- </listitem>
- <listitem>
- <para>
- Next we need to add the follow so that the
- <literal>
- weblogic-application.xml
- </literal>
- will be packaged.
- </para>
- <programlisting role="XML"><![CDATA[
- <!-- Resources to go in the ear -->
- <fileset id="ear.resources" dir="${resources.dir}">
- <include name="META-INF/application.xml" />
- <include name="META-INF/weblogic-application.xml" />
- <include name="META-INF/*-service.xml" />
- <include name="META-INF/*-xmbean.xml" />
- <include name="treecache.xml" />
- <include name="*.jpdl.xml" />
- <exclude name=".gpd.*" />
- <include name="*.cfg.xml" />
- <include name="*.xsd" />
- </fileset>]]></programlisting>
- </listitem>
- <listitem>
- <para>
- Then finally we need to add two jars to
- the
- <literal>EAR</literal>
- . Add these two lines to the
- <literal>ear.lib.extras</literal>
- fileset.
- </para>
- <programlisting role="XML"><![CDATA[
- <include name="examples/wiki/lib/jboss-archive-browsing.jar" />
- <include name="lib/concurrent.jar" />]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>
- $SEAM/lib/interop/jboss-seam-wls-compatible.jar
- </literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>
- This is the change discussed above in
- <xref linkend="weblogic-ejb-issues" />
- . There are really two options.
- </para>
- </listitem>
- <listitem>
- <para>
- Rename this jar and replace the original
- <literal>
- $SEAM/lib/jboss-seam.jar
- </literal>
- file. This approach does not require any
- changes to the packaged
- <literal>EAR</literal>
- archive, but overwrites the original
- <literal>jboss-seam.jar</literal>
- </para>
- </listitem>
- <listitem>
- <para>
- The other option is the modify the
- packaged
- <literal>EAR</literal>
- archive and replace the
- <literal>jboss-seam.jar</literal>
- in the archive manually. This leaves the
- original jar alone, but requires a manual
- step when ever the archive is packaged.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- Assuming that you choose the first option for handling
- the
- <literal>jboss-seam-wls-compatible.jar</literal>
- we can build the application by running
- <literal>ant archive</literal>
- at the base of the
- <literal>jee5/booking</literal>
- example directory.
- </para>
-
- <para>
- Because we chose to create our Weblogic domain in
- development mode we can deploy the application by putting
- the EAR file in the domains autodeploy directory.
-
- <programlisting>
- cp ./dist/jboss-seam-jee5.ear
- /jboss/apps/bea/user_projects/domains/seam_examples/autodeploy
- </programlisting>
- </para>
-
- <para>
- Check out the application at
- <literal>http://localhost:7001/seam-jee5/</literal>
- </para>
- </section>
- </section>
-
- </section>
-
- <section>
- <title> The <literal>jpa</literal> booking example </title>
- <para>This is the Hotel Booking example implemented in Seam POJO and
- Hibernate JPA and does not require EJB3 support to run. The example
- already has a breakout of configurations and build scripts for many of
- the common containers including Weblogic 10.X </para>
-
- <para> First we'll build the example for Weblogic 10.x and do the needed
- steps to deploy. Then we'll talk about what is different between the
- Weblogic versions, and with the JBoss AS version. </para>
-
- <para>Note that this example assumes that Weblogic's JSF libraries have
- been configured as described in <xref linkend="weblogic-jsf-deploy"/>.</para>
-
- <section>
- <title>
- Building and deploying
- <literal>jpa</literal>
- booking example
- </title>
-
- <para>
- Step one setup the datasource, step two build the app, step
- three deploy.
- </para>
-
- <section>
- <title>Setting up the datasource</title>
-
- <para>
- The Weblogic 10.X version of the example will use the in
- memory hsql database instead of the built in PointBase
- database. If you wish to use the PointBase database you
- must setup a PointBase datasource, and adjust the
- hibernate setting in
- <literal>persistence.xml</literal>
- to use the PointBase dialect. For reference the
- <literal>jpa/weblogic92</literal>
- example uses PointBase.
- </para>
- <para>
- Configuring the datasource is very similar to the jee5
- <xref linkend="weblogic-hsql-jee5-ds" />
- . Follow the steps in that section, but use the following
- entries where needed.
- <itemizedlist>
- <listitem>
- <para>
- DataSource Name:
- <literal>seam-jpa-ds</literal>
- </para>
- </listitem>
- <listitem>
- <para>
- JNDI Name:
- <literal>seam-jpa-ds</literal>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </section>
- <section>
- <title>Building the example</title>
-
- <para>
- Building it only requires running the correct ant
- command:
-
- <programlisting>
- ant -f build-weblogic10.xml
- </programlisting>
- This will create a container specific distribution and
- exploded archive directories.
- </para>
- </section>
- <section>
- <title>Deploying the example</title>
-
- <para>
- When we installed Weblogic following
- <xref linkend="weblogic-domain" />
- we chose to have the domain in development mode. This
- means to deploy the application all we need to do is copy
- it into the autodeploy directory.
- </para>
-
- <programlisting>
- cp ./dist-weblogic10/jboss-seam-jpa.war
- /jboss/apps/bea/user_projects/domains/seam_examples/autodeploy
- </programlisting>
-
- <para>
- Check out the application at the following
- <literal>http://localhost:7001/jboss-seam-jpa/</literal>
- .
- </para>
- </section>
- </section>
- <section id="weblogic-jpa-diff">
- <title>What's different with Weblogic 10.x</title>
- <itemizedlist>
- <listitem>
- <para>Between the the Weblogic 10.x and 9.2 examples there are
- several differences:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <literal>META-INF/persistence.xml</literal>
- — The 9.2 version is configured to use the
- <literal>PointBase</literal> database and a
- pre-installed datasource. The 10.x version uses
- the <literal>hsql</literal> database and a
- custom datasource.</para>
- </listitem>
- <listitem>
- <para id="weblogic.xml"
- xreflabel="description of WEB-INF/weblogic.xml">
- <literal>WEB-INF/weblogic.xml</literal>
- — This file and its contents solve an issue
- with an older version of the
- <literal>ANTLR</literal> libraries that
- Weblogic 10.x uses internally. OC4J have the same
- issue as well. It also configures the application to
- use the shared JSF libraries that were installed
- above.</para>
-
- <programlisting role="XML"><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<weblogic-web-app
-xmlns="http://www.bea.com/ns/weblogic/90"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://www.bea.com/ns/weblogic/90
- http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
- <library-ref>
- <library-name>jsf</library-name>
- <specification-version>1.2</specification-version>
- <implementation-version>1.2</implementation-version>
- <exact-match>false</exact-match>
- </library-ref>
- <container-descriptor>
- <prefer-web-inf-classes>true</prefer-web-inf-classes>
- </container-descriptor>
-</weblogic-web-app>]]></programlisting>
- <para>This make Weblogic use classes and
- libraries in the web application before other
- libraries in the classpath. Without this change
- hibernate is required to use a older, slower query
- factory by setting the following property in the
- <literal>META-INF/persistence.xml</literal>
- file. </para>
-
- <programlisting role="XML"><![CDATA[
-<property name="hibernate.query.factory_class"
- value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>]]>
- </programlisting>
- </listitem>
- <listitem>
- <para>
- <literal>WEB-INF/components.xml</literal>
- — In the Weblogic 10.x version JPA entity
- transactions is enabled by adding:</para>
-
-
- <programlisting role="XML"><![CDATA[
- <transaction:entity-transaction entity-manager="#{em}"/>]]></programlisting>
- </listitem>
- <listitem>
- <para>
- <literal>WEB-INF/web.xml</literal>
- — Because the <literal>jsf-impl.jar</literal>
- is not in the <literal>WAR</literal> this listener
- need to be configured :</para>
- <programlisting role="XML"><![CDATA[
- <listener>
- <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
- </listener>]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>Between the Weblogic 10.x version and the JBoss version
- there are more changes. Here is the rundown:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <literal>META-INF/persistence.xml</literal>
- — Except for datasource name the Weblogic
- version sets:
- </para>
- <programlisting role="XML"><![CDATA[
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/>]]>
- </programlisting>
- </listitem>
- <listitem>
- <para><literal>WEB-INF/lib</literal> — The
- Weblogic version requires several library
- packages because they are not included as they are
- with JBoss AS. These are primarily for hibernate,
- and its dependencies.
- </para>
- <itemizedlist>
- <listitem>
- <para> To use Hibernate as your JPA provider
- you need the following jars:
- </para>
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>hibernate.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-annotations.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-entitymanager.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-validator.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>jboss-common-core.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-logging.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-collections.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>jboss-archive-browsing.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>Various third party jars that
- Weblogic needs:
- </para>
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>antlr.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>cglib.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>asm.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>dom4j.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>el-ri.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>javassist.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </section>
-
- </section>
-
- <section>
- <title> Deploying an application created using
- <literal>seam-gen</literal> on Weblogic 10.x</title>
-
- <para><literal>seam-gen</literal> is a very useful tool for developers
- to quickly get an application up and running, and provides a foundation
- to add your own functionality. Out of box <literal>seam-gen</literal>
- will produce applications configured to run on JBoss AS. These
- instructions will show the steps needed to get it to run on Weblogic.
- </para>
- <para><literal>seam-gen</literal> was build for simplicity so, as you
- can imagine, deploying an application generated by
- <literal>seam-gen</literal> to Weblogic 10.x is not too hard.
- Basically it consists of updating or removing some configuration
- files, and adding dependent jars that Weblogic 10.x does not ship
- with.</para>
-
- <para>This example will cover the basic <literal>seam-gen WAR</literal>
- deployment. This will demonstrate Seam POJO components, Hibernate
- JPA, Facelets, Drools security, RichFaces, and a configurable
- dataSource.</para>
-
- <section>
- <title>Running <literal>seam-gen</literal> setup</title>
-
- <para>The first thing we need to do it tell
- <literal>seam-gen</literal> about the project we want to make.
- This is done by running <literal>./seam setup</literal> in the base
- directory of the Seam distribution. Note the paths here are my own,
- feel free to change for you environment.
-
- <programlisting><![CDATA[./seam setup
-Buildfile: build.xml
-
-init:
-
-setup:
- [echo] Welcome to seam-gen :-)
- [input] Enter your Java project workspace (the directory that contains your
-Seam projects) [C:/Projects] [C:/Projects]
-/home/jbalunas/workspace
- [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.GA]
-[C:/Program Files/jboss-4.2.2.GA]
-/jboss/apps/jboss-4.2.2.GA
- [input] Enter the project name [myproject] [myproject]
-weblogic-example
- [echo] Accepted project name as: weblogic_example
- [input] Select a RichFaces skin (not applicable if using ICEFaces) [blueSky]
- ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT)
-
- [input] Is this project deployed as an EAR (with EJB components) or a WAR
-(with no EJB support) [ear] ([ear], war, )
-war
- [input] Enter the Java package name for your session beans [org.jboss.seam.
-tutorial.weblogic.action] [org.jboss.seam.tutorial.weblogic.action]
-org.jboss.seam.tutorial.weblogic.action
- [input] Enter the Java package name for your entity beans [org.jboss.seam.
-tutorial.weblogic.model] [org.jboss.seam.tutorial.weblogic.model]
-org.jboss.seam.tutorial.weblogic.model
- [input] Enter the Java package name for your test cases [org.jboss.seam.
-tutorial.weblogic.action.test] [org.jboss.seam.tutorial.weblogic.action.test]
-org.jboss.seam.tutorial.weblogic.test
- [input] What kind of database are you using? [hsql] ([hsql], mysql, oracle,
- postgres, mssql, db2, sybase, enterprisedb, h2)
-
- [input] Enter the Hibernate dialect for your database [org.hibernate.
-dialect.HSQLDialect] [org.hibernate.dialect.HSQLDialect]
-
- [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.jar]
-[lib/hsqldb.jar]
-
- [input] Enter JDBC driver class for your database [org.hsqldb.jdbcDriver]
- [org.hsqldb.jdbcDriver]
-
- [input] Enter the JDBC URL for your database [jdbc:hsqldb:.] [jdbc:hsqldb:.]
-
- [input] Enter database username [sa] [sa]
-
- [input] Enter database password [] []
-
- [input] Enter the database schema name (it is OK to leave this blank) [] []
-
- [input] Enter the database catalog name (it is OK to leave this blank) [] []
-
- [input] Are you working with tables that already exist in the database? [n]
- (y, [n], )
-
- [input] Do you want to drop and recreate the database tables and data in
-import.sql each time you deploy? [n] (y, [n], )
-
- [input] Enter your ICEfaces home directory (leave blank to omit ICEfaces) [] []
-
-[propertyfile] Creating new property file:
-/rhdev/projects/jboss-seam/cvs-head/jboss-seam/seam-gen/build.properties
- [echo] Installing JDBC driver jar to JBoss server
- [copy] Copying 1 file to /jboss/apps/jboss-4.2.2.GA/server/default/lib
- [echo] Type 'seam create-project' to create the new project
-
-BUILD SUCCESSFUL]]></programlisting>
- </para>
- <para> Type <literal>./seam new-project</literal> to create your
- project and <literal>cd
- /home/jbalunas/workspace/weblogic_example</literal> to see
- the newly created project. </para>
- </section>
-
- <section>
- <title>What to change for Weblogic 10.X</title>
- <para>First we change and delete some configuration files, then we
- update the libraries that are deployed with the
- application.</para>
-
- <section>
- <title>Configuration file changes</title>
- <variablelist>
- <varlistentry>
- <term> <literal>build.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para>Change the default target to
- <literal>archive</literal>.
- </para>
- <programlisting role="XML">
-<![CDATA[<project name="weblogic_example" default="archive" basedir=".">]]>
- </programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/persistence-dev.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Alter the
- <literal>jta-data-source</literal> to
- be <literal>seam-gen-ds</literal> (and
- use this as the
- <literal>jndi-name</literal> when
- creating the data source in Weblogic's
- admin console)</para>
- </listitem>
- <listitem>
- <para>
- Change the transaction type to
- <literal>RESOURCE_LOCAL</literal>
- so that we can use JPA transactions.
- </para>
- <programlisting role="XML">
- <![CDATA[
-<persistence-unit name="weblogic_example" transaction-type="RESOURCE_LOCAL">]]>
- </programlisting>
- </listitem>
- <listitem>
- <para>
- Add/modify the properties below for
- Weblogic support:
- </para>
- <programlisting role="XML"><![CDATA[<property name="hibernate.cache.provider_class"
- value="org.hibernate.cache.HashtableCacheProvider"/>
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/>
-]]></programlisting>
- </listitem>
- <listitem>
- <para> You'll need to alter
- <literal>persistence-prod.xml</literal>
- as well if you want to deploy to Weblogic
- using the prod profile. </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resource/WEB-INF/weblogic.xml</literal>
- </term>
- <listitem>
- <para> You will need to create this file and populate it
- following <xref linkend="weblogic.xml"/>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>
- resource/WEB-INF/components.xml
- </literal>
- </term>
- <listitem>
- <para>
- We want to use JPA transactions so we need to
- add the following to let Seam know.
- </para>
- <programlisting role="XML"><![CDATA[<transaction:entity-transaction entity-manager="#{entityManager}"/>]]></programlisting>
- <para>
- You will also need to add the transaction
- namespace and schema location to the top of
- the document.
- </para>
- <programlisting role="XML"><![CDATA[xmlns:transaction="http://jboss.com/products/seam/transaction"]]></programlisting>
- <programlisting role="XML"><![CDATA[http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.1.xsd]]></programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resource/WEB-INF/web.xml</literal>
- </term>
- <listitem>
- <para>
- <literal>WEB-INF/web.xml</literal>
- — Because the
- <literal>jsf-impl.jar</literal>
- is not in the
- <literal>WAR</literal>
- this listener need to be configured :
- </para>
- <programlisting role="XML"><![CDATA[
- <listener>
- <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
- </listener>]]></programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>
- resources/WEB-INF/jboss-app.xml
- </literal>
- </term>
- <listitem>
- <para>
- You can delete this file as we aren't
- deploying to JBoss AS (
- <literal>jboss-app.xml</literal>
- is used to enable classloading isolation in
- JBoss AS)
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/*-ds.xml</literal>
- </term>
- <listitem>
- <para> You can delete these files as we aren't
- deploying to JBoss AS. These files define
- datasources in JBoss AS, in Weblogic we will use the
- administration console.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
- <section id="weblogic-seam-gen-lib-changes">
- <title>Library changes</title>
- <para>The <literal>seam-gen</literal> application has very
- similar library dependencies as the <literal>jpa</literal>
- example above. See <xref linkend="weblogic-jpa-diff"/>.
- Below is the changes that are needed to get them in this
- application.</para>
-
- <itemizedlist>
-
- <listitem>
- <para>Missing jar — There is one library that
- <literal>seam-gen</literal> does not provide by
- default. This needs to be copied into your projects
- <literal>/lib</literal> directory manually.
- </para>
- <itemizedlist>
- <listitem>
- <para>jboss-archive-browsing.jar — can
- be found in the
- <literal>@SEAM_DIST/examples/wiki/lib</literal>
- directory. </para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>build.xml — Now we need to adjust the
- <literal>build.xml</literal>. Find the target
- <literal>war</literal> and add the following to the end
- of the target.</para>
- <programlisting role="XML"><![CDATA[
- <copy todir="${war.dir}/WEB-INF/lib">
- <fileset dir="${lib.dir}">
- <!-- Misc 3rd party -->
- <include name="commons-logging.jar" />
- <include name="dom4j.jar" />
- <include name="javassist.jar" />
- <include name="cglib.jar" />
- <include name="antlr.jar" />
-
- <!-- Hibernate -->
- <include name="hibernate.jar" />
- <include name="hibernate-commons-annotations.jar" />
- <include name="hibernate-annotations.jar" />
- <include name="hibernate-entitymanager.jar" />
- <include name="hibernate-validator.jar" />
- <include name="jboss-archive-browsing.jar" />
- </fileset>
- </copy>]]></programlisting>
- </listitem>
- </itemizedlist>
-
- </section>
-
- <section>
- <title><literal>seam-gen</literal> development profile
- issue</title>
- <para>There is currently an issue with the behavior of the
- <literal>seam-gen WAR</literal> application when built using
- the development profile (the default) and deployed to Weblogic.
- The symptom is that the login page of the application will always
- show a <literal>login failed</literal> message.</para>
-
- <para>When the application is built using the development profile
- the <literal>action</literal> class files are placed in the
- <literal>WEB-INF/dev</literal> directory. Normally these
- class files are hot deployable and managed by Seam. This does not
- happen on Weblogic (see <ulink
- url="http://jira.jboss.com/jira/browse/JBSEAM-2455">
- jira JBSEAM-2455</ulink> for details and status).</para>
-
- <para>To workaround this you need to modify the
- <literal>build-dev.properties</literal> file. Simply
- remove the property
- <literal>action.dir=WEB-INF/dev</literal>.</para>
- </section>
-
- </section>
-
- <section>
- <title>Building and Deploying your application</title>
- <para>Finally all that's left is deploying the application. This
- involves setting up a data source, building the app, and deploying
- it.</para>
-
- <section>
- <title>Setting up the data source</title>
- <para>Configuring the datasource is very similar to the jee5 <xref
- linkend="weblogic-hsql-jee5-ds"/>. Except for what is
- listed here follow that instruction from the link.
- <itemizedlist>
- <listitem>
- <para>DataSource Name:
- <literal>seam-gen-ds</literal></para>
- </listitem>
- <listitem>
- <para>JNDI Name: <literal>seam-gen-ds</literal>
- </para>
- </listitem>
- </itemizedlist> </para>
- </section>
- <section>
- <title>Building the application</title>
- <para>This is as easy as typing <literal>ant</literal> in the
- projects base directory.</para>
- </section>
- <section>
- <title>Deploying the example</title>
-
- <para>When we installed Weblogic following <xref
- linkend="weblogic-domain"/> we chose to have the domain in
- development mode. This means to deploy the application all we
- need to do is copy it into the autodeploy directory.
- </para>
-
-<programlisting role="XML">cp ./dist/weblogic_example.war /jboss/apps/bea/user_projects/domains/seam_examples/autodeploy</programlisting>
-
- <para>Check out the application at the following
- <literal>http://localhost:7001/weblogic_example/</literal>.
- .</para>
- </section>
- </section>
- </section>
-
-</chapter>
Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Websphere.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Websphere.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Websphere.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,1545 +0,0 @@
-<chapter id="websphere">
- <title>Seam on IBM's Websphere</title>
-
- <para>Websphere 6.1.x is IBM's application server offering. The latest
- release is 6.1.0.13 which does not have <literal>EJB3</literal> or
- <literal>JEE5</literal> support. There is a recently released (Nov 07)
- <literal>EJB3</literal> feature pack which provides some support for
- <literal>EJB3</literal> and <literal>JPA</literal>. Currently there
- is no true <literal>JEE5</literal> offering from IBM. This causes some
- issues with Seam integration with applications that use EJB3.</para>
-
- <para>First we will go over some basic information about the Websphere
- environment that we used for these examples. After a good deal of research
- and work we were able to get EJB3 applications to function correctly. We will
- go over the details of those steps with the jee5 example. We will also deploy
- the the JPA example application. </para>
-
- <section>
- <title>Websphere environment and deployment information</title>
-
- <para>Websphere is a commercial product and so we will not discuss the
- details of its installation other than to say follow the directions
- provided by your particular installation type and license. This
- section will detail the exact server versions used, installation tips,
- and some custom properties that are needed for all of the
- examples.</para>
-
- <section>
- <title>Installation versions and tips</title>
- <para>All of the examples and information in this chapter are based on
- the the latest version of Websphere at the time of this writing.
- <itemizedlist>
- <listitem>
- <para><ulink
- url="http://www.ibm.com/developerworks/websphere/zones/was/">
- Websphere Application Server 6.1.0.13</ulink></para>
- </listitem>
- <listitem>
- <para><ulink
- url="http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21287579">
- Feature Pack for EJB 3.0 for Websphere Application Server
- V6.1 (3.0.6.1.0.13)</ulink></para>
- </listitem>
- </itemizedlist> </para>
-
- <para>The EJB3 feature pack that we installed came with the 6.1.0.13
- patch version of Websphere. Installing the feature pack does not
- ensure that your server will have the proper environment for EJB3
- applications. Be sure that as part of the installation of the feature
- pack you follow the instructions to create a new server
- profile with the EJB3 feature pack enabled, or augment one of your
- existing ones. This can also be done after the installation
- by running the profile managment tool.</para>
- <note>
- <title>A note about restarting the server</title>
- <para>There are times that restarting the server will be required after
- deploying or changes the examples in this chapter. Its does not seem
- like every change requires a restart. If you get errors or exceptions
- after modifing a property or deploying an application try to restart
- the server. </para> </note>
- </section>
-
- <section>
- <title>Required custom properties</title>
- <para>There are a couple of Websphere custom properties that are required
- for Seam integration. These properties are not needed specifically
- for Seam, but work around some issues with Websphere. These are
- set following the instructions here : <ulink
- url="http://www-1.ibm.com/support/docview.wss?rss=180&uid=swg21284395">
- Setting web container custom properties</ulink></para>
-
- <itemizedlist>
- <listitem>
- <para><literal>prependSlashToResource = "true"</literal>
- — This solves a fairly common issue with Websphere
- where applications are not using a leading "/" when
- attempting to access resources. If this is not set then a
- <literal>java.net.MalformedURLException</literal>
- will be thrown. With this property set you will still see
- warnings, but the resources will be retrieved as expected.
- <note>
- <title>Detailed can be found at:</title>
- <para><ulink
- url="http://www-1.ibm.com/support/docview.wss?uid=swg21190234">
- SRVE0238E: Resource paths must have a leading
- slash</ulink></para> </note> </para>
- </listitem>
- <listitem>
- <para>
- <literal>com.ibm.ws.webcontainer.invokefilterscompatibility
- = "true"</literal> — This solves an issue with
- Websphere where it throws a
- <literal>FileNotFoundException</literal> when a web
- application attempts to access a file resource that does not
- actually exist on disk. This is a common practice in modern web
- applications where filters or servlets are used to process
- resource requests like these. This issue manifests itself as
- failures to retrieve JavaScript, CSS, images, etc... when
- requesting a web page. <note>
- <title>Detailed can be found at:</title>
- <para><ulink
- url="http://www-1.ibm.com/support/docview.wss?uid=swg24014758">
- PK33090; 6.1: A filter that serves a file does not pop-up an
- alert message</ulink></para> </note></para>
- </listitem>
- </itemizedlist>
- </section>
- </section>
-
- <section id="jee5-websphere-section">
- <title> The <literal>jee5/booking</literal> example </title>
-
- <para> The <literal>jee5/booking</literal> example is based on the Hotel
- Booking example (which runs on JBoss AS). Out of the box it is designed
- to run on Glassfish, but with the steps below it can be deployed to
- Websphere. It is located in the
- <literal>$SEAM_DIST/examples/jee5/booking</literal> directory.
- </para>
-
- <para>As stated before the <literal>EJB3</literal> feature pack does not
- provide a full <literal>jee5</literal> implementation. This means
- that there are some tricks to getting an application deployed and
- functioning. </para>
-
- <section>
- <title>Configuration file changes</title>
-
- <para>Below are the configuration file changes that are need to the base
- example.</para>
-
- <variablelist>
- <varlistentry>
- <term>
- <literal>resources/WEB-INF/components.xml</literal>
- </term>
- <listitem>
- <para>We need to change the way that we look up EJBs for
- Websphere. We need to remove the
- <literal>/local</literal> from the end of the
- <literal>jndi-pattern</literal> attribute. It should
- look like this: </para>
-
-
- <programlisting role="XML"><![CDATA[
-<core:init jndi-pattern="java:comp/env/jboss-seam-jee5/#{ejbName}" debug="true"/>
- ]]></programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/WEB-INF/web.xml</literal>
- </term>
- <listitem>
- <para>This is the first place that we notice an unexpected
- change because this is not full <literal>jee5</literal>
- implementation. </para>
- <para> Websphere does not support <literal>Servlet
- 2.5</literal>, it requires <literal>Servlet
- 2.4</literal>. For this change we need to adjust the top of
- the <literal>web.xml</literal> file to look like the
- following:</para>
-
-
- <programlisting role="XML"><![CDATA[<xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- ]]></programlisting>
- <para>Next, we have to make some changes to the EJB references
- in the <literal>web.xml</literal>. These changes are
- what will allow Websphere to bind the EJB2 references in
- the web module to the the actual EJB3 beans in the EAR
- module. Replace all of the
- <literal>ejb-local-refs</literal> when the values
- below.</para>
-
-
- <programlisting role="XML"><![CDATA[
- <!-- JEE5 EJB3 names -->
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/AuthenticatorAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.example.booking.Authenticator</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/BookingListAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.example.booking.BookingList</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/RegisterAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.example.booking.Register</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/ChangePasswordAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.example.booking.ChangePassword</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/HotelBookingAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.example.booking.HotelBooking</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/HotelSearchingAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.example.booking.HotelSAll of the examples and informaearching</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>jboss-seam-jee5/EjbSynchronizations</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
- </ejb-local-ref>]]></programlisting>
- <para>The important change is that there is an empty
- <literal>local-home</literal> element for each EJB.
- This tells Websphere to make the correct bindings between
- the web module and the EJB3 beans. The
- <literal>ejb-link</literal> element is simply not used.
- </para>
- <para>Note also that <literal>EjbSynchronizations</literal> is
- a built-in Seam EJB and not part of the Hotel Booking example. This
- means that if your application's <literal>components.xml</literal>
- specifies <literal>transaction:ejb-transaction</literal>
- , then you must include:</para>
- <programlisting role="XML"><![CDATA[
- <ejb-local-ref>
- <ejb-ref-name>myapp/EjbSynchronizations</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
- </ejb-local-ref>]]></programlisting>
- <para>in your web.xml. If you don't include it, you'll get the following error:</para>
- <programlisting>Name comp/env/myapp/EjbSynchronizations not found in context java:</programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/persistence.xml</literal>
- </term>
- <listitem>
- <para>For this example we will be using the default
- datasource that comes with Websphere. To do this change the
- <literal>jta-data-source</literal> element:</para>
- <programlisting role="XML"><![CDATA[
-<jta-data-source>DefaultDatasource</jta-data-source>
- ]]></programlisting>
- <para>Then we need to adjust some of the hibernate
- properties. First comment out the Glassfish properties.
- Next you need to add/change the properties:</para>
-
-
- <programlisting role="XML"><![CDATA[
-<!--<property name="hibernate.transaction.flush_before_completion" value="true"/>-->
-<property name="hibernate.cache.provider_class"
- value="org.hibernate.cache.HashtableCacheProvider"/>
-<property name="hibernate.dialect" value="GlassfishDerbyDialect"/>
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
- ]]></programlisting>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- <literal>hibernate.transaction.manager_lookup_class</literal>
- — Standard Hibernate transaction
- manager property for Websphere 6.X</para>
- </listitem>
- <listitem>
- <para>
- <literal>hibernate.transaction.flush_before_completion</literal>
- — This is commented out because we want
- the container to manage the transactions. Also
- if this is set to <literal>true</literal> an
- exception will be thrown by Websphere when the
- EJBContext is looked up.
-
-
- <programlisting><![CDATA[com.ibm.wsspi.injectionengine.InjectionException:
- EJBContext may only be looked up by or injected into an EJB]]></programlisting></para>
- </listitem>
- <listitem>
- <para><literal>hibernate.dialect</literal>
- — From WAS 6.1.0.9 on the embedded DB was
- switched to the same Derby DB in
- Glassfish.</para>
- </listitem>
- </itemizedlist></para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/GlassfishDerbyDialect.class</literal>
- </term>
- <listitem>
- <para>You will need to get the
- <literal>GlassfishDerbyDialect.class</literal> and
- copy it into the <literal>/resources</literal>
- directory. The class exists in the JPA example and can be
- copied using the command below assuming you are in
- <literal>jee5/booking</literal> directory:</para>
-
-
- <programlisting><![CDATA[
-cp ../../jpa/resources-websphere61/WEB-INF/classes/GlassfishDerbyDialect.class
- ./resources]]></programlisting>
- <para>This class will be put into the
- <literal>jboss-seam-jee5.jar</literal> file using
- changes to the build.xml discussed later. </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/import.sql</literal>
- </term>
- <listitem>
- <para>This file must also be copied from the JPA example
- because either the Derby DB or the dialect does not support
- changes to the <literal>ID</literal> column. The files
- are identical except for the column difference. Use the
- following command to make the copy
-
-
- <programlisting><![CDATA[
-cp ../../jpa/resources-websphere61/import.sql ./resources]]></programlisting>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- </section>
-
- <section>
- <title>Building the <literal>jee5/booking</literal>
- example</title>
-
- <para>In order to get the changes we have made into our application we
- need to make some changes to the <literal>build.xml</literal>.
- There are also some additional jars that are required by our
- application in order to work with Websphere. This section will cover
- what changes are needed to the <literal>build.xml</literal>.</para>
-
- <section>
- <title>New libraries dependencies</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>JSF libraries — Websphere 6.1 comes with
- its own version of JSF 1.1 (Seam requires JSF 1.2). So
- we must add these jars to our application:
- <itemizedlist>
- <listitem>
- <para><literal>jsf-api.jar</literal>
- </para>
- </listitem>
- <listitem>
- <para><literal>jsf-impl.jar</literal>
- </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para>Since Websphere is not a fully compliant
- <literal>JEE5</literal> implementation we need to
- add these EL libraries:
- <itemizedlist>
- <listitem>
- <para><literal>el-api.jar</literal>
- </para>
- </listitem>
- <listitem>
- <para><literal>el-ri.jar</literal>
- </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>jboss-seam.jar</literal> — for
- some reason when deploying the application through
- the Websphere administration console it can not find
- the <literal>jboss-seam.jar</literal> at the base
- of the EAR archive. This means that we need to add it to
- the <literal>/lib</literal> of the EAR.</para>
- </listitem>
- <listitem>
- <para>Finally we remove the <literal>log4j.jar</literal>
- so that all of the log output from our application will
- be added to the Websphere log. Additional steps are
- required to fully configure log4j and those are outside
- of the scope of this document.</para>
- </listitem>
- </itemizedlist> </para>
-
- </section>
-
- <section>
- <title>Updating the <literal>build.xml</literal> file</title>
-
- <para>Add the following entry to the bottom of the
- <literal>build.xml</literal> file. This overrides the
- default fileset that is used to populate the
- <literal>jboss-seam-jee5.jar</literal>. The primary change
- is the addition of the
- <literal>GlassfishDerbyDialect.class</literal>:
- </para>
-
-
- <programlisting role="XML"><![CDATA[
- <fileset id="jar.resources" dir="${resources.dir}">
- <include name="import.sql" />
- <include name="seam.properties" />
- <include name="GlassfishDerbyDialect.class" />
- <include name="META-INF/persistence.xml" />
- <include name="META-INF/ejb-jar.xml" />
- </fileset>]]></programlisting>
-
-
- <para>Next we need to add the library dependencies discussed above.
- For this add the following to bottom of the
- <literal>ear.lib.extras</literal> fileset entry:
- </para>
-
-
- <programlisting role="XML"><![CDATA[
- <!--<include name="lib/log4j.jar" />-->
- <include name="lib/el-api.jar" />
- <include name="examples/jpa/lib/el-ri.jar" />
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jboss-seam.jar" />
-</fileset>]]></programlisting>
-
-
- <para>Now all that is left is to execute the <literal>ant
- archive</literal> task and the built application will be in
- the <literal>jee5/booking/dist</literal> directory.
- </para>
- </section>
-
- </section>
-
- <section id="jee5-websphere-deploy">
- <title>Deploying the application to Websphere</title>
-
- <para>So now we have everything we need in place. All that is left is to
- deploy it - just a few steps more.</para>
- <para> For this we will use Websphere's administration console. As
- before there are some tricks and tips that must be followed.</para>
-
- <para>The steps below are for the Websphere version stated above, yours
- may be slightly different.
- <orderedlist>
- <listitem>
- <para>Log in to the administration console
-
-
- <programlisting><![CDATA[
-https://localhost:9043/ibm/console]]></programlisting>
- </para>
- </listitem>
- <listitem>
- <para>Access the <literal>Enterprise
- Application</literal> menu option under the
- <literal>Applications</literal> top menu. </para>
- </listitem>
- <listitem>
- <para>At the top of the <literal>Enterprise
- Application</literal> table select
- <literal>Install</literal>. Below are installation
- wizard pages and what needs to done on each:
- <itemizedlist>
- <listitem>
- <para><literal>Preparing for the application
- installation</literal>
- <itemizedlist>
- <listitem>
- <para>Browse to the
- <literal>examples/jee5/booking/dist/jboss-seam-jee5.ear</literal>
- file using the file upload widget.
- </para>
- </listitem>
- <listitem>
- <para>Select the
- <literal>Next</literal>
- button.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>Select installation
- options</literal>
- <itemizedlist>
- <listitem>
- <para>Select the <literal>Deploy
- enterprise beans</literal>
- check box. This is needed unless you
- used a Websphere tool to package the
- application. </para>
- </listitem>
- <listitem>
- <para>Select the
- <literal>Next</literal>
- button.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>Map modules to
- servers</literal>
- <itemizedlist>
- <listitem>
- <para>No changes needed here as we only
- have one server. Select the
- <literal>Next</literal>
- button.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>Map EJB references to
- beans</literal> This page will list all of the
- beans that we entered in the web.xml.
- <itemizedlist>
- <listitem>
- <para>Make sure that <literal>Allow
- EJB reference targets to resolve
- automatically</literal> check box
- is selected. This will tell
- Websphere to bind our EJB3 beans to
- the EJB references in the web
- module.</para>
- </listitem>
- <listitem>
- <para>Select the
- <literal>Next</literal>
- button.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>Map virtual hosts for Web
- modules</literal>
- <itemizedlist>
- <listitem>
- <para>No changes needed here. Select
- the <literal>Next</literal>
- button.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>Summary</literal>
- <itemizedlist>
- <listitem>
- <para>No changes needed here. Select
- the <literal>Finish</literal>
- button.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para><literal>Installation</literal>
- <itemizedlist>
- <listitem>
- <para>Now you will see it installing and
- deploying your
- application.</para>
- </listitem>
- <listitem>
- <para>When if finishes select the
- <literal>Save</literal> link and
- you will be returned to the
- <literal>Enterprise
- Applications</literal>
- table.</para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem id="websphere-app-adj-after-install" xreflabel="installation adjustments for jee5 example">
- <para>Now that we have our application installed we need to
- make some adjustments to it before we can start it:
- <itemizedlist>
- <listitem>
- <para>Starting from the <literal>Enterprise
- Applications</literal> table select the
- <literal>Seam Booking</literal>
- link.</para>
- </listitem>
- <listitem>
- <para>Select the <literal>Manage
- Modules</literal> link.</para>
- </listitem>
- <listitem>
- <para>Select the
- <literal>jboss-seam-jee5.war</literal>
- link.</para>
- </listitem>
- <listitem>
- <para>Change the <literal>Class loader
- order</literal> combo box to
- <literal>Classes loaded with application
- class loader first</literal>.</para>
- </listitem>
- <listitem>
- <para>Select <literal>Apply</literal> and then
- <literal>Save</literal> options.</para>
- </listitem>
- <listitem>
- <para>Return the <literal>Seam
- Booking</literal> page.</para>
- </listitem>
- <listitem>
- <para>On this page select the <literal>Class
- loading and update detection</literal>
- link.</para>
- </listitem>
- <listitem>
- <para>Select the radio button for
- <literal>Classes loaded with application
- class loader first</literal>.</para>
- </listitem>
- <listitem>
- <para>Even though we are not enabling class reload
- you must also enter a valid number in the
- <literal>Polling interval for updated
- files</literal> text area (zero works
- fine).</para>
- </listitem>
- <listitem>
- <para>Select <literal>Apply</literal> and then
- <literal>Save</literal> options.</para>
- </listitem>
- <listitem>
- <para>You should verify that the change you just
- made has been remembered. We have had problems with the last
- class loader change not taking effect - even
- after a restart. If the change did not take you
- will need to do it manually, following these
- directions:
- <itemizedlist>
- <listitem>
- <para> Open the following file in a text
- editor of your choice:
-
-
- <programlisting><![CDATA[
-$WebSphereInstall/$yourServerName/profiles/$yourProfileName/config/cells/
- $yourCellName/applications/Seam Booking.ear/deployments/
- Seam Booking/deployment.xml]]></programlisting>
- </para>
- </listitem>
- <listitem>
- <para> Modify the following line so that
- <literal>PARENT_FIRST</literal>
- is now
- <literal>PARENT_LAST</literal>:
-
-
- <programlisting><![CDATA[
-<classloader xmi:id="Classloader_#######" mode="PARENT_FIRST"/>]]></programlisting>
- </para>
- </listitem>
- <listitem>
- <para> Save the file and now when go to the
- <literal>Class loading and update
- detection</literal> page you
- should see <literal>Classes loaded
- with application class loader
- first</literal> selected. </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para>To start the application return to the
- <literal>Enterprise Applications</literal> table and
- select our application in the list. Then choose the
- <literal>Start</literal> button at the top of the
- table.</para>
- </listitem>
- <listitem>
- <para>You can now access the application at
- <literal>http://localhost:9080/seam-jee5/</literal>
- .</para>
- </listitem>
- </orderedlist>
- <note>
- <title>A note about Websphere Stateful bean timeouts</title>
- <para>The default timeout period for a Websphere 6.1 Stateful
- EJB is 10 minutes. This means that you may see some EJB timeout
- exceptions after some idle time. It is possible to adjust the
- timeout of the Stateful EJBs on an individual basis, but
- that is beyond the scope of this document. See the Websphere
- documentation for details.
- </para>
- </note>
- </para>
- </section>
-
- </section>
-
- <section>
- <title> The <literal>jpa</literal> booking example </title>
- <para>Thankfully getting the <literal>jpa</literal> example to work is
- much easier than the <literal>jee5</literal> example. This is the
- Hotel Booking example implemented in Seam POJOs and using Hibernate JPA
- with JPA transactions. It does not require EJB3 support to
- run.</para>
-
- <para> The example already has a breakout of configurations and build
- scripts for many of the common containers including Websphere.</para>
-
- <para>First thing we are going to do is build and deploy that example. Then
- we'll go over some key changes that we needed.</para>
-
- <section>
- <title>Building the <literal>jpa</literal> example</title>
- <para> Building it only requires running the correct ant command:
- <programlisting>ant websphere61</programlisting>
- This will create container specific distribution and exploded
- archive directories with the <literal>websphere61</literal> label.</para>
- </section>
- <section>
- <title>Deploying the <literal>jpa</literal> example</title>
- <para>This is similar to the <literal>jee5</literal> example at
- <xref linkend="jee5-websphere-deploy"/>, but without so many steps.
- </para>
- <itemizedlist>
- <listitem>
- <para>From the <literal>Enterprise Applications</literal> table
- select the <literal>Install</literal> button.
- <itemizedlist>
- <listitem>
- <para><literal>Preparing for the application
- installation</literal>
- <itemizedlist>
- <listitem>
- <para>Browse to the
- <literal>examples/jpa/dist-websphere61/jboss-seam-jpa.war</literal>
- file using the file upload widget.
- </para>
- </listitem>
- <listitem>
- <para>In the <literal>Context root</literal> text box
- enter <literal>jboss-seam-jpa</literal>.
- </para>
- </listitem>
- <listitem>
- <para>Select the <literal>Next</literal> button.
- </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para>Select the <literal>Next</literal> button for the next
- three pages, no changes are needed.
- </para>
- </listitem>
- <listitem>
- <para><literal>Summary</literal> page
- <itemizedlist>
- <listitem>
- <para>Review the settings if you wish and select
- the <literal>Finish</literal> button to install
- the application. When installation finished select the <literal>
- Save</literal> link and you will be returned to the
- <literal>Enterprise Applications</literal> table.
- </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>As with the <literal>jee5</literal> example there are some
- class loader changes needed before we start the application.
- Follow the instructions at <xref linkend="websphere-app-adj-after-install"/>
- but exchange <literal>jboss-seam-jpa</literal> for <literal>Seam Booking</literal>.
- </para>
- </listitem>
- <listitem>
- <para>Finally start the application by selecting it in the
- <literal>Enterprise Applications</literal> table and clicking
- the <literal>Start</literal> button.
- </para>
- </listitem>
- <listitem>
- <para>You can now access the application at the
- <literal>http://localhost:9080/jboss-seam-jpa/index.html</literal>.
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section>
- <title>Whats different for Websphere 6.1</title>
- <para>The differences between the JPA examples that deploys to JBoss
- 4.2 and Websphere 6.1 are mostly expected; library and
- configuration file changes. </para>
- <itemizedlist>
- <listitem>
- <para>Configuration file changes
- <itemizedlist>
- <listitem>
- <para><literal>WEB-INF/web.xml</literal>
- — the only significant change is that
- Websphere 6.1 only support <literal>Servlet
- 2.4</literal> so the top of this file was changed.
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>META-INF/persistence.xml</literal>
- — the main changes here are for the
- datasource JNDI path, switching to the Websphere
- 6.1 transaction manager look up class, and
- changing the hibernate dialect to be
- <literal>GlassfishDerbyDialect</literal>
- .</para>
- </listitem>
- <listitem>
- <para>
- <literal>WEB-INF/classes/GlassfishDerbyDialect.class
- </literal> — this class is needed for the
- hibernate dialect change to
- <literal>GlassfishDerbyDialect</literal>
- </para>
- </listitem>
- <listitem>
- <para><literal>import.sql</literal> —
- either for the dialect or Derby DB the
- <literal>ID</literal> column can not be
- populated by this file and was removed.
- </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para>Changes for dependent libraries</para>
- <para><literal>WEB-INF/lib</literal> — The Websphere
- version requires several library packages because they are
- not included as they are with JBoss AS. These are primarily for
- hibernate, JSF-RI support and their dependencies. Below are
- listed only the additional jars needed above and beyond the JBoss
- <literal>JPA</literal> example.
- <itemizedlist>
- <listitem>
- <para> To use Hibernate as your JPA provider you need
- the following jars:
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>hibernate.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-annotations.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-commons-annotations.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-entitymanager.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>hibernate-validator.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>commons-collections.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>jboss-archive-browsing.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para>Seam requires JSF 1.2 and these are the jars needed
- for that. Websphere 6.1 ships with its own implementation
- of JSF 1.1.
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>jsf-api.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>jsf-impl.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>el-ri.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>el-api.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- <listitem>
- <para>Various third party jars that Websphere needs:
- <itemizedlist>
- <listitem>
- <simpara> <literal>antlr.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>cglib.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>asm.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara> <literal>dom4j.jar</literal>
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- <literal>javassist.jar</literal>
- </simpara>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- </itemizedlist> </para>
- </listitem>
- </itemizedlist>
-
- </section>
-
-
- </section>
-
- <section>
- <title>Deploying an application created using
- <literal>seam-gen</literal> on Websphere 6.1.0.13</title>
-
- <para><literal>seam-gen</literal> is a very useful tool for developers
- to quickly get an application up and running, and provides a foundation
- to add your own functionality. Out of box <literal>seam-gen</literal>
- will produce applications configured to run on JBoss AS. These
- instructions will show the steps needed to get it to run on Websphere.
- As stated above in <xref linkend="jee5-websphere-section"/> there
- are some tricky changes needed to get an EJB3 application running. This
- section will take you through the exact steps.</para>
-
- <section>
- <title>Running <literal>seam-gen</literal> Setup</title>
- <para>The first step is setting up <literal>seam-gen</literal> to
- construct the base project. There are several choices made below,
- specifically the datasource and hibernate values that we will adjust
- once the project is created.</para>
-
-
- <programlisting><![CDATA[
-./seam setup
-Buildfile: build.xml
-
-init:
-
-setup:
- [echo] Welcome to seam-gen :-)
- [input] Enter your Java project workspace (the directory that contains your
-Seam projects) [C:/Projects] [C:/Projects]
-/home/jbalunas/workspace
- [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.GA]
-[C:/Program Files/jboss-4.2.2.GA]
-/home/jbalunas/jboss/jboss-4.2.2.GA
- [input] Enter the project name [myproject] [myproject]
-websphere_example
- [echo] Accepted project name as: websphere_example
- [input] Do you want to use ICEFaces instead of RichFaces [n] (y, [n], )
-
- [input] skipping input as property icefaces.home.new has already been set.
- [input] Select a RichFaces skin [blueSky] ([blueSky], classic, ruby, wine,
-deepMarine, emeraldTown, sakura, DEFAULT)
-
- [input] Is this project deployed as an EAR (with EJB components) or a WAR
-(with no EJB support) [ear] ([ear], war, )
-
- [input] Enter the Java package name for your session beans [org.jboss.seam.
-tutorial.websphere.action] [org.jboss.seam.tutorial.websphere.action]
-org.jboss.seam.tutorial.websphere.action
- [input] Enter the Java package name for your entity beans [org.jboss.seam.
-tutorial.websphere.model] [org.jboss.seam.tutorial.websphere.model]
-org.jboss.seam.tutorial.websphere.model
- [input] Enter the Java package name for your test cases [org.jboss.seam.
-tutorial.websphere.action.test] [org.jboss.seam.tutorial.websphere.action.test]
-org.jboss.seam.tutorial.websphere.test
- [input] What kind of database are you using? [hsql] ([hsql], mysql, oracle,
- postgres, mssql, db2, sybase, enterprisedb, h2)
-
- [input] Enter the Hibernate dialect for your database [org.hibernate.
-dialect.HSQLDialect] [org.hibernate.dialect.HSQLDialect]
-
- [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.jar]
-[lib/hsqldb.jar]
-
- [input] Enter JDBC driver class for your database [org.hsqldb.jdbcDriver]
-[org.hsqldb.jdbcDriver]
-
- [input] Enter the JDBC URL for your database [jdbc:hsqldb:.]
-[jdbc:hsqldb:.]
-
- [input] Enter database username [sa] [sa]
-
- [input] Enter database password [] []
-
- [input] Enter the database schema name (it is OK to leave this blank) [] []
-
- [input] Enter the database catalog name (it is OK to leave this blank) [] []
-
- [input] Are you working with tables that already exist in the database? [n]
- (y, [n], )
-
- [input] Do you want to drop and recreate the database tables and data in
-import.sql each time you deploy? [n] (y, [n], )
-
-[propertyfile] Creating new property file:
-/rhdev/projects/jboss-seam/svn-seam_2_0/jboss-seam-2_0/seam-gen/build.properties
- [echo] Installing JDBC driver jar to JBoss server
- [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.2.GA/server/default/lib
- [echo] Type 'seam create-project' to create the new project
-
-BUILD SUCCESSFUL
-Total time: 3 minutes 5 seconds]]></programlisting>
-
- <para> Type <literal>./seam new-project</literal> to create your
- project and <literal>cd
- /home/jbalunas/workspace/websphere_example</literal> to the
- newly created structure. </para>
-
- </section>
- <section>
- <title>Changes needed for deployment to Websphere</title>
- <para>We now need to make some changes to the generated project.</para>
- <section>
- <title>Configuration file changes</title>
- <variablelist>
- <varlistentry>
- <term>
- <literal>resources/META-INF/persistence-dev.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Alter the
- <literal>jta-data-source</literal> to be
- <literal>DefaultDatasource</literal>. We are
- going to be using the integrated Websphere
- DB.</para>
- </listitem>
- <listitem>
- <para> Add or change the properties below.
- These are described in detail at <xref
- linkend="jee5-websphere-section"/>:
- </para>
-
- <programlisting role="XML"><![CDATA[
-<property name="hibernate.dialect" value="GlassfishDerbyDialect"/>
-<property name="hibernate.hbm2ddl.auto" value="update"/>
-<property name="hibernate.show_sql" value="true"/>
-<property name="hibernate.format_sql" value="true"/>
-<property name="hibernate.cache.provider_class"
- value="org.hibernate.cache.HashtableCacheProvider"/>
-<property name="hibernate.transaction.manager_lookup_class"
- value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>]]></programlisting>
- </listitem>
- <listitem>
- <para> Remove the JBoss AS specific method of exposing
- the EntityManagerFactory: </para>
-
- <programlisting role="XML"><![CDATA[<property
- name="jboss.entity.manager.factory.jndi.name"
- value="java:/websphere_exampleEntityManagerFactory">]]></programlisting>
- </listitem>
- <listitem>
- <para> You'll need to alter
- <literal>persistence-prod.xml</literal> as
- well if you want to deploy to Websphere using the
- prod profile. </para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/GlassfishDerbyDialect.class</literal>
- </term>
- <listitem>
- <para>As with other examples we need to include this class for
- DB support. It can be copied from the
- <literal>jpa</literal> example into the
- <literal>websphere_example/resources</literal>
- directory.
-
- <programlisting><![CDATA[
-cp $SEAM/examples/jpa/resources-websphere61/WEB-INF/classes/GlassfishDerbyDialect.class
- ./resources]]></programlisting>
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/META-INF/jboss-app.xml</literal>
- </term>
- <listitem>
- <para> You can delete this file as we aren't deploying to JBoss
- AS ( <literal>jboss-app.xml</literal> is used to enable
- classloading isolation in JBoss AS) </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/*-ds.xml</literal>
- </term>
- <listitem>
- <para> You can delete these file as we aren't deploying to
- JBoss AS (these files define datasources in JBoss AS, we
- are using Websphere's default datasource) </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>
- <literal>resources/WEB-INF/components.xml</literal>
- </term>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Enable container managed transaction
- integration - add the <literal>
- <transaction:ejb-transaction />
- </literal> component, and it's namespace
- declaration <literal>
- xmlns:transaction="http://jboss.com/products/seam/transaction"
- </literal> </para>
- </listitem>
- <listitem>
- <para> Alter the <literal>jndi-pattern</literal>
- to <literal>
- java:comp/env/websphere_example/#{ejbName}
- </literal> </para>
- </listitem>
- <listitem>
- <para>We do not need
- <literal>managed-persistence-context</literal>
- for this example and so can delete its
- entry.</para>
-
-
- <programlisting role="XML"><![CDATA[
-<persistence:managed-persistence-context name="entityManager"
- auto-create="true"
- persistence-unit-jndi-name="java:/websphere_exampleEntityManagerFactory"/> ]]></programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <literal>resources/WEB-INF/web.xml</literal>
- </term>
- <listitem>
- <para> Websphere does not support <literal>Servlet
- 2.5</literal>, it required <literal>Servlet
- 2.4</literal>. For this change we need to adjust the top of
- the <literal>web.xml</literal> file to look like the
- following:</para>
-
- <programlisting role="XML"><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- ]]></programlisting>
-
- <para>As with the <literal>jee5/booking</literal>
- example we need to add EJB references to the web.xml. These
- references require the empty
- <literal>local-home</literal> to flag them for
- Websphere to perform the proper binding.</para>
-
-
- <programlisting role="XML"><![CDATA[
- <ejb-local-ref>
- <ejb-ref-name>websphere_example/AuthenticatorAction</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.tutorial.websphere.action.Authenticator</local>
- </ejb-local-ref>
-
- <ejb-local-ref>
- <ejb-ref-name>websphere_example/EjbSynchronizations</ejb-ref-name>
- <ejb-ref-type>Session</ejb-ref-type>
- <local-home></local-home>
- <local>org.jboss.seam.transaction.LocalEjbSynchronizations</local>
- </ejb-local-ref>]]></programlisting>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
- <section>
- <title>Creating the <literal>AuthenticatorAction</literal>
- EJB</title>
- <para> We want to take the existing <literal>Authenticator</literal>
- Seam POJO component and create an EJB3 out of it. </para>
- <orderedlist>
- <listitem>
- <itemizedlist>
- <listitem>
- <para> Rename the class to
- <literal>AuthenticatorAction</literal> </para>
- </listitem>
- <listitem>
- <para> Add the <literal>@Stateless</literal>
- annotation to the new
- <literal>AuthenticatorAction</literal> class.
- </para>
- </listitem>
- <listitem>
- <para> Create an interface called
- <literal>Authenticator</literal> which
- <literal>AuthenticatorAction</literal>
- implements (EJB3 requires session beans to have a
- local interface). Annotate the interface with
- <literal>@Local</literal> , and add a single method
- with same signature as the
- <literal>authenticate</literal> in
- <literal>AuthenticatorAction</literal> . </para>
- </listitem>
- </itemizedlist>
-
-
- <programlisting role="JAVA"><![CDATA[
-@Name("authenticator") @Stateless public class
- AuthenticatorAction implements Authenticator {]]></programlisting>
-
-
- <programlisting role="JAVA"><![CDATA[
-@Local public interface Authenticator {
- public boolean authenticate();
-}]]></programlisting>
- </listitem>
- <listitem>
- <para>We've already added its reference to the
- <literal>web.xml</literal> file so are good to go. </para>
- </listitem>
- </orderedlist>
- </section>
- <section>
- <title>Extra jar dependencies and other changes to the
- <literal>build.xml</literal></title>
- <para> This application has similar requirements as the
- <literal>jee5/booking</literal> example. </para>
-
- <itemizedlist>
- <listitem>
- <para>Change the default target to
- <literal>archive</literal> (we aren't going to cover
- automatic deployment to Websphere).
- </para>
-
-
- <programlisting role="XML"><![CDATA[
-<project name="websphere_example" default="archive" basedir=".">]]></programlisting>
-
- </listitem>
- <listitem>
- <para>Websphere looks for the drools
- <literal>/security.drl</literal> file in the root of the
- <literal>war</literal> file instead of the root of the
- <literal>websphere_example.jar</literal> so we need
- to have the <literal>build.xml</literal> move it to the
- correct location at build time. The following must be added at
- the top of the <literal> <target name="war"
- depends="compile" description="Build the distribution
- .war file"> </literal> target.
- </para>
-
- <programlisting role="XML"><![CDATA[
-<copy todir="${war.dir}">
- <fileset dir="${basedir}/resources" >
- <include name="*.drl" />
- </fileset>
-</copy>]]></programlisting>
- </listitem>
- <listitem>
- <para>We need to ge the
- <literal>GlassfishDerbyDialect.class</literal> into
- our application jar. To do that find the
- <literal>jar</literal> task and modify the top of it so that
- it looks like this:
- </para>
-
-
- <programlisting role="XML"><![CDATA[
-<target name="jar" depends="compile,copyclasses"
- description="Build the distribution .jar file">
- <copy todir="${jar.dir}">
- <fileset dir="${basedir}/resources">
- <include name="seam.properties" />
- <include name="*.drl" />
- <include name="GlassfishDerbyDialect.class" />
- </fileset>
- </copy>
-...]]></programlisting>
- </listitem>
- <listitem>
- <para>Next we need to get the
- <literal>jboss-seam.jar</literal> into the base of the
- <literal>EAR</literal> file. For deployment Websphere
- requires this jar to be in both the <literal>/lib</literal>
- directory and at the base of the <literal>EAR</literal>. You
- must add the following to the <literal>archive</literal>
- task: </para>
-
-
- <programlisting role="XML"><![CDATA[
-<fileset dir="${lib.dir}">
- <include name="jboss-seam.jar" />
-</fileset>]]></programlisting>
- <para>So that the whole <literal>archive</literal> task looks
- like:</para>
-
-
- <programlisting role="XML"><![CDATA[
-<target name="archive" depends="jar,war,ear"
- description="Package the archives">
- <jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
- <jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
- <jar jarfile="${dist.dir}/${project.name}.ear">
- <fileset dir="${ear.dir}"/>
- <fileset dir="${dist.dir}">
- <include name="${project.name}.jar"/>
- <include name="${project.name}.war"/>
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="jboss-seam.jar" />
- </fileset>
- </jar>
-</target>]]></programlisting>
- </listitem>
- <listitem>
- <para>Now we need to get extra jars into the
- <literal>build.xml</literal>. Look for the
- <literal><fileset dir="${basedir}"></literal> section
- of the task below. Add the new includes at the bottom of
- the fileset.
- </para>
-
-
- <programlisting role="XML"><![CDATA[
-<target name="ear" description="Build the EAR">
- <copy todir="${ear.dir}">
- <fileset dir="${basedir}/resources">
- <include name="*jpdl.xml" />
- <include name="*hibernate.cfg.xml" />
- <include name="jbpm.cfg.xml" />
- </fileset>
- <fileset dir="${lib.dir}">
- <include name="jboss-seam.jar" />
- </fileset>
- <fileset dir="${basedir}">
- <include name="lib/jbpm*.jar" />
- <include name="lib/jboss-el.jar" />
- <include name="lib/drools-*.jar"/>
- <include name="lib/core.jar"/>
- <include name="lib/janino*.jar"/>
- <include name="lib/antlr-*.jar"/>
- <include name="lib/mvel*.jar"/>
- <include name="lib/richfaces-api*.jar" />
- </fileset>
- </copy>
- <copy todir="${ear.dir}/META-INF">
- <fileset dir="${basedir}/resources/META-INF">
- <include name="application.xml" />
- <include name="jboss-app.xml" />
- </fileset>
- </copy>
-</target>]]></programlisting>
- <itemizedlist>
- <listitem>
- <para>Hibernate dependencies</para>
- <programlisting role="XML"><![CDATA[
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/jboss-common-core.jar" />]]></programlisting>
- </listitem>
- <listitem>
- <para>JSF dependencies. You will need to copy the
- <literal>el-ri.jar</literal> from the
- <literal>$SEAM/examples/jpa/lib</literal> directory.</para>
- <programlisting role="XML"><![CDATA[
- <!-- jsf libs -->
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/el-api.jar" />
- <include name="lib/el-ri.jar"/>]]></programlisting>
- </listitem>
- <listitem>
- <para> Third party dependencies. You will need to copy the
- <literal>jboss-archive-browsing.jar</literal> from the
- <literal>$SEAM/examples/jpa/lib</literal> directory into the
- the projects <literal>/lib</literal> directory. You will
- also need to acquire the <literal>concurrent.jar</literal>
- and place it in the same directory. You can get this from
- any jboss distribution or just search for it.</para>
- <programlisting role="XML"><![CDATA[
- <!-- 3rd party and supporting jars -->
- <!--<include name="lib/log4j.jar" />-->
- <include name="lib/javassist.jar"/>
- <include name="lib/dom4j.jar" />
- <include name="lib/jboss-archive-browsing.jar" />
- <include name="lib/concurrent.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/asm.jar"/>
- <include name="lib/antlr.jar" />
- <include name="lib/commons-logging.jar" />
- <include name="lib/commons-collections.jar" />]]></programlisting>
- </listitem>
- <listitem>
- <para><literal>jboss-seam.jar</literal> - this is needed in
- both the <literal>ear</literal> base and
- <literal>/lib</literal>
- directory.</para>
- <programlisting role="XML"><![CDATA[
- <!-- seam jar -->
- <include name="lib/jboss-seam.jar" />]]></programlisting>
- </listitem>
- </itemizedlist>
-
- <para>You should end up with something like:</para>
- <programlisting role="XML"><![CDATA[
-<fileset dir="${basedir}">
- <include name="lib/jbpm*.jar" />
- <include name="lib/jboss-el.jar" />
- <include name="lib/drools-*.jar"/>
- <include name="lib/core.jar"/>
- <include name="lib/janino*.jar"/>
- <include name="lib/antlr-*.jar"/>
- <include name="lib/mvel*.jar"/>
- <include name="lib/richfaces-api*.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/jboss-common-core.jar" />
-
- <!-- jsf libs -->
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/el-api.jar" />
- <include name="lib/el-ri.jar"/>
-
- <!-- 3rd party and supporting jars -->
- <!--<include name="lib/log4j.jar" />-->
- <include name="lib/javassist.jar"/>
- <include name="lib/dom4j.jar" />
- <include name="lib/jboss-archive-browsing.jar" />
- <include name="lib/concurrent.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/asm.jar"/>
- <include name="lib/antlr.jar" />
- <include name="lib/commons-logging.jar" />
- <include name="lib/commons-collections.jar" />
-
- <!-- seam jar -->
- <include name="lib/jboss-seam.jar" />
-
-</fileset>]]></programlisting>
- </listitem>
- </itemizedlist>
-
- </section>
- <section>
- <title> Building and deploying the seam-gen'd application to Websphere
- </title>
-
-
- <itemizedlist>
- <listitem>
- <para> Build your application by calling
- <literal>ant</literal> in the base directory of your
- project (ex.
- <literal>/home/jbalunas/workspace/websphere_example</literal>
- ). The target of the build will be
- <literal>dist/websphere_example.ear</literal> . </para>
- </listitem>
-
- <listitem>
- <para>To deploy the application follow the instructions here :
- <xref linkend="jee5-websphere-deploy"/> but use references to
- this project <literal>websphere_example</literal> instead of
- <literal>jboss-seam-jee5</literal>.</para>
- </listitem>
- <listitem>
- <para> Checkout the app at:
- <literal>http://localhost:9080/websphere_example/index.html</literal>
- </para>
- </listitem>
- </itemizedlist>
-
- </section>
- </section>
- </section>
-
-</chapter>
Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/master.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/master.xml 2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/master.xml 2008-06-09 13:12:16 UTC (rev 8353)
@@ -26,7 +26,6 @@
<xi:include href= "Cache.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Webservices.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Remoting.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href= "Gwt.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Spring.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Hsearch.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
@@ -36,9 +35,6 @@
<xi:include href= "Elenhancements.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Testing.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Tools.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href= "Oc4j.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href= "Weblogic.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href= "Websphere.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href= "Dependencies.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</book>
\ No newline at end of file
16 years, 6 months
Seam SVN: r8352 - branches/Seam_2_0_FP/src.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2008-06-09 09:10:44 -0400 (Mon, 09 Jun 2008)
New Revision: 8352
Removed:
branches/Seam_2_0_FP/src/jbas5/
Log:
removed jbas5 component from Feature pack
16 years, 6 months
Seam SVN: r8351 - in branches/Seam_2_0_FP/build: lib and 1 other directory.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2008-06-09 09:07:25 -0400 (Mon, 09 Jun 2008)
New Revision: 8351
Removed:
branches/Seam_2_0_FP/build/jbas5.pom.xml
Modified:
branches/Seam_2_0_FP/build/ci.build.xml
branches/Seam_2_0_FP/build/classpath.tmpl
branches/Seam_2_0_FP/build/common.build.xml
branches/Seam_2_0_FP/build/default.build.properties
branches/Seam_2_0_FP/build/lib/maven-ant-tasks.jar
branches/Seam_2_0_FP/build/readme.txt
branches/Seam_2_0_FP/build/root.pom.xml
branches/Seam_2_0_FP/build/sample.build.properties
branches/Seam_2_0_FP/build/utilities.build.xml
Log:
merged from branch Seam_2_0 plus jbas5 deleted
Modified: branches/Seam_2_0_FP/build/ci.build.xml
===================================================================
--- branches/Seam_2_0_FP/build/ci.build.xml 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/ci.build.xml 2008-06-09 13:07:25 UTC (rev 8351)
@@ -14,14 +14,15 @@
<import file="common.build.xml" />
- <artifact:remoteRepository id="snapshots.jboss.org" url="dav:https://snapshots.jboss.org/maven2" />
-
+ <artifact:remoteRepository id="snapshots.jboss.org" url="dav:https://snapshots.jboss.org/maven2">
+ <authentication username="hudson-services" password="${snapshots.password}" />
+ </artifact:remoteRepository>
+
<target name="deploySeamSnapshot" description="Deploy a Seam snapshot to snapshots.jboss.org" depends="initdav, initpoms">
<deploySnapshotPom pom="${root.pom}" />
<deploySnapshotPom pom="${parent.pom}" />
<deploySnapshot pom="${core.pom}" jar="${lib.dir}/jboss-seam.jar" srcjar="${lib.dir}/src/jboss-seam-sources.jar" />
<deploySnapshot pom="${debug.pom}" jar="${lib.dir}/jboss-seam-debug.jar" srcjar="${lib.dir}/src/jboss-seam-debug-sources.jar" />
- <deploySnapshot pom="${jbas5.pom}" jar="${lib.dir}/interop/jboss-seam-jbas5.jar" srcjar="${lib.dir}/interop/src/jboss-seam-jbas5-sources.jar" />
<deploySnapshot pom="${gen.pom}" jar="${lib.dir}/jboss-seam-gen.jar" srcjar="${lib.dir}/src/jboss-seam-gen-sources.jar" />
<deploySnapshot pom="${ioc.pom}" jar="${lib.dir}/jboss-seam-ioc.jar" srcjar="${lib.dir}/src/jboss-seam-ioc-sources.jar" />
<deploySnapshot pom="${mail.pom}" jar="${lib.dir}/jboss-seam-mail.jar" srcjar="${lib.dir}/src/jboss-seam-mail-sources.jar" />
@@ -79,8 +80,8 @@
</target>
<target name="deployDocumentation" depends="initdav, initpoms">
- <artifact:deploy uniqueVersion="false" file="${docs.pom}">
- <pom file="${docs.pom}" />
+ <artifact:deploy uniqueVersion="false" file="${docs.pom}" settingsFile="${maven.settings.xml}">
+ <pom file="${docs.pom}" settingsFile="${maven.settings.xml}"/>
<remoteRepository refId="snapshots.jboss.org" />
<attach file="${doc.ref.dir}/target/docbook/publish/en-US/pdf/seam_reference.pdf" classifier="pdf" type="pdf" />
</artifact:deploy>
@@ -106,7 +107,7 @@
<attribute name="pom" />
<sequential>
<artifact:deploy uniqueVersion="true">
- <pom file="@{pom}" />
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}"/>
<remoteRepository refid="snapshots.jboss.org" />
</artifact:deploy>
</sequential>
@@ -118,7 +119,7 @@
<attribute name="srcjar" />
<sequential>
<artifact:deploy file="@{jar}" uniqueVersion="true">
- <pom file="@{pom}" />
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
<attach file="@{srcjar}" classifier="sources" />
<remoteRepository refid="snapshots.jboss.org" />
</artifact:deploy>
Modified: branches/Seam_2_0_FP/build/classpath.tmpl
===================================================================
(Binary files differ)
Modified: branches/Seam_2_0_FP/build/common.build.xml
===================================================================
--- branches/Seam_2_0_FP/build/common.build.xml 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/common.build.xml 2008-06-09 13:07:25 UTC (rev 8351)
@@ -99,7 +99,6 @@
<pomfile name="core.pom" value="${build.dir}/core.pom.xml" artifactName="jboss-seam" />
<pomfile name="core.wls.pom" value="${build.dir}/core.pom.xml" artifactName="jboss-seam-wls-compatible" />
<pomfile name="debug.pom" value="${build.dir}/debug.pom.xml" />
- <pomfile name="jbas5.pom" value="${build.dir}/jbas5.pom.xml" />
<pomfile name="gen.pom" value="${build.dir}/gen.pom.xml" />
<pomfile name="ioc.pom" value="${build.dir}/ioc.pom.xml" />
<pomfile name="mail.pom" value="${build.dir}/mail.pom.xml" />
@@ -118,6 +117,7 @@
<copyDependencies id="pdf" pom="${pdf.pom}" todir="${lib.dir}" scope="runtime" />
<copyDependencies id="remoting" pom="${remoting.pom}" todir="${lib.dir}" scope="runtime" />
<copyDependencies id="ui" pom="${ui.pom}" todir="${lib.dir}" scope="runtime" />
+ <copyDependencies id="gen" pom="${gen.pom}" todir="${lib.dir}" scope="runtime" />
<copyDependencies id="core" pom="${core.pom}" todir="${lib.dir}" scope="compile" />
<copyDependencies id="debug" pom="${debug.pom}" todir="${lib.dir}" scope="compile" />
<copyDependencies id="ioc" pom="${ioc.pom}" todir="${lib.dir}" scope="compile" />
@@ -125,6 +125,7 @@
<copyDependencies id="pdf" pom="${pdf.pom}" todir="${lib.dir}" scope="compile" />
<copyDependencies id="remoting" pom="${remoting.pom}" todir="${lib.dir}" scope="compile" />
<copyDependencies id="ui" pom="${ui.pom}" todir="${lib.dir}" scope="compile" />
+ <copyDependencies id="gen" pom="${gen.pom}" todir="${lib.dir}" scope="compile" />
<property name="copyseamdependenciesdone" value="true" />
</target>
@@ -200,13 +201,13 @@
<propertyref name="ioc.pom" />
<propertyref name="mail.pom" />
<propertyref name="debug.pom" />
- <propertyref name="jbas5.pom" />
<propertyref name="testng.jvmargs"/>
+ <propertyref name="maven.settings.xml" />
</propertyset>
</ant>
<pomfile name="example.pom" value="@{path}/pom.xml" />
- <artifact:deploy file="@{path}/dist/jboss-seam-(a){name}.ear" uniqueVersion="false">
- <pom file="${example.pom}" />
+ <artifact:deploy file="@{path}/dist/jboss-seam-(a){name}.ear" uniqueVersion="false" settingsFile="${maven.settings.xml}">
+ <pom file="${example.pom}" settingsFile="${maven.settings.xml}"/>
<attach file="@{path}/resources/jboss-seam-(a){name}-ds.xml" classifier="ds" type="xml" />
<remoteRepository refid="@{repositoryId}" />
</artifact:deploy>
@@ -233,7 +234,6 @@
<propertyref name="ioc.pom" />
<propertyref name="mail.pom" />
<propertyref name="debug.pom" />
- <propertyref name="jbas5.pom" />
<propertyref name="testng.jvmargs"/>
</propertyset>
</ant>
@@ -266,13 +266,13 @@
<propertyref name="ioc.pom" />
<propertyref name="mail.pom" />
<propertyref name="debug.pom" />
- <propertyref name="jbas5.pom" />
<propertyref name="testng.jvmargs"/>
+ <propertyref name="maven.settings.xml" />
</propertyset>
</ant>
<pomfile name="example.pom" value="@{path}/pom.xml" />
- <artifact:deploy file="@{path}/dist/jboss-seam-(a){name}.ear" uniqueVersion="false">
- <pom file="${example.pom}" />
+ <artifact:deploy file="@{path}/dist/jboss-seam-(a){name}.ear" uniqueVersion="false" settingsFile="${maven.settings.xml}">
+ <pom file="${example.pom}" settingsFile="${maven.settings.xml}"/>
<remoteRepository refid="@{repositoryId}" />
</artifact:deploy>
</sequential>
@@ -326,7 +326,6 @@
<outputDependencyReport module="mail" />
<outputDependencyReport module="pdf" />
<outputDependencyReport module="ioc" />
- <outputDependencyReport module="jbas5" />
<echo>Dependency Report written to ${seam.dir}/dependency-report.txt</echo>
</target>
Modified: branches/Seam_2_0_FP/build/default.build.properties
===================================================================
--- branches/Seam_2_0_FP/build/default.build.properties 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/default.build.properties 2008-06-09 13:07:25 UTC (rev 8351)
@@ -7,10 +7,10 @@
# ------------
major.version 2
minor.version .0
-patchlevel .3
-qualifier -SNAPSHOT
+patchlevel .2
+qualifier -FP
#
# Other program locations
# -----------------------
-jboss.home /Applications/jboss-4.2.2.GA
-tomcat.home /Applications/apache-tomcat-6.0
+jboss.home /var/lib/jboss
+tomcat.home /var/lib/tomcat5
Deleted: branches/Seam_2_0_FP/build/jbas5.pom.xml
===================================================================
--- branches/Seam_2_0_FP/build/jbas5.pom.xml 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/jbas5.pom.xml 2008-06-09 13:07:25 UTC (rev 8351)
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.seam</groupId>
- <artifactId>jboss-seam-jbas5</artifactId>
- <parent>
- <groupId>org.jboss.seam</groupId>
- <artifactId>parent</artifactId>
- <version>@seam.version@</version>
- </parent>
- <description>Seam integration with JBoss AS 5</description>
-
- <!-- See parent pom for notes on how to declare dependencies -->
-
- <dependencies>
-
- <dependency>
- <groupId>org.jboss.seam</groupId>
- <artifactId>jboss-seam</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-vfs</artifactId>
- </dependency>
-
- </dependencies>
-
-</project>
\ No newline at end of file
Modified: branches/Seam_2_0_FP/build/lib/maven-ant-tasks.jar
===================================================================
(Binary files differ)
Modified: branches/Seam_2_0_FP/build/readme.txt
===================================================================
--- branches/Seam_2_0_FP/build/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/readme.txt 2008-06-09 13:07:25 UTC (rev 8351)
@@ -110,6 +110,3 @@
The examples assemble all the Seam dependencies into a staging directory (/lib).
/lib/*.jar is used as the classpath to compile the examples, and the examples
use pattern's to select the jars to put in their deployed archives.
-
-Some trickery (excluding jars) is required to get JBoss Embedded to run
-currently - this should be improved.
\ No newline at end of file
Modified: branches/Seam_2_0_FP/build/root.pom.xml
===================================================================
--- branches/Seam_2_0_FP/build/root.pom.xml 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/root.pom.xml 2008-06-09 13:07:25 UTC (rev 8351)
@@ -28,12 +28,12 @@
<name>JBoss Repository</name>
<url>http://repository.jboss.org/maven2</url>
</repository>
- <!-- <repository>
+ <repository>
<snapshots />
<id>snapshots.jboss.org</id>
<name>JBoss Snapshot Repository</name>
<url>http://snapshots.jboss.org/maven2</url>
- </repository>-->
+ </repository>
</repositories>
<!-- Externalize some version numbers here -->
Modified: branches/Seam_2_0_FP/build/sample.build.properties
===================================================================
--- branches/Seam_2_0_FP/build/sample.build.properties 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/sample.build.properties 2008-06-09 13:07:25 UTC (rev 8351)
@@ -3,10 +3,8 @@
#
# Location of JBoss AS and Tomcat
# -------------------------------
-#jboss.home /Applications/jboss-4.2.2.GA # Default
-#tomcat.home /Applications/apache-tomcat-6.0 # Default
-#jboss.home C:\\jboss-4.2.2.GA
-#tomcat.home C:\\Tomcat-6.0
+#jboss.home /var/lib/jboss-4.2.2.GA # Default
+#tomcat.home /var/lib/tomcat6 # Default
#
# Misc Settings
# -------------
Modified: branches/Seam_2_0_FP/build/utilities.build.xml
===================================================================
--- branches/Seam_2_0_FP/build/utilities.build.xml 2008-06-09 13:04:24 UTC (rev 8350)
+++ branches/Seam_2_0_FP/build/utilities.build.xml 2008-06-09 13:07:25 UTC (rev 8351)
@@ -32,11 +32,11 @@
<attribute name="pom" />
<sequential>
<artifact:dependencies pathId="@{scope}.(a){id}.path" filesetId="@{scope}.(a){id}.fileset" versionsId="@{scope}.(a){id}.versions" useScope="@{scope}" settingsFile="${maven.settings.xml}">
- <pom file="@{pom}" />
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
</artifact:dependencies>
</sequential>
</macrodef>
-
+
<macrodef name="inlineDependencies">
<attribute name="id" />
<attribute name="scope" />
@@ -54,18 +54,18 @@
<attribute name="pom" />
<sequential>
<artifact:dependencies pathId="@{scope}.(a){id}.path" filesetId="@{scope}.(a){id}.fileset" versionsId="@{scope}.(a){id}.versions" useScope="@{scope}" sourcesFilesetId="@{scope}.(a){id}.source.fileset" settingsFile="${maven.settings.xml}">
- <pom file="@{pom}" />
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
</artifact:dependencies>
</sequential>
</macrodef>
-
+
<macrodef name="install">
<attribute name="pom" default="" />
<attribute name="jar" default="" />
<element name="args" implicit="true" optional="true" />
<sequential>
<artifact:install file="@{jar}" settingsFile="${maven.settings.xml}">
- <pom file="@{pom}" />
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
<args />
</artifact:install>
</sequential>
@@ -79,7 +79,7 @@
<element name="credentials" implicit="true" optional="true" />
<sequential>
<artifact:deploy file="@{jar}" uniqueVersion="@{unique}">
- <pom file="@{pom}" />
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
<remoteRepository refId="@{repositoryId}">
<credentials />
</remoteRepository>
@@ -94,8 +94,8 @@
<attribute name="repositoryId" default="" />
<element name="credentials" implicit="true" optional="true" />
<sequential>
- <artifact:deploy file="@{jar}">
- <pom file="@{pom}" />
+ <artifact:deploy file="@{jar}" settingsFile="${maven.settings.xml}">
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
<remoteRepository refId="@{repositoryId}">
<credentials />
</remoteRepository>
@@ -112,8 +112,8 @@
<attribute name="repositoryId" default="" />
<element name="credentials" implicit="true" optional="true" />
<sequential>
- <artifact:deploy file="@{jar}" uniqueVersion="@{unique}">
- <pom file="@{pom}" />
+ <artifact:deploy file="@{jar}" uniqueVersion="@{unique}" settingsFile="${maven.settings.xml}">
+ <pom file="@{pom}" settingsFile="${maven.settings.xml}" />
<remoteRepository refId="@{repositoryId}">
<credentials />
</remoteRepository>
16 years, 6 months
Seam SVN: r8350 - in branches/Seam_2_0_FP/examples: blog and 8 other directories.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2008-06-09 09:04:24 -0400 (Mon, 09 Jun 2008)
New Revision: 8350
Removed:
branches/Seam_2_0_FP/examples/hibernate/build-glassfish.xml
branches/Seam_2_0_FP/examples/hibernate/build-jboss-embedded.xml
branches/Seam_2_0_FP/examples/hibernate/build-jboss405.xml
branches/Seam_2_0_FP/examples/hibernate/build-tomcat55.xml
branches/Seam_2_0_FP/examples/hibernate/build-tomcat6.xml
branches/Seam_2_0_FP/examples/hibernate/build-weblogic92.xml
branches/Seam_2_0_FP/examples/hibernate/build-websphere61.xml
branches/Seam_2_0_FP/examples/hibernate/resources-glassfish/
branches/Seam_2_0_FP/examples/hibernate/resources-tomcat/
branches/Seam_2_0_FP/examples/hibernate/resources-weblogic92/
branches/Seam_2_0_FP/examples/hibernate/resources-websphere61/
branches/Seam_2_0_FP/examples/jee5/
branches/Seam_2_0_FP/examples/jpa/build-glassfish.xml
branches/Seam_2_0_FP/examples/jpa/build-jboss-embedded.xml
branches/Seam_2_0_FP/examples/jpa/build-jboss405.xml
branches/Seam_2_0_FP/examples/jpa/build-tomcat55.xml
branches/Seam_2_0_FP/examples/jpa/build-tomcat6.xml
branches/Seam_2_0_FP/examples/jpa/build-weblogic10.xml
branches/Seam_2_0_FP/examples/jpa/build-weblogic92.xml
branches/Seam_2_0_FP/examples/jpa/build-websphere61.xml
branches/Seam_2_0_FP/examples/jpa/resources-glassfish/
branches/Seam_2_0_FP/examples/jpa/resources-tomcat/
branches/Seam_2_0_FP/examples/jpa/resources-weblogic10/
branches/Seam_2_0_FP/examples/jpa/resources-weblogic92/
branches/Seam_2_0_FP/examples/jpa/resources-websphere61/
branches/Seam_2_0_FP/examples/wiki/
Modified:
branches/Seam_2_0_FP/examples/blog/readme.txt
branches/Seam_2_0_FP/examples/booking/readme.txt
branches/Seam_2_0_FP/examples/build.xml
branches/Seam_2_0_FP/examples/groovybooking/readme.txt
branches/Seam_2_0_FP/examples/hibernate/build.xml
branches/Seam_2_0_FP/examples/hibernate/readme.txt
branches/Seam_2_0_FP/examples/jpa/build-jboss.xml
branches/Seam_2_0_FP/examples/jpa/build.xml
branches/Seam_2_0_FP/examples/jpa/readme.txt
branches/Seam_2_0_FP/examples/portal/readme.txt
branches/Seam_2_0_FP/examples/readme.txt
branches/Seam_2_0_FP/examples/remoting/gwt/readme.txt
branches/Seam_2_0_FP/examples/seambay/readme.txt
branches/Seam_2_0_FP/examples/spring/readme.txt
Log:
removed unsupported parts in examples
Modified: branches/Seam_2_0_FP/examples/blog/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/blog/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/blog/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -4,6 +4,4 @@
Transaction and persistence context management is handled by the
EJB container.
-This example can also run in Tomcat with JBoss Embedded.
-
example.name=blog
\ No newline at end of file
Modified: branches/Seam_2_0_FP/examples/booking/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/booking/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/booking/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -4,6 +4,4 @@
Transaction and persistence context management is handled by the
EJB container.
-This example can also run in Tomcat with JBoss Embedded.
-
example.name=booking
\ No newline at end of file
Modified: branches/Seam_2_0_FP/examples/build.xml
===================================================================
--- branches/Seam_2_0_FP/examples/build.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/build.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -37,7 +37,7 @@
<!-- Library directories -->
<property name="lib.dir" value="${seam.dir}/lib" />
<property name="mail.dir" value="${seam.dir}/mail" />
- <property name="meldware.dir" value="${lib.dir}/meldware.deployable" />
+ <!-- <property name="meldware.dir" value="${lib.dir}/meldware.deployable" />-->
<!-- Target directories -->
<property name="dist.dir" value="dist" />
@@ -640,14 +640,14 @@
</target>
<!-- Deploy the target to JBoss AS -->
- <target name="deploy" depends="archive, datasource, meldware" description="Deploy the example to JBoss AS">
+ <target name="deploy" depends="archive, datasource" description="Deploy the example to JBoss AS">
<fail unless="jboss.home">
jboss.home not set, update build.properties
</fail>
<copy file="${dist.dir}/${example.name}.ear" todir="${deploy.dir}" />
</target>
- <!-- Deploy meldware to JBoss AS -->
+ <!-- Deploy meldware to JBoss AS
<target name="meldware" if="deploy.meldware.mail">
<copyInlineDependencies id="jbosscommoncore" scope="runtime" todir="${meldware.dir}">
<dependency groupId="org.buni.meldware" artifactId="mail" type="ear" version="1.0M8" />
@@ -664,16 +664,16 @@
<patternset refid="meldware.conf.files" />
</fileset>
</copy>
- </target>
+ </target>-->
<target name="undeploy" description="Undeploy the example from JBoss">
<delete file="${deploy.dir}/${example.name}.ear" />
<delete file="${deploy.dir}/${example.ds}" />
- <delete>
+ <!-- <delete>
<fileset dir="${deploy.dir}">
<patternset refid="meldware.files" />
</fileset>
- </delete>
+ </delete>-->
</target>
<!-- Copy the data source to JBoss AS -->
@@ -686,7 +686,7 @@
</copy>
</target>
- <target name="explode" depends="jar,jboss.war,ear,datasource, meldware" description="Deploy the exploded archive">
+ <target name="explode" depends="jar,jboss.war,ear,datasource" description="Deploy the exploded archive">
<fail unless="jboss.home">jboss.home not set</fail>
<mkdir dir="${jar.deploy.dir}" />
@@ -711,11 +711,11 @@
</delete>
<delete file="${deploy.dir}/${example.name}-ds.xml" failonerror="no" />
<delete dir="${ear.deploy.dir}" failonerror="no" />
- <delete failonerror="no">
+ <!-- <delete failonerror="no">
<fileset dir="${deploy.dir}">
<patternset refid="meldware.files" />
</fileset>
- </delete>
+ </delete> -->
</target>
<target name="restart" depends="explode" description="Restart the exploded archive">
@@ -930,16 +930,16 @@
</target>
<target name="test" depends="buildtest, copyjbossembedded,getemma" description="Run the tests">
- <taskdef resource="testngtasks" classpathref="build.classpath" />
+ <taskdef resource="testngtasks" classpathref="test.classpath" />
<testng outputdir="${test-report.dir}">
- <jvmarg value="-Xmx800M" />
- <jvmarg value="-Djava.awt.headless=true" />
- <jvmarg value="-Demma.coverage.out.file=${coverage.ec}" />
- <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}" />
- <jvmarg value="${testng.jvmargs}" />
+ <jvmarg line="-Xmx800M" />
+ <jvmarg line="-Djava.awt.headless=true" />
+ <jvmarg line="-Demma.coverage.out.file=${coverage.ec}" />
+ <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir}" />
+ <jvmarg line="${testng.jvmargs}" />
<classpath>
- <path refid="test.classpath" />
- <path refid="runtime.emma.path" />
+ <path refid="test.classpath" />
+ <path refid="runtime.emma.path" />
</classpath>
<xmlfileset dir="${src.test.dir}" includes="**/testng.xml" />
</testng>
@@ -949,11 +949,11 @@
<target name="testclass" depends="buildtest, copyjbossembedded,getemma" description="Run a specific test">
<taskdef resource="testngtasks" classpathref="build.classpath" />
<testng outputdir="${test-report.dir}" testname="${className}" suitename="${className}" >
- <jvmarg value="-Xmx800M" />
- <jvmarg value="-Djava.awt.headless=true" />
- <jvmarg value="-Demma.coverage.out.file=${coverage.ec}" />
- <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}" />
- <jvmarg value="${testng.jvmargs}" />
+ <jvmarg line="-Xmx800M" />
+ <jvmarg line="-Djava.awt.headless=true" />
+ <jvmarg line="-Demma.coverage.out.file=${coverage.ec}" />
+ <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir}" />
+ <jvmarg line="${testng.jvmargs}" />
<classpath>
<path refid="test.classpath" />
<path refid="runtime.emma.path" />
Modified: branches/Seam_2_0_FP/examples/groovybooking/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/groovybooking/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/groovybooking/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -11,4 +11,5 @@
To undeploy the example from JBoss AS use ant jbosswar.unexplode
-Note: there is no testng suite for this example.
\ No newline at end of file
+Note: there is no testng suite for this example.
+Note: Example and the whole Seam integration of Groovy is marked as Technology Preview - Support is not guaranteed.
\ No newline at end of file
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-glassfish.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-glassfish.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-glassfish.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for Glassfish"/>
- <property name="example.name" value="jboss-seam-hibernate"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-glassfish" />
- <property name="dist.dir" value="dist-glassfish" />
- <property name="exploded-archives.dir" value="exploded-archives-glassfish" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/javassist.jar"/>
- <include name="lib/dom4j.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
-
- <include name="lib/asm.jar" />
- <include name="lib/jboss-common-core.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/antlr.jar" />
- <include name="lib/commons-logging.jar" />
- <include name="lib/commons-collections.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-jboss-embedded.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-jboss-embedded.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-jboss-embedded.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="jbosswar.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for JBoss Embedded in Tomcat"/>
- <property name="example.name" value="jboss-seam-hibernate"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-jboss" />
- <property name="dist.dir" value="dist-jboss-embedded" />
- <property name="exploded-archives.dir" value="exploded-archives-jboss-embedded" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
-
- <import file="../build.xml"/>
-
- <fileset id="war.lib.extras" dir="${seam.dir}">
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jstl.jar" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-jboss405.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-jboss405.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-jboss405.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for JBoss 4.0.5"/>
- <property name="example.name" value="jboss-seam-hibernate"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-jboss" />
- <property name="dist.dir" value="dist-jboss405" />
- <property name="exploded-archives.dir" value="exploded-archives-jboss405" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="el-ri.lib" value="true"/>
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-lang.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/jsf-api.jar"/>
- <include name="lib/jsf-impl.jar"/>
- <include name="lib/jstl.jar"/>
- <include name="lib/el-api.jar"/>
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-tomcat55.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-tomcat55.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-tomcat55.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for plain Tomcat 5.5"/>
- <property name="example.name" value="jboss-seam-hibernate"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-tomcat" />
- <property name="dist.dir" value="dist-tomcat55" />
- <property name="exploded-archives.dir" value="exploded-archives-tomcat55" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="el-ri.lib" value="true"/>
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-lang.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/jsf-api.jar"/>
- <include name="lib/jsf-impl.jar"/>
- <include name="lib/jstl.jar"/>
- <include name="lib/dom4j.jar" />
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/javassist.jar"/>
- <include name="lib/persistence-api.jar" />
- <include name="lib/el-api.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/jta.jar"/>
- <include name="lib/antlr.jar" />
- <!--
- <include name="examples/hibernate2/lib/mc/*.jar"/>
- -->
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="META-INF/context.xml" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-tomcat6.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-tomcat6.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-tomcat6.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,50 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for plain Tomcat 6.0" />
- <property name="example.name" value="jboss-seam-hibernate" />
-
- <!-- resources -->
- <property name="resources.dir" value="resources-tomcat" />
- <property name="dist.dir" value="dist-tomcat6" />
- <property name="exploded-archives.dir" value="exploded-archives-tomcat6" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true" />
- <property name="seam.debug.lib" value="true" />
- <property name="facelets.lib" value="true" />
- <property name="richfaces.lib" value="true" />
-
- <import file="../build.xml" />
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-lang.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jstl.jar" />
- <include name="lib/dom4j.jar" />
- <include name="lib/hibernate.jar" />
- <include name="lib/hibernate-commons-annotations.jar" />
- <include name="lib/hibernate-annotations.jar" />
- <include name="lib/hibernate-entitymanager.jar" />
- <include name="lib/hibernate-validator.jar" />
- <include name="lib/asm.jar" />
- <include name="lib/javassist.jar" />
- <include name="lib/persistence-api.jar" />
- <include name="lib/cglib.jar" />
- <include name="lib/jta.jar" />
- <include name="lib/antlr.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="META-INF/context.xml" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-weblogic92.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-weblogic92.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-weblogic92.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for WebLogic 9.2"/>
- <property name="example.name" value="jboss-seam-hibernate"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-weblogic92" />
- <property name="dist.dir" value="dist-weblogic92" />
- <property name="exploded-archives.dir" value="exploded-archives-weblogic92" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="el-ri.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/dom4j.jar" />
- <include name="lib/javassist.jar" />
-
- <!-- Misc -->
- <include name="lib/jta.jar" />
- <include name="lib/commons-beanutils.jar" />
- <include name="lib/commons-digester.jar" />
- <include name="lib/commons-collections.jar" />
- <include name="lib/commons-logging.jar" />
- <!-- JSF (and related) implementation -->
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jstl.jar" />
- <include name="lib/el-api.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar" />
- <include name="lib/hibernate-commons-annotations.jar" />
- <include name="lib/hibernate-annotations.jar" />
- <include name="lib/hibernate-entitymanager.jar" />
- <include name="lib/hibernate-validator.jar" />
- <include name="lib/persistence-api.jar" />
- <include name="lib/cglib.jar" />
- <include name="lib/antlr.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/hibernate/build-websphere61.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build-websphere61.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build-websphere61.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Hibernate Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The Hibernate Example for WebSphere 6.1.0.9" />
- <property name="example.name" value="jboss-seam-hibernate" />
-
- <!-- resources -->
- <property name="resources.dir" value="resources-websphere61" />
- <property name="dist.dir" value="dist-websphere61" />
- <property name="exploded-archives.dir" value="exploded-archives-websphere61" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true" />
- <property name="seam.debug.lib" value="true" />
- <property name="facelets.lib" value="true" />
- <property name="richfaces.lib" value="true" />
- <property name="el-ri.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml" />
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/dom4j.jar" />
- <include name="lib/javassist.jar"/>
-
- <!-- Misc -->
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-collections.jar"/>
- <!-- JSF (and related) implementation -->
- <include name="lib/jsf-api.jar"/>
- <include name="lib/jsf-impl.jar"/>
- <include name="lib/jstl.jar"/>
- <include name="lib/el-api.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/persistence-api.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/antlr.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- <include name="META-INF/*.taglib.xml" />
- </fileset>
-
-</project>
-
Modified: branches/Seam_2_0_FP/examples/hibernate/build.xml
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/build.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/build.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -5,51 +5,16 @@
<target name="jboss" description="Build the Hibernate Booking example artifacts, and deploy to JBoss 4.2.0.GA">
<ant antfile="build-jboss.xml"/>
</target>
-
- <target name="jboss-embedded" description="Build the JPA artifacts, and deploy to JBoss Embedded in Tomcat">
- <ant antfile="build-jboss-embedded.xml"/>
- </target>
<target name="jboss.undeploy" description="Build the Hibernate Booking example artifacts, and deploy to JBoss 4.2.0.GA">
<ant antfile="build-jboss.xml" target="jbosswar.undeploy"/>
</target>
- <target name="jboss405" description="Build the Hibernate Booking example artifacts, suitable for deployment to JBoss 4.0.5.GA">
- <ant antfile="build-jboss405.xml"/>
- </target>
-
- <target name="glassfish" description="Build the Hibernate Booking example artifacts, suitable for deployment to Glassfish V2">
- <ant antfile="build-glassfish.xml"/>
- </target>
-
- <target name="weblogic92" description="Build the Hibernate Booking example artifacts, suitable for deployment to WebLogic 9.2">
- <ant antfile="build-weblogic92.xml"/>
- </target>
-
- <target name="websphere61" description="Build the Hibernate Booking example artifacts, suitable for deployment to WebSphere 6.1.0.9">
- <ant antfile="build-websphere61.xml"/>
- </target>
-
- <target name="tomcat55" description="Build the Hibernate Booking example artifacts, suitable for deployment to Tomcat 5.5">
- <ant antfile="build-tomcat55.xml"/>
- </target>
-
- <target name="tomcat6" description="Build the Hibernate Booking example artifacts, suitable for deployment to Tomcat 6">
- <ant antfile="build-tomcat6.xml"/>
- </target>
-
<target name="clean" description="Clean up the example">
<ant antfile="build-jboss.xml" target="clean" />
- <ant antfile="build-jboss405.xml" target="clean" />
- <ant antfile="build-glassfish.xml" target="clean" />
- <ant antfile="build-weblogic92.xml" target="clean" />
- <ant antfile="build-websphere61.xml" target="clean" />
- <ant antfile="build-tomcat55.xml" target="clean" />
- <ant antfile="build-tomcat6.xml" target="clean" />
- <ant antfile="build-jboss-embedded.xml" target="clean" />
</target>
- <target name="all" depends="jboss, jboss405, glassfish, weblogic92, websphere61, tomcat55, tomcat6" description="Build Hibernate Booking example, for deployment to all supported application servers"/>
+ <target name="all" depends="jboss" description="Build Hibernate Booking example"/>
<target name="test">
<ant antfile="build-jboss.xml" target="test" />
Modified: branches/Seam_2_0_FP/examples/hibernate/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/hibernate/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/hibernate/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -2,72 +2,9 @@
=======================
This is the Hotel Booking example implemented in Seam and Hibernate POJOs.
-It can be deployed in JBoss AS 4.x, WebLogic, Glassfish and Tomcat without
-the EJB3 container.
-JBoss AS 4.2.x:
- * Install JBoss AS with the default profile
+Deployment:
* ant jboss
* Start JBoss AS
* Access the app at http://localhost:8080/jboss-seam-hibernate/
- * ant jboss.undeploy to undeploy example
-
-JBoss AS 4.0.5.GA:
- * Install JBoss AS with the default profile (with or without EJB3)
- * ant jboss405
- * Deploy dist-jboss/jboss-seam-hibernate.war
- * Start JBoss AS
- * Access the app at http://localhost:8080/jboss-seam-hibernate/
-
-WebLogic 9.2:
- * Install WebLogic 9.2
- * ant weblogic92
- * Start the WebLogic "examples" server
- * Load the admin console http://localhost:7001/console/
- * Deploy dist-weblogic92/jboss-seam-hibernate.war
- * Access the app at http://localhost:7001/jboss-seam-hibernate/
-
-WebSphere 6.1: (Special thanks to Denis Forveille)
-
- * Install and run WebSphere 6.1
- * In Application Servers -> <server> -> Web Container Settings -> Web Container -> Custom Properties, set "com.ibm.ws.webcontainer.invokefilterscompatibility" to "true"
- * ant websphere61
- * Install dist-websphere61/jboss-seam-hibernate.war and specify a context_root
- * From the "Enterprise Applications" list select: "jboss-seam-hibernate_war" --> "Manager Modules" --> "jboss-seam-hibernate.war" --> "Classes loaded with application class loader first", and then Apply
- * Start the application
- * Access it at http://localhost:9080/context_root/index.html
-
-Plain Tomcat (special thanks to Ralph Schaer)
- * Install Tomcat 5.5 or Tomcat 6
- * Copy the lib/hsqldb.jar into $TOMCAT_HOME/common/lib (Tomcat 5.5) or $TOMCAT_HOME/lib (Tomcat 6)
- * ant tomcat
- * Deploy dist-tomcat55/jboss-seam-hibernate.war or dist-tomcat6/jboss-seam-hibernate.war to $TOMCAT_HOME/webapps/jboss-seam-hibernate.war
- * Start Tomcat
- * Access the app at http://localhost:8080/jboss-seam-hibernate/
-
-Tomcat with embeddable JBoss:
- * Install Tomcat
- * Install Embeddable JBoss
- * ant jboss-embedded
- * Deploy dist-jboss-embedded/jboss-seam-hibernate.war
- * Start Tomcat
- * Access the app at http://localhost:8080/jboss-seam-hibernate/
-
-Glassfish
- * Install Glassfish V1 or V2
- * ant glassfish
- * Start GlassFish
- * Load the admin console http://localhost:4848/
- * Deploy dist-glassfish/jboss-seam-hibernate.war as Web App
- * Access the app at http://localhost:8080/jboss-seam-hibernate/
-
-NOTES FOR GLASSFISH USERS:
- In order for the app to work out of the box with Glassfish, we have
- used the Derby (i.e. Java DB) database in Glassfish. However,
- we strongly recommend you to use a non-Derby data source (e.g., HSQL
- is a much better embedded DB) if possible. The
- WEB/classes/GlassfishDerbyDialect.class is a special hack to get around
- a Derby bug in Glassfish TM. You must use it as your Hibernate dialect
- if you are using Derby with Glassfish.
-
- Note: there is no testng suite for this example.
+ * ant jboss.undeploy to undeploy example
\ No newline at end of file
Deleted: branches/Seam_2_0_FP/examples/jpa/build-glassfish.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-glassfish.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-glassfish.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for Glassfish"/>
- <property name="example.name" value="jboss-seam-jpa"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-glassfish" />
- <property name="dist.dir" value="dist-glassfish" />
- <property name="exploded-archives.dir" value="exploded-archives-glassfish" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/javassist.jar"/>
- <include name="lib/dom4j.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/asm.jar" />
- <include name="lib/jboss-common-core.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/antlr.jar" />
- <include name="lib/commons-logging.jar" />
- <include name="lib/commons-collections.jar" />
-
- <include name="lib/log4j.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/jpa/build-jboss-embedded.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-jboss-embedded.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-jboss-embedded.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="jbosswar.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for JBoss Embedded in Tomcat"/>
- <property name="example.name" value="jboss-seam-jpa"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-jboss" />
- <property name="dist.dir" value="dist-jboss-embedded" />
- <property name="exploded-archives.dir" value="exploded-archives-jboss-embedded" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
-
- <import file="../build.xml"/>
-
- <fileset id="war.lib.extras" dir="${seam.dir}">
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jstl.jar" />
- </fileset>
-
-</project>
-
Modified: branches/Seam_2_0_FP/examples/jpa/build-jboss.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-jboss.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-jboss.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -3,7 +3,7 @@
<project name="JPA Booking" default="jbosswar.deploy" basedir=".">
<!-- Naming -->
- <property name="Name" value="The JPA Example for JBoss 4.2.0.GA"/>
+ <property name="Name" value="The JPA Example for JBoss 4.2.2.GA"/>
<property name="example.name" value="jboss-seam-jpa"/>
<!-- resources -->
Deleted: branches/Seam_2_0_FP/examples/jpa/build-jboss405.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-jboss405.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-jboss405.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for JBoss 4.0.5"/>
- <property name="example.name" value="jboss-seam-jpa"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-jboss" />
- <property name="dist.dir" value="dist-jboss405" />
- <property name="exploded-archives.dir" value="exploded-archives-jboss405" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="el-ri.lib" value="true"/>
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-lang.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/jsf-impl.jar"/>
- <include name="lib/jsf-api.jar"/>
- <include name="lib/jstl.jar"/>
- <include name="lib/el-api.jar"/>
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/jpa/build-tomcat55.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-tomcat55.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-tomcat55.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,62 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for plain Tomcat 5.5"/>
- <property name="example.name" value="jboss-seam-jpa"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-tomcat" />
- <property name="dist.dir" value="dist-tomcat55" />
- <property name="exploded-archives.dir" value="exploded-archives-tomcat55" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="el-ri.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/dom4j.jar" />
- <include name="lib/javassist.jar"/>
-
- <!-- Misc -->
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-lang.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/jta.jar"/>
-
- <!-- JSF (and related) implementation -->
- <include name="lib/jsf-api.jar"/>
- <include name="lib/jsf-impl.jar"/>
- <include name="lib/jstl.jar"/>
- <include name="lib/el-api.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/persistence-api.jar" />
- <include name="lib/asm.jar" />
- <include name="lib/cglib.jar"/>
- <include name="lib/antlr.jar" />
- </fileset>
-
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="META-INF/context.xml" />
- <include name="WEB-INF/classes/log4j.xml" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/jpa/build-tomcat6.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-tomcat6.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-tomcat6.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,52 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for plain Tomcat 6.0"/>
- <property name="example.name" value="jboss-seam-jpa"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-tomcat" />
- <property name="dist.dir" value="dist-tomcat6" />
- <property name="exploded-archives.dir" value="exploded-archives-tomcat6" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-collections.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-lang.jar"/>
- <include name="lib/commons-logging.jar"/>
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jstl.jar" />
- <include name="lib/dom4j.jar" />
- <include name="lib/hibernate.jar" />
- <include name="lib/hibernate-commons-annotations.jar" />
- <include name="lib/hibernate-annotations.jar" />
- <include name="lib/hibernate-entitymanager.jar" />
- <include name="lib/hibernate-validator.jar" />
- <include name="lib/javassist.jar" />
- <include name="lib/persistence-api.jar" />
- <include name="lib/cglib.jar" />
- <include name="lib/jta.jar" />
- <include name="lib/antlr.jar" />
- <include name="lib/asm.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="META-INF/context.xml" />
- <include name="WEB-INF/classes/log4j.xml" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/jpa/build-weblogic10.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-weblogic10.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-weblogic10.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,52 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for WebLogic 10" />
- <property name="example.name" value="jboss-seam-jpa" />
-
- <!-- resources -->
- <property name="resources.dir" value="resources-weblogic10" />
- <property name="dist.dir" value="dist-weblogic10" />
- <property name="exploded-archives.dir"
- value="exploded-archives-weblogic10" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true" />
- <property name="seam.debug.lib" value="true" />
- <property name="facelets.lib" value="true" />
- <property name="richfaces.lib" value="true" />
- <property name="el-ri.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml" />
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/dom4j.jar" />
- <include name="lib/javassist.jar" />
-
- <!-- Misc -->
- <include name="lib/commons-beanutils.jar" />
- <include name="lib/commons-digester.jar" />
- <include name="lib/commons-collections.jar" />
- <include name="lib/commons-logging.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar" />
- <include name="lib/hibernate-commons-annotations.jar" />
- <include name="lib/hibernate-annotations.jar" />
- <include name="lib/hibernate-entitymanager.jar" />
- <include name="lib/hibernate-validator.jar" />
- <include name="lib/cglib.jar" />
- <include name="lib/asm.jar"/>
- <include name="lib/antlr.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/jpa/build-weblogic92.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-weblogic92.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-weblogic92.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for WebLogic 9.2" />
- <property name="example.name" value="jboss-seam-jpa" />
-
- <!-- resources -->
- <property name="resources.dir" value="resources-weblogic92" />
- <property name="dist.dir" value="dist-weblogic92" />
- <property name="exploded-archives.dir"
- value="exploded-archives-weblogic92" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true" />
- <property name="seam.debug.lib" value="true" />
- <property name="facelets.lib" value="true" />
- <property name="richfaces.lib" value="true" />
- <property name="el-ri.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml" />
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/dom4j.jar" />
- <include name="lib/javassist.jar" />
-
- <!-- Misc -->
- <include name="lib/jta.jar" />
- <include name="lib/commons-beanutils.jar" />
- <include name="lib/commons-digester.jar" />
- <include name="lib/commons-collections.jar" />
- <include name="lib/commons-logging.jar" />
-
- <!-- JSF (and related) implementation -->
- <include name="lib/jsf-api.jar" />
- <include name="lib/jsf-impl.jar" />
- <include name="lib/jstl.jar" />
- <include name="lib/el-api.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar" />
- <include name="lib/hibernate-commons-annotations.jar" />
- <include name="lib/hibernate-annotations.jar" />
- <include name="lib/hibernate-entitymanager.jar" />
- <include name="lib/hibernate-validator.jar" />
- <include name="lib/persistence-api.jar" />
- <include name="lib/cglib.jar" />
- <include name="lib/antlr.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- </fileset>
-
-</project>
-
Deleted: branches/Seam_2_0_FP/examples/jpa/build-websphere61.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build-websphere61.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build-websphere61.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JPA Booking" default="noejb.archive" basedir=".">
-
- <!-- Naming -->
- <property name="Name" value="The JPA Example for WebSphere 6.1.0.13 + EJB3 FP"/>
- <property name="example.name" value="jboss-seam-jpa"/>
-
- <!-- resources -->
- <property name="resources.dir" value="resources-websphere61" />
- <property name="dist.dir" value="dist-websphere61" />
- <property name="exploded-archives.dir" value="exploded-archives-websphere61" />
-
- <!-- Libraries to include -->
- <property name="seam.ui.lib" value="true"/>
- <property name="seam.debug.lib" value="true"/>
- <property name="facelets.lib" value="true"/>
- <property name="richfaces.lib" value="true"/>
- <property name="el-ri.lib" value="true"/>
- <property name="jboss-common-core.lib" value="true" />
-
- <import file="../build.xml"/>
-
- <fileset id="noejb.war.lib.extras" dir="${seam.dir}">
- <!-- Seam deps -->
- <include name="lib/dom4j.jar" />
- <include name="lib/javassist.jar"/>
-
- <!-- Misc -->
- <include name="lib/commons-beanutils.jar"/>
- <include name="lib/commons-digester.jar"/>
- <include name="lib/commons-collections.jar"/>
- <!-- JSF (and related) implementation -->
- <include name="lib/jsf-api.jar"/>
- <include name="lib/jsf-impl.jar"/>
- <include name="lib/el-api.jar" />
-
- <!-- Hibernate and deps -->
- <include name="lib/hibernate.jar"/>
- <include name="lib/hibernate-commons-annotations.jar"/>
- <include name="lib/hibernate-annotations.jar"/>
- <include name="lib/hibernate-entitymanager.jar"/>
- <include name="lib/hibernate-validator.jar"/>
- <include name="lib/cglib.jar"/>
- <include name="lib/asm.jar"/>
- <include name="lib/antlr.jar" />
- </fileset>
-
- <fileset id="noejb.war.extras" dir="${resources.dir}">
- <include name="WEB-INF/classes/**/*" />
- </fileset>
-
-</project>
-
Modified: branches/Seam_2_0_FP/examples/jpa/build.xml
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/build.xml 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/build.xml 2008-06-09 13:04:24 UTC (rev 8350)
@@ -2,54 +2,19 @@
<project name="JPA Booking" default="jboss" basedir=".">
- <target name="jboss" description="Build the JPA artifacts, and deploy to JBoss 4.2.0.GA">
+ <target name="jboss" description="Build the JPA artifacts, and deploy to JBoss 4.2.2.GA">
<ant antfile="build-jboss.xml"/>
</target>
- <target name="jboss-embedded" description="Build the JPA artifacts, and deploy to JBoss Embedded in Tomcat">
- <ant antfile="build-jboss-embedded.xml"/>
- </target>
-
<target name="jboss.undeploy" description="Undeploy JPA example from JBoss AS">
<ant antfile="build-jboss.xml" target="jbosswar.undeploy"/>
</target>
- <target name="jboss405" description="Build the JPA artifacts, suitable for deployment to JBoss 4.0.5.GA">
- <ant antfile="build-jboss405.xml"/>
- </target>
-
- <target name="glassfish" description="Build the JPA artifacts, suitable for deployment to Glassfish V2">
- <ant antfile="build-glassfish.xml"/>
- </target>
-
- <target name="weblogic92" description="Build the JPA artifacts, suitable for deployment to WebLogic 9.2">
- <ant antfile="build-weblogic92.xml"/>
- </target>
-
- <target name="websphere61" description="Build the JPA artifacts, suitable for deployment to WebSphere 6.1.0.13 + EJB3 FP">
- <ant antfile="build-websphere61.xml"/>
- </target>
-
- <target name="tomcat55" description="Build the JPA artifacts, suitable for deployment to Tomcat 5.5">
- <ant antfile="build-tomcat55.xml"/>
- </target>
-
- <target name="tomcat6" description="Build the JPA artifacts, suitable for deployment to Tomcat 6.0">
- <ant antfile="build-tomcat6.xml"/>
- </target>
-
<target name="clean" description="Clean up the example">
<ant antfile="build-jboss.xml" target="clean" />
- <ant antfile="build-jboss405.xml" target="clean" />
- <ant antfile="build-glassfish.xml" target="clean" />
- <ant antfile="build-weblogic92.xml" target="clean" />
- <ant antfile="build-websphere61.xml" target="clean" />
- <ant antfile="build-tomcat55.xml" target="clean" />
- <ant antfile="build-tomcat6.xml" target="clean" />
- <ant antfile="build-jboss-embedded.xml" target="clean" />
</target>
- <target name="all" depends="jboss, jboss405, glassfish, weblogic92, websphere61, tomcat55, tomcat6"/>
+ <target name="all" depends="jboss"/>
<target name="test">
<ant antfile="build-jboss.xml" target="test" />
Modified: branches/Seam_2_0_FP/examples/jpa/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/jpa/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/jpa/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -2,83 +2,9 @@
================
This is the Hotel Booking example implemented in Seam POJO and Hibernate JPA.
-It can be deployed in JBoss AS 4.x, WebLogic, Glassfish, Tomcat (both with and
-without the EJB3 container).
-JBoss AS 4.2.0:
- * Install JBoss AS 4.2.0 GA
+Deployment:
* ant jboss
* Start JBoss AS
* Access the app at http://localhost:8080/jboss-seam-jpa/
- * ant jboss.undeploy to undeploy example
-
-JBoss AS 4.0.5 (with or without EJB3):
- * Install JBoss AS 4.0.5 with the default J2EE profile
- * ant jboss405
- * Deploy dist-jboss405/jboss-seam-jpa.war
- * Start JBoss AS
- * Access the app at http://localhost:8080/jboss-seam-jpa/
-
-WebLogic 9.2:
- * Install WebLogic 9.2
- * ant weblogic92
- * Start the WebLogic "examples" server
- * Load the admin console http://localhost:7001/console/
- * Deploy dist-weblogic92/jboss-seam-jpa.war
- * Access the app at http://localhost:7001/jboss-seam-jpa/
-
-WebLogic 10.X:
- * Install WebLogic 10.X
- * Create an hsql datasource called 'seam-jpa-ds" (see reference guide)
- * Deploy Weblogics jsf-1.2.war shared library for JSF 1.2 support. (see reference guide)
- * ant weblogic10
- * Start the WebLogic domain you created or the "examples" domain if installed.
- * Load the admin console http://localhost:7001/console/
- * Deploy dist-weblogic10/jboss-seam-jpa.war
- * Access the app at http://localhost:7001/jboss-seam-jpa/
- * See Weblogic reference guide chapter for full details.
-
-WebSphere 6.1:
-
- * Install and run WebSphere 6.1
- * Set a Websphere web container custom property "com.ibm.ws.webcontainer.invokefilterscompatibility" to true. See Seam reference guide chapter for details.
- * Set a Websphere web container custom property "prependSlashToResource" to true. See Seam reference guide chapter for details.
- * ant websphere61
- * Deploy dist-websphere61/jboss-seam-jpa.war and specify a context_root
- * From the "Enterprise Applications" list select: "jboss-seam-jpa" --> "Manager Modules" --> "jboss-seam-jpa.war" --> "Classes loaded with application class loader first", and then Apply
- * Start the application
- * Access it at http://localhost:9080/context_root/index.html
-
-Tomcat with JBoss Embedded:
- * Install Tomcat
- * Install JBoss Embedded
- * ant jboss-embedded
- * Deploy dist-jboss-embedded/jboss-seam-jpa.war
- * Start Tomcat
- * Access the app at http://localhost:8080/jboss-seam-jpa/
-
-Tomcat (5.5 or 6) without JBoss Embedded:
- * Install Tomcat
- * Copy the seam-gen/lib/hsqldb.jar into $TOMCAT_HOME/common/lib (Tomcat 5.5) or $TOMCAT_HOME/lib (Tomcat 6)
- * ant tomcat55 or ant tomcat6
- * Deploy dist-jboss/jboss-seam-jpa.war
- * Start Tomcat
- * Access the app at http://localhost:8080/jboss-seam-jpa/
-
-Glassfish:
- * Install Glassfish V2
- * ant glassfish
- * Start GlassFish
- * Load the admin console http://localhost:4848/
- * Deploy dist-glassfish/jboss-seam-jpa.war as Web App
- * Access the app at http://localhost:8080/jboss-seam-jpa/
-
-NOTES FOR GLASSFISH USERS:
- In order for the app to work out of the box with Glassfish, we have
- used the Derby (i.e., Java DB) database in Glassfish. However,
- we strongly recommend you to use a non-Derby data source (e.g., HSQL
- is a much better embeded DB) if possible. The
- WEB/classes/GlassfishDerbyDialect.class is a special hack to get around
- a Derby bug in Glassfish TM. You must use it as your Hibernate dialect
- if you use Derby with Glassfish.
-
+ * ant jboss.undeploy to undeploy example
\ No newline at end of file
Modified: branches/Seam_2_0_FP/examples/portal/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/portal/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/portal/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -3,4 +3,6 @@
Seam is compatible with the portlet environment through the use of the JBoss
Portlet Bridge. More information can be found at
-http://labs.jboss.com/portletbridge</ulink>
\ No newline at end of file
+http://labs.jboss.com/portletbridge</ulink>
+
+Note: Seam integration with JBoss Portlet Bridge is marked as Technology Preview - Support is not guaranteed.
\ No newline at end of file
Modified: branches/Seam_2_0_FP/examples/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -21,28 +21,17 @@
dvdstore/ The Seam DVD Store demo demonstrating jBPM
support in Seam
-groovybooking/ The Seam Booking demo ported to Groovy
+groovybooking/ The Seam Booking demo ported to Groovy - Technology Preview (Support is not guaranteed)
hibernate/ The Seam Booking demo ported to Hibernate3
icefaces/ The Seam Booking demo with ICEfaces, instead of
- Ajax4JSF
+ Ajax4JSF - Technology Preview (Support is not guaranteed)
itext/ A demo of the Seam iText integration for generating pdfs
-jee5/booking The Seam Booking demo ported to the Java EE 5
- platforms
+jpa/ An example of the use of JPA (provided by Hibernate)
-jee5/remoting The Seam remoting helloworld demo ported to the Java EE 5
- platforms
-
-jpa/ An example of the use of JPA (provided by Hibernate), runs
- on many platforms, including non-EE 5 platforms (including
- plain Tomcat)
-
-mail/ The Seam mail example demonstrating use of
- facelets-based email templating
-
messages/ The Seam message list example demonstrating use
of the @DataModel annotation
@@ -59,7 +48,7 @@
remoting/chatroom/ The Seam Chat Room example, demostrating Seam
Remoting
-remoting/gwt/ An example of using GWT with Seam remoting
+remoting/gwt/ An example of using GWT with Seam remoting - Technology Preview (Support is not guaranteed)
remoting/helloworld/ A trivial example using Ajax
@@ -75,18 +64,14 @@
seamspace/ The Seam Spaces demo demonstrating Seam
Security
-spring/ Demonstrates Spring framework integration
+spring/ Demonstrates Spring framework integration - Technology Preview (Support is not guaranteed)
todo/ The Seam todo list example demonstrating
jBPM business process management
ui/ Demonstrates some Seam JSF controls
-wiki/ A fully featured wiki system based on Seam, please
- read wiki/README.txt for installation instructions
-
-
Deploying and Testing an Example Application
============================================
@@ -121,42 +106,8 @@
http://localhost:8080/seam-${example.name}/
NOTE: The examples use the HSQL database embedded in JBoss AS
-
-
-How to Build and Deploy the Example on Tomcat
----------------------------------------------
-
-1. Download and install Tomcat 6
-
- NOTE: Due to a bug, you must install Tomcat to a directory
- path with no spaces. The example does not work in a default
- install of Tomcat.
+
-2. Install Embedded JBoss as described in the "Configuration" chapter of the
- Seam reerence documentation.
-
-3. Make sure you have an up to date version of Seam:
-
- http://seamframework.org/Download
-
-4. Edit the "build.properties" file and change tomcat.home to your
- Tomcat directory
-
-5. (Optional) Build Seam by running "ant" the Seam root directory
-
- WARNING: If you build an example for JBoss AS, remember to run ant clean
- in the "examples/${example.name}" directory before building for Tomcat.
-
-6. Build and deploy the example by running "ant tomcat.deploy"
- in the Seam "examples/${example.name}" directory
-
-7. Start Tomcat
-
-8. Point your web browser to:
-
- http://localhost:8080/jboss-seam-${example.name}
-
-
Running The TestNG Tests
------------------------
@@ -187,3 +138,4 @@
----------------------
In the "examples/${example.name}" directory, type "ant undeploy"
+
Modified: branches/Seam_2_0_FP/examples/remoting/gwt/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/remoting/gwt/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/remoting/gwt/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -12,4 +12,5 @@
- you can then run "ant gwt-compile" from this directory. It is pre-built by default.
If you want to use the GWT hosted mode, well, read all about it from the GWT docs !
-Note: there is no testng suite for this example.
\ No newline at end of file
+Note: there is no testng suite for this example.
+Note: Example and the whole Seam integration with GWT is marked as Technology Preview - Support is not guaranteed.
\ No newline at end of file
Modified: branches/Seam_2_0_FP/examples/seambay/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/seambay/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/seambay/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -1,7 +1,6 @@
SeamBay Example
===============
This example shows Seam/WS integration.
-It runs on both JBoss AS
+It runs on JBoss AS
-Visit http://localhost:8080/seam-bay on JBoss AS
-Visit http://localhost:8080/jboss-seam-bay on Tomcat
\ No newline at end of file
+Visit http://localhost:8080/seam-bay on JBoss AS
\ No newline at end of file
Modified: branches/Seam_2_0_FP/examples/spring/readme.txt
===================================================================
--- branches/Seam_2_0_FP/examples/spring/readme.txt 2008-06-07 09:40:12 UTC (rev 8349)
+++ branches/Seam_2_0_FP/examples/spring/readme.txt 2008-06-09 13:04:24 UTC (rev 8350)
@@ -7,4 +7,5 @@
To undeploy the example from JBoss AS use ant jbosswar.undeploy
-Note: there is no testng suite for this example.
\ No newline at end of file
+Note: there is no testng suite for this example.
+Note: Example and the whole Seam integration with Spring is marked as Technology Preview - Support is not guaranteed.
\ No newline at end of file
16 years, 6 months