Seam SVN: r15140 - branches/community/Seam_2_3/jboss-seam-gen.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2012-09-14 09:43:17 -0400 (Fri, 14 Sep 2012)
New Revision: 15140
Modified:
branches/community/Seam_2_3/jboss-seam-gen/pom.xml
Log:
JBSEAM-4978 - upgraded hibernate-tools to 4.0.0-CR1 - official
release
Modified: branches/community/Seam_2_3/jboss-seam-gen/pom.xml
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/pom.xml 2012-09-13 21:27:26 UTC (rev 15139)
+++ branches/community/Seam_2_3/jboss-seam-gen/pom.xml 2012-09-14 13:43:17 UTC (rev 15140)
@@ -40,7 +40,7 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-tools</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>4.0.0-CR1</version>
<scope>runtime</scope>
</dependency>
12 years, 3 months
Seam SVN: r15139 - branches/community/Seam_2_3/seam-migration-guide.
by seam-commits@lists.jboss.org
Author: dhinojosa
Date: 2012-09-13 17:27:26 -0400 (Thu, 13 Sep 2012)
New Revision: 15139
Added:
branches/community/Seam_2_3/seam-migration-guide/test_module.png
branches/community/Seam_2_3/seam-migration-guide/war_folder.png
branches/community/Seam_2_3/seam-migration-guide/war_module.png
Log:
added images to migration doc
Added: branches/community/Seam_2_3/seam-migration-guide/test_module.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/seam-migration-guide/test_module.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/seam-migration-guide/war_folder.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/seam-migration-guide/war_folder.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/seam-migration-guide/war_module.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/seam-migration-guide/war_module.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
12 years, 3 months
Seam SVN: r15138 - branches/community/Seam_2_3/seam-migration-guide.
by seam-commits@lists.jboss.org
Author: dhinojosa
Date: 2012-09-13 17:26:57 -0400 (Thu, 13 Sep 2012)
New Revision: 15138
Modified:
branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
Log:
rearranged items
Modified: branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
===================================================================
--- branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc 2012-09-13 18:04:04 UTC (rev 15137)
+++ branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc 2012-09-13 21:26:57 UTC (rev 15138)
@@ -23,6 +23,7 @@
The following are description on how to organize Seam 2.3 project in the Maven build tool environment.
+[[earprojectorganization]]
=== Ear Project Organization
The folder organization of Seam 2.3 in Maven typically consists of one main project, the `pom` project. The `pom` project in Maven, is the project that doesn't have any source files onto itself but contains the projects that are required for the build. In an ear based project. Inside of the `pom` ear based project folder contains three subfolders one for the ear project, one for the war project, one for the arquillian (formerly seam test) project, and one for the ejb project. Given a parent `pom` project called `myproject`, some ideas for the the subfolders would include `myproject-ear`, `myproject-web`, `myproject-test`, and `myproject-ejb`. You can refer to the examples in the *examples-ee6* folder for some general ideas as to how to create the folder organization for your Seam 2.3 project.
@@ -42,25 +43,8 @@
[[figure2]]
image::ear_module.png[Ear Module Structure,scaledwidth="50%",scaledheight="50%"]
-The `jboss-deployment-structure.xml` file contains what resources will be made available by the Jboss 7.1.1 server modules. In order to investigate what modules are available by your Jboss server navigate to the `modules` directory on whatever server type you will be running. If you are a running a `standalone` server then the modules directory will be located in the `$JBOSS_HOME/server/standalone/modules` directory. If you wish to call up the dependencies so that they are in use for your project, and so that you do not have to package those dependencies select which server libraries should be used in your project. `export` means that the dependencies will be exported, so any module that depends on this module will also get access to the dependency. See https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7[Classloading in AS7] for more information jboss-deployment-structure. <<listing1, Listing1>> shows an example of the jboss-deployment-structure.xml that makes !
use of system dependencies where export="true" will make them available to any dependency jar and war files within the ear file.
+First a *jboss-deployment-structure.xml* is required.
-.Listing 1: Sample jboss-deployment-structure.xml
-[[listing1]]
-----
-<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
- <deployment>
- <dependencies>
- <module name="org.hibernate" export="true"/>
- <module name="javax.faces.api" export="true"/>
- <module name="com.sun.jsf-impl" export="true"/>
- <module name="org.apache.commons.collections" export="true"/>
- <module name="org.dom4j" export="true"/>
- <module name="org.antlr" export="true"/>
- </dependencies>
- </deployment>
-</jboss-deployment-structure>
-----
-
You can also include now any database descriptor (*-ds.xml) files into your project in the META-INF directory, and they the data source will be deployed automatically when deployed to a JBoss AS 7.1 Application Server. The structure of the file though has changed. Before the ds.xml file was a simple xml based file, but now is an https://www.jboss.org/ironjacamar[Iron-Jacamar] based file. Iron-Jacamar is the Jboss' JCA (Java Connector Architecture) project. Below on <<listing2,Listing 2>> is the former datasource in 2.2, and <<listing3,Listing 3>> shows the conversion to Iron Jacamar using the same driver, url, and credentials.
.Listing 2: Sample Seam 2.2 Datasource Descriptor File
@@ -102,16 +86,26 @@
----
==== Web Module
-Web stuff
+To convert a web module see <<upgradingweb, Upgrading Web>>
==== Test Module
-Test stuff
+The test module will house former SeamTests which will now be upgraded to Arquillian based Seam Tests. The layout of the test module is simple as seen in <<figure4, Figure 4>>. All tests will be placed in the `src/test/java` folder, all resources that are required either to enhance or override current setting should be placed in the `src/test/resources/` folder. Placing source files in the `src/main/java` folder is unnecessary, since these integration tests will be using the ear, war, ejb class and jar files in their respective maven projects. A new folder is required for arquillian testing, *arquillian.xml* and should be located in the `src/test/resources-integration` folder. Though where this file gets placed is up to you, this has become also a convention.
+.Test module
+[[figure4]]
+image::test_module.png[Ear Module Structure,scaledwidth="50%",scaledheight="50%"]
+
+For more information on upgrading Seam Tests to Arquillian and setting up Arquillian in your Seam 2.3 project see the <<arquillian, Arquillian>> section further down this document.
+
=== War Project Organization
-War proj stuff
+If you choose not run Seam 2.3 as an ear, but as a war. A war project typically will include a parent `pom` project as mentioned in <<earprojectorganization, Ear Project Organization>> and a web project that is located inside of the `pom` project with typically the same name of the project but with "-web" extended on the name of the project, see. Though the naming is not mandatory, it has become somewhat of a convention. For an example folder layout, see <<figure5, Figure 5>> for an example folder setup of a war based project.
+.Typical War Project Structure
+[[figure5]]
+image::war_folder.png[War Folder Structure,scaledwidth="50%",scaledheight="50%"]
+
==== Web Module
-Web stuff
+To convert a web module see <<upgradingweb, Upgrading Web>> first the come back. Once done, a *jboss-deployment-descriptor.xml* needs to be added into the `src/main/webapp/WEB-INF` so that JBoss 7.1 can determine which dependencies to include for your project. For more information about *jboss-deployment-descriptor.xml* see <<jbossdeploymentstructure, JBoss Deployment Structure>> on how to provide Jboss with information about server dependencies. The end result, is a web module that would like the .
==== Test Module
Test stuff
@@ -125,6 +119,254 @@
== Using Ant
Using Ant
+[[jbossdeploymentstructure]]
+== JBoss Deployment Structure
+The *jboss-deployment-structure.xml* file contains what resources will be made available by the Jboss 7.1.1 server modules. In order to investigate what modules are available by your Jboss server navigate to the `modules` directory on whatever server type you will be running. If you are a running a `standalone` server then the modules directory will be located in the `$JBOSS_HOME/server/standalone/modules` directory. If you wish to call up the dependencies so that they are in use for your project, and so that you do not have to package those dependencies select which server libraries should be used in your project. `export` means that the dependencies will be exported, so any module that depends on this module will also get access to the dependency. See https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7[Classloading in AS7] for more information jboss-deployment-structure. <<listing1, Listing1>> shows an example of the jboss-deployment-structure.xml that makes !
use of system dependencies where export="true" will make them available to any dependency jar and war files within the ear file.
+
+.Listing 1: Sample jboss-deployment-structure.xml
+[[listing1]]
+----
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+ <deployment>
+ <dependencies>
+ <module name="org.hibernate" export="true"/>
+ <module name="javax.faces.api" export="true"/>
+ <module name="com.sun.jsf-impl" export="true"/>
+ <module name="org.apache.commons.collections" export="true"/>
+ <module name="org.dom4j" export="true"/>
+ <module name="org.antlr" export="true"/>
+ </dependencies>
+ </deployment>
+</jboss-deployment-structure>
+----
+
+For full ear projects, the *jboss-deployment-structure.xml* will be located in the `src/main/resources/META-INF` directory of the ear module.
+
+For web (non-ear) projects, the *jboss-deployment-structure.xml* will be located in the `src/main/webapp/WEB-INF` directory of the war module.
+
+[[upgradingweb]]
+== Upgrading Web Modules
+The contents of the web module as shown in <<figure3, Figure 3>> displays a sample layout for the web module that would be located inside of the project parent `pom` module. The organization is straight-forward, even moreso for those who are already familiar with maven. Inside of the web project, the folder `src/main/webapp` would store all the .xhtml, .css, and other web based files, while `src/main/webapp/WEB-INF` would house all web configurations required for deployment. To succesfully migrate from Seam 2.3 from Seam 2.2, components.xml, faces-config.xml, pages.xml and any addition page files schemas will need to be upgraded. Finally, all .xhtml files will also need be upgraded by replacing all `<head>`, and `<body>` tags to `<h:head>` and `<h:body>` respectively.
+
+.war module
+[[figure3]]
+image::war_module.png[Ear Module Structure,scaledwidth="50%",scaledheight="50%"]
+
+In components.xml, the only real change is to upgrade the schemas used within the components to version 2.3. <<listing4, Listing 4>> and <<listing5, Listing 5>> show the contrast between both files.
+
+.Listing 4: Sample Seam 2.2 header of components.xml
+[[listing4]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.org/schema/seam/components"
+ xmlns:core="http://jboss.org/schema/seam/core"
+ xmlns:persistence="http://jboss.org/schema/seam/persistence"
+ xmlns:security="http://jboss.org/schema/seam/security"
+ xmlns:theme="http://jboss.org/schema/seam/theme"
+ xmlns:cache="http://jboss.org/schema/seam/cache"
+ xmlns:web="http://jboss.org/schema/seam/web"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation=
+ "http://jboss.org/schema/seam/core http://jboss.org/schema/seam/core-2.2.xsd
+ http://jboss.org/schema/seam/persistence http://jboss.org/schema/seam/persistence-2.2.xsd
+ http://jboss.org/schema/seam/security http://jboss.org/schema/seam/security-2.2.xsd
+ http://jboss.org/schema/seam/theme http://jboss.org/schema/seam/theme-2.2.xsd
+ http://jboss.org/schema/seam/cache http://jboss.org/schema/seam/cache-2.2.xsd
+ http://jboss.org/schema/seam/web http://jboss.org/schema/seam/web-2.2.xsd
+ http://jboss.org/schema/seam/components http://jboss.org/schema/seam/components-2.2.xsd">
+----
+
+.Listing 5: Sample Seam 2.3 header of components.xml
+[[listing5]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.org/schema/seam/components"
+ xmlns:core="http://jboss.org/schema/seam/core"
+ xmlns:persistence="http://jboss.org/schema/seam/persistence"
+ xmlns:security="http://jboss.org/schema/seam/security"
+ xmlns:theme="http://jboss.org/schema/seam/theme"
+ xmlns:cache="http://jboss.org/schema/seam/cache"
+ xmlns:web="http://jboss.org/schema/seam/web"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation=
+ "http://jboss.org/schema/seam/core http://jboss.org/schema/seam/core-2.3.xsd
+ http://jboss.org/schema/seam/persistence http://jboss.org/schema/seam/persistence-2.3.xsd
+ http://jboss.org/schema/seam/security http://jboss.org/schema/seam/security-2.3.xsd
+ http://jboss.org/schema/seam/theme http://jboss.org/schema/seam/theme-2.3.xsd
+ http://jboss.org/schema/seam/cache http://jboss.org/schema/seam/cache-2.3.xsd
+ http://jboss.org/schema/seam/web http://jboss.org/schema/seam/web-2.3.xsd
+ http://jboss.org/schema/seam/components http://jboss.org/schema/seam/components-2.3.xsd">
+----
+
+*faces-config.xml* has always been essentially a non-player with seam with no continous active configuration whatsoever. The roles of this file stays the same, but there is two simple items that need to be performed to upgrade it to JSF 2.1 and for it to work with Seam 2.3. First upgrade the schema from version 1.0, 1.1, or 1.2 to version 2.1 which is the latest JSF version. Next, change the `version` of the faces-config element itself. Lastly, remove the `<view-handler>` element that was once required for JBoss Seam 2.2, as it is no longer required for JBoss Seam 2.3. <<listing6, Listing 6>> and <<listing7, Listing 7>> shows the upgrade changes.
+
+.Listing 6: Sample Seam 2.2 faces-config.xml
+[[listing6]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="1.2"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
+ <application>
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ </application>
+</faces-config>
+----
+
+.Listing 7: Sample Seam 2.3 faces-config.xml
+[[listing7]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<faces-config version="2.1"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">
+</faces-config>
+----
+
+Upgrading *page.xml* files as well as other files only requires that the schemas be upgraded. <<listing8, Listing 8>> and <<listing9, Listing 9>> shows the upgrade changes.
+
+.Listing 8: Sample Seam 2.2 pages.xml
+[[listing8]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.org/schema/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.org/schema/seam/pages http://jboss.org/schema/seam/pages-2.2.xsd">
+ ...
+</pages>
+----
+
+.Listing 9: Sample Seam 2.3 pages.xml
+[[listing9]]
+----
+<pages xmlns="http://jboss.org/schema/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.org/schema/seam/pages http://jboss.org/schema/seam/pages-2.3.xsd">
+ ...
+</pages>
+----
+
+Finally, all .xhtml files will need to be upgraded to JSF 2.1. While most of what was done in 1.2 can remain the same, you will be experiencing errors if certain elements are not upgraded. <<listing10, Listing 10>> and <<listing11, Listing 11>> shows the difference between the same file that has been upgraded. First, the `<body>` tag is renamed to `<h:body>` in the both the opening tag and the closing tag while `<head>` will need to be converted `<h:head>`.
+
+.Listing 10: Sample Seam 2.2 xhtml file (template.xhtml in blog example)
+[[listing10]]
+----
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xml:lang="en"
+ lang="en">
+
+<f:view>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>#{blog.name}</title>
+ <link href="#{theme.css}" rel="stylesheet" type="text/css" />
+ <link rel="alternate"
+ type="application/atom+xml"
+ title="atom"
+ href="#{request.contextPath}/seam/index.xml" />
+ </head>
+ <body>
+ <div id="menu">
+ <ui:include src="menu.xhtml"/>
+ </div>
+ <div id="container">
+ <h1>#{blog.name}</h1>
+ <h2>#{blog.description}</h2>
+ <ui:insert name="content"/>
+ <div class="blogEntry">
+ #{blog.name}:
+ <ui:include src="nav.xhtml"/>
+ <br/>
+ Total pageviews: #{blog.hitCount.pageviews}
+ </div>
+ </div>
+ </body>
+</f:view>
+</html>
+----
+
+.Listing 11: Sample Seam 2.3 xhtml file (template.xhtml in blog example)
+[[listing11]]
+----
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xml:lang="en"
+ lang="en">
+
+<f:view>
+ <h:head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>#{blog.name}</title>
+ <link href="#{theme.css}" rel="stylesheet" type="text/css" />
+ <link rel="alternate"
+ type="application/atom+xml"
+ title="atom"
+ href="#{request.contextPath}/seam/index.xml" />
+
+ </h:head>
+ <h:body>
+ <div id="menu">
+ <ui:include src="menu.xhtml"/>
+ </div>
+ <div id="container">
+ <h1>#{blog.name}</h1>
+ <h2>#{blog.description}</h2>
+ <ui:insert name="content"/>
+ <div class="blogEntry">
+ #{blog.name}:
+ <ui:include src="nav.xhtml"/>
+ <br/>
+ Total pageviews: #{blog.hitCount.pageviews}
+ </div>
+ </div>
+ </h:body>
+</f:view>
+</html>
+----
+
+*web.xml* files only require an update in the schema that they use in the first element of the file. <<listing12, Listing 12>> and <<listing13, Listing 13>> shows the difference between the *web.xml* file that has been upgraded.
+
+.Listing 12: Sample Seam 2.2 web.xml file
+[[listing12]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.5"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+ ....
+</web-app>
+----
+
+.Listing 13: Sample Seam 2.3 xhtml file (template.xhtml in blog example)
+[[listing13]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="3.0"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+ ....
+</web-app>
+----
+
+IMPORTANT: Depending on what JSF components that you use, there may be some differences when upgrading from JSF 1.x to JSF 2.x. You may need to upgrade libraries entirely. Consult any component framework documentation on those changes.
+
+
+
[[arquillian]]
== Arquillian
Seam Test migration to Arquillian Testing.
12 years, 3 months
Seam SVN: r15137 - branches/community/Seam_2_3/seam-migration-guide.
by seam-commits@lists.jboss.org
Author: dhinojosa
Date: 2012-09-13 14:04:04 -0400 (Thu, 13 Sep 2012)
New Revision: 15137
Modified:
branches/community/Seam_2_3/seam-migration-guide/
branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
Log:
added ear content to migration guide
Property changes on: branches/community/Seam_2_3/seam-migration-guide
___________________________________________________________________
Added: svn:ignore
+ seam_migration_guide.html
docbook-xsl.css
.*.swp
.*.swo
Modified: branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
===================================================================
--- branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc 2012-09-13 15:09:34 UTC (rev 15136)
+++ branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc 2012-09-13 18:04:04 UTC (rev 15137)
@@ -27,25 +27,25 @@
The folder organization of Seam 2.3 in Maven typically consists of one main project, the `pom` project. The `pom` project in Maven, is the project that doesn't have any source files onto itself but contains the projects that are required for the build. In an ear based project. Inside of the `pom` ear based project folder contains three subfolders one for the ear project, one for the war project, one for the arquillian (formerly seam test) project, and one for the ejb project. Given a parent `pom` project called `myproject`, some ideas for the the subfolders would include `myproject-ear`, `myproject-web`, `myproject-test`, and `myproject-ejb`. You can refer to the examples in the *examples-ee6* folder for some general ideas as to how to create the folder organization for your Seam 2.3 project.
-Taking the folder structure of the *registration* module in the *examples-ee6* folder of the Seam 2.3. distribution. The <<earprojectstructure,registration folder structure>> shown below shows the typical setup.
+Taking the folder structure of the *registration* module in the *examples-ee6* folder of the Seam 2.3. distribution. The <<figure1,registration folder structure>> shown below shows the typical setup.
.Typical ear project structure
-[[earprojectstructure]]
+[[figure1]]
image::ear_structure.png[Seam 2.3 Ear Setup,scaledwidth="50%",scaledheight="50%"]
The pom.xml in the bottom of the diagram is the parent pom that contains modules for `registration-ear`, `registration-web`, `registration-test`, and `registration-ejb`. It will also contain http://http://maven.apache.org/pom.html#Plugin_Management[plugin management] and http://maven.apache.org/guides/introduction/introduction-to-dependency-me... management] information for each of the submodules. Inside of each module, there is another child pom that has information on it's own dependencies and plugins.
==== Ear Module
-The ear project submodule will typically contain all ear based configurations with no source files whatsoever. The module is short, since not much needs to be held within it. <<listing3, Listing 3>> contains the folder structure of what is contained inside of an ear module. The `src/main/application/META-INF` will store the configuration files necessary to create an ear file. Namely the `jboss-deployment-structure.xml` and any `*-ds.xml` iron-jacamar database descriptor file that is required for deployment.
+The ear project submodule will typically contain all ear based configurations with no source files whatsoever. The module is short, since not much needs to be held within it. <<figure2, Figure 2>> contains the folder structure of what is contained inside of an ear module. The `src/main/application/META-INF` will store the configuration files necessary to create an ear file. Namely the `jboss-deployment-structure.xml` and any `*-ds.xml` iron-jacamar database descriptor file that is required for deployment.
.ear module
-[[listing3]]
+[[figure2]]
image::ear_module.png[Ear Module Structure,scaledwidth="50%",scaledheight="50%"]
-The `jboss-deployment-structure.xml` file contains what resources will be made available by the Jboss 7.1.1 server modules. In order to investigate what modules are available by your Jboss server navigate to the `modules` directory on whatever server type you will be running. If you are a running a `standalone` server then the modules directory will be located in the `$JBOSS_HOME/server/standalone/modules` directory.
+The `jboss-deployment-structure.xml` file contains what resources will be made available by the Jboss 7.1.1 server modules. In order to investigate what modules are available by your Jboss server navigate to the `modules` directory on whatever server type you will be running. If you are a running a `standalone` server then the modules directory will be located in the `$JBOSS_HOME/server/standalone/modules` directory. If you wish to call up the dependencies so that they are in use for your project, and so that you do not have to package those dependencies select which server libraries should be used in your project. `export` means that the dependencies will be exported, so any module that depends on this module will also get access to the dependency. See https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7[Classloading in AS7] for more information jboss-deployment-structure. <<listing1, Listing1>> shows an example of the jboss-deployment-structure.xml that makes !
use of system dependencies where export="true" will make them available to any dependency jar and war files within the ear file.
-.Sample jboss-deployment-structure.xml
-[[listing4]]
+.Listing 1: Sample jboss-deployment-structure.xml
+[[listing1]]
----
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
@@ -60,6 +60,47 @@
</deployment>
</jboss-deployment-structure>
----
+
+You can also include now any database descriptor (*-ds.xml) files into your project in the META-INF directory, and they the data source will be deployed automatically when deployed to a JBoss AS 7.1 Application Server. The structure of the file though has changed. Before the ds.xml file was a simple xml based file, but now is an https://www.jboss.org/ironjacamar[Iron-Jacamar] based file. Iron-Jacamar is the Jboss' JCA (Java Connector Architecture) project. Below on <<listing2,Listing 2>> is the former datasource in 2.2, and <<listing3,Listing 3>> shows the conversion to Iron Jacamar using the same driver, url, and credentials.
+
+.Listing 2: Sample Seam 2.2 Datasource Descriptor File
+[[listing2]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE datasources
+ PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
+<datasources>
+ <local-tx-datasource>
+ <jndi-name>seamdiscsDatasource</jndi-name>
+ <connection-url>jdbc:hsqldb:.</connection-url>
+ <driver-class>org.hsqldb.jdbcDriver</driver-class>
+ <user-name>sa</user-name>
+ <password></password>
+ </local-tx-datasource>
+</datasources>
+----
+
+.Listing 3: Sample Seam 2.3 Datasource Descriptor File
+[[listing3]]
+----
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources xmlns="http://www.jboss.org/ironjacamar/schema">
+ <datasource
+ jndi-name="java:/jboss/seamdiscsDatasource"
+ enabled="true"
+ use-java-context="true" pool-name="seamdiscs">
+ <connection-url>jdbc:hsqldb:.</connection-url>
+ <driver>org.hsqldb.jdbcDriver</driver>
+ <security>
+ <user-name>sa</user-name>
+ <password></password>
+ </security>
+ </datasource>
+</datasources>
+----
+
==== Web Module
Web stuff
12 years, 3 months
Seam SVN: r15136 - in branches/community/Seam_2_3/jboss-seam-gen/dist: build-scripts and 1 other directories.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2012-09-13 11:09:34 -0400 (Thu, 13 Sep 2012)
New Revision: 15136
Modified:
branches/community/Seam_2_3/jboss-seam-gen/dist/README
branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml
branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml
branches/community/Seam_2_3/jboss-seam-gen/dist/test/ActionTest.java
branches/community/Seam_2_3/jboss-seam-gen/dist/test/FormTest.java
Log:
JBSEAM-5034 disabling for now ant test
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/README
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/README 2012-09-13 14:40:34 UTC (rev 15135)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/README 2012-09-13 15:09:34 UTC (rev 15136)
@@ -94,7 +94,7 @@
new-form
Create a new Java interface and SFSB with key Seam/EJB3
annotations, and associated xhtml view. Also, create a new
- TestNG test case that can be used to simulate a JSF
+ JUnit ARQ test case that can be used to simulate a JSF
request/response and standard JUnit type tests.
Example: seam new-form
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml 2012-09-13 14:40:34 UTC (rev 15135)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml 2012-09-13 15:09:34 UTC (rev 15136)
@@ -424,7 +424,8 @@
-->
</target>
- <target name="test" depends="buildtest" description="Run the tests">
+ <target name="test" depends="buildtest" description="Run the tests">
+ <fail message="Test target is currently not supported"/>
<fail message="Cannot run tests because path to project contains spaces.">
<condition>
<contains string="${basedir}" substring=" "/>
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml 2012-09-13 14:40:34 UTC (rev 15135)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml 2012-09-13 15:09:34 UTC (rev 15136)
@@ -446,6 +446,7 @@
</target>
<target name="test" depends="buildtest" description="Run the tests">
+ <fail message="Test target is currently not supported"/>
<fail message="Cannot run tests because path to project contains spaces.">
<condition>
<contains string="${basedir}" substring=" "/>
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/test/ActionTest.java
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/test/ActionTest.java 2012-09-13 14:40:34 UTC (rev 15135)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/test/ActionTest.java 2012-09-13 15:09:34 UTC (rev 15136)
@@ -7,7 +7,7 @@
import org.jboss.seam.mock.JUnitSeamTest;
import @testPackage@.Deployments;
import @actionPackage@.@interfaceName@;
-import @actionPackage@.@beanName@;
+//import @actionPackage@.@beanName@;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.runner.RunWith;
@@ -18,9 +18,9 @@
@OverProtocol("Servlet 3.0")
public static WebArchive createDeployment()
{
- return Deployments.defaultDeployment()
- .addClasses(@interfaceName@.class, @beanName@.class)
- .addAsResource("seam.properties");
+// return Deployments.defaultDeployment()
+// .addClasses(@interfaceName@.class, @beanName@.class)
+// .addAsResource("seam.properties");
}
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/test/FormTest.java
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/test/FormTest.java 2012-09-13 14:40:34 UTC (rev 15135)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/test/FormTest.java 2012-09-13 15:09:34 UTC (rev 15136)
@@ -10,7 +10,7 @@
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.runner.RunWith;
import @actionPackage@.@interfaceName@;
-import @actionPackage@.@beanName@;
+//import @actionPackage@.@beanName@;
@RunWith(Arquillian.class)
public class @interfaceName@Test extends JUnitSeamTest {
@@ -19,9 +19,9 @@
@OverProtocol("Servlet 3.0")
public static WebArchive createDeployment()
{
- return Deployments.defaultDeployment()
- .addClasses(@interfaceName@.class, @beanName@.class)
- .addAsResource("seam.properties");
+// return Deployments.defaultDeployment()
+// .addClasses(@interfaceName@.class, @beanName@.class)
+// .addAsResource("seam.properties");
}
@Test
12 years, 3 months
Seam SVN: r15135 - branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test.
by seam-commits@lists.jboss.org
Author: maschmid
Date: 2012-09-13 10:40:34 -0400 (Thu, 13 Sep 2012)
New Revision: 15135
Modified:
branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java
Log:
update MailTest not to use SeamTest
Modified: branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java
===================================================================
--- branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java 2012-09-13 14:35:23 UTC (rev 15134)
+++ branches/community/Seam_2_3/examples-ee6/mail/mail-tests/src/test/java/org/jboss/seam/example/mail/test/MailTest.java 2012-09-13 14:40:34 UTC (rev 15135)
@@ -16,8 +16,6 @@
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.Asset;
-import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.importer.ZipImporter;
import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
import org.jboss.shrinkwrap.api.spec.WebArchive;
@@ -25,17 +23,22 @@
import org.jboss.arquillian.container.test.api.OverProtocol;
import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.seam.Component;
+import org.jboss.seam.Seam;
import org.jboss.seam.contexts.Contexts;
+import org.jboss.seam.contexts.Lifecycle;
import org.jboss.seam.document.ByteArrayDocumentData;
import org.jboss.seam.document.DocumentData;
import org.jboss.seam.example.mail.Person;
+import org.jboss.seam.faces.Renderer;
import org.jboss.seam.mail.MailSession;
import org.jboss.seam.mail.ui.UIAttachment;
import org.jboss.seam.mail.ui.UIMessage;
import org.jboss.seam.mock.MockTransport;
-import org.jboss.seam.mock.JUnitSeamTest;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.Assert;
@@ -46,7 +49,7 @@
*
*/
@RunWith(Arquillian.class)
-public class MailTest extends JUnitSeamTest
+public class MailTest
{
@Deployment(name="MailTest")
@OverProtocol("Servlet 3.0")
@@ -56,617 +59,471 @@
.as(EnterpriseArchive.class);
WebArchive web = er.getAsType(WebArchive.class, "mail-web.war");
web.addClasses(MailTest.class);
- //web.addAsWebInfResource(new StringAsset("org.jboss.seam.mock.MockApplicationFactory"), "classes/META-INF/services/javax.faces.application.ApplicationFactory");
- web.addAsWebInfResource(new StringAsset("org.jboss.seam.mock.MockFacesContextFactory"), "classes/META-INF/services/javax.faces.context.FacesContextFactory");
web.addAsWebResource("org/jboss/seam/example/mail/test/errors1.xhtml", "org/jboss/seam/example/mail/test/errors1.xhtml");
web.addAsWebResource("org/jboss/seam/example/mail/test/errors2.xhtml", "org/jboss/seam/example/mail/test/errors2.xhtml");
web.addAsWebResource("org/jboss/seam/example/mail/test/errors3.xhtml", "org/jboss/seam/example/mail/test/errors3.xhtml");
web.addAsWebResource("org/jboss/seam/example/mail/test/errors4.xhtml", "org/jboss/seam/example/mail/test/errors4.xhtml");
web.addAsWebResource("org/jboss/seam/example/mail/test/sanitization.xhtml", "org/jboss/seam/example/mail/test/sanitization.xhtml");
-
- // Install org.jboss.seam.mock.MockSeamListener
- web.delete("/WEB-INF/web.xml");
- web.addAsWebInfResource("web.xml");
-
+
return er;
- }
+ }
+
+ @Before
+ public void before() {
+ Lifecycle.beginCall();
+ }
+
+ @After
+ public void after() {
+ Lifecycle.endCall();
+ }
+
+ protected MimeMessage getRenderedMailMessage(String viewId)
+ {
+ Contexts.getApplicationContext().set(Seam.getComponentName(MailSession.class), new MailSession("mock").create());
+ MockTransport.clearMailMessage();
+ Renderer.instance().render(viewId);
+ return MockTransport.getMailMessage();
+ }
- @Test
+
+
+ @Test
public void testSimple() throws Exception
{
-
- new FacesRequest()
- {
-
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{person.firstname}", "Pete");
- setValue("#{person.lastname}", "Muir");
- setValue("#{person.address}", "test(a)example.com");
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- MimeMessage renderedMessage = getRenderedMailMessage("/simple.xhtml");
-
- Assert.assertTrue(MailSession.instance().getTransport() instanceof MockTransport);
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
+
+ MimeMessage renderedMessage = getRenderedMailMessage("/simple.xhtml");
+ Assert.assertTrue(MailSession.instance().getTransport() instanceof MockTransport);
+
+ // Test the headers
- // Test the headers
-
- Assert.assertNotNull(renderedMessage);
- Assert.assertEquals(renderedMessage.getAllRecipients().length, 1);
- Assert.assertTrue(renderedMessage.getAllRecipients()[0] instanceof InternetAddress);
- InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
- Assert.assertEquals(to.getAddress(), "test(a)example.com");
- Assert.assertEquals(to.getPersonal(), "Pete Muir");
- Assert.assertEquals(renderedMessage.getFrom().length, 1);
- Assert.assertTrue(renderedMessage.getFrom()[0] instanceof InternetAddress);
- InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
- Assert.assertEquals(from.getAddress(), "peter(a)example.com");
- Assert.assertEquals(from.getPersonal(), "Peter");
- Assert.assertEquals(renderedMessage.getSubject(), "Try out Seam!");
- Assert.assertNull(renderedMessage.getHeader("Precedence"));
- Assert.assertNull(renderedMessage.getHeader("X-Priority"));
- Assert.assertNull(renderedMessage.getHeader("Priority"));
- Assert.assertNull(renderedMessage.getHeader("Importance"));
- Assert.assertNull(renderedMessage.getHeader("Disposition-Notification-To"));
-
- // Check the body
-
- Assert.assertNotNull(renderedMessage.getContent());
- Assert.assertTrue(renderedMessage.getContent() instanceof MimeMultipart);
- MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
- Assert.assertEquals(body.getCount(), 1);
- Assert.assertNotNull(body.getBodyPart(0));
- Assert.assertTrue(body.getBodyPart(0) instanceof MimeBodyPart);
- MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertEquals(bodyPart.getDisposition(), "inline");
- Assert.assertTrue(bodyPart.isMimeType("text/html"));
- }
- }.run();
+ Assert.assertNotNull(renderedMessage);
+ Assert.assertEquals(renderedMessage.getAllRecipients().length, 1);
+ Assert.assertTrue(renderedMessage.getAllRecipients()[0] instanceof InternetAddress);
+ InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
+ Assert.assertEquals(to.getAddress(), "test(a)example.com");
+ Assert.assertEquals(to.getPersonal(), "Pete Muir");
+ Assert.assertEquals(renderedMessage.getFrom().length, 1);
+ Assert.assertTrue(renderedMessage.getFrom()[0] instanceof InternetAddress);
+ InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
+ Assert.assertEquals(from.getAddress(), "peter(a)example.com");
+ Assert.assertEquals(from.getPersonal(), "Peter");
+ Assert.assertEquals(renderedMessage.getSubject(), "Try out Seam!");
+ Assert.assertNull(renderedMessage.getHeader("Precedence"));
+ Assert.assertNull(renderedMessage.getHeader("X-Priority"));
+ Assert.assertNull(renderedMessage.getHeader("Priority"));
+ Assert.assertNull(renderedMessage.getHeader("Importance"));
+ Assert.assertNull(renderedMessage.getHeader("Disposition-Notification-To"));
- }
-
+ // Check the body
+
+ Assert.assertNotNull(renderedMessage.getContent());
+ Assert.assertTrue(renderedMessage.getContent() instanceof MimeMultipart);
+ MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
+ Assert.assertEquals(body.getCount(), 1);
+ Assert.assertNotNull(body.getBodyPart(0));
+ Assert.assertTrue(body.getBodyPart(0) instanceof MimeBodyPart);
+ MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertEquals(bodyPart.getDisposition(), "inline");
+ Assert.assertTrue(bodyPart.isMimeType("text/html"));
+ }
+
@Ignore
@Test
public void testAttachment() throws Exception
{
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Gavin");
+ person.setLastname("King");
+ person.setAddress("gavin(a)king.com");
- new FacesRequest()
- {
+ MimeMessage renderedMessage = getRenderedMailMessage("/attachment.xhtml");
+
+ // Test the headers
+
+ InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
+ Assert.assertEquals(to.getAddress(), "gavin(a)king.com");
+ Assert.assertEquals(to.getPersonal(), "Gavin King");
+ InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
+ Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
+ Assert.assertEquals(from.getPersonal(), "Seam");
+ Assert.assertEquals(renderedMessage.getSubject(), "Try out Seam!");
+ MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{person.firstname}", "Gavin");
- setValue("#{person.lastname}", "King");
- setValue("#{person.address}", "gavin(a)king.com");
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- MimeMessage renderedMessage = getRenderedMailMessage("/attachment.xhtml");
-
- // Test the headers
-
- InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
- Assert.assertEquals(to.getAddress(), "gavin(a)king.com");
- Assert.assertEquals(to.getPersonal(), "Gavin King");
- InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
- Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
- Assert.assertEquals(from.getPersonal(), "Seam");
- Assert.assertEquals(renderedMessage.getSubject(), "Try out Seam!");
- MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
-
- Assert.assertEquals(body.getCount(), 6); //3 Attachments and 1 MimeMultipart
-
- // The root multipart/related
- Assert.assertNotNull(body.getBodyPart(0));
- Assert.assertTrue(body.getBodyPart(0) instanceof MimeBodyPart);
- MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertTrue(bodyPart.getContent() instanceof MimeMultipart);
- Assert.assertTrue(bodyPart.isMimeType("multipart/related"));
-
- MimeMultipart attachments = (MimeMultipart) bodyPart.getContent();
-
- Assert.assertEquals(attachments.getCount(), 3); //2 Attachments and 1 MimeMultipart
-
- // Attachment 0 (the actual message)
- Assert.assertNotNull(attachments.getBodyPart(0));
- Assert.assertTrue(attachments.getBodyPart(0) instanceof MimeBodyPart);
- bodyPart = (MimeBodyPart) attachments.getBodyPart(0);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertTrue(bodyPart.isMimeType("text/html"));
- Assert.assertEquals(bodyPart.getDisposition(), "inline");
-
- // Inline Attachment 1 // Attachment Jboss Logo
- Assert.assertNotNull(attachments.getBodyPart(1));
- Assert.assertTrue(attachments.getBodyPart(1) instanceof MimeBodyPart);
- bodyPart = (MimeBodyPart) attachments.getBodyPart(1);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertTrue(bodyPart.getContent() instanceof InputStream);
- Assert.assertEquals(bodyPart.getFileName(), "jboss.jpg");
-
- Assert.assertTrue(bodyPart.isMimeType("image/jpeg"));
- Assert.assertEquals(bodyPart.getDisposition(), "inline");
- Assert.assertNotNull(bodyPart.getContentID());
-
- // Inline Attachment 1 // Attachment Gavin Pic
- Assert.assertNotNull(attachments.getBodyPart(2));
- Assert.assertTrue(attachments.getBodyPart(2) instanceof MimeBodyPart);
- bodyPart = (MimeBodyPart) attachments.getBodyPart(2);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertTrue(bodyPart.getContent() instanceof InputStream);
- Assert.assertEquals(bodyPart.getFileName(), "Gavin_King.jpg");
- Assert.assertTrue(bodyPart.isMimeType("image/png"));
- Assert.assertEquals(bodyPart.getDisposition(), "inline");
- Assert.assertNotNull(bodyPart.getContentID());
-
- // Root Attachment 0
- Assert.assertNotNull(body.getBodyPart(1));
- Assert.assertTrue(body.getBodyPart(1) instanceof MimeBodyPart);
- bodyPart = (MimeBodyPart) body.getBodyPart(1);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertTrue( bodyPart.getContent() instanceof InputStream);
- Assert.assertEquals(bodyPart.getFileName(), "numbers.csv");
- Assert.assertTrue(bodyPart.isMimeType("content/unknown"));
- Assert.assertEquals(bodyPart.getDisposition(), "attachment");
- Assert.assertNull(bodyPart.getContentID());
-
- // Root Attachment 1
- Assert.assertNotNull(body.getBodyPart(2));
- Assert.assertTrue(body.getBodyPart(2) instanceof MimeBodyPart);
- bodyPart = (MimeBodyPart) body.getBodyPart(2);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertTrue(bodyPart.getContent() instanceof String);
- Assert.assertEquals(bodyPart.getFileName(), "whyseam.pdf");
- Assert.assertEquals(bodyPart.getDisposition(), "attachment");
- Assert.assertNull(bodyPart.getContentID());
-
- // Root Attachment 3
- Assert.assertNotNull(body.getBodyPart(3));
- Assert.assertTrue(body.getBodyPart(3) instanceof MimeBodyPart);
- bodyPart = (MimeBodyPart) body.getBodyPart(3);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertEquals(bodyPart.getFileName(), "excel.xls");
- Assert.assertTrue(bodyPart.isMimeType("application/vnd.ms-excel"));
- Assert.assertEquals(bodyPart.getDisposition(), "attachment");
- Assert.assertNull(bodyPart.getContentID());
-
- }
- }.run();
-
+ Assert.assertEquals(body.getCount(), 6); //3 Attachments and 1 MimeMultipart
+
+ // The root multipart/related
+ Assert.assertNotNull(body.getBodyPart(0));
+ Assert.assertTrue(body.getBodyPart(0) instanceof MimeBodyPart);
+ MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertTrue(bodyPart.getContent() instanceof MimeMultipart);
+ Assert.assertTrue(bodyPart.isMimeType("multipart/related"));
+
+ MimeMultipart attachments = (MimeMultipart) bodyPart.getContent();
+
+ Assert.assertEquals(attachments.getCount(), 3); //2 Attachments and 1 MimeMultipart
+
+ // Attachment 0 (the actual message)
+ Assert.assertNotNull(attachments.getBodyPart(0));
+ Assert.assertTrue(attachments.getBodyPart(0) instanceof MimeBodyPart);
+ bodyPart = (MimeBodyPart) attachments.getBodyPart(0);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertTrue(bodyPart.isMimeType("text/html"));
+ Assert.assertEquals(bodyPart.getDisposition(), "inline");
+
+ // Inline Attachment 1 // Attachment Jboss Logo
+ Assert.assertNotNull(attachments.getBodyPart(1));
+ Assert.assertTrue(attachments.getBodyPart(1) instanceof MimeBodyPart);
+ bodyPart = (MimeBodyPart) attachments.getBodyPart(1);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertTrue(bodyPart.getContent() instanceof InputStream);
+ Assert.assertEquals(bodyPart.getFileName(), "jboss.jpg");
+
+ Assert.assertTrue(bodyPart.isMimeType("image/jpeg"));
+ Assert.assertEquals(bodyPart.getDisposition(), "inline");
+ Assert.assertNotNull(bodyPart.getContentID());
+
+ // Inline Attachment 1 // Attachment Gavin Pic
+ Assert.assertNotNull(attachments.getBodyPart(2));
+ Assert.assertTrue(attachments.getBodyPart(2) instanceof MimeBodyPart);
+ bodyPart = (MimeBodyPart) attachments.getBodyPart(2);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertTrue(bodyPart.getContent() instanceof InputStream);
+ Assert.assertEquals(bodyPart.getFileName(), "Gavin_King.jpg");
+ Assert.assertTrue(bodyPart.isMimeType("image/png"));
+ Assert.assertEquals(bodyPart.getDisposition(), "inline");
+ Assert.assertNotNull(bodyPart.getContentID());
+
+ // Root Attachment 0
+ Assert.assertNotNull(body.getBodyPart(1));
+ Assert.assertTrue(body.getBodyPart(1) instanceof MimeBodyPart);
+ bodyPart = (MimeBodyPart) body.getBodyPart(1);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertTrue( bodyPart.getContent() instanceof InputStream);
+ Assert.assertEquals(bodyPart.getFileName(), "numbers.csv");
+ Assert.assertTrue(bodyPart.isMimeType("content/unknown"));
+ Assert.assertEquals(bodyPart.getDisposition(), "attachment");
+ Assert.assertNull(bodyPart.getContentID());
+
+ // Root Attachment 1
+ Assert.assertNotNull(body.getBodyPart(2));
+ Assert.assertTrue(body.getBodyPart(2) instanceof MimeBodyPart);
+ bodyPart = (MimeBodyPart) body.getBodyPart(2);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertTrue(bodyPart.getContent() instanceof String);
+ Assert.assertEquals(bodyPart.getFileName(), "whyseam.pdf");
+ Assert.assertEquals(bodyPart.getDisposition(), "attachment");
+ Assert.assertNull(bodyPart.getContentID());
+
+ // Root Attachment 3
+ Assert.assertNotNull(body.getBodyPart(3));
+ Assert.assertTrue(body.getBodyPart(3) instanceof MimeBodyPart);
+ bodyPart = (MimeBodyPart) body.getBodyPart(3);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertEquals(bodyPart.getFileName(), "excel.xls");
+ Assert.assertTrue(bodyPart.isMimeType("application/vnd.ms-excel"));
+ Assert.assertEquals(bodyPart.getDisposition(), "attachment");
+ Assert.assertNull(bodyPart.getContentID());
+
}
-
- /**
- * This test is needed since the PDF is not rendered in the attachment test.
- * If PDF rendering is supported in a test environment, then this test can be
- * removed.
- */
+
@Test
public void testPdfAttachment() throws Exception
{
- new FacesRequest()
- {
- @Override
- protected void invokeApplication() throws Exception
- {
- UIAttachment attachment = new UIAttachment();
- attachment.setFileName("filename.pdf");
- UIMessage message = new UIMessage();
- attachment.setParent(message);
- message.setMailSession(MailSession.instance());
- DocumentData doc = new ByteArrayDocumentData("filename", new DocumentData.DocumentType("pdf", "application/pdf"), new byte[] {});
- attachment.setValue(doc);
- attachment.encodeEnd(FacesContext.getCurrentInstance());
-
- // verify we built the message
- Assert.assertEquals(message.getAttachments().size(), 1);
- MimeBodyPart bodyPart = message.getAttachments().get(0);
- Assert.assertEquals(bodyPart.getFileName(), "filename.pdf");
- Assert.assertEquals(bodyPart.getDisposition(),"attachment");
- }
- }.run();
+ UIAttachment attachment = new UIAttachment();
+ attachment.setFileName("filename.pdf");
+ UIMessage message = new UIMessage();
+ attachment.setParent(message);
+ message.setMailSession(MailSession.instance());
+ DocumentData doc = new ByteArrayDocumentData("filename", new DocumentData.DocumentType("pdf", "application/pdf"), new byte[] {});
+ attachment.setValue(doc);
+ attachment.encodeEnd(FacesContext.getCurrentInstance());
+
+ // verify we built the message
+ Assert.assertEquals(message.getAttachments().size(), 1);
+ MimeBodyPart bodyPart = message.getAttachments().get(0);
+ Assert.assertEquals(bodyPart.getFileName(), "filename.pdf");
+ Assert.assertEquals(bodyPart.getDisposition(),"attachment");
}
@Test
public void testHtml() throws Exception
{
-
- new FacesRequest()
- {
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{person.firstname}", "Pete");
- setValue("#{person.lastname}", "Muir");
- setValue("#{person.address}", "test(a)example.com");
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- MimeMessage renderedMessage = getRenderedMailMessage("/html.xhtml");
-
- // Test the standard headers
-
- InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
- Assert.assertEquals(to.getAddress(), "test(a)example.com");
- Assert.assertEquals(to.getPersonal(), "Pete Muir");
- InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
- Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
- Assert.assertEquals(from.getPersonal(), "Seam");
- Assert.assertEquals(renderedMessage.getSubject(), "Seam Mail");
-
- // Test the extra headers
-
- // Importance
- Assert.assertNotNull(renderedMessage.getHeader("X-Priority"));
- Assert.assertNotNull(renderedMessage.getHeader("Priority"));
- Assert.assertNotNull(renderedMessage.getHeader("Importance"));
- Assert.assertEquals(renderedMessage.getHeader("X-Priority").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("Priority").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("Importance").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("X-Priority")[0], "5");
- Assert.assertEquals(renderedMessage.getHeader("Priority")[0], "Non-urgent");
- Assert.assertEquals(renderedMessage.getHeader("Importance")[0], "low");
-
- // read receipt
- Assert.assertNotNull(renderedMessage.getHeader("Disposition-Notification-To"));
- Assert.assertEquals(renderedMessage.getHeader("Disposition-Notification-To").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("Disposition-Notification-To")[0], "Seam <do-not-reply(a)jboss.com>");
-
- // m:header
- Assert.assertNotNull(renderedMessage.getHeader("X-Sent-From"));
- Assert.assertEquals(renderedMessage.getHeader("X-Sent-From").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("X-Sent-From")[0], "Seam");
-
- MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
-
- // Check the alternative facet
- Assert.assertTrue(renderedMessage.getContentType().startsWith("multipart/mixed"));
- Assert.assertEquals(body.getCount(), 1);
- MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
- Assert.assertTrue(bodyPart.getContentType().startsWith("multipart/alternative"));
- Assert.assertTrue(bodyPart.getContent() instanceof MimeMultipart);
- MimeMultipart bodyParts = (MimeMultipart) bodyPart.getContent();
- Assert.assertEquals(bodyParts.getCount(), 2);
- Assert.assertTrue(bodyParts.getBodyPart(0) instanceof MimeBodyPart);
- Assert.assertTrue(bodyParts.getBodyPart(1) instanceof MimeBodyPart);
- MimeBodyPart alternative = (MimeBodyPart) bodyParts.getBodyPart(0);
- MimeBodyPart html = (MimeBodyPart) bodyParts.getBodyPart(1);
- Assert.assertTrue(alternative.isMimeType("text/plain"));
- Assert.assertEquals(alternative.getDisposition(), "inline");
- Assert.assertTrue(html.isMimeType("text/html"));
- Assert.assertEquals(html.getDisposition(), "inline");
+ MimeMessage renderedMessage = getRenderedMailMessage("/html.xhtml");
- }
- }.run();
-
+ // Test the standard headers
+
+ InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
+ Assert.assertEquals(to.getAddress(), "test(a)example.com");
+ Assert.assertEquals(to.getPersonal(), "Pete Muir");
+ InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
+ Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
+ Assert.assertEquals(from.getPersonal(), "Seam");
+ Assert.assertEquals(renderedMessage.getSubject(), "Seam Mail");
+
+ // Test the extra headers
+
+ // Importance
+ Assert.assertNotNull(renderedMessage.getHeader("X-Priority"));
+ Assert.assertNotNull(renderedMessage.getHeader("Priority"));
+ Assert.assertNotNull(renderedMessage.getHeader("Importance"));
+ Assert.assertEquals(renderedMessage.getHeader("X-Priority").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("Priority").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("Importance").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("X-Priority")[0], "5");
+ Assert.assertEquals(renderedMessage.getHeader("Priority")[0], "Non-urgent");
+ Assert.assertEquals(renderedMessage.getHeader("Importance")[0], "low");
+
+ // read receipt
+ Assert.assertNotNull(renderedMessage.getHeader("Disposition-Notification-To"));
+ Assert.assertEquals(renderedMessage.getHeader("Disposition-Notification-To").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("Disposition-Notification-To")[0], "Seam <do-not-reply(a)jboss.com>");
+
+ // m:header
+ Assert.assertNotNull(renderedMessage.getHeader("X-Sent-From"));
+ Assert.assertEquals(renderedMessage.getHeader("X-Sent-From").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("X-Sent-From")[0], "Seam");
+
+ MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
+
+ // Check the alternative facet
+ Assert.assertTrue(renderedMessage.getContentType().startsWith("multipart/mixed"));
+ Assert.assertEquals(body.getCount(), 1);
+ MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
+ Assert.assertTrue(bodyPart.getContentType().startsWith("multipart/alternative"));
+ Assert.assertTrue(bodyPart.getContent() instanceof MimeMultipart);
+ MimeMultipart bodyParts = (MimeMultipart) bodyPart.getContent();
+ Assert.assertEquals(bodyParts.getCount(), 2);
+ Assert.assertTrue(bodyParts.getBodyPart(0) instanceof MimeBodyPart);
+ Assert.assertTrue(bodyParts.getBodyPart(1) instanceof MimeBodyPart);
+ MimeBodyPart alternative = (MimeBodyPart) bodyParts.getBodyPart(0);
+ MimeBodyPart html = (MimeBodyPart) bodyParts.getBodyPart(1);
+ Assert.assertTrue(alternative.isMimeType("text/plain"));
+ Assert.assertEquals(alternative.getDisposition(), "inline");
+ Assert.assertTrue(html.isMimeType("text/html"));
}
@Test
public void testPlain() throws Exception
{
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
- new FacesRequest()
- {
+ MimeMessage renderedMessage = getRenderedMailMessage("/plain.xhtml");
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{person.firstname}", "Pete");
- setValue("#{person.lastname}", "Muir");
- setValue("#{person.address}", "test(a)example.com");
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- MimeMessage renderedMessage = getRenderedMailMessage("/plain.xhtml");
-
- // Test the standard headers
-
- InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
- Assert.assertEquals(to.getAddress(), "test(a)example.com");
- Assert.assertEquals(to.getPersonal(), "Pete Muir");
- InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
- Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
- Assert.assertEquals(from.getPersonal(), "Seam");
- Assert.assertEquals(renderedMessage.getReplyTo().length, 1);
- Assert.assertTrue(renderedMessage.getReplyTo()[0] instanceof InternetAddress);
- InternetAddress replyTo = (InternetAddress) renderedMessage.getReplyTo()[0];
- Assert.assertEquals(replyTo.getAddress(), "another.address(a)jboss.org");
- Assert.assertEquals(replyTo.getPersonal(), "JBoss");
- Assert.assertEquals(renderedMessage.getRecipients(CC).length, 1);
- Assert.assertTrue(renderedMessage.getRecipients(CC)[0] instanceof InternetAddress);
- InternetAddress cc = (InternetAddress) renderedMessage.getRecipients(CC)[0];
- Assert.assertEquals(cc.getAddress(), "test(a)example.com");
- Assert.assertEquals(cc.getPersonal(), "Pete Muir");
- Assert.assertEquals(renderedMessage.getRecipients(BCC).length, 1);
- Assert.assertTrue(renderedMessage.getRecipients(BCC)[0] instanceof InternetAddress);
- InternetAddress bcc = (InternetAddress) renderedMessage.getRecipients(CC)[0];
- Assert.assertEquals(bcc.getAddress(), "test(a)example.com");
- Assert.assertEquals(bcc.getPersonal(), "Pete Muir");
- Assert.assertEquals(renderedMessage.getHeader("Precedence")[0], "bulk");
- // Importance
- Assert.assertNotNull(renderedMessage.getHeader("X-Priority"));
- Assert.assertNotNull(renderedMessage.getHeader("Priority"));
- Assert.assertNotNull(renderedMessage.getHeader("Importance"));
- Assert.assertEquals(renderedMessage.getHeader("X-Priority").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("Priority").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("Importance").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("X-Priority")[0], "1");
- Assert.assertEquals(renderedMessage.getHeader("Priority")[0], "Urgent");
- Assert.assertEquals(renderedMessage.getHeader("Importance")[0], "high");
- Assert.assertEquals(renderedMessage.getSubject(), "Plain text email sent by Seam");
-
- // Check the body
-
- Assert.assertNotNull(renderedMessage.getContent());
- MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
- Assert.assertEquals(body.getCount(), 1);
- MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
- Assert.assertNotNull(bodyPart.getContent());
- Assert.assertEquals(bodyPart.getDisposition(), "inline");
- Assert.assertTrue(bodyPart.isMimeType("text/plain"));
- }
- }.run();
+ // Test the standard headers
+
+ InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
+ Assert.assertEquals(to.getAddress(), "test(a)example.com");
+ Assert.assertEquals(to.getPersonal(), "Pete Muir");
+ InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
+ Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
+ Assert.assertEquals(from.getPersonal(), "Seam");
+ Assert.assertEquals(renderedMessage.getReplyTo().length, 1);
+ Assert.assertTrue(renderedMessage.getReplyTo()[0] instanceof InternetAddress);
+ InternetAddress replyTo = (InternetAddress) renderedMessage.getReplyTo()[0];
+ Assert.assertEquals(replyTo.getAddress(), "another.address(a)jboss.org");
+ Assert.assertEquals(replyTo.getPersonal(), "JBoss");
+ Assert.assertEquals(renderedMessage.getRecipients(CC).length, 1);
+ Assert.assertTrue(renderedMessage.getRecipients(CC)[0] instanceof InternetAddress);
+ InternetAddress cc = (InternetAddress) renderedMessage.getRecipients(CC)[0];
+ Assert.assertEquals(cc.getAddress(), "test(a)example.com");
+ Assert.assertEquals(cc.getPersonal(), "Pete Muir");
+ Assert.assertEquals(renderedMessage.getRecipients(BCC).length, 1);
+ Assert.assertTrue(renderedMessage.getRecipients(BCC)[0] instanceof InternetAddress);
+ InternetAddress bcc = (InternetAddress) renderedMessage.getRecipients(CC)[0];
+ Assert.assertEquals(bcc.getAddress(), "test(a)example.com");
+ Assert.assertEquals(bcc.getPersonal(), "Pete Muir");
+ Assert.assertEquals(renderedMessage.getHeader("Precedence")[0], "bulk");
+ // Importance
+ Assert.assertNotNull(renderedMessage.getHeader("X-Priority"));
+ Assert.assertNotNull(renderedMessage.getHeader("Priority"));
+ Assert.assertNotNull(renderedMessage.getHeader("Importance"));
+ Assert.assertEquals(renderedMessage.getHeader("X-Priority").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("Priority").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("Importance").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("X-Priority")[0], "1");
+ Assert.assertEquals(renderedMessage.getHeader("Priority")[0], "Urgent");
+ Assert.assertEquals(renderedMessage.getHeader("Importance")[0], "high");
+ Assert.assertEquals(renderedMessage.getSubject(), "Plain text email sent by Seam");
+
+ // Check the body
+
+ Assert.assertNotNull(renderedMessage.getContent());
+ MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
+ Assert.assertEquals(body.getCount(), 1);
+ MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
+ Assert.assertNotNull(bodyPart.getContent());
+ Assert.assertEquals(bodyPart.getDisposition(), "inline");
+ Assert.assertTrue(bodyPart.isMimeType("text/plain"));
+
}
@Test
public void testAttachmentErrors() throws Exception
{
-
- new FacesRequest()
- {
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
- @Override
- protected void updateModelValues() throws Exception
- {
-
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- Person person = (Person) getValue("#{person}");
-
- person.setFirstname("Pete");
- person.setLastname("Muir");
- person.setAddress("test(a)example.com");
-
- // Test for an unavailable attachment
-
- Contexts.getEventContext().set("attachment", "/foo.pdf");
-
- }
- }.run();
+ // Test for an unavailable attachment
+
+ Contexts.getEventContext().set("attachment", "/foo.pdf");
+
}
@Test
public void testAddressValidation() throws Exception
{
-
- new FacesRequest()
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ boolean exceptionThrown = false;
+ person.setAddress("testexample.com");
+
+ try
{
+ getRenderedMailMessage("/org/jboss/seam/example/mail/test/errors2.xhtml");
+ }
+ catch (FacesException e)
+ {
+ Assert.assertTrue(e.getCause() instanceof AddressException);
+ AddressException ae = (AddressException) e.getCause();
+ Assert.assertTrue(ae.getMessage().startsWith("Missing final '@domain'"));
+ exceptionThrown = true;
+ }
+ Assert.assertTrue(exceptionThrown);
- @Override
- protected void updateModelValues() throws Exception
- {
-
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- Person person = (Person) getValue("#{person}");
-
- person.setFirstname("Pete");
- person.setLastname("Muir");
- boolean exceptionThrown = false;
-
- person.setAddress("testexample.com");
-
- try
- {
- getRenderedMailMessage("/org/jboss/seam/example/mail/test/errors2.xhtml");
- }
- catch (FacesException e)
- {
- Assert.assertTrue(e.getCause() instanceof AddressException);
- AddressException ae = (AddressException) e.getCause();
- Assert.assertTrue(ae.getMessage().startsWith("Missing final '@domain'"));
- exceptionThrown = true;
- }
- Assert.assertTrue(exceptionThrown);
-
- }
- }.run();
}
+
//JBSEAM-2109
//@Test
public void testReplyToErrors() throws Exception
{
-
- new FacesRequest()
- {
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
- @Override
- protected void updateModelValues() throws Exception
- {
-
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- Person person = (Person) getValue("#{person}");
-
- person.setFirstname("Pete");
- person.setLastname("Muir");
- person.setAddress("test(a)example.com");
-
- boolean exceptionThrown = false;
-
-
-
- try
- {
- getRenderedMailMessage("/org/jboss/seam/example/mail/test/errors3.xhtml");
- }
- catch (Exception e)
- {
- Assert.assertTrue(e.getCause() instanceof AddressException);
- AddressException ae = (AddressException) e.getCause();
- System.out.println(ae.getMessage());
- Assert.assertTrue(ae.getMessage().startsWith("Email cannot have more than one Reply-to address"));
- exceptionThrown = true;
- }
- Assert.assertTrue(exceptionThrown);
-
- }
- }.run();
+ boolean exceptionThrown = false;
+
+ try
+ {
+ getRenderedMailMessage("/org/jboss/seam/example/mail/test/errors3.xhtml");
+ }
+ catch (Exception e)
+ {
+ Assert.assertTrue(e.getCause() instanceof AddressException);
+ AddressException ae = (AddressException) e.getCause();
+ System.out.println(ae.getMessage());
+ Assert.assertTrue(ae.getMessage().startsWith("Email cannot have more than one Reply-to address"));
+ exceptionThrown = true;
+ }
+ Assert.assertTrue(exceptionThrown);
}
@Test
public void testFromErrors() throws Exception
{
-
- new FacesRequest()
- {
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
- @Override
- protected void updateModelValues() throws Exception
- {
-
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- Person person = (Person) getValue("#{person}");
-
- person.setFirstname("Pete");
- person.setLastname("Muir");
- person.setAddress("test(a)example.com");
-
- boolean exceptionThrown = false;
-
- try
- {
- getRenderedMailMessage("/org/jboss/seam/example/mail/test/errors4.xhtml");
- }
- catch (FacesException e)
- {
- Assert.assertTrue(e.getCause() instanceof AddressException);
- AddressException ae = (AddressException) e.getCause();
- Assert.assertTrue(ae.getMessage().startsWith("Email cannot have more than one from address"));
- exceptionThrown = true;
- }
- Assert.assertTrue(exceptionThrown);
-
- }
- }.run();
+ boolean exceptionThrown = false;
+
+ try
+ {
+ getRenderedMailMessage("/org/jboss/seam/example/mail/test/errors4.xhtml");
+ }
+ catch (FacesException e)
+ {
+ Assert.assertTrue(e.getCause() instanceof AddressException);
+ AddressException ae = (AddressException) e.getCause();
+ Assert.assertTrue(ae.getMessage().startsWith("Email cannot have more than one from address"));
+ exceptionThrown = true;
+ }
+ Assert.assertTrue(exceptionThrown);
}
@Test
public void testSanitization() throws Exception
{
-
- new FacesRequest()
- {
-
- @Override
- protected void updateModelValues() throws Exception
- {
-
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- Contexts.getEventContext().set("name", "Pete\nMuir");
- MimeMessage renderedMessage = getRenderedMailMessage("/org/jboss/seam/example/mail/test/sanitization.xhtml");
- Assert.assertEquals(renderedMessage.getSubject(), "Try out Seam!");
- InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
- Assert.assertEquals(to.getAddress(), "peter(a)email.tld");
- Assert.assertEquals(to.getPersonal(), "Pete");
- Assert.assertEquals(renderedMessage.getFrom().length, 1);
- Assert.assertTrue(renderedMessage.getFrom()[0] instanceof InternetAddress);
- InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
- Assert.assertEquals(from.getAddress(), "peter(a)example.com");
- Assert.assertEquals(from.getPersonal(), "Pete");
- Assert.assertNotNull(renderedMessage.getHeader("Pete"));
- Assert.assertEquals(renderedMessage.getHeader("Pete").length, 1);
- Assert.assertEquals(renderedMessage.getHeader("Pete")[0], "roll over");
- }
- }.run();
+ Contexts.getEventContext().set("name", "Pete\nMuir");
+ MimeMessage renderedMessage = getRenderedMailMessage("/org/jboss/seam/example/mail/test/sanitization.xhtml");
+ Assert.assertEquals(renderedMessage.getSubject(), "Try out Seam!");
+ InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
+ Assert.assertEquals(to.getAddress(), "peter(a)email.tld");
+ Assert.assertEquals(to.getPersonal(), "Pete");
+ Assert.assertEquals(renderedMessage.getFrom().length, 1);
+ Assert.assertTrue(renderedMessage.getFrom()[0] instanceof InternetAddress);
+ InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
+ Assert.assertEquals(from.getAddress(), "peter(a)example.com");
+ Assert.assertEquals(from.getPersonal(), "Pete");
+ Assert.assertNotNull(renderedMessage.getHeader("Pete"));
+ Assert.assertEquals(renderedMessage.getHeader("Pete").length, 1);
+ Assert.assertEquals(renderedMessage.getHeader("Pete")[0], "roll over");
}
@Test
public void testTemplating() throws Exception
{
-
- new FacesRequest()
- {
+ Person person = (Person)Component.getInstance("person");
+ person.setFirstname("Pete");
+ person.setLastname("Muir");
+ person.setAddress("test(a)example.com");
- @Override
- protected void updateModelValues() throws Exception
- {
- setValue("#{person.firstname}", "Pete");
- setValue("#{person.lastname}", "Muir");
- setValue("#{person.address}", "test(a)example.com");
- }
-
- @Override
- protected void invokeApplication() throws Exception
- {
- MimeMessage renderedMessage = getRenderedMailMessage("/templating.xhtml");
-
- // Test the standard headers
-
- InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
- Assert.assertEquals(to.getAddress(), "test(a)example.com");
- Assert.assertEquals(to.getPersonal(), "Pete Muir");
- InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
- Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
- Assert.assertEquals(from.getPersonal(), "Seam");
- Assert.assertEquals(renderedMessage.getSubject(), "Templating with Seam Mail");
- Assert.assertNull(renderedMessage.getHeader("X-Priority"));
- Assert.assertNull(renderedMessage.getHeader("Priority"));
- Assert.assertNull(renderedMessage.getHeader("Importance"));
-
- // Check the body
-
- MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
-
- // Check the alternative facet
- Assert.assertTrue(renderedMessage.getContentType().startsWith("multipart/mixed"));
- Assert.assertEquals(body.getCount(), 1);
- MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
- Assert.assertTrue(bodyPart.getContentType().startsWith("multipart/alternative"));
- Assert.assertTrue(bodyPart.getContent() instanceof MimeMultipart);
- MimeMultipart bodyParts = (MimeMultipart) bodyPart.getContent();
- Assert.assertEquals(bodyParts.getCount(), 2);
- Assert.assertTrue(bodyParts.getBodyPart(0) instanceof MimeBodyPart);
- Assert.assertTrue(bodyParts.getBodyPart(1) instanceof MimeBodyPart);
- MimeBodyPart alternative = (MimeBodyPart) bodyParts.getBodyPart(0);
- MimeBodyPart html = (MimeBodyPart) bodyParts.getBodyPart(1);
- Assert.assertTrue(alternative.isMimeType("text/plain"));
- Assert.assertEquals(alternative.getDisposition(), "inline");
- Assert.assertTrue(html.isMimeType("text/html"));
- Assert.assertEquals(html.getDisposition(), "inline");
- }
- }.run();
+ MimeMessage renderedMessage = getRenderedMailMessage("/templating.xhtml");
+
+ // Test the standard headers
+
+ InternetAddress to = (InternetAddress) renderedMessage.getAllRecipients()[0];
+ Assert.assertEquals(to.getAddress(), "test(a)example.com");
+ Assert.assertEquals(to.getPersonal(), "Pete Muir");
+ InternetAddress from = (InternetAddress) renderedMessage.getFrom()[0];
+ Assert.assertEquals(from.getAddress(), "do-not-reply(a)jboss.com");
+ Assert.assertEquals(from.getPersonal(), "Seam");
+ Assert.assertEquals(renderedMessage.getSubject(), "Templating with Seam Mail");
+ Assert.assertNull(renderedMessage.getHeader("X-Priority"));
+ Assert.assertNull(renderedMessage.getHeader("Priority"));
+ Assert.assertNull(renderedMessage.getHeader("Importance"));
+
+ // Check the body
+
+ MimeMultipart body = (MimeMultipart) renderedMessage.getContent();
+
+ // Check the alternative facet
+ Assert.assertTrue(renderedMessage.getContentType().startsWith("multipart/mixed"));
+ Assert.assertEquals(body.getCount(), 1);
+ MimeBodyPart bodyPart = (MimeBodyPart) body.getBodyPart(0);
+ Assert.assertTrue(bodyPart.getContentType().startsWith("multipart/alternative"));
+ Assert.assertTrue(bodyPart.getContent() instanceof MimeMultipart);
+ MimeMultipart bodyParts = (MimeMultipart) bodyPart.getContent();
+ Assert.assertEquals(bodyParts.getCount(), 2);
+ Assert.assertTrue(bodyParts.getBodyPart(0) instanceof MimeBodyPart);
+ Assert.assertTrue(bodyParts.getBodyPart(1) instanceof MimeBodyPart);
+ MimeBodyPart alternative = (MimeBodyPart) bodyParts.getBodyPart(0);
+ MimeBodyPart html = (MimeBodyPart) bodyParts.getBodyPart(1);
+ Assert.assertTrue(alternative.isMimeType("text/plain"));
+ Assert.assertEquals(alternative.getDisposition(), "inline");
+ Assert.assertTrue(html.isMimeType("text/html"));
+ Assert.assertEquals(html.getDisposition(), "inline");
}
}
12 years, 3 months
Seam SVN: r15134 - branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2012-09-13 10:35:23 -0400 (Thu, 13 Sep 2012)
New Revision: 15134
Modified:
branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath
Log:
JBSEAM-5034 removed duplicated entries for lucene-core and resteasy-atom-provider
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath 2012-09-13 14:27:20 UTC (rev 15133)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath 2012-09-13 14:35:23 UTC (rev 15134)
@@ -41,7 +41,6 @@
<classpathentry kind="lib" path="lib/ehcache.jar"/>
<classpathentry kind="lib" path="lib/el-api.jar"/>
<classpathentry kind="lib" path="lib/fontbox.jar"/>
- <classpathentry kind="lib" path="lib/resteasy-atom-provider.jar"/>
<classpathentry kind="lib" path="lib/groovy-all.jar"/>
<classpathentry kind="lib" path="lib/guava.jar"/>
<classpathentry kind="lib" path="lib/guice.jar"/>
12 years, 3 months
Seam SVN: r15133 - in branches/community/Seam_2_3/jboss-seam-gen/dist: build-scripts and 1 other directory.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2012-09-13 10:27:20 -0400 (Thu, 13 Sep 2012)
New Revision: 15133
Modified:
branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml
branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.properties
branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml
branches/community/Seam_2_3/jboss-seam-gen/dist/build.xml
Log:
JBSEAM-5036
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml 2012-09-13 14:27:10 UTC (rev 15132)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build-war.xml 2012-09-13 14:27:20 UTC (rev 15133)
@@ -24,8 +24,7 @@
<property name="classes.action.dir" value="${war.dir}/${action.dir}" />
<property name="test.dir" value="test-build" />
<property name="bootstrap.dir" value="${basedir}/bootstrap" />
- <property name="jboss.domain" value="standalone"/>
- <property name="deploy.dir" value="${jboss.home}/${jboss.domain}/deployments"/>
+ <property name="deploy.dir" value="${jboss.home}/standalone/deployments"/>
<property name="war.deploy.dir" value="${deploy.dir}/${project.name}.war" />
<property name="packaged.archive" value="${dist.dir}/${project.name}.war"/>
<property name="testng.jar" value="${basedir}/lib/testng.jar" />
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.properties
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.properties 2012-09-13 14:27:10 UTC (rev 15132)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.properties 2012-09-13 14:27:20 UTC (rev 15133)
@@ -1,5 +1,4 @@
jboss.home=@jbossHome@
-jboss.domain=@jbossDomain@
glassfish.home=@glassfishHome@
glassfish.domain=@glassfishDomain@
# Uncomment to stop the build from deploying the datasource to GlassFish
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml 2012-09-13 14:27:10 UTC (rev 15132)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/build-scripts/build.xml 2012-09-13 14:27:20 UTC (rev 15133)
@@ -22,8 +22,7 @@
<property name="jar.dir" value="${ear.dir}/${project.name}_jar"/>
<property name="war.dir" value="${ear.dir}/${project.name}_war"/>
<property name="test.dir" value="test-build"/>
- <property name="jboss.domain" value="standalone"/>
- <property name="deploy.dir" value="${jboss.home}/${jboss.domain}/deployments"/>
+ <property name="deploy.dir" value="${jboss.home}/standalone/deployments"/>
<property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear"/>
<property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar"/>
<property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war"/>
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/build.xml
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/build.xml 2012-09-13 14:27:10 UTC (rev 15132)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/build.xml 2012-09-13 14:27:20 UTC (rev 15133)
@@ -30,7 +30,6 @@
<condition property="jboss.home" value="${env.JBOSS_HOME}" else="C:/Program Files/jboss-as-7.1.1.Final">
<isset property="env.JBOSS_HOME"/>
</condition>
- <property name="jboss.domain" value="standalone"/>
<condition property="glassfish.home" value="${env.GLASSFISH_HOME}" else="C:/Program Files/glassfish-v2.1">
<isset property="env.GLASSFISH_HOME"/>
</condition>
@@ -181,7 +180,6 @@
<filter token="testPackage" value="${test.package}"/>
<filter token="deploymentType" value="${project.type}"/>
<filter token="jbossHome" value="${jboss.home}"/>
- <filter token="jbossDomain" value="${jboss.domain}"/>
<filter token="glassfishHome" value="${glassfish.home}"/>
<filter token="glassfishDomain" value="${glassfish.domain}"/>
<filter token="iceHome" value="${icefaces.home}"/>
@@ -235,11 +233,6 @@
defaultvalue="${old.jboss.home}"/>
<pathFixer property="jboss.home.new"/>
- <property name="old.jboss.domain" value="${jboss.domain}"/>
- <input addproperty="jboss.domain.new"
- message="Enter your JBoss AS domain [${old.jboss.domain}]"
- defaultvalue="${old.jboss.domain}"/>
-
<property name="old.glassfish.home" value="${glassfish.home}"/>
<input addproperty="glassfish.home.new"
message="Enter your GlassFish V2 or V3 home directory (Ignore if you aren't deploying to GlassFish) [${old.glassfish.home}]"
@@ -575,7 +568,6 @@
<entry key="richfaces.skin" value="${richfaces.skin.new}"/>
<entry key="project.type" value="${project.type.new}"/>
<entry key="jboss.home" value="${jboss.home.new}"/>
- <entry key="jboss.domain" value="${jboss.domain.new}"/>
<entry key="glassfish.home" value="${glassfish.home.new}"/>
<entry key="glassfish.domain" value="${glassfish.domain.new}"/>
<entry key="icefaces" value="${icefaces.new}"/>
@@ -604,7 +596,7 @@
<condition property="has.license.jar">
<not><equals arg1="${driver.license.jar.new}" arg2=""/></not>
</condition>
- <copy todir="${jboss.home.new}/${jboss.domain.new}/deployments" overwrite="true">
+ <copy todir="${jboss.home.new}/standalone/deployments" overwrite="true">
<fileset file="${driver.jar.new}">
<include name="${driver.jar.new}"/>
</fileset>
12 years, 3 months
Seam SVN: r15132 - branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2012-09-13 10:27:10 -0400 (Thu, 13 Sep 2012)
New Revision: 15132
Modified:
branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath
Log:
JBSEAM-5034 fixed classpath file for eclipse
Modified: branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath
===================================================================
--- branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath 2012-09-13 06:30:39 UTC (rev 15131)
+++ branches/community/Seam_2_3/jboss-seam-gen/dist/ide-project-files/eclipse/.classpath 2012-09-13 14:27:10 UTC (rev 15132)
@@ -41,7 +41,6 @@
<classpathentry kind="lib" path="lib/ehcache.jar"/>
<classpathentry kind="lib" path="lib/el-api.jar"/>
<classpathentry kind="lib" path="lib/fontbox.jar"/>
- <classpathentry kind="lib" path="lib/lucene-core.jar"/>
<classpathentry kind="lib" path="lib/resteasy-atom-provider.jar"/>
<classpathentry kind="lib" path="lib/groovy-all.jar"/>
<classpathentry kind="lib" path="lib/guava.jar"/>
@@ -88,17 +87,17 @@
<classpathentry kind="lib" path="lib/jboss-logging.jar"/>
<classpathentry kind="lib" path="lib/jboss-marshalling.jar"/>
<classpathentry kind="lib" path="lib/jboss-marshalling-river.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-excel.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-flex.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-ioc.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-mail.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-pdf.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-remoting.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-resteasy.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-rss.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-ui.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-debug.jar" sourcepath="lib/src/jboss-seam-debug-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-excel.jar" sourcepath="lib/src/jboss-seam-excel-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-flex.jar" sourcepath="lib/src/jboss-seam-flex-sources.jar"/>/>
+ <classpathentry kind="lib" path="lib/jboss-seam-ioc.jar" sourcepath="lib/src/jboss-seam-ioc-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam.jar" sourcepath="lib/src/jboss-seam-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-mail.jar" sourcepath="lib/src/jboss-seam-mail-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-pdf.jar" sourcepath="lib/src/jboss-seam-pdf-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-remoting.jar" sourcepath="lib/src/jboss-seam-remoting-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-resteasy.jar" sourcepath="lib/src/jboss-seam-resteasy-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-rss.jar" sourcepath="lib/src/jboss-seam-rss-sources.jar"/>/>
+ <classpathentry kind="lib" path="lib/jboss-seam-ui.jar" sourcepath="lib/src/jboss-seam-ui-sources.jar"/>/>
<classpathentry kind="lib" path="lib/jboss-servlet-api_3.0_spec.jar"/>
<classpathentry kind="lib" path="lib/jboss-system.jar"/>
<classpathentry kind="lib" path="lib/jboss-transaction-api_1.1_spec.jar"/>
@@ -172,128 +171,6 @@
<classpathentry kind="lib" path="lib/spring-web.jar"/>
<classpathentry kind="lib" path="lib/stax-api.jar"/>
<classpathentry kind="lib" path="lib/stax2-api.jar"/>
- <classpathentry kind="lib" path="lib/test/aether-api-1.8.jar"/>
- <classpathentry kind="lib" path="lib/test/aether-connector-wagon-1.8.jar"/>
- <classpathentry kind="lib" path="lib/test/aether-impl-1.8.jar"/>
- <classpathentry kind="lib" path="lib/test/aether-spi-1.8.jar"/>
- <classpathentry kind="lib" path="lib/test/aether-util-1.8.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-config-api-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-config-impl-base-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-container-impl-base-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-container-osgi-1.0.2.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-container-spi-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-container-test-api-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-container-test-impl-base-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-container-test-spi-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-core-api-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-core-impl-base-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-core-spi-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-junit-container-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-junit-core-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-protocol-jmx-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-protocol-servlet-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-test-api-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-testenricher-cdi-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-testenricher-ejb-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-testenricher-initialcontext-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-testenricher-osgi-1.0.2.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-testenricher-resource-1.0.0.CR7.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-test-impl-base-1.0.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/arquillian-test-spi-1.0.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/google-collections-1.0.jar"/>
- <classpathentry kind="lib" path="lib/test/hibernate-validator-4.2.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/httpserver-1.0.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jandex-1.0.3.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/javax.inject-1.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-deployment-1.0.12.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-framework-core-1.1.8.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-metadata-2.0.3.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-repository-api-1.0.5.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-repository-core-1.0.5.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-resolver-api-v2-2.0.0.Beta2.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-resolver-api-1.0.13.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-resolver-felix-1.0.13.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-resolver-spi-1.0.13.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-spi-3.0.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-vfs-1.0.7.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jbosgi-vfs30-1.0.7.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-annotations-api_1.1_spec-1.0.0.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-arquillian-common-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-arquillian-container-remote-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-arquillian-protocol-jmx-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-arquillian-testenricher-msc-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-build-config-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-controller-client-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-controller-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-deployment-repository-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-domain-http-interface-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-domain-management-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-ee-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-embedded-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-jmx-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-naming-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-network-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-osgi-service-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-platform-mbean-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-process-controller-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-protocol-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-remoting-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-server-7.1.1.Final.jar"/>
-<classpathentry kind="lib" path="lib/test/jboss-as-threads-7.1.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-common-core-2.2.17.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-dmr-1.1.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-ejb-client-1.0.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-interceptors-api_1.1_spec-1.0.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-interceptor-spi-2.0.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-invocation-1.1.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-logging-3.1.0.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-logmanager-log4j-1.0.0.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-logmanager-1.2.2.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-marshalling-river-1.3.11.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-metadata-common-7.0.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-metadata-ear-7.0.1.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-modules-1.1.1.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-msc-1.0.2.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-remote-naming-1.0.2.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-sasl-1.0.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-stdio-1.0.1.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-threads-2.0.0.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jboss-vfs-3.1.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/jdk-tools-jdk.jar"/>
- <classpathentry kind="lib" path="lib/test/log4j-1.2.12.jar"/>
- <classpathentry kind="lib" path="lib/test/maven-aether-provider-3.0.1.jar"/>
- <classpathentry kind="lib" path="lib/test/maven-model-builder-3.0.1.jar"/>
- <classpathentry kind="lib" path="lib/test/maven-model-3.0.1.jar"/>
- <classpathentry kind="lib" path="lib/test/maven-repository-metadata-3.0.1.jar"/>
- <classpathentry kind="lib" path="lib/test/maven-settings-builder-3.0.1.jar"/>
- <classpathentry kind="lib" path="lib/test/maven-settings-3.0.1.jar"/>
- <classpathentry kind="lib" path="lib/testng.jar"/>
- <classpathentry kind="lib" path="lib/test/org.apache.felix.resolver-0.1.0.Beta1.jar"/>
- <classpathentry kind="lib" path="lib/test/org.osgi.compendium-4.2.0.jar"/>
- <classpathentry kind="lib" path="lib/test/org.osgi.core-4.2.0.jar"/>
- <classpathentry kind="lib" path="lib/test/org.osgi.enterprise-4.2.0.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-cipher-1.4.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-classworlds-2.2.2.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-component-annotations-1.5.5.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-container-default-1.5.5.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-interpolation-1.14.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-sec-dispatcher-1.3.jar"/>
- <classpathentry kind="lib" path="lib/test/plexus-utils-2.0.4.jar"/>
- <classpathentry kind="lib" path="lib/test/remoting-jmx-1.0.2.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/shrinkwrap-api-1.0.0-cr-1.jar"/>
- <classpathentry kind="lib" path="lib/test/shrinkwrap-resolver-api-maven-1.0.0-beta-5.jar"/>
- <classpathentry kind="lib" path="lib/test/shrinkwrap-resolver-api-1.0.0-beta-5.jar"/>
- <classpathentry kind="lib" path="lib/test/shrinkwrap-resolver-impl-maven-1.0.0-beta-5.jar"/>
- <classpathentry kind="lib" path="lib/test/slf4j-api-1.6.1.jar"/>
- <classpathentry kind="lib" path="lib/test/staxmapper-1.1.0.Final.jar"/>
- <classpathentry kind="lib" path="lib/test/validation-api-1.0.0.GA.jar"/>
- <classpathentry kind="lib" path="lib/test/wagon-file-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/test/wagon-http-lightweight-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/test/wagon-http-shared-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/test/wagon-provider-api-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/test/xbean-reflect-3.4.jar"/>
- <classpathentry kind="lib" path="lib/test/xnio-nio-3.0.3.GA.jar"/>
<classpathentry kind="lib" path="lib/urlrewritefilter.jar"/>
<classpathentry kind="lib" path="lib/validation-api.jar"/>
<classpathentry kind="lib" path="lib/wicket-datetime.jar"/>
@@ -304,4 +181,132 @@
<classpathentry kind="lib" path="lib/xercesImpl.jar"/>
<classpathentry kind="lib" path="lib/xml-apis.jar"/>
<classpathentry kind="lib" path="lib/yarfraw.jar"/>
+ <classpathentry kind="lib" path="lib/test/aether-api-1.8.jar"/>
+ <classpathentry kind="lib" path="lib/test/aether-connector-wagon-1.8.jar"/>
+ <classpathentry kind="lib" path="lib/test/aether-impl-1.8.jar"/>
+ <classpathentry kind="lib" path="lib/test/aether-spi-1.8.jar"/>
+ <classpathentry kind="lib" path="lib/test/aether-util-1.8.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-config-api-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-config-impl-base-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-container-impl-base-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-container-osgi-1.0.2.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-container-spi-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-container-test-api-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-container-test-impl-base-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-container-test-spi-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-core-api-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-core-impl-base-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-core-spi-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-junit-container-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-junit-core-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-protocol-jmx-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-protocol-servlet-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-test-api-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-testenricher-cdi-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-testenricher-ejb-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-testenricher-initialcontext-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-testenricher-osgi-1.0.2.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-testenricher-resource-1.0.0.CR7.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-test-impl-base-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/arquillian-test-spi-1.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/google-collections-1.0.jar"/>
+ <classpathentry kind="lib" path="lib/test/hibernate-validator-4.2.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/httpserver-1.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jandex-1.0.3.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/javax.inject-1.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-deployment-1.0.12.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-framework-core-1.1.8.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-metadata-2.0.3.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-repository-api-1.0.5.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-repository-core-1.0.5.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-resolver-api-1.0.13.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-resolver-api-v2-2.0.0.Beta2.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-resolver-felix-1.0.13.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-resolver-spi-1.0.13.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-spi-3.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-vfs-1.0.7.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jbosgi-vfs30-1.0.7.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-annotations-api_1.1_spec-1.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-arquillian-common-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-arquillian-container-remote-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-arquillian-protocol-jmx-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-arquillian-testenricher-msc-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-build-config-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-controller-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-controller-client-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-deployment-repository-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-domain-http-interface-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-domain-management-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-ee-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-embedded-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-jmx-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-naming-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-network-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-osgi-service-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-platform-mbean-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-process-controller-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-protocol-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-remoting-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-server-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-as-threads-7.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-common-core-2.2.17.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-dmr-1.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-ejb-client-1.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-interceptors-api_1.1_spec-1.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-interceptor-spi-2.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-invocation-1.1.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-logging-3.1.0.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-logmanager-1.2.2.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-logmanager-log4j-1.0.0.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-marshalling-1.3.11.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-marshalling-river-1.3.11.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-metadata-common-7.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-metadata-ear-7.0.1.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-modules-1.1.1.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-msc-1.0.2.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-remote-naming-1.0.2.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-remoting-3.2.2.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-sasl-1.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-stdio-1.0.1.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-threads-2.0.0.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jboss-vfs-3.1.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/jdk-tools-jdk.jar"/>
+ <classpathentry kind="lib" path="lib/test/log4j-1.2.12.jar"/>
+ <classpathentry kind="lib" path="lib/test/maven-aether-provider-3.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/maven-model-3.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/maven-model-builder-3.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/maven-repository-metadata-3.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/maven-settings-3.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/maven-settings-builder-3.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/org.apache.felix.resolver-0.1.0.Beta1.jar"/>
+ <classpathentry kind="lib" path="lib/test/org.osgi.compendium-4.2.0.jar"/>
+ <classpathentry kind="lib" path="lib/test/org.osgi.core-4.2.0.jar"/>
+ <classpathentry kind="lib" path="lib/test/org.osgi.enterprise-4.2.0.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-cipher-1.4.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-classworlds-2.2.2.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-component-annotations-1.5.5.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-container-default-1.5.5.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-interpolation-1.14.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-sec-dispatcher-1.3.jar"/>
+ <classpathentry kind="lib" path="lib/test/plexus-utils-2.0.4.jar"/>
+ <classpathentry kind="lib" path="lib/test/remoting-jmx-1.0.2.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-api-1.0.0-cr-1.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-descriptors-api-base-2.0.0-alpha-3.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-descriptors-spi-2.0.0-alpha-3.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-impl-base-1.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-resolver-api-1.0.0-beta-5.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-resolver-api-maven-1.0.0-beta-5.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-resolver-impl-maven-1.0.0-beta-5.jar"/>
+ <classpathentry kind="lib" path="lib/test/shrinkwrap-spi-1.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/slf4j-api-1.6.1.jar"/>
+ <classpathentry kind="lib" path="lib/test/staxmapper-1.1.0.Final.jar"/>
+ <classpathentry kind="lib" path="lib/test/validation-api-1.0.0.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/wagon-file-1.0-beta-7.jar"/>
+ <classpathentry kind="lib" path="lib/test/wagon-http-lightweight-1.0-beta-7.jar"/>
+ <classpathentry kind="lib" path="lib/test/wagon-http-shared-1.0-beta-7.jar"/>
+ <classpathentry kind="lib" path="lib/test/wagon-provider-api-1.0-beta-7.jar"/>
+ <classpathentry kind="lib" path="lib/test/xbean-reflect-3.4.jar"/>
+ <classpathentry kind="lib" path="lib/test/xnio-api-3.0.3.GA.jar"/>
+ <classpathentry kind="lib" path="lib/test/xnio-nio-3.0.3.GA.jar"/>
</classpath>
12 years, 3 months
Seam SVN: r15131 - in branches/community/Seam_2_3: seam-migration-guide and 1 other directory.
by seam-commits@lists.jboss.org
Author: dhinojosa
Date: 2012-09-13 02:30:39 -0400 (Thu, 13 Sep 2012)
New Revision: 15131
Added:
branches/community/Seam_2_3/seam-migration-guide/
branches/community/Seam_2_3/seam-migration-guide/ear_folder.png
branches/community/Seam_2_3/seam-migration-guide/ear_module.png
branches/community/Seam_2_3/seam-migration-guide/ear_structure.png
branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
Log:
added migration guide
Added: branches/community/Seam_2_3/seam-migration-guide/ear_folder.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/seam-migration-guide/ear_folder.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/seam-migration-guide/ear_module.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/seam-migration-guide/ear_module.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/seam-migration-guide/ear_structure.png
===================================================================
(Binary files differ)
Property changes on: branches/community/Seam_2_3/seam-migration-guide/ear_structure.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc
===================================================================
--- branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc (rev 0)
+++ branches/community/Seam_2_3/seam-migration-guide/seam_migration_guide.asc 2012-09-13 06:30:39 UTC (rev 15131)
@@ -0,0 +1,101 @@
+JBoss Seam 2.3 Migration Guide
+==============================
+
+== Outline
+
+Seam 2.3 has undergone a few changes in this latest development.
+
+* <<maven, Maven>> - Using Apache Maven with Seam 2.3 as the standard build tool.
+* <<arquillian, Arquillian>> - Seam Test migration to Arquillian Testing.
+* <<seam, Seam Changes>> - Package changes. Code changes, and Notable deprecations
+* <<jboss71, JBoss 7.1>> - How to deploy applications to JBoss 7.1, the standard application server for JBoss 2.3
+* <<jbosstools, JBoss Tools Integration>> - JBoss Tools Integration
+
+[[maven]]
+== Maven
+Using Apache Maven with Seam 2.3 as the standard build tool.
+
+Maven 2.3 has migrated from Apache Ant to Apache Maven as the standard build tool following the same process as was done with Seam 3.0. Maven as a build tool is a defacto standard build tool in the Java ecosystem. Whether it is a favorite of yours or not, feature-wise the folder organization and dependency management of Maven is standard. The use of <<arquillian,arquillian>> is also arguably simpler to handle using Maven.
+
+To migrate from the Seam 2.2 setup to 2.3, _ear_ projects will need to be broken up into a maven multimodule project, and _war_ projects will need just be converted to one maven war project.
+
+== Folder Organization
+
+The following are description on how to organize Seam 2.3 project in the Maven build tool environment.
+
+=== Ear Project Organization
+
+The folder organization of Seam 2.3 in Maven typically consists of one main project, the `pom` project. The `pom` project in Maven, is the project that doesn't have any source files onto itself but contains the projects that are required for the build. In an ear based project. Inside of the `pom` ear based project folder contains three subfolders one for the ear project, one for the war project, one for the arquillian (formerly seam test) project, and one for the ejb project. Given a parent `pom` project called `myproject`, some ideas for the the subfolders would include `myproject-ear`, `myproject-web`, `myproject-test`, and `myproject-ejb`. You can refer to the examples in the *examples-ee6* folder for some general ideas as to how to create the folder organization for your Seam 2.3 project.
+
+Taking the folder structure of the *registration* module in the *examples-ee6* folder of the Seam 2.3. distribution. The <<earprojectstructure,registration folder structure>> shown below shows the typical setup.
+
+.Typical ear project structure
+[[earprojectstructure]]
+image::ear_structure.png[Seam 2.3 Ear Setup,scaledwidth="50%",scaledheight="50%"]
+
+The pom.xml in the bottom of the diagram is the parent pom that contains modules for `registration-ear`, `registration-web`, `registration-test`, and `registration-ejb`. It will also contain http://http://maven.apache.org/pom.html#Plugin_Management[plugin management] and http://maven.apache.org/guides/introduction/introduction-to-dependency-me... management] information for each of the submodules. Inside of each module, there is another child pom that has information on it's own dependencies and plugins.
+
+==== Ear Module
+The ear project submodule will typically contain all ear based configurations with no source files whatsoever. The module is short, since not much needs to be held within it. <<listing3, Listing 3>> contains the folder structure of what is contained inside of an ear module. The `src/main/application/META-INF` will store the configuration files necessary to create an ear file. Namely the `jboss-deployment-structure.xml` and any `*-ds.xml` iron-jacamar database descriptor file that is required for deployment.
+
+.ear module
+[[listing3]]
+image::ear_module.png[Ear Module Structure,scaledwidth="50%",scaledheight="50%"]
+
+The `jboss-deployment-structure.xml` file contains what resources will be made available by the Jboss 7.1.1 server modules. In order to investigate what modules are available by your Jboss server navigate to the `modules` directory on whatever server type you will be running. If you are a running a `standalone` server then the modules directory will be located in the `$JBOSS_HOME/server/standalone/modules` directory.
+
+.Sample jboss-deployment-structure.xml
+[[listing4]]
+----
+<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
+ <deployment>
+ <dependencies>
+ <module name="org.hibernate" export="true"/>
+ <module name="javax.faces.api" export="true"/>
+ <module name="com.sun.jsf-impl" export="true"/>
+ <module name="org.apache.commons.collections" export="true"/>
+ <module name="org.dom4j" export="true"/>
+ <module name="org.antlr" export="true"/>
+ </dependencies>
+ </deployment>
+</jboss-deployment-structure>
+----
+==== Web Module
+Web stuff
+
+==== Test Module
+Test stuff
+
+=== War Project Organization
+War proj stuff
+
+==== Web Module
+Web stuff
+
+==== Test Module
+Test stuff
+
+== Dependencies
+Dependencies
+
+=== Bill of Materials
+Bill of Materials
+
+== Using Ant
+Using Ant
+
+[[arquillian]]
+== Arquillian
+Seam Test migration to Arquillian Testing.
+
+[[seam]]
+== Seam Changes
+Package changes. Code changes, and Notable deprecations
+
+[[jboss71]]
+== JBoss 7.1
+How to deploy applications to JBoss 7.1, the standard application server for JBoss 2.3
+
+[[jbosstools]]
+== JBoss Tools
+Using Jboss Tools
12 years, 3 months