Merge branch 'master' of ssh://git.eclipse.org/gitroot/eclipselink/examples
diff --git a/dbws/dbws.maven/README.md b/dbws/dbws.maven/README.md
index 4182ed3..25ccc1e 100644
--- a/dbws/dbws.maven/README.md
+++ b/dbws/dbws.maven/README.md
@@ -5,7 +5,7 @@
 This pom.xml and its config.properties file simplifies this. Simply edit the config.properties file to match the version 
 and install location of the EclipseLink release and execute mvn.
 
-After this fas completed successfully other projects can reference these artifacts using:
+After this has completed successfully other projects can reference these artifacts using:
 
 		<dependency>
 			<groupId>org.eclipse.persistence</groupId>
diff --git a/dbws/dbws.maven/pom.xml b/dbws/dbws.maven/pom.xml
index 8db7267..908227e 100644
--- a/dbws/dbws.maven/pom.xml
+++ b/dbws/dbws.maven/pom.xml
@@ -61,7 +61,6 @@
 					<groupId>commonj.sdo</groupId>
 				</exclusion>
 			</exclusions> 
-			<scope>test</scope>
 		</dependency>
 
 		<dependency>
@@ -75,7 +74,6 @@
 			<groupId>org.eclipse.persistence</groupId>
 			<artifactId>dbws.builder</artifactId>
 			<version>${eclipselink.version}</version>
-			<scope>test</scope>
 		</dependency>
 
 		<dependency>
diff --git a/dbws/dbws.maven/src/main/java/org/eclipse/persistence/tools/dbws/MavenPackager.java b/dbws/dbws.maven/src/main/java/org/eclipse/persistence/tools/dbws/MavenPackager.java
index 419c94e..9781ce5 100644
--- a/dbws/dbws.maven/src/main/java/org/eclipse/persistence/tools/dbws/MavenPackager.java
+++ b/dbws/dbws.maven/src/main/java/org/eclipse/persistence/tools/dbws/MavenPackager.java
@@ -12,14 +12,59 @@
  ******************************************************************************/
 package org.eclipse.persistence.tools.dbws;
 
+import static org.eclipse.persistence.internal.xr.Util.DBWS_OR_XML;
+import static org.eclipse.persistence.internal.xr.Util.DBWS_OX_XML;
+import static org.eclipse.persistence.internal.xr.Util.DBWS_SERVICE_XML;
 import static org.eclipse.persistence.tools.dbws.DBWSPackager.ArchiveUse.noArchive;
 
-public class MavenPackager extends IDEPackager {
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
 
+public class MavenPackager extends IDEPackager {
+	File resourceDir;
+	String resourceDirName;
+	
     public MavenPackager() {
         super(null, "maven", noArchive);
         srcDirname = "java";
         publicHTMLDirname = "webapp";
+        resourceDirName = "META-INF";
+    }
+    
+    protected void buildResourceDir() throws FileNotFoundException {
+        buildSrcDir();
+    	resourceDir = new File(srcDir, resourceDirName);
+        if (!resourceDir.exists()) {
+            boolean worked = resourceDir.mkdir();
+            if (!worked) {
+                throw new FileNotFoundException("cannot create " + resourceDirName + " under " + srcDir);
+            }
+        }
     }
 
-}
+    @Override
+    public OutputStream getOxStream() throws FileNotFoundException {
+    	buildResourceDir();
+        return new FileOutputStream(new File(resourceDir, DBWS_OX_XML));
+    }
+    
+    @Override
+    public OutputStream getSessionsStream(String sessionsFileName) throws FileNotFoundException {
+    	buildResourceDir();
+        return new FileOutputStream(new File(resourceDir, sessionsFileName));
+    }
+
+    @Override
+    public OutputStream getServiceStream() throws FileNotFoundException {
+    	buildResourceDir();
+        return new FileOutputStream(new File(resourceDir, DBWS_SERVICE_XML));
+    }
+
+    @Override
+    public OutputStream getOrStream() throws FileNotFoundException {
+    	buildResourceDir();
+        return new FileOutputStream(new File(resourceDir, DBWS_OR_XML));
+    }
+}
\ No newline at end of file
diff --git a/dbws/dbws.simple/pom.xml b/dbws/dbws.simple/pom.xml
index 02855da..8f92238 100644
--- a/dbws/dbws.simple/pom.xml
+++ b/dbws/dbws.simple/pom.xml
@@ -84,6 +84,13 @@
 			<version>5.1.24</version>
 			<scope>test</scope>
 		</dependency>
+        
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+            <version>11.2.0</version>
+            <scope>test</scope>
+        </dependency>
 
 		<dependency>
 			<groupId>org.eclipse.persistence</groupId>
@@ -143,6 +150,26 @@
 					<target>1.7</target>
 				</configuration>
 			</plugin>
+            
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>create-empty-directory</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <mkdir dir="${project.basedir}/target/generated-src/java" />
+                                <mkdir dir="${project.basedir}/target/generated-src/webapp" />
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
 
 			<plugin>
 				<groupId>org.codehaus.mojo</groupId>
@@ -170,16 +197,6 @@
 					</execution>
 				</executions>
 			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<includes>
-						<include>${project.basedir}/target/generated-src/java/**/*.java</include>
-					</includes>
-				</configuration>
-			</plugin>
 		</plugins>
 
 		<resources>
@@ -191,6 +208,5 @@
 			</resource>
 		</resources>
 
-
 	</build>
 </project>
diff --git a/jpa/employee.dynamic/README.md b/jpa/employee.dynamic/README.md
new file mode 100644
index 0000000..c039e28
--- /dev/null
+++ b/jpa/employee.dynamic/README.md
@@ -0,0 +1,4 @@
+EclipseLink Dynamic Example
+===========================
+
+This example illustrates the use of EclipseLink's dynamic JPA support with the Employee example model. This approach uses 
\ No newline at end of file
diff --git a/jpa/employee/README.md b/jpa/employee/README.md
index 69108e8..c25bf66 100644
--- a/jpa/employee/README.md
+++ b/jpa/employee/README.md
@@ -8,6 +8,8 @@
 employee.model
 --------------
 
+The employee model mapped using JPA annotations.
+
 employee.web
 ------------
 
@@ -16,9 +18,5 @@
 employee.web-js
 ---------------
 
-TODO
+This is a Thin Server Architecture version of the Employee web application leveraging EclipseLink JPA-RS on the server and a HTML5/JavaScript based client.
 
-employee.model-nosql
---------------------
-
-TODO
\ No newline at end of file
diff --git a/jpa/employee/employee.model-nosql/.project b/jpa/employee/employee.model-nosql/.project
deleted file mode 100644
index a66e384..0000000
--- a/jpa/employee/employee.model-nosql/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>Employee Example - model NoSQL</name>
-	<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/jpa/employee/employee.model/README.md b/jpa/employee/employee.model/README.md
index 1fff78e..3b165aa 100644
--- a/jpa/employee/employee.model/README.md
+++ b/jpa/employee/employee.model/README.md
@@ -1,4 +1,6 @@
 EclipseLink Example
 ===================
 
-http://wiki.eclipse.org/EclipseLink/Examples
\ No newline at end of file
+Employee example model project illustrating an annotation mapped model. This project is leveraged by the employee.web and employee.web-js projects.
+
+http://wiki.eclipse.org/EclipseLink/Examples/JPA/Employee
\ No newline at end of file
diff --git a/jpa/employee/employee.model/src/config/weblogic/config.properties b/jpa/employee/employee.model/src/config/weblogic/config.properties
new file mode 100644
index 0000000..b90e907
--- /dev/null
+++ b/jpa/employee/employee.model/src/config/weblogic/config.properties
@@ -0,0 +1,17 @@
+# WebLogic 12.1.2
+domain.name=7001_Domain
+admin.url=t3://localhost:7001
+admin.userName=weblogic
+admin.password=Password1
+
+# Data source to be used by example
+datasource.name=EmployeeDS
+datasource.jndiname=java:global/employeeDS
+datasource.database.name=employee
+datasource.target=AdminServer
+datasource.driver.class=com.mysql.jdbc.Driver
+datasource.url=jdbc:mysql://localhost:3306/employee
+datasource.username=root
+datasource.password=password
+datasource.test.query=SQL SELECT * FROM DUAL
+
diff --git a/jpa/employee/employee.model/src/config/weblogic/createDataSource.py b/jpa/employee/employee.model/src/config/weblogic/createDataSource.py
new file mode 100644
index 0000000..70cec07
--- /dev/null
+++ b/jpa/employee/employee.model/src/config/weblogic/createDataSource.py
@@ -0,0 +1,71 @@
+from java.io import FileInputStream
+
+propInputStream = FileInputStream("config.properties")
+configProps = Properties()
+configProps.load(propInputStream)
+
+domainName=configProps.get("domain.name")
+adminURL=configProps.get("admin.url")
+adminUserName=configProps.get("admin.userName")
+adminPassword=configProps.get("admin.password")
+
+dsName=configProps.get("datasource.name")
+dsDatabaseName=configProps.get("datasource.database.name")
+datasourceTarget=configProps.get("datasource.target")
+dsJNDIName=configProps.get("datasource.jndiname")
+dsDriverName=configProps.get("datasource.driver.class")
+dsURL=configProps.get("datasource.url")
+dsUserName=configProps.get("datasource.username")
+dsPassword=configProps.get("datasource.password")
+dsTestQuery=configProps.get("datasource.test.query")
+
+connect(adminUserName, adminPassword, adminURL)
+edit()
+startEdit()
+cd('/')
+
+### Checking for the server
+try: 
+    cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName)
+    print '===> /JDBCSystemResources/' +dsName+'/JDBCResource/ already exists'
+    print '===> No action was performed'
+    cancelEdit('y')
+    exit()
+except:
+    pass
+
+cd('/')
+cmo.createJDBCSystemResource(dsName)
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName)
+cmo.setName(dsName)
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
+set('JNDINames',jarray.array([String( dsJNDIName )], String))
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName )
+cmo.setUrl(dsURL)
+cmo.setDriverName( dsDriverName )
+cmo.setPassword(dsPassword)
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName )
+cmo.setTestTableName(dsTestQuery)
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
+cmo.createProperty('user')
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user')
+cmo.setValue(dsUserName)
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
+cmo.createProperty('databaseName')
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/databaseName')
+cmo.setValue(dsDatabaseName)
+
+cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
+cmo.setGlobalTransactionsProtocol('OnePhaseCommit')
+
+cd('/SystemResources/' + dsName )
+set('Targets',jarray.array([ObjectName('com.bea:Name=' + datasourceTarget + ',Type=Server')], ObjectName))
+
+save()
+activate()
\ No newline at end of file
diff --git a/jpa/employee/employee.model/src/config/weblogic/createDataSource.sh b/jpa/employee/employee.model/src/config/weblogic/createDataSource.sh
new file mode 100755
index 0000000..4650f31
--- /dev/null
+++ b/jpa/employee/employee.model/src/config/weblogic/createDataSource.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+if [ $# -eq 0 ] 
+	then
+    echo "No arguments supplied: Must provide directory where WLS 12.1.2 is installed"
+    echo " USAGE: ./createDataSource.sh ~/java/wls_1212"
+    exit
+fi
+
+pushd $1/wlserver/server/bin
+
+. ./setWLSEnv.sh
+
+popd
+
+java weblogic.WLST createDataSource.py
diff --git a/jpa/employee/employee.model/src/CascadeMergeTest.launch b/jpa/employee/employee.model/src/eclipse/CascadeMergeTest.launch
similarity index 100%
rename from jpa/employee/employee.model/src/CascadeMergeTest.launch
rename to jpa/employee/employee.model/src/eclipse/CascadeMergeTest.launch
diff --git a/jpa/employee/employee.model/src/ConfigTest.launch b/jpa/employee/employee.model/src/eclipse/ConfigTest.launch
similarity index 100%
rename from jpa/employee/employee.model/src/ConfigTest.launch
rename to jpa/employee/employee.model/src/eclipse/ConfigTest.launch
diff --git a/jpa/employee/employee.model/src/DiagnosticsTest.launch b/jpa/employee/employee.model/src/eclipse/DiagnosticsTest.launch
similarity index 100%
rename from jpa/employee/employee.model/src/DiagnosticsTest.launch
rename to jpa/employee/employee.model/src/eclipse/DiagnosticsTest.launch
diff --git a/jpa/employee/employee.model/src/EditEmployeeTest.launch b/jpa/employee/employee.model/src/eclipse/EditEmployeeTest.launch
similarity index 100%
rename from jpa/employee/employee.model/src/EditEmployeeTest.launch
rename to jpa/employee/employee.model/src/eclipse/EditEmployeeTest.launch
diff --git a/jpa/employee/employee.model/src/JavaSEExample.launch b/jpa/employee/employee.model/src/eclipse/JavaSEExample.launch
similarity index 100%
rename from jpa/employee/employee.model/src/JavaSEExample.launch
rename to jpa/employee/employee.model/src/eclipse/JavaSEExample.launch
diff --git a/jpa/employee/employee.model/src/JavaSEExampleTest.launch b/jpa/employee/employee.model/src/eclipse/JavaSEExampleTest.launch
similarity index 100%
rename from jpa/employee/employee.model/src/JavaSEExampleTest.launch
rename to jpa/employee/employee.model/src/eclipse/JavaSEExampleTest.launch
diff --git a/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/SamplePopulation.java b/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/SamplePopulation.java
index 9749ea6..66a982f 100644
--- a/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/SamplePopulation.java
+++ b/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/SamplePopulation.java
@@ -20,7 +20,7 @@
  * Examples illustrating the use of JPA with the employee domain
  * eclipselink.example.jpa.employee.model.
  * 
- * @see test.JavaSEExampleTest
+ * @see eclipselink.example.jpa.employee.test.model.JavaSEExampleTest
  * 
  * @author dclarke
  * @since EclipseLink 2.4
diff --git a/jpa/employee/employee.model/src/test/java/example/PersistenceTesting.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/PersistenceTesting.java
similarity index 97%
rename from jpa/employee/employee.model/src/test/java/example/PersistenceTesting.java
rename to jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/PersistenceTesting.java
index e2185fe..303eded 100644
--- a/jpa/employee/employee.model/src/test/java/example/PersistenceTesting.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/PersistenceTesting.java
@@ -10,7 +10,7 @@
  * Contributors:
  *  dclarke - Employee Demo 2.4.2
  ******************************************************************************/
-package example;
+package eclipselink.example.jpa.employee.test;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/jpa/employee/employee.model/src/test/java/test/ConfigTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/model/ConfigTest.java
similarity index 91%
rename from jpa/employee/employee.model/src/test/java/test/ConfigTest.java
rename to jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/model/ConfigTest.java
index b6de111..19412d2 100644
--- a/jpa/employee/employee.model/src/test/java/test/ConfigTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/model/ConfigTest.java
@@ -10,7 +10,7 @@
  * Contributors:
  *  dclarke - Employee Demo 2.4
  ******************************************************************************/
-package test;
+package eclipselink.example.jpa.employee.test.model;
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
@@ -19,7 +19,7 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import example.PersistenceTesting;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 public class ConfigTest {
 
diff --git a/jpa/employee/employee.model/src/test/java/test/JavaSEExampleTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/model/JavaSEExampleTest.java
similarity index 93%
rename from jpa/employee/employee.model/src/test/java/test/JavaSEExampleTest.java
rename to jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/model/JavaSEExampleTest.java
index 6a2f003..e355ef1 100644
--- a/jpa/employee/employee.model/src/test/java/test/JavaSEExampleTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/model/JavaSEExampleTest.java
@@ -10,7 +10,7 @@
  * Contributors:
  *  dclarke - Employee Demo 2.4
  ******************************************************************************/
-package test;
+package eclipselink.example.jpa.employee.test.model;
 
 import org.junit.Test;
 
diff --git a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/DiagnosticsTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/DiagnosticsTest.java
index 04487b4..1e01073 100644
--- a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/DiagnosticsTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/DiagnosticsTest.java
@@ -28,7 +28,7 @@
 import eclipselink.example.jpa.employee.model.SamplePopulation;
 import eclipselink.example.jpa.employee.services.Diagnostics;
 import eclipselink.example.jpa.employee.services.Diagnostics.SQLTrace;
-import example.PersistenceTesting;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 public class DiagnosticsTest {
 
diff --git a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/EditEmployeeTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/EditEmployeeTest.java
index 2b60e5e..22f9265 100644
--- a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/EditEmployeeTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/EditEmployeeTest.java
@@ -26,7 +26,7 @@
 import eclipselink.example.jpa.employee.model.SamplePopulation;
 import eclipselink.example.jpa.employee.services.EditEmployee;
 import eclipselink.example.jpa.employee.services.EditEmployeeBean;
-import example.PersistenceTesting;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 /**
  * TODO
diff --git a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java
index 05a40e2..d308860 100644
--- a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java
@@ -28,7 +28,7 @@
 import eclipselink.example.jpa.employee.services.Diagnostics.SQLTrace;
 import eclipselink.example.jpa.employee.services.EmployeeCriteria;
 import eclipselink.example.jpa.employee.services.EntityPaging;
-import example.PersistenceTesting;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 /**
  * TODO
diff --git a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java
index 955b398..5f7a6a5 100644
--- a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java
@@ -28,7 +28,7 @@
 import eclipselink.example.jpa.employee.services.Diagnostics.SQLTrace;
 import eclipselink.example.jpa.employee.services.EmployeeCriteria;
 import eclipselink.example.jpa.employee.services.EntityPaging;
-import example.PersistenceTesting;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 /**
  * TODO
diff --git a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/StreamEmployeesTest.java b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/StreamEmployeesTest.java
index 20bbeff..51ad195 100644
--- a/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/StreamEmployeesTest.java
+++ b/jpa/employee/employee.model/src/test/java/eclipselink/example/jpa/employee/test/services/StreamEmployeesTest.java
@@ -29,7 +29,7 @@
 import eclipselink.example.jpa.employee.services.Diagnostics.SQLTrace;
 import eclipselink.example.jpa.employee.services.EmployeeCriteria;
 import eclipselink.example.jpa.employee.services.EntityPaging;
-import example.PersistenceTesting;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 /**
  * TODO
diff --git a/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java b/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java
index 6491076..b715358 100644
--- a/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java
+++ b/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java
@@ -22,12 +22,13 @@
 import eclipselink.example.jpa.employee.model.SamplePopulation;
 import eclipselink.example.jpa.employee.services.EmployeeCriteria;
 import eclipselink.example.jpa.employee.services.EntityPaging;
+import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
 /**
  * Examples illustrating the use of JPA with the employee domain
  * eclipselink.example.jpa.employee.model.
  * 
- * @see test.JavaSEExampleTest
+ * @see eclipselink.example.jpa.employee.test.model.JavaSEExampleTest
  * 
  * @author dclarke
  * @since EclipseLink 2.4
diff --git a/jpa/employee/employee.model/src/test/java/test/CascadeMergeTest.java b/jpa/employee/employee.model/src/test/java/test/CascadeMergeTest.java
deleted file mode 100644
index a0ee9f1..0000000
--- a/jpa/employee/employee.model/src/test/java/test/CascadeMergeTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2013 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the 
- * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- * which accompanies this distribution. 
- * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- * and the Eclipse Distribution License is available at 
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * Contributors:
- *  dclarke - Employee Demo 2.4
- ******************************************************************************/
-package test;
-
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.TypedQuery;
-
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eclipselink.example.jpa.employee.model.Employee;
-import eclipselink.example.jpa.employee.model.SamplePopulation;
-import eclipselink.example.jpa.employee.services.Diagnostics;
-import eclipselink.example.jpa.employee.services.Diagnostics.SQLTrace;
-import example.PersistenceTesting;
-
-public class CascadeMergeTest {
-
-    @Test
-    public void test() {
-        EntityManager em = getEmf().createEntityManager();
-
-        TypedQuery<Employee> query = em.createQuery("SELECT e FROM Employee e WHERE e.address IS NOT NULL", Employee.class);
-
-        List<Employee> emps = query.getResultList();
-
-        Employee emp = emps.get(0);
-
-        Assert.assertNotNull(emp);
-        Assert.assertNotNull(emp.getAddress());
-
-        em.detach(emp);
-        
-        em.close();
-
-        em = getEmf().createEntityManager();
-        emp.getAddress().setCity(emp.getAddress().getCity() + "+");
-
-        em.getTransaction().begin();
-        em.merge(emp);
-        
-        getDiagnostics().start();
-        em.flush();
-        SQLTrace trace = getDiagnostics().stop();
-        
-        Assert.assertEquals(1, trace.getEntries().size());
-        Assert.assertTrue(trace.getEntries().get(0).getMessage().startsWith("UPDATE ADDRESS"));
-        
-        em.getTransaction().rollback();
-        em.close();
-    }
-
-    private static EntityManagerFactory emf;
-
-    private static Diagnostics diagnostics;
-    
-    public static EntityManagerFactory getEmf() {
-        return emf;
-    }
-
-    public static Diagnostics getDiagnostics() {
-        return diagnostics;
-    }
-
-    @BeforeClass
-    public static void createEMF() {
-        emf = PersistenceTesting.createEMF(true);
-        diagnostics = Diagnostics.getInstance(emf);
-        
-        EntityManager em = emf.createEntityManager();
-        new SamplePopulation().createNewEmployees(em, 1);
-
-        Number count = em.createNamedQuery("Employee.count", Number.class).getSingleResult();
-        Assert.assertEquals(1, count.intValue());
-
-        em.close();
-
-        emf.getCache().evictAll();
-    }
-
-    @AfterClass
-    public static void closeEMF() {
-        if (emf != null && emf.isOpen()) {
-            emf.close();
-        }
-        emf = null;
-    }
-
-}
diff --git a/jpa/employee/employee.model/src/test/java/test/PessimisticLockTest.java b/jpa/employee/employee.model/src/test/java/test/PessimisticLockTest.java
deleted file mode 100644
index 1762946..0000000
--- a/jpa/employee/employee.model/src/test/java/test/PessimisticLockTest.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2013 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the 
- * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
- * which accompanies this distribution. 
- * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
- * and the Eclipse Distribution License is available at 
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * Contributors:
- *  dclarke - Employee Demo 2.4
- ******************************************************************************/
-package test;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.LockModeType;
-
-import org.eclipse.persistence.descriptors.ClassDescriptor;
-import org.eclipse.persistence.jpa.JpaHelper;
-import org.eclipse.persistence.queries.ReadObjectQuery;
-import org.eclipse.persistence.queries.ReportQuery;
-import org.eclipse.persistence.sessions.UnitOfWork;
-import org.eclipse.persistence.sessions.server.ClientSession;
-import org.eclipse.persistence.sessions.server.Server;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import eclipselink.example.jpa.employee.model.Address;
-import eclipselink.example.jpa.employee.model.SamplePopulation;
-import eclipselink.example.jpa.employee.services.Diagnostics;
-import example.PersistenceTesting;
-
-/**
- * Simple test case illustrating pessimistic lock usage.
- * 
- * @author dclarke
- * @since EclispeLink 2.4.2
- */
-public class PessimisticLockTest {
-
-    @Test
-    public void test() {
-        EntityManager em = getEmf().createEntityManager();
-
-        int id = em.createQuery("SELECT a.id FROM Address a", Number.class).getSingleResult().intValue();
-
-        em.getTransaction().begin();
-
-        Address addr = em.find(Address.class, id, LockModeType.PESSIMISTIC_WRITE);
-
-        Assert.assertNotNull(addr);
-        Assert.assertNull(addr.getCity());
-        Assert.assertEquals(em.getLockMode(addr), LockModeType.PESSIMISTIC_WRITE);
-
-        addr.setCity("Ottawa");
-
-        Assert.assertNotNull(addr.getCity());
-
-        em.lock(addr, LockModeType.PESSIMISTIC_WRITE);
-
-        Assert.assertEquals(em.getLockMode(addr), LockModeType.PESSIMISTIC_WRITE);
-        Assert.assertNotNull(addr.getCity());
-
-        em.getTransaction().rollback();
-
-        em.close();
-    }
-
-    @Test
-    public void testRefreshIfNewerTXN() {
-        EntityManager em = getEmf().createEntityManager();
-
-        int id = em.createQuery("SELECT a.id FROM Address a", Number.class).getSingleResult().intValue();
-
-        em.getTransaction().begin();
-
-        Address addr = em.find(Address.class, id);
-
-        Assert.assertNotNull(addr);
-        Assert.assertNull(addr.getCity());
-
-        addr.setCity("Ottawa");
-
-        Assert.assertNotNull(addr.getCity());
-
-        em.refresh(addr);
-
-        Assert.assertNotNull(addr.getCity());
-
-        em.getTransaction().rollback();
-
-        em.close();
-    }
-
-    @Test
-    public void testRefreshIfNewer() {
-        EntityManager em = getEmf().createEntityManager();
-
-        int id = em.createQuery("SELECT a.id FROM Address a", Number.class).getSingleResult().intValue();
-
-        Address addr = em.find(Address.class, id);
-
-        Assert.assertNotNull(addr);
-        Assert.assertNull(addr.getCity());
-
-        addr.setCity("Ottawa");
-
-        Assert.assertNotNull(addr.getCity());
-
-        em.refresh(addr);
-
-        Assert.assertNotNull(addr.getCity());
-
-        em.close();
-    }
-
-    @Test
-    public void testRefreshIfNewerNativeServer() {
-        Server session = JpaHelper.getServerSession(getEmf());
-
-        ReportQuery idQuery = new ReportQuery();
-        idQuery.setReferenceClass(Address.class);
-        idQuery.addAttribute("id");
-        idQuery.setShouldReturnSingleAttribute(true);
-        idQuery.setShouldReturnSingleValue(true);
-
-        int id = ((Number) session.executeQuery(idQuery)).intValue();
-
-        ReadObjectQuery addrQuery = new ReadObjectQuery();
-        addrQuery.setReferenceClass(Address.class);
-        addrQuery.setSelectionCriteria(addrQuery.getExpressionBuilder().get("id").equal(id));
-
-        Address addr = (Address) session.executeQuery(addrQuery);
-
-        Assert.assertNotNull(addr);
-        Assert.assertNull(addr.getCity());
-
-        addr.setCity("Ottawa");
-
-        Assert.assertNotNull(addr.getCity());
-
-        session.refreshObject(addr);
-
-        Assert.assertNotNull(addr.getCity());
-
-    }
-
-    @Test
-    public void testRefreshIfNewerNativeClientSession() {
-        Server session = JpaHelper.getServerSession(getEmf());
-        ClientSession cs = session.acquireClientSession();
-
-        ReportQuery idQuery = new ReportQuery();
-        idQuery.setReferenceClass(Address.class);
-        idQuery.addAttribute("id");
-        idQuery.setShouldReturnSingleAttribute(true);
-        idQuery.setShouldReturnSingleValue(true);
-
-        int id = ((Number) cs.executeQuery(idQuery)).intValue();
-
-        ReadObjectQuery addrQuery = new ReadObjectQuery();
-        addrQuery.setReferenceClass(Address.class);
-        addrQuery.setSelectionCriteria(addrQuery.getExpressionBuilder().get("id").equal(id));
-
-        Address addr = (Address) cs.executeQuery(addrQuery);
-
-        Assert.assertNotNull(addr);
-        Assert.assertNull(addr.getCity());
-
-        addr.setCity("Ottawa");
-
-        Assert.assertNotNull(addr.getCity());
-
-        cs.refreshObject(addr);
-
-        Assert.assertNotNull(addr.getCity());
-
-    }
-
-    @Test
-    public void testRefreshIfNewerNativeUOW() {
-        Server session = JpaHelper.getServerSession(getEmf());
-        UnitOfWork uow = session.acquireUnitOfWork();
-
-        ReportQuery idQuery = new ReportQuery();
-        idQuery.setReferenceClass(Address.class);
-        idQuery.addAttribute("id");
-        idQuery.setShouldReturnSingleAttribute(true);
-        idQuery.setShouldReturnSingleValue(true);
-
-        int id = ((Number) uow.executeQuery(idQuery)).intValue();
-
-        ReadObjectQuery addrQuery = new ReadObjectQuery();
-        addrQuery.setReferenceClass(Address.class);
-        addrQuery.setSelectionCriteria(addrQuery.getExpressionBuilder().get("id").equal(id));
-
-        Address addr = (Address) uow.executeQuery(addrQuery);
-
-        Assert.assertNotNull(addr);
-        Assert.assertNull(addr.getCity());
-
-        addr.setCity("Ottawa");
-
-        Assert.assertNotNull(addr.getCity());
-
-        uow.refreshObject(addr);
-
-        Assert.assertNotNull(addr.getCity());
-
-    }
-
-    @Test
-    public void verifyConfig() {
-        ClassDescriptor desc = JpaHelper.getServerSession(getEmf()).getClassDescriptorForAlias("Address");
-        Assert.assertNotNull(desc);
-
-        Assert.assertTrue(desc.getCachePolicy().shouldOnlyRefreshCacheIfNewerVersion());
-    }
-
-    private static EntityManagerFactory emf;
-
-    private static Diagnostics diagnostics;
-
-    public static EntityManagerFactory getEmf() {
-        return emf;
-    }
-
-    public static Diagnostics getDiagnostics() {
-        return diagnostics;
-    }
-
-    @BeforeClass
-    public static void createEMF() {
-        emf = PersistenceTesting.createEMF(true);
-        diagnostics = Diagnostics.getInstance(emf);
-
-        EntityManager em = emf.createEntityManager();
-        new SamplePopulation().createNewEmployees(em, 1);
-
-        Number count = em.createNamedQuery("Employee.count", Number.class).getSingleResult();
-        Assert.assertEquals(1, count.intValue());
-
-        em.close();
-
-        emf.getCache().evictAll();
-    }
-
-    @AfterClass
-    public static void closeEMF() {
-        if (emf != null && emf.isOpen()) {
-            emf.close();
-        }
-        emf = null;
-    }
-
-    @Before
-    public void clearCache() {
-        JpaHelper.getServerSession(getEmf()).getIdentityMapAccessor().initializeAllIdentityMaps();
-    }
-}
diff --git a/jpars/student/student.model/.project b/jpars/student/student.model/.project
index b58b9a5..2cdc7cf 100644
--- a/jpars/student/student.model/.project
+++ b/jpars/student/student.model/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>StudentModel</name>
+	<name>jpars.student.model</name>
 	<comment>EclipseLink JPARS Student Example</comment>
 	<projects>
 	</projects>
diff --git a/jpars/student/student.web/.project b/jpars/student/student.web/.project
index d79deb6..c546f7d 100644
--- a/jpars/student/student.web/.project
+++ b/jpars/student/student.web/.project
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>StudentWebApp</name>
+	<name>jpars.student.web</name>
 	<comment></comment>
 	<projects>
-		<project>StudentModel</project>
+		<project>jpars.student.model</project>
 	</projects>
 	<buildSpec>
 		<buildCommand>
diff --git a/jpars/student/student.web/.settings/org.eclipse.wst.common.component b/jpars/student/student.web/.settings/org.eclipse.wst.common.component
index d10da96..4821c87 100644
--- a/jpars/student/student.web/.settings/org.eclipse.wst.common.component
+++ b/jpars/student/student.web/.settings/org.eclipse.wst.common.component
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="StudentWebApp">
+    <wb-module deploy-name="jpars.student.web">
         <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
         <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
-        <dependent-module archiveName="student.model-2.4.2-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/StudentModel/StudentModel">
+        <dependent-module archiveName="student.model-2.4.2-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/jpars.student.model/jpars.student.model">
             <dependency-type>uses</dependency-type>
         </dependent-module>
-        <property name="java-output-path" value="/StudentWebApp/target/classes"/>
+        <property name="java-output-path" value="/jpars.student.web/target/classes"/>
         <property name="context-root" value="student.web"/>
     </wb-module>
 </project-modules>
diff --git a/jpars/student/student.web/src/main/webapp/WEB-INF/web.xml b/jpars/student/student.web/src/main/webapp/WEB-INF/web.xml
index f8c1e89..18afc7c 100644
--- a/jpars/student/student.web/src/main/webapp/WEB-INF/web.xml
+++ b/jpars/student/student.web/src/main/webapp/WEB-INF/web.xml
@@ -1,6 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-	version="3.0">
-</web-app>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"/>
\ No newline at end of file