Split admin into admin.services and admin.web maven projects
diff --git a/admin.services/.classpath b/admin.services/.classpath
new file mode 100644
index 0000000..edc9698
--- /dev/null
+++ b/admin.services/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/admin/.project b/admin.services/.project
similarity index 94%
copy from admin/.project
copy to admin.services/.project
index 15234ef..3da5702 100644
--- a/admin/.project
+++ b/admin.services/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>admin</name>
+	<name>admin.services</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/admin/.settings/org.eclipse.core.resources.prefs b/admin.services/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from admin/.settings/org.eclipse.core.resources.prefs
copy to admin.services/.settings/org.eclipse.core.resources.prefs
diff --git a/admin/.settings/org.eclipse.jdt.core.prefs b/admin.services/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from admin/.settings/org.eclipse.jdt.core.prefs
copy to admin.services/.settings/org.eclipse.jdt.core.prefs
diff --git a/admin/.settings/org.eclipse.m2e.core.prefs b/admin.services/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
copy from admin/.settings/org.eclipse.m2e.core.prefs
copy to admin.services/.settings/org.eclipse.m2e.core.prefs
diff --git a/admin.services/pom.xml b/admin.services/pom.xml
new file mode 100644
index 0000000..e3985fb
--- /dev/null
+++ b/admin.services/pom.xml
@@ -0,0 +1,92 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>eclipselink.example.mysports</groupId>
+	<artifactId>admin.services</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<packaging>jar</packaging>
+
+	<name>MySports Admin Services</name>
+	<url>http://wiki.eclipse.org/EclipseLink/Examples/MySports</url>
+
+	<repositories>
+		<repository>
+			<id>EclipseLink</id>
+			<url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
+		</repository>
+	</repositories>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<eclipselink.version>2.4.2-SNAPSHOT</eclipselink.version>
+	</properties>
+
+	<dependencies>
+
+		<dependency>
+			<groupId>org.eclipse.persistence</groupId>
+			<artifactId>eclipselink</artifactId>
+			<version>${eclipselink.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>commonj.sdo</artifactId>
+					<groupId>commonj.sdo</groupId>
+				</exclusion>
+			</exclusions>
+			<scope>provided</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.eclipse.persistence</groupId>
+			<artifactId>javax.persistence</artifactId>
+			<version>2.0.0</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>javax</groupId>
+			<artifactId>javaee-web-api</artifactId>
+			<version>6.0</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>com.sun.jersey</groupId>
+			<artifactId>jersey-client</artifactId>
+			<version>1.16</version>
+		</dependency>
+
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.11</version>
+			<scope>test</scope>
+		</dependency>
+
+
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>persistence</artifactId>
+			<version>${project.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>2.3.2</version>
+				<configuration>
+					<source>1.6</source>
+					<target>1.6</target>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/DataIsolation.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/DataIsolation.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/DataIsolation.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/DataIsolation.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/Datasource.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/Datasource.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/Datasource.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/Datasource.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/Extension.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/Extension.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/Extension.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/Extension.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/GlassFish.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/GlassFish.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/GlassFish.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/GlassFish.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/HostEnvironment.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/HostEnvironment.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/HostEnvironment.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/HostEnvironment.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/HostedLeague.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/HostedLeague.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/HostedLeague.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/HostedLeague.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/Style.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/Style.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/Style.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/Style.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/WebLogic.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/WebLogic.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/WebLogic.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/WebLogic.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/model/jaxb.properties b/admin.services/src/main/java/eclipselink/example/mysports/admin/model/jaxb.properties
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/model/jaxb.properties
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/model/jaxb.properties
diff --git a/admin.services/src/main/java/eclipselink/example/mysports/admin/services/App.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/App.java
new file mode 100644
index 0000000..1fce487
--- /dev/null
+++ b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/App.java
@@ -0,0 +1,13 @@
+package eclipselink.example.mysports.admin.services;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepository.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepository.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepository.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepository.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepositoryBean.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepositoryBean.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepositoryBean.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostEnvironmentRepositoryBean.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepository.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepository.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepository.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepository.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepositoryBean.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepositoryBean.java
similarity index 97%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepositoryBean.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepositoryBean.java
index 00ed551..0f1107d 100644
--- a/admin/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepositoryBean.java
+++ b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/HostedLeagueRepositoryBean.java
@@ -19,7 +19,6 @@
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 
-import eclipselink.example.mysports.admin.jaxrs.MappingsLoader;
 import eclipselink.example.mysports.admin.model.HostedLeague;
 import eclipselink.example.mysports.admin.model.Style;
 
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/MappingsLoader.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/MappingsLoader.java
similarity index 98%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/MappingsLoader.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/MappingsLoader.java
index 202a8e2..1889fe6 100644
--- a/admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/MappingsLoader.java
+++ b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/MappingsLoader.java
@@ -10,7 +10,7 @@
  * Contributors:
  *  dclarke - EclipseLink 2.3 - MySports Demo Bug 344608
  ******************************************************************************/
-package eclipselink.example.mysports.admin.jaxrs;
+package eclipselink.example.mysports.admin.services;
 
 import java.io.StringWriter;
 import java.util.ArrayList;
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/MyService.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/MyService.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/MyService.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/MyService.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/JDBCResource.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/JDBCResource.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/JDBCResource.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/JDBCResource.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/MOXyContextHelper.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/MOXyContextHelper.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/MOXyContextHelper.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/MOXyContextHelper.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Message.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Message.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Message.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Message.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Properties.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Properties.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Properties.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Properties.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Property.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Property.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Property.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Property.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/RESTOperations.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/RESTOperations.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/RESTOperations.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/RESTOperations.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Result.java b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Result.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Result.java
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/Result.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/jaxb.properties b/admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/jaxb.properties
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/services/glassfish/jaxb.properties
rename to admin.services/src/main/java/eclipselink/example/mysports/admin/services/glassfish/jaxb.properties
diff --git a/admin/src/main/resources/META-INF/eclipselink-oxm.xml b/admin.services/src/main/resources/META-INF/eclipselink-oxm.xml
similarity index 100%
rename from admin/src/main/resources/META-INF/eclipselink-oxm.xml
rename to admin.services/src/main/resources/META-INF/eclipselink-oxm.xml
diff --git a/admin/src/main/resources/META-INF/persistence.xml b/admin.services/src/main/resources/META-INF/persistence.xml
similarity index 100%
rename from admin/src/main/resources/META-INF/persistence.xml
rename to admin.services/src/main/resources/META-INF/persistence.xml
diff --git a/admin.services/src/test/java/eclipselink/example/mysports/admin/services/AppTest.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/services/AppTest.java
new file mode 100644
index 0000000..d2b7092
--- /dev/null
+++ b/admin.services/src/test/java/eclipselink/example/mysports/admin/services/AppTest.java
@@ -0,0 +1,38 @@
+package eclipselink.example.mysports.admin.services;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/CreateDatabase.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/CreateDatabase.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/CreateDatabase.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/CreateDatabase.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/CreateHostEnvironments.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/CreateHostEnvironments.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/CreateHostEnvironments.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/CreateHostEnvironments.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/CreateLeagues.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/CreateLeagues.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/CreateLeagues.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/CreateLeagues.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/PersistenceTesting.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/PersistenceTesting.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/PersistenceTesting.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/PersistenceTesting.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/VerifyModelAndMappings.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/VerifyModelAndMappings.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/VerifyModelAndMappings.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/VerifyModelAndMappings.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
similarity index 96%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
index 989b8c6..282504e 100644
--- a/admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
+++ b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappingsWriter;
 import org.junit.Test;
 
-import eclipselink.example.mysports.admin.jaxrs.MappingsLoader;
+import eclipselink.example.mysports.admin.services.MappingsLoader;
 import eclipselink.example.mysports.admin.test.PersistenceTesting;
 
 public class CreateOrmXML {
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/Leagues.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java
similarity index 66%
rename from persistence/src/main/java/eclipselink/example/mysports/persistence/admin/Leagues.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java
index 7634310..5c39e4a 100644
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/Leagues.java
+++ b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java
@@ -10,24 +10,18 @@
  * Contributors:
  *  dclarke - EclipseLink 2.3 - MySports Demo Bug 344608
  ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
+package eclipselink.example.mysports.admin.test.league;
 
-import java.util.ArrayList;
-import java.util.List;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * Represents the list of leagues returned form the Admin service's REST call as
- * an XML document.
- * 
  * @author dclarke
  * @since EclipseLink 2.3.0
  */
-public class Leagues {
-
-    private List<League> leagues = new ArrayList<League>();
-
-    public List<League> getLeagues() {
-        return leagues;
-    }
+@RunWith(Suite.class)
+@SuiteClasses({ DynamicJAXBTests.class})
+public class AllTests {
 
 }
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/league/DynamicJAXBTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/league/DynamicJAXBTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/league/DynamicJAXBTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/league/DynamicJAXBTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/AllTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/AllTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/AllTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/AllTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/BaseJsonRestTest.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/BaseJsonRestTest.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/BaseJsonRestTest.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/BaseJsonRestTest.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/MOXyContextTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/MOXyContextTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/MOXyContextTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/MOXyContextTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_Tests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_Tests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_Tests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_Tests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_property_Tests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_property_Tests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_property_Tests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCConnectPool_mysports_property_Tests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCResourcesTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCResourcesTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCResourcesTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseJDBCResourcesTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCConnectionPoolsTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCConnectionPoolsTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCConnectionPoolsTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCConnectionPoolsTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCResourcesTests.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCResourcesTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCResourcesTests.java
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/ParseListJDBCResourcesTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports.json b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports.json
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports.json
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports.json
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports_property.json b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports_property.json
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports_property.json
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-connection-pool_mysports_property.json
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-resource.json b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-resource.json
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-resource.json
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/jdbc-resource.json
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-connection-pools.json b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-connection-pools.json
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-connection-pools.json
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-connection-pools.json
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-resources.json b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-resources.json
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-resources.json
rename to admin.services/src/test/java/eclipselink/example/mysports/admin/test/services/glassfish/list-jdbc-resources.json
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/black.css b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/black.css
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/style/black.css
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/black.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/default.css b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/default.css
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/style/default.css
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/default.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/green.css b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/green.css
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/style/green.css
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/green.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/red.css b/admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/red.css
similarity index 100%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/style/red.css
copy to admin.services/src/test/java/eclipselink/example/mysports/admin/test/style/red.css
diff --git a/admin/.classpath b/admin.web/.classpath
similarity index 100%
rename from admin/.classpath
rename to admin.web/.classpath
diff --git a/admin/.project b/admin.web/.project
similarity index 95%
rename from admin/.project
rename to admin.web/.project
index 15234ef..37dc1b8 100644
--- a/admin/.project
+++ b/admin.web/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>admin</name>
+	<name>admin.web</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/admin/.settings/org.eclipse.core.resources.prefs b/admin.web/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from admin/.settings/org.eclipse.core.resources.prefs
rename to admin.web/.settings/org.eclipse.core.resources.prefs
diff --git a/admin/.settings/org.eclipse.jdt.core.prefs b/admin.web/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from admin/.settings/org.eclipse.jdt.core.prefs
rename to admin.web/.settings/org.eclipse.jdt.core.prefs
diff --git a/admin/.settings/org.eclipse.m2e.core.prefs b/admin.web/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from admin/.settings/org.eclipse.m2e.core.prefs
rename to admin.web/.settings/org.eclipse.m2e.core.prefs
diff --git a/admin.web/pom.xml b/admin.web/pom.xml
new file mode 100644
index 0000000..ae7d0af
--- /dev/null
+++ b/admin.web/pom.xml
@@ -0,0 +1,81 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>eclipselink.example.mysports</groupId>
+	<artifactId>admin.web</artifactId>
+	<packaging>war</packaging>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>MySports Admin WebApp</name>
+	<url>http://wiki.eclipse.org/EclipseLink/Examples/MySports</url>
+
+	<repositories>
+		<repository>
+			<id>EclipseLink</id>
+			<url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
+		</repository>
+	</repositories>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<eclipselink.version>2.4.2-SNAPSHOT</eclipselink.version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>admin.services</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.eclipse.persistence</groupId>
+			<artifactId>eclipselink</artifactId>
+			<version>${eclipselink.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>commonj.sdo</artifactId>
+					<groupId>commonj.sdo</groupId>
+				</exclusion>
+			</exclusions>
+			<scope>provided</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>javax</groupId>
+			<artifactId>javaee-web-api</artifactId>
+			<version>6.0</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.11</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>${project.groupId}</groupId>
+			<artifactId>persistence</artifactId>
+			<version>${project.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<finalName>admin.web</finalName>
+
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>2.3.2</version>
+				<configuration>
+					<source>1.6</source>
+					<target>1.6</target>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/HostedLeaguesService.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jaxrs/HostedLeaguesService.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/HostedLeaguesService.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jaxrs/HostedLeaguesService.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/MySportsContextResolver.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jaxrs/MySportsContextResolver.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jaxrs/MySportsContextResolver.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jaxrs/MySportsContextResolver.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/CreateLeague.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/CreateLeague.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/CreateLeague.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/CreateLeague.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/CurrentUser.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/CurrentUser.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/CurrentUser.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/CurrentUser.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/DatasourceRepositoryBean.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/DatasourceRepositoryBean.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/DatasourceRepositoryBean.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/DatasourceRepositoryBean.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/HostEnvironmentRepositoryBean.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/HostEnvironmentRepositoryBean.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/HostEnvironmentRepositoryBean.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/HostEnvironmentRepositoryBean.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/LeagueRepository.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/LeagueRepository.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/LeagueRepository.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/LeagueRepository.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/MySportsPhaseListener.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/MySportsPhaseListener.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/MySportsPhaseListener.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/MySportsPhaseListener.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/NoCacheFilter.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/NoCacheFilter.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/NoCacheFilter.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/NoCacheFilter.java
diff --git a/admin/src/main/java/eclipselink/example/mysports/admin/jsf/ViewLeague.java b/admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/ViewLeague.java
similarity index 100%
rename from admin/src/main/java/eclipselink/example/mysports/admin/jsf/ViewLeague.java
rename to admin.web/src/main/java/eclipselink/example/mysports/admin/jsf/ViewLeague.java
diff --git a/admin/src/main/resources/hthl.png b/admin.web/src/main/resources/hthl.png
similarity index 100%
rename from admin/src/main/resources/hthl.png
rename to admin.web/src/main/resources/hthl.png
Binary files differ
diff --git a/admin/src/main/resources/kfl.png b/admin.web/src/main/resources/kfl.png
similarity index 100%
rename from admin/src/main/resources/kfl.png
rename to admin.web/src/main/resources/kfl.png
Binary files differ
diff --git a/admin/src/main/resources/mha.png b/admin.web/src/main/resources/mha.png
similarity index 100%
rename from admin/src/main/resources/mha.png
rename to admin.web/src/main/resources/mha.png
Binary files differ
diff --git a/admin/src/main/resources/osl.png b/admin.web/src/main/resources/osl.png
similarity index 100%
rename from admin/src/main/resources/osl.png
rename to admin.web/src/main/resources/osl.png
Binary files differ
diff --git a/admin/src/main/webapp/META-INF/MANIFEST.MF b/admin.web/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from admin/src/main/webapp/META-INF/MANIFEST.MF
rename to admin.web/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/admin/src/main/webapp/WEB-INF/faces-config.xml b/admin.web/src/main/webapp/WEB-INF/faces-config.xml
similarity index 100%
rename from admin/src/main/webapp/WEB-INF/faces-config.xml
rename to admin.web/src/main/webapp/WEB-INF/faces-config.xml
diff --git a/admin/src/main/webapp/WEB-INF/sun-web.xml b/admin.web/src/main/webapp/WEB-INF/sun-web.xml
similarity index 100%
rename from admin/src/main/webapp/WEB-INF/sun-web.xml
rename to admin.web/src/main/webapp/WEB-INF/sun-web.xml
diff --git a/admin/src/main/webapp/WEB-INF/web.xml b/admin.web/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from admin/src/main/webapp/WEB-INF/web.xml
rename to admin.web/src/main/webapp/WEB-INF/web.xml
diff --git a/admin/src/main/webapp/about.xhtml b/admin.web/src/main/webapp/about.xhtml
similarity index 100%
rename from admin/src/main/webapp/about.xhtml
rename to admin.web/src/main/webapp/about.xhtml
diff --git a/admin/src/main/webapp/default.css b/admin.web/src/main/webapp/default.css
similarity index 100%
rename from admin/src/main/webapp/default.css
rename to admin.web/src/main/webapp/default.css
diff --git a/admin/src/main/webapp/images/bg_button_a.gif b/admin.web/src/main/webapp/images/bg_button_a.gif
similarity index 100%
rename from admin/src/main/webapp/images/bg_button_a.gif
rename to admin.web/src/main/webapp/images/bg_button_a.gif
Binary files differ
diff --git a/admin/src/main/webapp/images/bg_button_span.gif b/admin.web/src/main/webapp/images/bg_button_span.gif
similarity index 100%
rename from admin/src/main/webapp/images/bg_button_span.gif
rename to admin.web/src/main/webapp/images/bg_button_span.gif
Binary files differ
diff --git a/admin/src/main/webapp/images/eclipselink.png b/admin.web/src/main/webapp/images/eclipselink.png
similarity index 100%
rename from admin/src/main/webapp/images/eclipselink.png
rename to admin.web/src/main/webapp/images/eclipselink.png
Binary files differ
diff --git a/admin/src/main/webapp/images/mysports.png b/admin.web/src/main/webapp/images/mysports.png
similarity index 100%
rename from admin/src/main/webapp/images/mysports.png
rename to admin.web/src/main/webapp/images/mysports.png
Binary files differ
diff --git a/admin/src/main/webapp/index.jsp b/admin.web/src/main/webapp/index.jsp
similarity index 100%
rename from admin/src/main/webapp/index.jsp
rename to admin.web/src/main/webapp/index.jsp
diff --git a/admin/src/main/webapp/index.xhtml b/admin.web/src/main/webapp/index.xhtml
similarity index 100%
rename from admin/src/main/webapp/index.xhtml
rename to admin.web/src/main/webapp/index.xhtml
diff --git a/admin/src/main/webapp/league.xhtml b/admin.web/src/main/webapp/league.xhtml
similarity index 100%
rename from admin/src/main/webapp/league.xhtml
rename to admin.web/src/main/webapp/league.xhtml
diff --git a/admin/src/main/webapp/logos/hthl.png b/admin.web/src/main/webapp/logos/hthl.png
similarity index 100%
rename from admin/src/main/webapp/logos/hthl.png
rename to admin.web/src/main/webapp/logos/hthl.png
Binary files differ
diff --git a/admin/src/main/webapp/logos/kfl.png b/admin.web/src/main/webapp/logos/kfl.png
similarity index 100%
rename from admin/src/main/webapp/logos/kfl.png
rename to admin.web/src/main/webapp/logos/kfl.png
Binary files differ
diff --git a/admin/src/main/webapp/logos/osl.png b/admin.web/src/main/webapp/logos/osl.png
similarity index 100%
rename from admin/src/main/webapp/logos/osl.png
rename to admin.web/src/main/webapp/logos/osl.png
Binary files differ
diff --git a/admin/src/main/webapp/template.jsf b/admin.web/src/main/webapp/template.jsf
similarity index 100%
rename from admin/src/main/webapp/template.jsf
rename to admin.web/src/main/webapp/template.jsf
diff --git a/admin/src/main/webapp/xsds/leagues.xsd b/admin.web/src/main/webapp/xsds/leagues.xsd
similarity index 100%
rename from admin/src/main/webapp/xsds/leagues.xsd
rename to admin.web/src/main/webapp/xsds/leagues.xsd
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/Leagues.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java
similarity index 66%
copy from persistence/src/main/java/eclipselink/example/mysports/persistence/admin/Leagues.java
copy to admin.web/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java
index 7634310..4953bf3 100644
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/Leagues.java
+++ b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/AllTests.java
@@ -10,24 +10,19 @@
  * Contributors:
  *  dclarke - EclipseLink 2.3 - MySports Demo Bug 344608
  ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
+package eclipselink.example.mysports.admin.test;
 
-import java.util.ArrayList;
-import java.util.List;
+import eclipselink.example.mysports.admin.test.style.CreateStyles;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * Represents the list of leagues returned form the Admin service's REST call as
- * an XML document.
- * 
  * @author dclarke
  * @since EclipseLink 2.3.0
  */
-public class Leagues {
-
-    private List<League> leagues = new ArrayList<League>();
-
-    public List<League> getLeagues() {
-        return leagues;
-    }
+@RunWith(Suite.class)
+@SuiteClasses({ CreateStyles.class})
+public class AllTests {
 
 }
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
similarity index 96%
copy from admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
copy to admin.web/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
index 989b8c6..282504e 100644
--- a/admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
+++ b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateOrmXML.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappingsWriter;
 import org.junit.Test;
 
-import eclipselink.example.mysports.admin.jaxrs.MappingsLoader;
+import eclipselink.example.mysports.admin.services.MappingsLoader;
 import eclipselink.example.mysports.admin.test.PersistenceTesting;
 
 public class CreateOrmXML {
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/extensions/CreateXMLBindingsTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/league/AllTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/league/LeagueJAXBTests.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/league/LeagueJAXBTests.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/league/LeagueJAXBTests.java
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/league/LeagueJAXBTests.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/league/SchemaGenerator.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/league/SchemaGenerator.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/league/SchemaGenerator.java
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/league/SchemaGenerator.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/CreateStyles.java
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/black.css b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/black.css
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/style/black.css
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/black.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/blue.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/default.css b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/default.css
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/style/default.css
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/default.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/green.css b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/green.css
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/style/green.css
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/green.css
diff --git a/admin/src/test/java/eclipselink/example/mysports/admin/test/style/red.css b/admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/red.css
similarity index 100%
rename from admin/src/test/java/eclipselink/example/mysports/admin/test/style/red.css
rename to admin.web/src/test/java/eclipselink/example/mysports/admin/test/style/red.css
diff --git a/admin/pom.xml b/admin/pom.xml
deleted file mode 100644
index f0ada93..0000000
--- a/admin/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>eclipselink.example.mysports</groupId>
-    <artifactId>admin</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <packaging>war</packaging>
-
-    <name>MySports.admin</name>
-
-    <properties>
-        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>persistence</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-client</artifactId>
-            <version>1.16</version>
-        </dependency>
-       
-        <dependency>
-            <groupId>javax</groupId>
-            <artifactId>javaee-web-api</artifactId>
-            <version>6.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.11</version>
-            <scope>test</scope>
-            <type>jar</type>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.3.2</version>
-                <configuration>
-                    <source>1.6</source>
-                    <target>1.6</target>
-                    <compilerArguments>
-                        <endorseddirs>${endorsed.dir}</endorseddirs>
-                    </compilerArguments>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-war-plugin</artifactId>
-                <version>2.1.1</version>
-                <configuration>
-                    <failOnMissingWebXml>false</failOnMissingWebXml>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/admin/src/main/webapp/WEB-INF/lib/jersey-client-1.12.jar b/admin/src/main/webapp/WEB-INF/lib/jersey-client-1.12.jar
deleted file mode 100644
index f5f3af8..0000000
--- a/admin/src/main/webapp/WEB-INF/lib/jersey-client-1.12.jar
+++ /dev/null
Binary files differ
diff --git a/admin/src/main/webapp/WEB-INF/lib/jersey-core-1.12.jar b/admin/src/main/webapp/WEB-INF/lib/jersey-core-1.12.jar
deleted file mode 100644
index ab6295b..0000000
--- a/admin/src/main/webapp/WEB-INF/lib/jersey-core-1.12.jar
+++ /dev/null
Binary files differ
diff --git a/admin/src/main/webapp/WEB-INF/lib/org.eclipse.persistence.jpars_2.4.0.v20120608-r11652.jar b/admin/src/main/webapp/WEB-INF/lib/org.eclipse.persistence.jpars_2.4.0.v20120608-r11652.jar
deleted file mode 100644
index da3f6ee..0000000
--- a/admin/src/main/webapp/WEB-INF/lib/org.eclipse.persistence.jpars_2.4.0.v20120608-r11652.jar
+++ /dev/null
Binary files differ
diff --git a/application/pom.xml b/application/pom.xml
index 589ec89..af9ad63 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -6,11 +6,19 @@
     <artifactId>application</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <packaging>war</packaging>
-
     <name>MySports.application</name>
+	<url>http://wiki.eclipse.org/EclipseLink/Examples/MySports</url>
 
+ 	<repositories>
+		<repository>
+			<id>EclipseLink</id>
+			<url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
+		</repository>
+	</repositories>
+ 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <eclipselink.version>2.4.2-SNAPSHOT</eclipselink.version>
     </properties>
 
     <dependencies>
@@ -19,6 +27,27 @@
             <artifactId>persistence</artifactId>
             <version>${project.version}</version>
         </dependency>
+        
+ 		<dependency>
+			<groupId>org.eclipse.persistence</groupId>
+			<artifactId>eclipselink</artifactId>
+			<version>${eclipselink.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>commonj.sdo</artifactId>
+					<groupId>commonj.sdo</groupId>
+				</exclusion>
+			</exclusions>
+			<scope>provided</scope>
+		</dependency>
+
+		<!-- EclipseLink JPA-RS Web Fragment --> 
+        <dependency>
+        	<groupId>org.eclipse.persistence</groupId>
+        	<artifactId>org.eclipse.persistence.jpars</artifactId>
+        	<version>${eclipselink.version}</version>
+        </dependency>
+
         <dependency>
             <groupId>javax</groupId>
             <artifactId>javaee-web-api</artifactId>
@@ -32,13 +61,15 @@
             <version>4.11</version>
             <scope>test</scope>
         </dependency>
-
+        
         <dependency>
         	<groupId>${project.groupId}</groupId>
-        	<artifactId>admin</artifactId>
+        	<artifactId>admin.services</artifactId>
         	<version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+        
+
     </dependencies>
 
     <build>
diff --git a/application/src/main/webapp/WEB-INF/lib/org.eclipse.persistence.jpars_2.4.0.v20120608-r11652.jar b/application/src/main/webapp/WEB-INF/lib/org.eclipse.persistence.jpars_2.4.0.v20120608-r11652.jar
deleted file mode 100644
index da3f6ee..0000000
--- a/application/src/main/webapp/WEB-INF/lib/org.eclipse.persistence.jpars_2.4.0.v20120608-r11652.jar
+++ /dev/null
Binary files differ
diff --git a/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminMetadataSource.java b/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminMetadataSource.java
index 26cb29d..b4b2012 100644
--- a/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminMetadataSource.java
+++ b/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminMetadataSource.java
@@ -12,9 +12,6 @@
  ******************************************************************************/
 package eclipselink.example.mysports.application.test.admin;
 
-import eclipselink.example.mysports.admin.jaxrs.MappingsLoader;
-import eclipselink.example.mysports.application.test.TestingLeagueRepository;
-import static eclipselink.example.mysports.mysports.application.MySportsConfig.LEAGUE_CONTEXT;
 
 import java.io.Reader;
 import java.io.StringReader;
@@ -23,12 +20,14 @@
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
-
 import org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappings;
 import org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappingsReader;
 import org.eclipse.persistence.jpa.metadata.MetadataSource;
 import org.eclipse.persistence.logging.SessionLog;
 
+import eclipselink.example.mysports.admin.jaxrs.MappingsLoader;
+import eclipselink.example.mysports.application.test.TestingLeagueRepository;
+
 
 /**
  * {@link MetadataSource} which using REST calls to retrieve the league (tenant)
@@ -48,7 +47,7 @@
 
     @Override
     public XMLEntityMappings getEntityMappings(Map<String, Object> properties, ClassLoader classLoader, SessionLog log) {
-        String leagueId = (String) properties.get(LEAGUE_CONTEXT);
+        String leagueId = (String) properties.get("league");// TODO
 
         EntityManager em = getAdminEMF().createEntityManager();
 
diff --git a/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminServerConnector.java b/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminServerConnector.java
index cddf20b..12884de 100644
--- a/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminServerConnector.java
+++ b/application/src/test/java/eclipselink/example/mysports/application/test/admin/MockAdminServerConnector.java
@@ -22,8 +22,8 @@
 import javax.ws.rs.core.UriBuilder;
 import javax.ws.rs.core.UriInfo;
 
-import eclipselink.example.mysports.admin.jaxrs.HostedLeaguesService;
 import eclipselink.example.mysports.admin.model.HostedLeague;
+import eclipselink.example.mysports.admin.services.HostedLeagueRepository;
 import eclipselink.example.mysports.mysports.application.MySportsConfig;
 import eclipselink.example.mysports.mysports.application.admin.AdminServerConnector;
 import eclipselink.example.mysports.mysports.application.admin.HostedLeagues;
@@ -36,18 +36,21 @@
  */
 public class MockAdminServerConnector implements AdminServerConnector {
 
-    private HostedLeaguesService leaguesBean;
+    private HostedLeagueRepository leaguesRepository;
 
     private MySportsConfig config;
 
     private UriInfo uriInfo = new MockUriInfo();
 
     public void setEMF(EntityManagerFactory emf) {
-        this.leaguesBean = new HostedLeaguesService();
-        this.leaguesBean.setRepository(new MockHostedLeagueRepository(emf));
+        this.leaguesRepository = new MockHostedLeagueRepository(emf);
     }
 
-    @Override
+    public HostedLeagueRepository getRepository() {
+		return leaguesRepository;
+	}
+
+	@Override
     public MySportsConfig getConfig() {
         return this.config;
     }
@@ -58,7 +61,11 @@
     }
 
     public HostedLeagues getLeagues() {
-        List<HostedLeague> allLeagues = this.leaguesBean.allLeagues(this.uriInfo);
+    	List<HostedLeague> allLeagues = getRepository().allSharedLeagues();
+
+        for (HostedLeague hl : allLeagues) {
+            hl.setUri(this.uriInfo.getAbsolutePath() + "/" + hl.getId());
+        }
 
         HostedLeagues result = new HostedLeagues();
         for (HostedLeague hl : allLeagues) {
@@ -73,7 +80,10 @@
     }
 
     public League getLeague(String leagueId) {
-        HostedLeague hl = this.leaguesBean.getLeague(this.uriInfo, leagueId);
+        HostedLeague hl = getRepository().getLeague(leagueId);
+        if (hl != null) {
+        	hl.setUri(this.uriInfo.getAbsolutePath() + "/" + hl.getId());
+        }
 
         League l = null;
 
@@ -103,7 +113,7 @@
         return null;
     }
     public EntityManagerFactory getEMF() {
-        return ((MockHostedLeagueRepository)this.leaguesBean.getRepository()).getEmf();
+        return ((MockHostedLeagueRepository)getRepository()).getEmf();
     }
 
 
diff --git a/persistence/pom.xml b/persistence/pom.xml
index cf4029f..5c0f6ed 100644
--- a/persistence/pom.xml
+++ b/persistence/pom.xml
@@ -19,6 +19,7 @@
 
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <eclipselink.version>2.4.2-SNAPSHOT</eclipselink.version>
 	</properties>
 
 	<dependencies>
@@ -38,18 +39,20 @@
 		<dependency>
 			<groupId>org.eclipse.persistence</groupId>
 			<artifactId>eclipselink</artifactId>
-			<version>2.4.1</version>
+			<version>${eclipselink.version}</version>
 			<exclusions>
 				<exclusion>
 					<artifactId>commonj.sdo</artifactId>
 					<groupId>commonj.sdo</groupId>
 				</exclusion>
 			</exclusions>
+			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.persistence</groupId>
 			<artifactId>javax.persistence</artifactId>
 			<version>2.0.0</version>
+			<scope>provided</scope>
 		</dependency>
 	</dependencies>
 
@@ -62,9 +65,6 @@
 				<configuration>
 					<source>1.6</source>
 					<target>1.6</target>
-					<compilerArguments>
-						<endorseddirs>${endorsed.dir}</endorseddirs>
-					</compilerArguments>
 				</configuration>
 			</plugin>
 
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/MySportsConfig.java b/persistence/src/main/java/eclipselink/example/mysports/persistence/MySportsConfig.java
deleted file mode 100644
index 177da11..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/MySportsConfig.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2012 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 - EclipseLink 2.3 - MySports Demo Bug 344608
- ******************************************************************************/
-package eclipselink.example.mysports.persistence;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.persistence.EntityManagerFactory;
-
-import org.eclipse.persistence.annotations.Multitenant;
-
-import eclipselink.example.mysports.persistence.admin.AdminServerConnector;
-import eclipselink.example.mysports.persistence.admin.League;
-import eclipselink.example.mysports.persistence.admin.RESTAdminServerConnector;
-
-/**
- * Responsible for managing application context configuration. For now this is
- * hard coded for local deployment but will be made more flexible in the future.
- * 
- * @author dclarke
- * @since EclipseLink 2.3.0
- */
-public class MySportsConfig {
-
-    public static final String ADMIN_SERVER_CONTEXT_PROPERTY = "mysports.admin.context";
-
-    /**
-     * Context property used to specify the tenant configuration within the
-     * persistence unit. A value for this property must be available within the
-     * persistence context to access the {@link Multitenant} types.
-     */
-    public static final String LEAGUE_CONTEXT = "mysports.league";
-    public static final String LEAGUE_CONTEXT_NAME = "mysports.league.name";
-    public static final String LEAGUE_CONTEXT_COLOUR = "mysports.league.colour";
-    public static final String LEAGUE_CONTEXT_LOGO = "mysports.league.logo";
-
-    /**
-     * Template persistence unit name. This is the base PU which is used as a
-     * template for each tenant's persistence unit.
-     * 
-     * @see LeagueRepositoryImpl#setLeagueId(String, java.util.Map) for details of
-     *      how the PUs are created from template.
-     */
-    public static final String PU_NAME = "mysports";
-
-    public static final String ADMIN_CONNECTOR_PROPERTY = "mysports.admin-connector";
-
-    /**
-     * Property name to cache MySportsConfig instance in a map.
-     */
-    public static final String CONFIG_PROPERTY = MySportsConfig.class.getName();
-
-    /**
-     * TODO
-     */
-    private Properties properties;
-
-    /**
-     * Connector that allows access to the MySports Admin server.
-     * 
-     * @see RESTAdminServerConnector
-     */
-    private AdminServerConnector adminConnector;
-
-    /**
-     * TODO
-     */
-    private League league;
-
-    public MySportsConfig() {
-        properties = new Properties();
-
-        InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("my-sports.properties");
-        try {
-            properties.load(in);
-        } catch (IOException e) {
-            throw new RuntimeException("Failure loading my-sports.properties", e);
-        } finally {
-            try {
-                in.close();
-            } catch (IOException e) {
-            }
-        }
-
-    }
-
-    /**
-     * Retrieve the MySportsConfig from the provided map. If one is not present
-     * create one and add it to the map. This is used to lookup and initialize
-     * the cached instance in the {@link EntityManagerFactory}'s properties.
-     */
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    public static MySportsConfig get(Map properties) {
-        MySportsConfig config = (MySportsConfig) properties.get(CONFIG_PROPERTY);
-
-        if (config == null) {
-            config = new MySportsConfig();
-            properties.put(CONFIG_PROPERTY, config);
-        }
-        return config;
-    }
-
-    protected String getProperty(String name) {
-        return (String) this.properties.get(name);
-    }
-
-    public AdminServerConnector getAdminConnector() {
-        if (this.adminConnector == null) {
-            Object value = getProperty(ADMIN_CONNECTOR_PROPERTY);
-            if (value != null && value instanceof String) {
-
-                try {
-                    @SuppressWarnings("unchecked")
-                    Class<AdminServerConnector> connectorClass = (Class<AdminServerConnector>) Class.forName((String) value, true, Thread.currentThread().getContextClassLoader());
-
-                    if (!AdminServerConnector.class.isAssignableFrom(connectorClass)) {
-                        System.err.println("Invalid AdminServerConnector: " + connectorClass);
-                    }
-
-                    this.adminConnector = connectorClass.newInstance();
-                    this.adminConnector.setConfig(this);
-                } catch (Exception e) {
-                    throw new RuntimeException("Could not create AdminServerConnector with value: " + value, e);
-                }
-            }
-        }
-        return this.adminConnector;
-    }
-
-    public String getSessionName(String leagueId) {
-        if (isMultitenant()) {
-            if (leagueId == null || leagueId.isEmpty()) {
-                throw new IllegalArgumentException("Multitenant instance requires leagueId");
-            }
-            return TenantPerEMFProvider.SEPARATOR + LEAGUE_CONTEXT + TenantPerEMFProvider.EQUALS+  leagueId;
-        }
-        return null;
-    }
-
-    public boolean isMultitenant() {
-        return !this.properties.containsKey(LEAGUE_CONTEXT);
-    }
-
-    public String getAdminContext() {
-        return getProperty(ADMIN_SERVER_CONTEXT_PROPERTY);
-    }
-
-    public League getLeague(String leagueId) {
-        if (isMultitenant() && leagueId != null) {
-            getAdminConnector().getLeague(leagueId);
-        }
-
-        if (this.league == null && this.properties.containsKey(LEAGUE_CONTEXT)) {
-            this.league = new League();
-            this.league.setId(getProperty(LEAGUE_CONTEXT));
-            this.league.setName(getProperty(LEAGUE_CONTEXT_NAME));
-            this.league.setColourScheme(getProperty(LEAGUE_CONTEXT_COLOUR));
-            this.league.setLogoUrl(getProperty(LEAGUE_CONTEXT_LOGO));
-        }
-        return this.league;
-    }
-
-}
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/AdminMetadataSource.java b/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/AdminMetadataSource.java
deleted file mode 100644
index 54aef2e..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/AdminMetadataSource.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2012 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 - EclipseLink 2.3 - MySports Demo Bug 344608
- ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
-
-import static eclipselink.example.mysports.persistence.MySportsConfig.LEAGUE_CONTEXT;
-
-import java.util.Map;
-
-import org.eclipse.persistence.config.PersistenceUnitProperties;
-import org.eclipse.persistence.exceptions.ValidationException;
-import org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappings;
-import org.eclipse.persistence.jpa.metadata.MetadataSource;
-import org.eclipse.persistence.jpa.metadata.XMLMetadataSource;
-import org.eclipse.persistence.logging.SessionLog;
-
-import eclipselink.example.mysports.persistence.MySportsConfig;
-
-/**
- * {@link MetadataSource} which using REST calls to retrieve the league (tenant)
- * specific mappings from the MySports Admin application.
- * <p>
- * If the Admin application can not be reached a warning message is logged and
- * the contained 'local-eclipselink-orm.xml' is returned.
- * 
- * @author dclarke
- * @since EclipseLink 2.3.0
- */
-public class AdminMetadataSource extends XMLMetadataSource {
-
-    /**
-     * Default local resource. Only used when admin service cannot be accessed.
-     */
-    public static final String LOCAL_ECLIPSELINK_ORM = "META-INF/local-eclipselink-orm.xml";
-
-    @Override
-    public XMLEntityMappings getEntityMappings(Map<String, Object> properties, ClassLoader classLoader, SessionLog log) {
-        String leagueId = (String) properties.get(LEAGUE_CONTEXT);
-        MySportsConfig config = MySportsConfig.get(properties);
-
-        if (leagueId != null) {
-            if (config != null) {
-                properties.put(PersistenceUnitProperties.METADATA_SOURCE_XML_URL, config.getAdminConnector().getOrmURL(leagueId));
-            }
-            try {
-                return super.getEntityMappings(properties, classLoader, log);
-            } catch (ValidationException ve) {
-            } catch (NullPointerException npe) {
-
-            }
-
-            properties.remove(PersistenceUnitProperties.METADATA_SOURCE_XML_URL);
-            properties.put(PersistenceUnitProperties.METADATA_SOURCE_XML_FILE, LOCAL_ECLIPSELINK_ORM);
-            return super.getEntityMappings(properties, classLoader, log);
-        }
-        return null;
-    }
-
-}
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/AdminServerConnector.java b/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/AdminServerConnector.java
deleted file mode 100644
index 001524d..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/AdminServerConnector.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2012 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 - EclipseLink 2.3 - MySports Demo Bug 344608
- ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import eclipselink.example.mysports.persistence.MySportsConfig;
-
-/**
- * Interface to access the admin server. This abstraction is provided so the
- * runtime can use the default {@link RESTAdminServerConnector} while testing
- * outside the container can provide a local version.
- * 
- * @author dclarke
- * @since EclipseLink 2.3.0
- */
-public interface AdminServerConnector {
-    
-    MySportsConfig getConfig();
-    
-    void setConfig(MySportsConfig config);
-
-    /**
-     * Return the list of leagues (tenants) available.
-     */
-    Leagues getLeagues();
-
-    /**
-     * Retrieve the league (name and version) from the admin server.
-     */
-    League getLeague(String leagueId);
-
-    String getOrmURL(String leagueId);
-    
-    InputStream getCss(String leagueId) throws IOException;
-
-    InputStream getLogo(String leagueId) throws IOException;
-    
-}
\ No newline at end of file
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/League.java b/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/League.java
deleted file mode 100644
index 74d1638..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/League.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2012 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 - EclipseLink 2.3 - MySports Demo Bug 344608
- ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
-
-
-/**
- * League as defined on the admin server.
- * 
- * @author dclarke
- * @since EclipseLink 2.3.0
- */
-public class League {
-    private String id;
-    private long version;
-    private String name;
-    private String colourScheme;
-    private String logoUrl;
-    private String uri;
-    private String datasource;
-
-    public String getId() {
-        return id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public long getVersion() {
-        return version;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public void setVersion(long version) {
-        this.version = version;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getColourScheme() {
-        return colourScheme;
-    }
-
-    public void setColourScheme(String colourScheme) {
-        this.colourScheme = colourScheme;
-    }
-
-    public String getLogoUrl() {
-        return logoUrl;
-    }
-
-    public void setLogoUrl(String logoUrl) {
-        this.logoUrl = logoUrl;
-    }
-
-    public String getUri() {
-        return uri;
-    }
-
-    public void setUri(String uri) {
-        this.uri = uri;
-    }
-
-    public String getDatasource() {
-        return datasource;
-    }
-
-    public void setDatasource(String datasource) {
-        this.datasource = datasource;
-    }
-}
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/MoxyContextHelper.java b/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/MoxyContextHelper.java
deleted file mode 100644
index e5f844b..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/MoxyContextHelper.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2012 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 - EclipseLink 2.3 - MySports Demo Bug 344608
- ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
-
-import static org.eclipse.persistence.jaxb.MarshallerProperties.MEDIA_TYPE;
-import static org.eclipse.persistence.jaxb.UnmarshallerProperties.JSON_INCLUDE_ROOT;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-
-import org.eclipse.persistence.jaxb.JAXBContextFactory;
-import org.eclipse.persistence.jaxb.JAXBContextProperties;
-import org.eclipse.persistence.oxm.MediaType;
-
-/**
- * Utility class that provides access to the admin server using JAX-RS calls.
- * 
- * @author dclarke
- * @since EclipseLink 2.4
- */
-public class MoxyContextHelper {
-
-    /**
-     * Cached {@link JAXBContext} for marshaling {@link Leagues} and
-     * {@link League} from the admin server requests.
-     */
-    private static JAXBContext jaxbContext;
-
-    public static JAXBContext getContext() throws JAXBException {
-        if (jaxbContext == null) {
-            Map<String, Object> props = new HashMap<String, Object>(1);
-            props.put(JAXBContextProperties.OXM_METADATA_SOURCE, "example/mysports/admin/leagues-oxm.xml");
-            jaxbContext = JAXBContextFactory.createContext(new Class[] { Leagues.class }, props);
-        }
-        return jaxbContext;
-    }
-    
-    public static Marshaller createMarshaller(MediaType mediaType) throws JAXBException {
-        Marshaller marshaller = getContext().createMarshaller();
-        marshaller.setProperty(MEDIA_TYPE, mediaType.getMediaType());
-        return marshaller;
-    }
-
-    public static Unmarshaller createUnmarshaller(MediaType mediaType) throws JAXBException {
-        Unmarshaller unmarshaller = getContext().createUnmarshaller();
-        unmarshaller.setProperty(MEDIA_TYPE, mediaType.getMediaType());
-        unmarshaller.setProperty(JSON_INCLUDE_ROOT, false);
-        return unmarshaller;
-    }
-
-
-}
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/RESTAdminServerConnector.java b/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/RESTAdminServerConnector.java
deleted file mode 100644
index 4b10f33..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/RESTAdminServerConnector.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2012 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 - EclipseLink 2.3 - MySports Demo Bug 344608
- ******************************************************************************/
-package eclipselink.example.mysports.persistence.admin;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-import javax.xml.bind.JAXBException;
-
-import org.eclipse.persistence.oxm.MediaType;
-
-import eclipselink.example.mysports.persistence.MySportsConfig;
-
-/**
- * Utility class that provides access to the admin server using JAX-RS calls.
- * 
- * @author dclarke
- * @since EclipseLink 2.3.0
- */
-public class RESTAdminServerConnector implements AdminServerConnector {
-
-    private MySportsConfig config;
-
-    public MySportsConfig getConfig() {
-        return config;
-    }
-
-    public void setConfig(MySportsConfig config) {
-        this.config = config;
-    }
-
-    public Leagues getLeagues() {
-        InputStream in = null;
-
-        try {
-            in = open(null, MediaType.APPLICATION_XML.getMediaType(), null);
-            return (Leagues) MoxyContextHelper.createUnmarshaller(MediaType.APPLICATION_XML).unmarshal(in);
-        } catch (IOException e) {
-            throw new RuntimeException("Failure to retieve Leagues", e);
-        } catch (JAXBException e) {
-            throw new RuntimeException("Failure to unmarshal Leagues", e);
-        } finally {
-            if (in != null) {
-                try {
-                    in.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-    }
-
-    public League getLeague(String leagueId) {
-        InputStream in = null;
-
-        try {
-            in = open(leagueId, MediaType.APPLICATION_XML.getMediaType(), null);
-            return (League) MoxyContextHelper.createUnmarshaller(org.eclipse.persistence.oxm.MediaType.APPLICATION_XML).unmarshal(in);
-        } catch (IOException e) {
-            throw new RuntimeException("Failure to retieve League", e);
-        } catch (JAXBException e) {
-            throw new RuntimeException("Failure to unmarshal League", e);
-        } finally {
-            if (in != null) {
-                try {
-                    in.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-    }
-
-    /**
-     * Construct a URL to access the admin server for a specified league and
-     * resource result type.
-     * 
-     * @param leagueId
-     *            represents an expected league or null if requesting all
-     *            leagues.
-     * @param result
-     *            result resource type being requested. If null with a valid
-     *            league identifier then the league is being accessed. If
-     *            leagueId is null this should be null as well.
-     */
-    private String buildURL(String leagueId, String result) {
-        String urlString = "http://localhost:8080" + getConfig().getAdminContext();
-
-        if (leagueId != null) {
-            urlString = urlString + "/" + leagueId;
-        }
-        if (result != null) {
-            urlString = urlString + "/" + result.toLowerCase();
-        }
-
-        return urlString;
-    }
-
-    private InputStream open(String leagueId, String mediaType, String result) throws IOException {
-        URL url = new URL(buildURL(leagueId, result));
-        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
-        connection.setRequestProperty("Accept", mediaType);
-
-        return connection.getInputStream();
-    }
-
-    public InputStream getCss(String leagueId) throws IOException {
-        return open(leagueId, "text/css", "css");
-    }
-
-    public String getOrmURL(String leagueId) {
-        return buildURL(leagueId, "orm");
-    }
-
-    public InputStream getLogo(String leagueId) throws IOException {
-        return open(leagueId, "?", "logo");
-    }
-
-}
diff --git a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/leagues-oxm.xml b/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/leagues-oxm.xml
deleted file mode 100644
index ec20841..0000000
--- a/persistence/src/main/java/eclipselink/example/mysports/persistence/admin/leagues-oxm.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<xml-bindings version="2.3"
-	xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
-	package-name="example.mysports.admin" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/oxm http://www.eclipse.org/eclipselink/xsds/eclipselink_oxm_2_3.xsd">
-	<java-types>
-		<java-type name="Leagues" xml-accessor-type="FIELD">
-			<xml-root-element name="hostedLeagues"/>
-			<java-attributes>
-				<xml-element java-attribute="leagues" name="league" />
-			</java-attributes>
-		</java-type>
-		<java-type name="League" xml-accessor-type="FIELD">
-			<xml-root-element />
-			<java-attributes>
-				<xml-attribute java-attribute="id" />
-				<xml-attribute java-attribute="version" />
-				<xml-element java-attribute="name" />
-				<xml-element java-attribute="colourScheme"/>
-				<xml-element java-attribute="logoUrl"/>
-				<xml-element java-attribute="datasource" name="data-source"/>
-				<xml-element java-attribute="uri" xml-path="link/@href"/>
-			</java-attributes>
-		</java-type>
-	</java-types>
-</xml-bindings>
\ No newline at end of file