h2. Overview

SASH2 is the second major release version of an open source stack supported by sourcelabs.  SASH stands for Struts, Axis, Spring, Hibernate - the four major technologies supported in the SASH stack to support web application and web service development.  MAP's version of SASH2 differs from the widely available SASH2 in that it replaces struts 1 with struts 2, and also includes sitemesh.  It is likely that sourcelabs will support these technologies in a future release, at which point we will once again be on the vanilla SASH stack.

h2.  Java 4 and Java 5 Versions

SASH2 supports both Java 4 and Java 5 by offering two different sets of jars.  Struts 2 is by default only supported in Java 5, but they offer retrotranslated core jars, and the means to generate retrotranslated jars for other non-core struts2 components.  No version of sitemesh requires Java 5, so it is compatible with both.  As such, the MAP SASH2 stack also has two versions.  The Java 5 version consists of Java 5 SASH2 with Struts 1 replaced with Standard struts 2, and sitemesh.  The Java 4 has Java 4 SASH2, with Struts 1 replaced with a retrotranslated version of Struts 2, the runtime retrotranslator jars, and sitemesh.

h2.  Java 5


h3.  Maven Dependencies

Following is a listing of maven dependencies recommended by MAP for Java 5.

{code}
<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>spring-core</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.4-1</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp;&nbsp; <artifactId>spring-hibernate3</artifactId>
&nbsp;&nbsp;&nbsp;&nbsp; <version>2.0.4-1</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>spring-aop</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.4-1</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>hibernate</artifactId>
&nbsp;&nbsp;&nbsp; <version>3.2.3-2</version>
&nbsp;&nbsp;&nbsp; <exclusions>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jacc-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.security</groupId>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jta-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.transaction</groupId>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; </exclusions>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>hibernate-annotations</artifactId>
&nbsp;&nbsp;&nbsp; <version>3.3.3-2</version>
&nbsp;&nbsp;&nbsp; <exclusions>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jacc-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.security</groupId>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jta-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.transaction</groupId>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; </exclusions>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>hibernate-commons-annotations</artifactId>
&nbsp;&nbsp;&nbsp; <version>3.3.3-2</version>
&nbsp;&nbsp;&nbsp; <exclusions>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jacc-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.security</groupId>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jta-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.transaction</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jms-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.jms</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; </exclusions>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>hibernate-entity-manager</artifactId>
&nbsp;&nbsp;&nbsp; <version>3.3.3-2</version>
&nbsp;&nbsp;&nbsp; <exclusions>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jacc-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.security</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jta-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.transaction</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; </exclusions>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>spring-jpa</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.4-1</version>
&nbsp;&nbsp;&nbsp; <exclusions>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jms-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.jms</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jacc-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.security</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <exclusion>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <artifactId>jta-api</artifactId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <groupId>javax.transaction</groupId>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </exclusion>
&nbsp;&nbsp;&nbsp; </exclusions>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>spring-mock</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.4-1</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>org.apache.struts</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>struts2-core</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.9</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>org.apache.struts</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>struts2-sitemesh-plugin</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.9</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>org.apache.struts</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>struts2-spring-plugin</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.9</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>opensymphony</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>sitemesh</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.3</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>javax.persistence</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>persistence-api</artifactId>
&nbsp;&nbsp;&nbsp; <version>1.0</version>
</dependency>

<dependency>
&nbsp;&nbsp;&nbsp; <groupId>com.sourcelabs.sash</groupId>
&nbsp;&nbsp;&nbsp; <artifactId>spring-remoting</artifactId>
&nbsp;&nbsp;&nbsp; <version>2.0.4-1</version>
</dependency>
{/code}
\\


h3. &nbsp;Jar Listing

*Axis*
* axis-1.4-1.jar
* axis-ant-1.4-1.jar

*Freemarker*
* freemarker-2.3.8.jar&nbsp;

*Hibernate*
* hibernate-3.2.3-2.jar
* hibernate-annotations-3.3.3-2.jar
* hibernate-commons-annotations-3.3.3-2.jar
* hibernate-entity-manager-3.3.3-2.jar
* hibernate-jpa-api-3.3.3-2.jar
* hibernate-search-3.3.3-2.jar
* hibernate-shards-3.3.3-2.jar
* hibernate-validator-3.3.3-2.jar

*Sitemesh*
* sitemesh-2.3.jar&nbsp;

*Spring*
* spring-agent-2.0.4-1.jar
* spring-aop-2.0.4-1.jar
* spring-aspects-2.0.4-1.jar
* spring-beans-2.0.4-1.jar
* spring-context-2.0.4-1.jar
* spring-core-2.0.4-1.jar
* spring-dao-2.0.4-1.jar
* spring-hibernate3-2.0.4-1.jar
* spring-ibatis-2.0.4-1.jar
* spring-jca-2.0.4-1.jar
* spring-jdbc-2.0.4-1.jar
* spring-jdo-2.0.4-1.jar
* spring-jms-2.0.4-1.jar
* spring-jpa-2.0.4-1.jar
* spring-mock-2.0.4-1.jar
* spring-portlet-2.0.4-1.jar
* spring-remoting-2.0.4-1.jar
* spring-support-2.0.4-1.jar
* spring-tomcat-weaver-2.0.4-1.jar
* spring-toplink-2.0.4-1.jar
* spring-web-2.0.4-1.jar
* spring-webmvc-2.0.4-1.jar

*Struts 2*
* struts2-core-2.0.11.jar
* struts2-spring-plugin-2.0.11.jar

*Other Dependencies*
* antlr-2.7.6-2.jar
* asm2-2.2.3-2.jar
* asm2-commons-2.2.3-2.jar
* asm2-util-2.2.3-2.jar
* asm-1.5.3-3.jar
* asm-attrs-1.5.3-3.jar
* asm-util.1.5.3-3.jar
* aspectwerkz-core-1.1-3.jar
* cglib-2.1.3-3.jar
* cglib-nodep-2.1.3-3.jar
* commons-beanutils-1.7.0-4.jar
* commons-chain-1.1-1.jar
* commons-codec-1.3-3.jar
* commons-collections-3.2-2.jar
* commons-daemon-1.0.1-1.jar
* commons-dbcp-1.2.2-2.jar
* commons-digester-1.8-2.jar
* commons-discovery-0.4-1.jar
* commons-el-1.0-1.jar
* commons-fileupload-1.2-1.jar
* commons-httpclient-3.0.1-1.jar
* commons-io-1.3.1-1.jar
* commons-lang-2.3.1.jar
* commons-launcher-1.1-1.jar
* commons-logging-1.0.4.jar
* commons-logging-api-1.1.0-2.jar
* commons-modeler-2.0-2.jar
* commons-pool-1.3-1.jar
* commons-validator-1.3.1-1.jar
* ehcache-1.2.4-2.jar
* javassist-3.4-2.jar
* jaxrpc-1.1-3.jar
* jsp-api-2.0-1.jar
* jstl-1.1.2-3.jar
* log4j-1.2..13-2.jar
* oro-2.0.8-3.jar
* quartz-1.6.0-1.jar
* regexp-1.4-3.jar
* saaj-1.2-3.jar
* servlet-api-2.4-1.jar
* taglibs-standard-1.1.2-3.jar
* wsdl4j-1.5.2-2.jar
* ognl-2.6.11.jar
* retrotranslator-runtime-1.2.2.jar
* velocity-1.5-1.jar
* velocity-tools-view-1.3-1.jar
* xwork-j4-2.0.4.jar

h2. &nbsp;Java 4 Jar Listing

\\

*Axis*
* axis-1.4-1.jar
* axis-ant-1.4-1.jar

*Freemarker*
* freemarker-2.3.8.jar&nbsp;

*Hibernate*
* hibernate-3.2.3-2.jar
* hibernate-annotations-3.3.3-2.jar
* hibernate-commons-annotations-3.3.3-2.jar
* hibernate-entity-manager-3.3.3-2.jar
* hibernate-jpa-api-3.3.3-2.jar
* hibernate-search-3.3.3-2.jar
* hibernate-shards-3.3.3-2.jar
* hibernate-validator-3.3.3-2.jar

*Retrotranslator*
* retrotranslator-runtime-1.2.2.jar&nbsp;

*Sitemesh*
* sitemesh-2.3.jar&nbsp;

*Spring*
* spring-agent-2.0.4-1.jar
* spring-aop-2.0.4-1.jar
* spring-aspects-2.0.4-1.jar
* spring-beans-2.0.4-1.jar
* spring-context-2.0.4-1.jar
* spring-core-2.0.4-1.jar
* spring-dao-2.0.4-1.jar
* spring-hibernate3-2.0.4-1.jar
* spring-ibatis-2.0.4-1.jar
* spring-jca-2.0.4-1.jar
* spring-jdbc-2.0.4-1.jar
* spring-jdo-2.0.4-1.jar
* spring-jms-2.0.4-1.jar
* spring-jpa-2.0.4-1.jar
* spring-mock-2.0.4-1.jar
* spring-portlet-2.0.4-1.jar
* spring-remoting-2.0.4-1.jar
* spring-support-2.0.4-1.jar
* spring-tomcat-weaver-2.0.4-1.jar
* spring-toplink-2.0.4-1.jar
* spring-web-2.0.4-1.jar
* spring-webmvc-2.0.4-1.jar

*Struts 2*
* struts2-core-j4-2.0.11.jar
* struts2-spring-plugin-j4.2.0.11.jar

*Other Dependencies*
* antlr-2.7.6-2.jar
* asm2-2.2.3-2.jar
* asm2-commons-2.2.3-2.jar
* asm2-util-2.2.3-2.jar
* asm-1.5.3-3.jar
* asm-attrs-1.5.3-3.jar
* asm-util.1.5.3-3.jar
* aspectwerkz-core-1.1-3.jar
* cglib-2.1.3-3.jar
* cglib-nodep-2.1.3-3.jar
* commons-beanutils-1.7.0-4.jar
* commons-chain-1.1-1.jar
* commons-codec-1.3-3.jar
* commons-collections-3.2-2.jar
* commons-daemon-1.0.1-1.jar
* commons-dbcp-1.2.2-2.jar
* commons-digester-1.8-2.jar
* commons-discovery-0.4-1.jar
* commons-el-1.0-1.jar
* commons-fileupload-1.2-1.jar
* commons-httpclient-3.0.1-1.jar
* commons-io-1.3.1-1.jar
* commons-lang-2.3.1.jar
* commons-launcher-1.1-1.jar
* commons-logging-1.0.4.jar
* commons-logging-api-1.1.0-2.jar
* commons-modeler-2.0-2.jar
* commons-pool-1.3-1.jar
* commons-validator-1.3.1-1.jar
* ehcache-1.2.4-2.jar
* javassist-3.4-2.jar
* jaxrpc-1.1-3.jar
* jsp-api-2.0-1.jar
* jstl-1.1.2-3.jar
* log4j-1.2..13-2.jar
* oro-2.0.8-3.jar
* quartz-1.6.0-1.jar
* regexp-1.4-3.jar
* saaj-1.2-3.jar
* servlet-api-2.4-1.jar
* taglibs-standard-1.1.2-3.jar
* wsdl4j-1.5.2-2.jar
* ognl-2.6.11.jar
* retrotranslator-runtime-1.2.2.jar
* velocity-1.5-1.jar
* velocity-tools-view-1.3-1.jar
* xwork-j4-2.0.4.jar