]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
NOJIRA moved db script generation and create_db tasks out of account.client and authe...
authorSanjay Dalal <sanjay.dalal@berkeley.edu>
Thu, 17 Dec 2009 21:29:06 +0000 (21:29 +0000)
committerSanjay Dalal <sanjay.dalal@berkeley.edu>
Thu, 17 Dec 2009 21:29:06 +0000 (21:29 +0000)
Added gen_ddl task at trunk level and service.main levels

M    trunk/services/authentication/pom.xml
AM   trunk/services/authentication/pstore
A    trunk/services/authentication/pstore/src
A    trunk/services/authentication/pstore/src/test
A    trunk/services/authentication/pstore/src/test/resources
A    trunk/services/authentication/pstore/src/test/resources/META-INF
A    trunk/services/authentication/pstore/src/test/resources/META-INF/persistence.xml
A    trunk/services/authentication/pstore/src/test/resources/log4j.properties
A    trunk/services/authentication/pstore/src/test/resources/hibernate.cfg.xml
A    trunk/services/authentication/pstore/src/main
A    trunk/services/authentication/pstore/src/main/resources
A  + trunk/services/authentication/pstore/src/main/resources/db
A    trunk/services/authentication/pstore/pom.xml
A    trunk/services/authentication/pstore/build.xml
D    trunk/services/authentication/client/src/main/resources/db
M    trunk/services/authentication/client/pom.xml
M    trunk/services/authentication/client/build.xml
M    trunk/services/authentication/build.xml
M    trunk/services/account/pom.xml
A    trunk/services/account/pstore
A    trunk/services/account/pstore/src
A    trunk/services/account/pstore/src/test
A    trunk/services/account/pstore/src/test/resources
A    trunk/services/account/pstore/src/test/resources/META-INF
A    trunk/services/account/pstore/src/test/resources/META-INF/persistence.xml
A    trunk/services/account/pstore/src/test/resources/log4j.properties
A    trunk/services/account/pstore/src/test/resources/hibernate.cfg.xml
A    trunk/services/account/pstore/src/main
A    trunk/services/account/pstore/src/main/resources
A    trunk/services/account/pstore/src/main/resources/db
A    trunk/services/account/pstore/src/main/resources/db/mysql
A  + trunk/services/account/pstore/src/main/resources/db/mysql/test_account.sql
A  + trunk/services/account/pstore/src/main/resources/db/mysql/account.sql
A    trunk/services/account/pstore/pom.xml
A    trunk/services/account/pstore/build.xml
M    trunk/services/account/build.xml
D    trunk/services/account/client/src/main/resources/db/mysql/test_account.sql
D    trunk/services/account/client/src/main/resources/db/mysql/account.sql
M    trunk/services/account/client/pom.xml
M    trunk/services/account/client/build.xml
M    trunk/services/build.xml
M    trunk/build.xml

24 files changed:
build.xml
services/account/build.xml
services/account/client/build.xml
services/account/client/pom.xml
services/account/pom.xml
services/account/pstore/build.xml [new file with mode: 0644]
services/account/pstore/pom.xml [new file with mode: 0644]
services/account/pstore/src/main/resources/db/mysql/account.sql [moved from services/account/client/src/main/resources/db/mysql/account.sql with 100% similarity]
services/account/pstore/src/main/resources/db/mysql/test_account.sql [moved from services/account/client/src/main/resources/db/mysql/test_account.sql with 100% similarity]
services/account/pstore/src/test/resources/META-INF/persistence.xml [new file with mode: 0644]
services/account/pstore/src/test/resources/hibernate.cfg.xml [new file with mode: 0644]
services/account/pstore/src/test/resources/log4j.properties [new file with mode: 0644]
services/authentication/build.xml
services/authentication/client/build.xml
services/authentication/client/pom.xml
services/authentication/pom.xml
services/authentication/pstore/build.xml [new file with mode: 0644]
services/authentication/pstore/pom.xml [new file with mode: 0644]
services/authentication/pstore/src/main/resources/db/mysql/authentication.sql [moved from services/authentication/client/src/main/resources/db/mysql/authentication.sql with 100% similarity]
services/authentication/pstore/src/main/resources/db/mysql/test_authn.sql [moved from services/authentication/client/src/main/resources/db/mysql/test_authn.sql with 100% similarity]
services/authentication/pstore/src/test/resources/META-INF/persistence.xml [new file with mode: 0644]
services/authentication/pstore/src/test/resources/hibernate.cfg.xml [new file with mode: 0644]
services/authentication/pstore/src/test/resources/log4j.properties [new file with mode: 0644]
services/build.xml

index 4f4e1888eb319cea2c93b939ddd20bae88d3cbcc..e16026705f63f44416174622f3b4861b423584e3 100644 (file)
--- a/build.xml
+++ b/build.xml
     </condition>\r
 \r
     <target name="init">\r
-    <!-- Create the time stamp -->\r
+        <!-- Create the time stamp -->\r
         <tstamp/>\r
     </target>\r
 \r
     <target name="dist" depends="package"\r
-    description="generate cspace service distribution">\r
+            description="generate cspace service distribution">\r
         <!-- Create the distribution directory -->\r
         <mkdir dir="${basedir}/dist"/>\r
-        \r
+\r
         <!-- copy db scripts, etc. -->\r
         <copy todir="${basedir}/${dist.server.cspace}/cspace/services">\r
             <fileset dir="${src}/main/resources/scripts"/>\r
         </copy>\r
-        \r
+\r
         <!-- copy datasources -->\r
         <copy todir="${basedir}/${dist.deploy.cspace}">\r
             <fileset dir="${src}/main/resources/config"/>\r
         <!-- bundle up everything -->\r
         <tar destfile="${basedir}/dist/${cspace.services.release}-${jboss.release}.tar.gz" compression="gzip">\r
             <tarfileset dir="${basedir}/dist/cspace"\r
-              preserveLeadingSlashes="true">\r
+                        preserveLeadingSlashes="true">\r
             </tarfileset>\r
         </tar>\r
     </target>\r
 \r
     <target name="dist-jboss-domains" depends="init"\r
-    description="create jboss distributions for cspace and nuxeo">\r
+            description="create jboss distributions for cspace and nuxeo">\r
         <antcall target="dist-jboss-cspace"/>\r
         <antcall target="dist-jboss-nuxeo"/>\r
     </target>\r
 \r
     <target name="dist-jboss-cspace" depends="dist"\r
-    description="generate jboss distribution for cspace">\r
+            description="generate jboss distribution for cspace">\r
         <fail message="JBoss is not installed or ${jboss.dir} not found">\r
             <condition>\r
                 <not>\r
 \r
         <tar destfile="${basedir}/dist/${jboss.release}-${domain.cspace}-${cspace.release}.tar.gz" compression="gzip">\r
             <tarfileset dir="${jboss.dir}"\r
-            prefix="${jboss.release}"\r
-              preserveLeadingSlashes="true">\r
+                        prefix="${jboss.release}"\r
+                        preserveLeadingSlashes="true">\r
                 <exclude name="server/${jboss.domain.nuxeo}/**"/>\r
                 <exclude name="server/${jboss.domain.cspace}/log/**"/>\r
                 <exclude name="server/${jboss.domain.cspace}/tmp/**"/>\r
             </tarfileset>\r
         </tar>\r
     </target>\r
-    \r
+\r
     <target name="dist-jboss-nuxeo" depends="dist"\r
-        description="generate nuxeo domain distribution" >\r
+            description="generate nuxeo domain distribution" >\r
         <fail message="JBoss is not installed or ${jboss.dir} not found">\r
             <condition>\r
                 <not>\r
 \r
         <tar destfile="${basedir}/dist/${jboss.release}-${domain.nuxeo}-${nuxeo.release}.tar.gz" compression="gzip">\r
             <tarfileset dir="${jboss.dir}"\r
-              prefix="${jboss.release}"\r
-              preserveLeadingSlashes="true">\r
+                        prefix="${jboss.release}"\r
+                        preserveLeadingSlashes="true">\r
                 <exclude name="server/${jboss.domain.cspace}/**"/>\r
                 <exclude name="server/${jboss.domain.nuxeo}/log/**"/>\r
                 <exclude name="server/${jboss.domain.nuxeo}/tmp/**"/>\r
     </target>\r
 \r
     <target name="package" depends="package-unix,package-windows"\r
-  description="mvn package" />\r
+            description="mvn package" />\r
     <target name="package-unix" if="osfamily-unix">\r
         <exec executable="mvn" failonerror="true">\r
             <arg value="package" />\r
     </target>\r
 \r
     <target name="install" depends="package,install-unix,install-windows"\r
-  description="mvn install" />\r
+            description="mvn install" />\r
     <target name="install-unix" if="osfamily-unix">\r
         <exec executable="mvn" failonerror="true">\r
             <arg value="install" />\r
 \r
 \r
     <target name="clean" depends="clean-unix,clean-windows"\r
-  description="Delete target directories" >\r
+            description="Delete target directories" >\r
         <delete dir="${basedir}/build"/>\r
         <delete dir="${basedir}/dist"/>\r
     </target>\r
         </exec>\r
     </target>\r
 \r
+    <target name="gen_ddl"\r
+            description="generate service-specific tables(s), indices, etc.">\r
+        <ant antfile="services/build.xml" target="gen_ddl" inheritAll="false"/>\r
+    </target>\r
+\r
     <target name="create_db"\r
-    description="create database(s), grant privileges to test users">\r
+            description="create database(s), grant privileges to test users">\r
         <sql driver="com.mysql.jdbc.Driver"\r
-        url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
-        userid="${db.user}"\r
-        password="${db.user.password}"\r
-        src="${db.script.dir}/init_db.sql"\r
-        >\r
+             url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
+             userid="${db.user}"\r
+             password="${db.user.password}"\r
+             src="${db.script.dir}/init_db.sql"\r
+             >\r
             <classpath>\r
                 <pathelement path="${db.driver.jar}"/>\r
             </classpath>\r
         </sql>\r
         <ant antfile="services/build.xml" target="create_db" inheritAll="false"/>\r
     </target>\r
+    \r
 \r
     <target name="deploy" depends="install"\r
-    description="deploy services in ${jboss.server.cspace}">\r
-                <!-- copy db scripts, etc. -->\r
+            description="deploy services in ${jboss.server.cspace}">\r
+        <!-- copy db scripts, etc. -->\r
         <copy todir="${jboss.server.cspace}/cspace/services">\r
             <fileset dir="${src}/main/resources/"/>\r
         </copy>\r
     </target>\r
 \r
     <target name="undeploy"\r
-    description="undeploy services from ${jboss.server.cspace}">\r
+            description="undeploy services from ${jboss.server.cspace}">\r
         <ant antfile="services/build.xml" target="undeploy" inheritAll="false"/>\r
         <ant antfile="3rdparty/build.xml" target="undeploy" inheritAll="false"/>\r
         <delete failonerror="false"  file="${jboss.deploy.cspace}/cspace-ds.xml"/>\r
 \r
 \r
     <target name="hotdeploy" depends="install"\r
-    description="deploy services in running ${jboss.server.cspace}">\r
+            description="deploy services in running ${jboss.server.cspace}">\r
         <ant antfile="services/build.xml" target="hotdeploy" inheritAll="false"/>\r
     </target>\r
 \r
     </target>\r
 \r
     <target name="dist_installer" depends="package"\r
-       description="Installer: Creates an installer distribution for the CollectionSpace services.">\r
+            description="Installer: Creates an installer distribution for the CollectionSpace services.">\r
         <!-- copy install scripts, etc. -->\r
         <copy todir="${basedir}/${dist.installer}">\r
             <fileset file="${basedir}/build.properties"/>\r
index cf82f7bd7eae5902bcd3b82faca3fdb4369b03c9..7ba51d58e03194cea85e2e766eb566ceed779889 100644 (file)
@@ -3,7 +3,7 @@
     <description>\r
         collectionobject service\r
     </description>\r
-  <!-- set global properties for this build -->\r
+    <!-- set global properties for this build -->\r
     <property name="services.trunk" value="../.."/>\r
     <!-- enviornment should be declared before reading build.properties -->\r
     <property environment="env" />\r
@@ -20,8 +20,8 @@
     </condition>\r
 \r
     <target name="package" depends="package-unix,package-windows"\r
-  description="Package CollectionSpace Services" />\r
-  \r
+            description="Package CollectionSpace Services" />\r
+\r
     <target name="package-unix" if="osfamily-unix">\r
         <exec executable="mvn" failonerror="true">\r
             <arg value="package" />\r
@@ -32,7 +32,7 @@
             <arg value="${mvn.opts}" />\r
         </exec>\r
     </target>\r
-    \r
+\r
     <target name="package-windows" if="osfamily-windows">\r
         <exec executable="cmd" failonerror="true">\r
             <arg value="/c" />\r
@@ -48,7 +48,7 @@
 \r
 \r
     <target name="install" depends="package,install-unix,install-windows"\r
-  description="Install" />\r
+            description="Install" />\r
     <target name="install-unix" if="osfamily-unix">\r
         <exec executable="mvn" failonerror="true">\r
             <arg value="install" />\r
@@ -73,7 +73,7 @@
     </target>\r
 \r
     <target name="clean" depends="clean-unix,clean-windows"\r
-  description="Delete target directories" >\r
+            description="Delete target directories" >\r
         <delete dir="${build}"/>\r
     </target>\r
     <target name="clean-unix" if="osfamily-unix">\r
         </exec>\r
     </target>\r
 \r
+    <target name="gen_ddl"\r
+            description="generate service-specific tables(s), indices, etc.">\r
+        <ant antfile="pstore/build.xml" target="gen_ddl" inheritAll="false"/>\r
+    </target>\r
+    \r
     <target name="create_db"\r
-    description="create tables(s), indices for account service">\r
-        <ant antfile="client/build.xml" target="create_db" inheritAll="false"/>\r
+            description="create tables(s), indices for account service">\r
+        <ant antfile="pstore/build.xml" target="create_db" inheritAll="false"/>\r
     </target>\r
 \r
     <target name="deploy" depends="install"\r
-    description="deploy collectionobject service">\r
-        <ant antfile="3rdparty/build.xml" target="deploy" inheritall="false"/>\r
+            description="deploy collectionobject service">\r
+        <ant antfile="pstore/build.xml" target="deploy" inheritall="false"/>\r
     </target>\r
 \r
     <target name="undeploy"\r
-    description="undeploy collectionobject service">\r
-        <ant antfile="3rdparty/build.xml" target="undeploy" inheritall="false"/>\r
+            description="undeploy collectionobject service">\r
+        <ant antfile="pstore/build.xml" target="undeploy" inheritall="false"/>\r
     </target>\r
 \r
     <target name="dist" depends="package"\r
-    description="distribute collectionobject service}">\r
-        <ant antfile="client/build.xml" target="dist" inheritall="false"/>\r
+            description="distribute collectionobject service}">\r
+        <ant antfile="pstore/build.xml" target="dist" inheritall="false"/>\r
     </target>\r
 \r
 </project>\r
index b41dd80a0b07ec70c5765ed40dcc91bbf827db0b..669ece089177ca6a41cc0e3f770b3f289289ae64 100644 (file)
         </copy>\r
     </target>\r
 \r
-    <target name="gen_ddl" depends="gen_ddl-unix,gen_ddl-windows"\r
-            description="geneate ddl" />\r
-    <target name="gen_ddl-unix" if="osfamily-unix" depends="setup_hibernate.cfg">\r
-        <exec executable="mvn" failonerror="true">\r
-            <arg value="-Pddl" />\r
-            <arg value="process-test-resources" />\r
-            <arg value="-f" />\r
-            <arg value="${basedir}/pom.xml" />\r
-            <arg value="-N" />\r
-            <arg value="${mvn.opts}" />\r
-        </exec>\r
-    </target>\r
-    <target name="gen_ddl-windows" if="osfamily-windows" depends="setup_hibernate.cfg">\r
-        <exec executable="cmd" failonerror="true">\r
-            <arg value="/c" />\r
-            <arg value="mvn.bat" />\r
-            <arg value="-Pddl" />\r
-            <arg value="process-test-resources" />\r
-            <arg value="-f" />\r
-            <arg value="${basedir}/pom.xml" />\r
-            <arg value="-N" />\r
-            <arg value="${mvn.opts}" />\r
-        </exec>\r
-    </target>\r
-\r
-    <target name="create_db"\r
-            description="create tables(s), indices for account service">\r
-        <sql driver="com.mysql.jdbc.Driver"\r
-             url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
-             userid="${db.user}"\r
-             password="${db.user.password}"\r
-             src="${db.script.dir}/account.sql"\r
-             >\r
-            <classpath>\r
-                <pathelement path="${db.driver.jar}"/>\r
-            </classpath>\r
-        </sql>\r
-        <sql driver="com.mysql.jdbc.Driver"\r
-             url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
-             userid="${db.user}"\r
-             password="${db.user.password}"\r
-             src="${db.script.dir}/test_account.sql"\r
-             >\r
-            <classpath>\r
-                <pathelement path="${db.driver.jar}"/>\r
-            </classpath>\r
-        </sql>\r
-    </target>\r
     <target name="deploy" depends="install"\r
             description="deploy account service in ${jboss.server.cspace}">\r
-        <copy todir="${jboss.server.cspace}/cspace/services">\r
-            <fileset dir="${src}/main/resources/"/>\r
-        </copy>\r
     </target>\r
 \r
     <target name="undeploy"\r
 \r
     <target name="dist"\r
             description="generate distribution for account service" depends="package">\r
-        <!-- copy db scripts, etc. -->\r
-        <copy todir="${services.trunk}/${dist.server.cspace}/cspace/services">\r
-            <fileset dir="${src}/main/resources/"/>\r
-        </copy>\r
     </target>\r
 \r
 </project>\r
index 3f0d57433670ad1a618e266f75eb026d42240164..093e954311c08274250d7c943942fd7655d47016 100644 (file)
     <artifactId>org.collectionspace.services.account.client</artifactId>\r
     <version>1.0</version>\r
     <name>services.account.client</name>\r
-    <properties>\r
-        <sql.file>account.sql</sql.file>\r
-        <sql.dir>${basedir}/src/main/resources/db/mysql</sql.dir>\r
-    </properties>\r
     <dependencies>\r
         <!-- keep slf4j dependencies on the top -->\r
         <dependency>\r
             </plugin>\r
         </plugins>\r
     </build>\r
-    <profiles>\r
-        <profile>\r
-            <!-- use profile as this task is not needed for every build and test -->\r
-            <id>ddl</id>\r
-            <build>\r
-                <plugins>\r
-                    <plugin>\r
-                        <groupId>org.codehaus.mojo</groupId>\r
-                        <artifactId>hibernate3-maven-plugin</artifactId>\r
-                        <version>2.2</version>\r
-                        <executions>\r
-                            <execution>\r
-                                <phase>process-test-resources</phase>\r
-                                <goals>\r
-                                    <goal>hbm2ddl</goal>\r
-                                </goals>\r
-                            </execution>\r
-                        </executions>\r
-                        <configuration>\r
-                            <components>\r
-                                <component>\r
-                                    <name>hbm2ddl</name>\r
-                                </component>\r
-                            </components>\r
-                            <componentProperties>\r
-                                <outputfilename>${sql.file}</outputfilename>\r
-                                <implementation>jpaconfiguration</implementation>\r
-                                <drop>true</drop>\r
-                                <create>true</create>\r
-                                <export>true</export>\r
-                                <jdk5>true</jdk5>\r
-                                <ejb3>false</ejb3>\r
-                                <persistenceunit>org.collectionspace.services.account</persistenceunit>\r
-                            </componentProperties>\r
-                        </configuration>\r
-                        <dependencies>\r
-                            <dependency>\r
-                                <groupId>mysql</groupId>\r
-                                <artifactId>mysql-connector-java</artifactId>\r
-                                <version>5.0.5</version>\r
-                            </dependency>\r
-                        </dependencies>\r
-                    </plugin>\r
-                    <plugin>\r
-                        <artifactId>maven-antrun-plugin</artifactId>\r
-                        <executions>\r
-                            <execution>\r
-                                <phase>process-test-resources</phase>\r
-                                <configuration>\r
-                                    <tasks>\r
-                                        <copy file="${basedir}/target/hibernate3/sql/${sql.file}" tofile="${sql.dir}/${sql.file}"/>\r
-                                    </tasks>\r
-                                </configuration>\r
-                                <goals>\r
-                                    <goal>run</goal>\r
-                                </goals>\r
-                            </execution>\r
-                        </executions>\r
-                    </plugin>\r
 \r
-                </plugins>\r
-            </build>\r
-        </profile>\r
-    </profiles>\r
 </project>\r
 \r
index 15ce11de54639a5ec4ca98e990d3242f66c67d9d..dfff467a85a31b5fe577667046859ed5064d1ee5 100644 (file)
@@ -14,6 +14,7 @@
 \r
     <modules>\r
         <module>jaxb</module>\r
+        <module>pstore</module>\r
         <module>service</module>\r
         <module>client</module>\r
     </modules>\r
diff --git a/services/account/pstore/build.xml b/services/account/pstore/build.xml
new file mode 100644 (file)
index 0000000..27e12ea
--- /dev/null
@@ -0,0 +1,197 @@
+\r
+<project name="account.pstore" default="package" basedir=".">\r
+    <description>\r
+        collectionspace account service\r
+    </description>\r
+    <!-- set global properties for this build -->\r
+    <property name="services.trunk" value="../../.."/>\r
+    <!-- enviornment should be declared before reading build.properties -->\r
+    <property environment="env" />\r
+    <property file="${services.trunk}/build.properties" />\r
+    <property name="mvn.opts" value="" />\r
+    <property name="src" location="src"/>\r
+\r
+    <condition property="osfamily-unix">\r
+        <os family="unix" />\r
+    </condition>\r
+    <condition property="osfamily-windows">\r
+        <os family="windows" />\r
+    </condition>\r
+\r
+    <target name="init">\r
+        <!-- Create the time stamp -->\r
+        <tstamp/>\r
+    </target>\r
+\r
+\r
+    <target name="package" depends="package-unix,package-windows"\r
+            description="Package CollectionSpace Services" />\r
+    <target name="package-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="package" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="package-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="package" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="install" depends="package,install-unix,install-windows"\r
+            description="Install" />\r
+    <target name="install-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="install" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="install-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="install" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="clean" depends="clean-unix,clean-windows"\r
+            description="Delete target directories" >\r
+        <delete dir="${build}"/>\r
+    </target>\r
+    <target name="clean-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="clean" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="clean-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="clean" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="test" depends="test-unix,test-windows" description="Run tests" />\r
+    <target name="test-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="test" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="test-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="test" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+\r
+    <target name="setup_hibernate.cfg" description="replace property keywords in hibernate.cfg.xml">\r
+        <property name="src.hibernate.cfg" value="${basedir}/src/test/resources/hibernate.cfg.xml"/>\r
+        <property name="dest.hibernate.cfg" value="${basedir}/target/test-classes/hibernate.cfg.xml"/>\r
+        <delete file="${dest.hibernate.cfg}" verbose="true" />\r
+        <filter token="DB_URL" value="${db.jdbc.url}" />\r
+        <filter token="DB_DRIVER_CLASS" value="${db.jdbc.driver.class}" />\r
+        <filter token="DB_USER" value="${env.DB_USER}" /> <!-- double-sub from ${db.user} fails -->\r
+        <filter token="DB_PASSWORD" value="${env.DB_PASSWORD}" /> <!-- double-sub from ${db.user.password} fails -->\r
+        <filter token="DB_DIALECT" value="${db.dialect}" />\r
+        <copy todir="${basedir}/target/test-classes" filtering="true">\r
+            <fileset dir="${basedir}/src/test/resources">\r
+                <include name="hibernate.cfg.xml" />\r
+            </fileset>\r
+        </copy>\r
+    </target>\r
+\r
+    <target name="gen_ddl" depends="gen_ddl-unix,gen_ddl-windows"\r
+            description="geneate ddl" />\r
+    <target name="gen_ddl-unix" if="osfamily-unix" depends="setup_hibernate.cfg">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="-Pddl" />\r
+            <arg value="process-test-resources" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="gen_ddl-windows" if="osfamily-windows" depends="setup_hibernate.cfg">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="-Pddl" />\r
+            <arg value="process-test-resources" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="create_db"\r
+            description="create tables(s), indices for account service">\r
+        <sql driver="com.mysql.jdbc.Driver"\r
+             url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
+             userid="${db.user}"\r
+             password="${db.user.password}"\r
+             src="${db.script.dir}/account.sql"\r
+             onerror="continue"\r
+             >\r
+            <classpath>\r
+                <pathelement path="${db.driver.jar}"/>\r
+            </classpath>\r
+        </sql>\r
+        <sql driver="com.mysql.jdbc.Driver"\r
+             url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
+             userid="${db.user}"\r
+             password="${db.user.password}"\r
+             src="${db.script.dir}/test_account.sql"\r
+             >\r
+            <classpath>\r
+                <pathelement path="${db.driver.jar}"/>\r
+            </classpath>\r
+        </sql>\r
+    </target>\r
+    <target name="deploy" depends="install"\r
+            description="deploy account service in ${jboss.server.cspace}">\r
+        <copy todir="${jboss.server.cspace}/cspace/services">\r
+            <fileset dir="${src}/main/resources/"/>\r
+        </copy>\r
+    </target>\r
+\r
+    <target name="undeploy"\r
+            description="undeploy account service from ${jboss.server.cspace}">\r
+    </target>\r
+\r
+    <target name="dist"\r
+            description="generate distribution for account service" depends="package">\r
+        <!-- copy db scripts, etc. -->\r
+        <copy todir="${services.trunk}/${dist.server.cspace}/cspace/services">\r
+            <fileset dir="${src}/main/resources/"/>\r
+        </copy>\r
+    </target>\r
+\r
+</project>\r
diff --git a/services/account/pstore/pom.xml b/services/account/pstore/pom.xml
new file mode 100644 (file)
index 0000000..8dcd708
--- /dev/null
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project xmlns="http://maven.apache.org/POM/4.0.0"\r
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
+\r
+    <parent>\r
+        <artifactId>org.collectionspace.services.account</artifactId>\r
+        <groupId>org.collectionspace.services</groupId>\r
+        <version>1.0</version>\r
+    </parent>\r
+\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <groupId>org.collectionspace.services</groupId>\r
+    <artifactId>org.collectionspace.services.account.pstore</artifactId>\r
+    <version>1.0</version>\r
+    <name>services.account.pstore</name>\r
+    <properties>\r
+        <sql.file>account.sql</sql.file>\r
+        <sql.dir>${basedir}/src/main/resources/db/mysql</sql.dir>\r
+    </properties>\r
+    <dependencies>\r
+        <!-- keep slf4j dependencies on the top -->\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-api</artifactId>\r
+            <scope>test</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-log4j12</artifactId>\r
+            <scope>test</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.collectionspace.services</groupId>\r
+            <artifactId>org.collectionspace.services.account.jaxb</artifactId>\r
+            <version>1.0</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.testng</groupId>\r
+            <artifactId>testng</artifactId>\r
+            <version>5.6</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>mysql</groupId>\r
+            <artifactId>mysql-connector-java</artifactId>\r
+        </dependency>\r
+    </dependencies>\r
+\r
+    <build>\r
+        <finalName>cspace-services-account-client</finalName>\r
+        <plugins>\r
+            <plugin>\r
+                <artifactId>maven-antrun-plugin</artifactId>\r
+                <executions>\r
+                    <execution>\r
+                        <id>subs-hibernate-config</id>\r
+                        <phase>generate-test-resources</phase>\r
+                        <goals>\r
+                            <goal>run</goal>\r
+                        </goals>\r
+                        <configuration>\r
+                            <tasks>\r
+                                <property name="runtime-classpath" refid="maven.runtime.classpath"/>\r
+                                <ant target="setup_hibernate.cfg" inheritRefs="true"/>\r
+                            </tasks>\r
+                        </configuration>\r
+                    </execution>\r
+                </executions>\r
+            </plugin>\r
+            <plugin>\r
+                <groupId>org.apache.maven.plugins</groupId>\r
+                <artifactId>maven-surefire-plugin</artifactId>\r
+                <configuration>\r
+                    <systemProperties>\r
+                        <property>\r
+                            <name>log4j.configuration</name>\r
+                            <value>file:target/test-classes/log4j.properties</value>\r
+                        </property>\r
+                    </systemProperties>\r
+                </configuration>\r
+            </plugin>\r
+            <plugin>\r
+                <artifactId>maven-compiler-plugin</artifactId>\r
+                <version>2.0.2</version>\r
+                <configuration>\r
+                    <source>1.6</source>\r
+                    <target>1.6</target>\r
+                </configuration>\r
+            </plugin>\r
+        </plugins>\r
+    </build>\r
+    <profiles>\r
+        <profile>\r
+            <!-- use profile as this task is not needed for every build and test -->\r
+            <id>ddl</id>\r
+            <build>\r
+                <plugins>\r
+                    <plugin>\r
+                        <groupId>org.codehaus.mojo</groupId>\r
+                        <artifactId>hibernate3-maven-plugin</artifactId>\r
+                        <version>2.2</version>\r
+                        <executions>\r
+                            <execution>\r
+                                <phase>process-test-resources</phase>\r
+                                <goals>\r
+                                    <goal>hbm2ddl</goal>\r
+                                </goals>\r
+                            </execution>\r
+                        </executions>\r
+                        <configuration>\r
+                            <components>\r
+                                <component>\r
+                                    <name>hbm2ddl</name>\r
+                                </component>\r
+                            </components>\r
+                            <componentProperties>\r
+                                <outputfilename>${sql.file}</outputfilename>\r
+                                <implementation>jpaconfiguration</implementation>\r
+                                <drop>true</drop>\r
+                                <create>true</create>\r
+                                <export>true</export>\r
+                                <jdk5>true</jdk5>\r
+                                <ejb3>false</ejb3>\r
+                                <persistenceunit>org.collectionspace.services.account</persistenceunit>\r
+                            </componentProperties>\r
+                        </configuration>\r
+                        <dependencies>\r
+                            <dependency>\r
+                                <groupId>mysql</groupId>\r
+                                <artifactId>mysql-connector-java</artifactId>\r
+                                <version>5.0.5</version>\r
+                            </dependency>\r
+                        </dependencies>\r
+                    </plugin>\r
+                    <plugin>\r
+                        <artifactId>maven-antrun-plugin</artifactId>\r
+                        <executions>\r
+                            <execution>\r
+                                <phase>process-test-resources</phase>\r
+                                <configuration>\r
+                                    <tasks>\r
+                                        <copy file="${basedir}/target/hibernate3/sql/${sql.file}" tofile="${sql.dir}/${sql.file}"/>\r
+                                    </tasks>\r
+                                </configuration>\r
+                                <goals>\r
+                                    <goal>run</goal>\r
+                                </goals>\r
+                            </execution>\r
+                        </executions>\r
+                    </plugin>\r
+\r
+                </plugins>\r
+            </build>\r
+        </profile>\r
+    </profiles>\r
+</project>\r
+\r
diff --git a/services/account/pstore/src/test/resources/META-INF/persistence.xml b/services/account/pstore/src/test/resources/META-INF/persistence.xml
new file mode 100644 (file)
index 0000000..f4c1e8b
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<persistence version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
+http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <persistence-unit name="org.collectionspace.services.account">
+        <class>org.collectionspace.services.account.AccountsCommon</class>
+        <class>org.collectionspace.services.account.AccountsCommon$Tenant</class>
+        <class>org.collectionspace.services.account.AccountsCommonList</class>
+        <class>org.collectionspace.services.account.AccountsCommonList$AccountListItem</class>
+        <properties>
+            <property name="hibernate.ejb.cfgfile" value="hibernate.cfg.xml"/>
+
+            <!--property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
+            <property name="hibernate.max_fetch_depth" value="3"/>
+            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
+            <property name="hibernate.connection.username" value="test"/>
+            <property name="hibernate.connection.password" value="test"/>
+            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/cspace"/-->
+        </properties>
+    </persistence-unit>
+</persistence>
diff --git a/services/account/pstore/src/test/resources/hibernate.cfg.xml b/services/account/pstore/src/test/resources/hibernate.cfg.xml
new file mode 100644 (file)
index 0000000..8296399
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Document   : hibernate.cfg.xml
+    Created on : 
+    Author     : 
+    Description:
+        Hibernate configuration file for testing and tools
+-->
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+<hibernate-configuration>
+    <session-factory>
+        <property name="connection.url">@DB_URL@</property>
+        <property name="connection.driver_class">@DB_DRIVER_CLASS@</property>
+        <property name="connection.username">@DB_USER@</property>
+        <property name="connection.password">@DB_PASSWORD@</property>
+        <property name="dialect">@DB_DIALECT@</property>
+        <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
+        <property name="current_session_context_class">thread</property>
+        <property name="hibernate.show_sql">true</property>
+    </session-factory>
+</hibernate-configuration>
diff --git a/services/account/pstore/src/test/resources/log4j.properties b/services/account/pstore/src/test/resources/log4j.properties
new file mode 100644 (file)
index 0000000..f9c4787
--- /dev/null
@@ -0,0 +1,25 @@
+log4j.rootLogger=debug, stdout, R\r
+\r
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
+\r
+# Pattern to output the caller's file name and line number.\r
+log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n\r
+\r
+log4j.appender.R=org.apache.log4j.RollingFileAppender\r
+log4j.appender.R.File=target/test-client.log\r
+\r
+log4j.appender.R.MaxFileSize=100KB\r
+# Keep one backup file\r
+log4j.appender.R.MaxBackupIndex=1\r
+\r
+log4j.appender.R.layout=org.apache.log4j.PatternLayout\r
+log4j.appender.R.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n\r
+\r
+#packages\r
+log4j.logger.org.collectionspace=DEBUG\r
+log4j.logger.org.apache=INFO\r
+log4j.logger.httpclient=INFO\r
+log4j.logger.org.jboss.resteasy=INFO\r
+log4j.logger.org.hibernate=INFO\r
+log4j.logger.org.hibernate.cfg=WARN\r
index e63117331504431c32cc0503cdd5bcf860425f05..81a73cfce7ccc3f98575a021b86f87b9a541abd6 100644 (file)
@@ -3,7 +3,7 @@
     <description>\r
         authentication service\r
     </description>\r
-  <!-- set global properties for this build -->\r
+    <!-- set global properties for this build -->\r
     <property name="services.trunk" value="../.."/>\r
     <!-- enviornment should be declared before reading build.properties -->\r
     <property environment="env" />\r
@@ -20,8 +20,8 @@
     </condition>\r
 \r
     <target name="package" depends="package-unix,package-windows"\r
-  description="Package CollectionSpace Services" />\r
-  \r
+            description="Package CollectionSpace Services" />\r
+\r
     <target name="package-unix" if="osfamily-unix">\r
         <exec executable="mvn" failonerror="true">\r
             <arg value="package" />\r
@@ -32,7 +32,7 @@
             <arg value="${mvn.opts}" />\r
         </exec>\r
     </target>\r
-    \r
+\r
     <target name="package-windows" if="osfamily-windows">\r
         <exec executable="cmd" failonerror="true">\r
             <arg value="/c" />\r
@@ -48,7 +48,7 @@
 \r
 \r
     <target name="install" depends="package,install-unix,install-windows"\r
-  description="Install" />\r
+            description="Install" />\r
     <target name="install-unix" if="osfamily-unix">\r
         <exec executable="mvn" failonerror="true">\r
             <arg value="install" />\r
@@ -73,7 +73,7 @@
     </target>\r
 \r
     <target name="clean" depends="clean-unix,clean-windows"\r
-  description="Delete target directories" >\r
+            description="Delete target directories" >\r
         <delete dir="${build}"/>\r
     </target>\r
     <target name="clean-unix" if="osfamily-unix">\r
         </exec>\r
     </target>\r
 \r
+    <target name="gen_ddl"\r
+            description="generate service-specific tables(s), indices, etc.">\r
+        <ant antfile="pstore/build.xml" target="gen_ddl" inheritAll="false"/>\r
+    </target>\r
 \r
     <target name="create_db"\r
-    description="create tables(s), indices for authentication service">\r
-        <ant antfile="client/build.xml" target="create_db" inheritAll="false"/>\r
+            description="create tables(s), indices for authentication service">\r
+        <ant antfile="pstore/build.xml" target="create_db" inheritAll="false"/>\r
     </target>\r
 \r
     <target name="deploy" depends="install"\r
-    description="deploy authentication service">\r
-        <ant antfile="client/build.xml" target="deploy" inheritAll="false"/>\r
+            description="deploy authentication service">\r
+        <ant antfile="pstore/build.xml" target="deploy" inheritAll="false"/>\r
         <ant antfile="service/build.xml" target="deploy" inheritall="false"/>\r
     </target>\r
 \r
     <target name="undeploy"\r
-    description="undeploy authentication service">\r
-        <ant antfile="client/build.xml" target="undeploy" inheritAll="false"/>\r
+            description="undeploy authentication service">\r
+        <ant antfile="pstore/build.xml" target="undeploy" inheritAll="false"/>\r
         <ant antfile="service/build.xml" target="undeploy" inheritall="false"/>\r
     </target>\r
 \r
     <target name="dist" depends="package"\r
-    description="distribute authentication service}">\r
+            description="distribute authentication service}">\r
+        <ant antfile="pstore/build.xml" target="dist" inheritall="false"/>\r
         <ant antfile="service/build.xml" target="dist" inheritall="false"/>\r
     </target>\r
 \r
index 631350b8674500546f2b3a4588d1fe7dcf596c7c..c4ffad0f6f133f1a7ca7b8ccb35014bc3911df5c 100644 (file)
             </fileset>\r
         </copy>\r
     </target>\r
-\r
-\r
-    <target name="gen_ddl" depends="gen_ddl-unix,gen_ddl-windows"\r
-  description="geneate ddl" />\r
-    <target name="gen_ddl-unix" if="osfamily-unix" depends="setup_hibernate.cfg">\r
-        <exec executable="mvn" failonerror="true">\r
-            <arg value="-Pddl" />\r
-            <arg value="process-test-resources" />\r
-            <arg value="-f" />\r
-            <arg value="${basedir}/pom.xml" />\r
-            <arg value="-N" />\r
-            <arg value="${mvn.opts}" />\r
-        </exec>\r
-    </target>\r
-    <target name="gen_ddl-windows" if="osfamily-windows" depends="setup_hibernate.cfg">\r
-        <exec executable="cmd" failonerror="true">\r
-            <arg value="/c" />\r
-            <arg value="mvn.bat" />\r
-            <arg value="-Pddl" />\r
-            <arg value="process-test-resources" />\r
-            <arg value="-f" />\r
-            <arg value="${basedir}/pom.xml" />\r
-            <arg value="-N" />\r
-            <arg value="${mvn.opts}" />\r
-        </exec>\r
-    </target>\r
-\r
-    <target name="create_db"\r
-    description="create tables(s), indices for authentication service">\r
-        <sql driver="com.mysql.jdbc.Driver"\r
-        url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
-        userid="${db.user}"\r
-        password="${db.user.password}"\r
-        src="${db.script.dir}/authentication.sql"\r
-        >\r
-            <classpath>\r
-                <pathelement path="${db.driver.jar}"/>\r
-            </classpath>\r
-        </sql>\r
-        <sql driver="com.mysql.jdbc.Driver"\r
-        url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
-        userid="${db.user}"\r
-        password="${db.user.password}"\r
-        src="${db.script.dir}/test_authn.sql"\r
-        >\r
-            <classpath>\r
-                <pathelement path="${db.driver.jar}"/>\r
-            </classpath>\r
-        </sql>\r
-    </target>\r
     \r
     <target name="deploy" depends="install"\r
     description="deploy authentication service in ${jboss.server.cspace}">\r
-        <copy todir="${jboss.server.cspace}/cspace/services">\r
-            <fileset dir="${src}/main/resources/"/>\r
-        </copy>\r
     </target>\r
 \r
     <target name="undeploy"\r
 \r
     <target name="dist"\r
     description="generate distribution for authentication service" depends="package">\r
-        <!-- copy db scripts, etc. -->\r
-        <copy todir="${services.trunk}/${dist.server.cspace}/cspace/services">\r
-            <fileset dir="${src}/main/resources/"/>\r
-        </copy>\r
     </target>\r
 \r
 </project>\r
index 4d0086b8c541e46faa65c855988501949981eb51..a5bda0fa0708ff4531360d2eb09840826f2e232d 100644 (file)
     <artifactId>org.collectionspace.services.authentication.client</artifactId>\r
     <version>1.0</version>\r
     <name>services.authentication.client</name>\r
-    <properties>\r
-        <sql.file>authentication.sql</sql.file>\r
-        <sql.dir>${basedir}/src/main/resources/db/mysql</sql.dir>\r
-    </properties>\r
     <dependencies>\r
         <!-- keep slf4j dependencies on the top -->\r
         <dependency>\r
             <artifactId>org.collectionspace.services.client</artifactId>\r
             <version>1.0</version>\r
         </dependency>\r
-        <!-- authentication tests use CollectionObject service and Account service -->\r
-        <dependency>\r
-            <groupId>org.collectionspace.services</groupId>\r
-            <artifactId>org.collectionspace.services.account.client</artifactId>\r
-            <version>1.0</version>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.collectionspace.services</groupId>\r
-            <artifactId>org.collectionspace.services.collectionobject.client</artifactId>\r
-            <version>1.0</version>\r
-        </dependency>\r
         <dependency>\r
             <groupId>org.testng</groupId>\r
             <artifactId>testng</artifactId>\r
             </plugin>\r
         </plugins>\r
     </build>\r
-    <profiles>\r
-        <profile>\r
-            <!-- use profile as this task is not needed for every build and test -->\r
-            <id>ddl</id>\r
-            <build>\r
-                <plugins>\r
-                    <plugin>\r
-                        <groupId>org.codehaus.mojo</groupId>\r
-                        <artifactId>hibernate3-maven-plugin</artifactId>\r
-                        <version>2.2</version>\r
-                        <executions>\r
-                            <execution>\r
-                                <phase>process-test-resources</phase>\r
-                                <goals>\r
-                                    <goal>hbm2ddl</goal>\r
-                                </goals>\r
-                            </execution>\r
-                        </executions>\r
-                        <configuration>\r
-                            <components>\r
-                                <component>\r
-                                    <name>hbm2ddl</name>\r
-                                </component>\r
-                            </components>\r
-                            <componentProperties>\r
-                                <outputfilename>${sql.file}</outputfilename>\r
-                                <implementation>jpaconfiguration</implementation>\r
-                                <drop>true</drop>\r
-                                <create>true</create>\r
-                                <export>true</export>\r
-                                <jdk5>true</jdk5>\r
-                                <ejb3>false</ejb3>\r
-                                <persistenceunit>org.collectionspace.services.authentication</persistenceunit>\r
-                            </componentProperties>\r
-                        </configuration>\r
-                        <dependencies>\r
-                            <dependency>\r
-                                <groupId>mysql</groupId>\r
-                                <artifactId>mysql-connector-java</artifactId>\r
-                                <version>5.0.5</version>\r
-                            </dependency>\r
-                        </dependencies>\r
-                    </plugin>\r
-                    <plugin>\r
-                        <artifactId>maven-antrun-plugin</artifactId>\r
-                        <executions>\r
-                            <execution>\r
-                                <phase>process-test-resources</phase>\r
-                                <configuration>\r
-                                    <tasks>\r
-                                        <copy file="${basedir}/target/hibernate3/sql/${sql.file}" tofile="${sql.dir}/${sql.file}"/>\r
-                                    </tasks>\r
-                                </configuration>\r
-                                <goals>\r
-                                    <goal>run</goal>\r
-                                </goals>\r
-                            </execution>\r
-                        </executions>\r
-                    </plugin>\r
 \r
-                </plugins>\r
-            </build>\r
-        </profile>\r
-    </profiles>\r
 </project>\r
 \r
index 8d131d494ee92c77fad8d957e958698f349d9c90..da983b4434900c66ca522b90f29a3ac46acb06da 100644 (file)
@@ -17,6 +17,7 @@
 \r
     <modules>\r
         <module>jaxb</module>\r
+        <module>pstore</module>\r
         <module>service</module>\r
         <module>client</module>\r
     </modules>\r
diff --git a/services/authentication/pstore/build.xml b/services/authentication/pstore/build.xml
new file mode 100644 (file)
index 0000000..1add12b
--- /dev/null
@@ -0,0 +1,197 @@
+\r
+<project name="authentication.pstore" default="package" basedir=".">\r
+    <description>\r
+        collectionspace authentication service\r
+    </description>\r
+  <!-- set global properties for this build -->\r
+    <property name="services.trunk" value="../../.."/>\r
+    <!-- enviornment should be declared before reading build.properties -->\r
+    <property environment="env" />\r
+    <property file="${services.trunk}/build.properties" />\r
+    <property name="mvn.opts" value="" />\r
+    <property name="src" location="src"/>\r
+\r
+    <condition property="osfamily-unix">\r
+        <os family="unix" />\r
+    </condition>\r
+    <condition property="osfamily-windows">\r
+        <os family="windows" />\r
+    </condition>\r
+\r
+    <target name="init">\r
+    <!-- Create the time stamp -->\r
+        <tstamp/>\r
+    </target>\r
+\r
+\r
+    <target name="package" depends="package-unix,package-windows"\r
+  description="Package CollectionSpace Services" />\r
+    <target name="package-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="package" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="package-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="package" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="install" depends="package,install-unix,install-windows"\r
+  description="Install" />\r
+    <target name="install-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="install" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="install-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="install" />\r
+            <arg value="-Dmaven.test.skip=true" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    \r
+    <target name="clean" depends="clean-unix,clean-windows"\r
+  description="Delete target directories" >\r
+        <delete dir="${build}"/>\r
+    </target>\r
+    <target name="clean-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="clean" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="clean-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="clean" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="test" depends="test-unix,test-windows" description="Run tests" />\r
+    <target name="test-unix" if="osfamily-unix">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="test" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="test-windows" if="osfamily-windows">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="test" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    \r
+    <target name="setup_hibernate.cfg" description="replace property keywords in hibernate.cfg.xml">\r
+        <property name="src.hibernate.cfg" value="${basedir}/src/test/resources/hibernate.cfg.xml"/>\r
+        <property name="dest.hibernate.cfg" value="${basedir}/target/test-classes/hibernate.cfg.xml"/>\r
+        <delete file="${dest.hibernate.cfg}" verbose="true" />\r
+        <filter token="DB_URL" value="${db.jdbc.url}" />\r
+        <filter token="DB_DRIVER_CLASS" value="${db.jdbc.driver.class}" />\r
+        <filter token="DB_USER" value="${env.DB_USER}" /> <!-- double-sub from ${db.user} fails -->\r
+        <filter token="DB_PASSWORD" value="${env.DB_PASSWORD}" /> <!-- double-sub from ${db.user.password} fails -->\r
+        <filter token="DB_DIALECT" value="${db.dialect}" />\r
+        <copy todir="${basedir}/target/test-classes" filtering="true">\r
+            <fileset dir="${basedir}/src/test/resources">\r
+                <include name="hibernate.cfg.xml" />\r
+            </fileset>\r
+        </copy>\r
+    </target>\r
+\r
+\r
+    <target name="gen_ddl" depends="gen_ddl-unix,gen_ddl-windows"\r
+  description="geneate ddl" />\r
+    <target name="gen_ddl-unix" if="osfamily-unix" depends="setup_hibernate.cfg">\r
+        <exec executable="mvn" failonerror="true">\r
+            <arg value="-Pddl" />\r
+            <arg value="process-test-resources" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+    <target name="gen_ddl-windows" if="osfamily-windows" depends="setup_hibernate.cfg">\r
+        <exec executable="cmd" failonerror="true">\r
+            <arg value="/c" />\r
+            <arg value="mvn.bat" />\r
+            <arg value="-Pddl" />\r
+            <arg value="process-test-resources" />\r
+            <arg value="-f" />\r
+            <arg value="${basedir}/pom.xml" />\r
+            <arg value="-N" />\r
+            <arg value="${mvn.opts}" />\r
+        </exec>\r
+    </target>\r
+\r
+    <target name="create_db"\r
+    description="create tables(s), indices for authentication service">\r
+        <sql driver="com.mysql.jdbc.Driver"\r
+        url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
+        userid="${db.user}"\r
+        password="${db.user.password}"\r
+        src="${db.script.dir}/authentication.sql"\r
+        >\r
+            <classpath>\r
+                <pathelement path="${db.driver.jar}"/>\r
+            </classpath>\r
+        </sql>\r
+        <sql driver="com.mysql.jdbc.Driver"\r
+        url="jdbc:mysql://${db.host}:${db.port}/cspace"\r
+        userid="${db.user}"\r
+        password="${db.user.password}"\r
+        src="${db.script.dir}/test_authn.sql"\r
+        >\r
+            <classpath>\r
+                <pathelement path="${db.driver.jar}"/>\r
+            </classpath>\r
+        </sql>\r
+    </target>\r
+    \r
+    <target name="deploy" depends="install"\r
+    description="deploy authentication service in ${jboss.server.cspace}">\r
+        <copy todir="${jboss.server.cspace}/cspace/services">\r
+            <fileset dir="${src}/main/resources/"/>\r
+        </copy>\r
+    </target>\r
+\r
+    <target name="undeploy"\r
+    description="undeploy authentication service from ${jboss.server.cspace}">\r
+    </target>\r
+\r
+    <target name="dist"\r
+    description="generate distribution for authentication service" depends="package">\r
+        <!-- copy db scripts, etc. -->\r
+        <copy todir="${services.trunk}/${dist.server.cspace}/cspace/services">\r
+            <fileset dir="${src}/main/resources/"/>\r
+        </copy>\r
+    </target>\r
+\r
+</project>\r
diff --git a/services/authentication/pstore/pom.xml b/services/authentication/pstore/pom.xml
new file mode 100644 (file)
index 0000000..cb896ca
--- /dev/null
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project xmlns="http://maven.apache.org/POM/4.0.0"\r
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
+\r
+    <parent>\r
+        <artifactId>org.collectionspace.services.authentication</artifactId>\r
+        <groupId>org.collectionspace.services</groupId>\r
+        <version>1.0</version>\r
+    </parent>\r
+\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <groupId>org.collectionspace.services</groupId>\r
+    <artifactId>org.collectionspace.services.authentication.pstore</artifactId>\r
+    <version>1.0</version>\r
+    <name>services.authentication.pstore</name>\r
+    <properties>\r
+        <sql.file>authentication.sql</sql.file>\r
+        <sql.dir>${basedir}/src/main/resources/db/mysql</sql.dir>\r
+    </properties>\r
+    <dependencies>\r
+        <!-- keep slf4j dependencies on the top -->\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-api</artifactId>\r
+            <scope>test</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-log4j12</artifactId>\r
+            <scope>test</scope>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.collectionspace.services</groupId>\r
+            <artifactId>org.collectionspace.services.authentication.jaxb</artifactId>\r
+            <version>1.0</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.testng</groupId>\r
+            <artifactId>testng</artifactId>\r
+            <version>5.6</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>mysql</groupId>\r
+            <artifactId>mysql-connector-java</artifactId>\r
+        </dependency>\r
+    </dependencies>\r
+\r
+    <build>\r
+        <finalName>cspace-services-authentication-client</finalName>\r
+        <plugins>\r
+            <plugin>\r
+                <artifactId>maven-antrun-plugin</artifactId>\r
+                <executions>\r
+                    <execution>\r
+                        <id>subs-hibernate-config</id>\r
+                        <phase>generate-test-resources</phase>\r
+                        <goals>\r
+                            <goal>run</goal>\r
+                        </goals>\r
+                        <configuration>\r
+                            <tasks>\r
+                                <property name="runtime-classpath" refid="maven.runtime.classpath"/>\r
+                                <ant target="setup_hibernate.cfg" inheritRefs="true"/>\r
+                            </tasks>\r
+                        </configuration>\r
+                    </execution>\r
+                </executions>\r
+            </plugin>\r
+            <plugin>\r
+                <groupId>org.apache.maven.plugins</groupId>\r
+                <artifactId>maven-surefire-plugin</artifactId>\r
+                <configuration>\r
+                    <systemProperties>\r
+                        <property>\r
+                            <name>log4j.configuration</name>\r
+                            <value>file:target/test-classes/log4j.properties</value>\r
+                        </property>\r
+                    </systemProperties>\r
+                </configuration>\r
+            </plugin>\r
+            <plugin>\r
+                <artifactId>maven-compiler-plugin</artifactId>\r
+                <version>2.0.2</version>\r
+                <configuration>\r
+                    <source>1.6</source>\r
+                    <target>1.6</target>\r
+                </configuration>\r
+            </plugin>\r
+        </plugins>\r
+    </build>\r
+    <profiles>\r
+        <profile>\r
+            <!-- use profile as this task is not needed for every build and test -->\r
+            <id>ddl</id>\r
+            <build>\r
+                <plugins>\r
+                    <plugin>\r
+                        <groupId>org.codehaus.mojo</groupId>\r
+                        <artifactId>hibernate3-maven-plugin</artifactId>\r
+                        <version>2.2</version>\r
+                        <executions>\r
+                            <execution>\r
+                                <phase>process-test-resources</phase>\r
+                                <goals>\r
+                                    <goal>hbm2ddl</goal>\r
+                                </goals>\r
+                            </execution>\r
+                        </executions>\r
+                        <configuration>\r
+                            <components>\r
+                                <component>\r
+                                    <name>hbm2ddl</name>\r
+                                </component>\r
+                            </components>\r
+                            <componentProperties>\r
+                                <outputfilename>${sql.file}</outputfilename>\r
+                                <implementation>jpaconfiguration</implementation>\r
+                                <drop>true</drop>\r
+                                <create>true</create>\r
+                                <export>true</export>\r
+                                <jdk5>true</jdk5>\r
+                                <ejb3>false</ejb3>\r
+                                <persistenceunit>org.collectionspace.services.authentication</persistenceunit>\r
+                            </componentProperties>\r
+                        </configuration>\r
+                        <dependencies>\r
+                            <dependency>\r
+                                <groupId>mysql</groupId>\r
+                                <artifactId>mysql-connector-java</artifactId>\r
+                                <version>5.0.5</version>\r
+                            </dependency>\r
+                        </dependencies>\r
+                    </plugin>\r
+                    <plugin>\r
+                        <artifactId>maven-antrun-plugin</artifactId>\r
+                        <executions>\r
+                            <execution>\r
+                                <phase>process-test-resources</phase>\r
+                                <configuration>\r
+                                    <tasks>\r
+                                        <copy file="${basedir}/target/hibernate3/sql/${sql.file}" tofile="${sql.dir}/${sql.file}"/>\r
+                                    </tasks>\r
+                                </configuration>\r
+                                <goals>\r
+                                    <goal>run</goal>\r
+                                </goals>\r
+                            </execution>\r
+                        </executions>\r
+                    </plugin>\r
+\r
+                </plugins>\r
+            </build>\r
+        </profile>\r
+    </profiles>\r
+</project>\r
+\r
diff --git a/services/authentication/pstore/src/test/resources/META-INF/persistence.xml b/services/authentication/pstore/src/test/resources/META-INF/persistence.xml
new file mode 100644 (file)
index 0000000..97d00a0
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<persistence version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
+http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <persistence-unit name="org.collectionspace.services.authentication">
+        <class>org.collectionspace.services.authentication.User</class>
+        <class>org.collectionspace.services.authentication.Role</class>
+        <class>org.collectionspace.services.authentication.UserRole</class>
+        <properties>
+            <property name="hibernate.ejb.cfgfile" value="hibernate.cfg.xml"/>
+
+            <!--property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
+            <property name="hibernate.max_fetch_depth" value="3"/>
+            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
+            <property name="hibernate.connection.username" value="test"/>
+            <property name="hibernate.connection.password" value="test"/>
+            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/cspace"/-->
+        </properties>
+    </persistence-unit>
+</persistence>
diff --git a/services/authentication/pstore/src/test/resources/hibernate.cfg.xml b/services/authentication/pstore/src/test/resources/hibernate.cfg.xml
new file mode 100644 (file)
index 0000000..8296399
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Document   : hibernate.cfg.xml
+    Created on : 
+    Author     : 
+    Description:
+        Hibernate configuration file for testing and tools
+-->
+<!DOCTYPE hibernate-configuration PUBLIC
+          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+<hibernate-configuration>
+    <session-factory>
+        <property name="connection.url">@DB_URL@</property>
+        <property name="connection.driver_class">@DB_DRIVER_CLASS@</property>
+        <property name="connection.username">@DB_USER@</property>
+        <property name="connection.password">@DB_PASSWORD@</property>
+        <property name="dialect">@DB_DIALECT@</property>
+        <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
+        <property name="current_session_context_class">thread</property>
+        <property name="hibernate.show_sql">true</property>
+    </session-factory>
+</hibernate-configuration>
diff --git a/services/authentication/pstore/src/test/resources/log4j.properties b/services/authentication/pstore/src/test/resources/log4j.properties
new file mode 100644 (file)
index 0000000..5d288d8
--- /dev/null
@@ -0,0 +1,23 @@
+log4j.rootLogger=debug, stdout, R\r
+\r
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
+\r
+# Pattern to output the caller's file name and line number.\r
+log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n\r
+\r
+log4j.appender.R=org.apache.log4j.RollingFileAppender\r
+log4j.appender.R.File=target/test-client.log\r
+\r
+log4j.appender.R.MaxFileSize=100KB\r
+# Keep one backup file\r
+log4j.appender.R.MaxBackupIndex=1\r
+\r
+log4j.appender.R.layout=org.apache.log4j.PatternLayout\r
+log4j.appender.R.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n\r
+\r
+#packages\r
+log4j.logger.org.collectionspace=DEBUG\r
+log4j.logger.org.apache=INFO\r
+log4j.logger.httpclient=INFO\r
+log4j.logger.org.jboss.resteasy=WARN\r
index b040be6366b1dd314a37c44b4f12ee2242814d7e..de51ae0c1f01df7b92114201619bab141172cd71 100644 (file)
         </exec>\r
     </target>\r
 \r
+    <target name="gen_ddl"\r
+            description="generate service-specific tables(s), indices, etc.">\r
+        <ant antfile="authentication/build.xml" target="gen_ddl" inheritAll="false"/>\r
+        <ant antfile="account/build.xml" target="gen_ddl" inheritAll="false"/>\r
+    </target>\r
+\r
     <target name="create_db"\r
             description="create service-specific tables(s), indices, etc.">\r
         <ant antfile="authentication/build.xml" target="create_db" inheritAll="false"/>\r