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