]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-451 Some files missed in the last checkin.
authorPatrick Schmitz <pschmitz@berkeley.edu>
Thu, 8 Oct 2009 16:22:08 +0000 (16:22 +0000)
committerPatrick Schmitz <pschmitz@berkeley.edu>
Thu, 8 Oct 2009 16:22:08 +0000 (16:22 +0000)
19 files changed:
services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.classpath [new file with mode: 0644]
services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.project [new file with mode: 0644]
services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.settings/org.maven.ide.eclipse.prefs [new file with mode: 0644]
services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/build.xml [new file with mode: 0644]
services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/pom.xml [new file with mode: 0644]
services/vocabulary/client/.classpath [new file with mode: 0644]
services/vocabulary/client/.project [new file with mode: 0644]
services/vocabulary/client/pom.xml [new file with mode: 0644]
services/vocabulary/jaxb/.classpath [new file with mode: 0644]
services/vocabulary/jaxb/.project [new file with mode: 0644]
services/vocabulary/jaxb/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
services/vocabulary/jaxb/.settings/org.maven.ide.eclipse.prefs [new file with mode: 0644]
services/vocabulary/jaxb/pom.xml [new file with mode: 0644]
services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyConstants.java [new file with mode: 0644]
services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyDocumentModelHandler.java [new file with mode: 0644]
services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyHandlerFactory.java [new file with mode: 0644]
services/vocabulary/service/src/test/java/org/collectionspace/services/test/VocabularyServiceTest.java [new file with mode: 0644]
services/vocabulary/service/src/test/resources/log4j.xml [new file with mode: 0644]

diff --git a/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.classpath b/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.classpath
new file mode 100644 (file)
index 0000000..a92b24a
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" output="target/classes" path="src/main/java"/>\r
+       <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>\r
+       <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>\r
+       <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>\r
+       <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
diff --git a/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.project b/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.project
new file mode 100644 (file)
index 0000000..8388db4
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>nuxeo-platform-collectionspace</name>\r
+       <comment>Nuxeo Enterprise Platform: CS extensions</comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.maven.ide.eclipse.maven2Builder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.maven.ide.eclipse.maven2Nature</nature>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.settings/org.eclipse.jdt.core.prefs b/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..2c88304
--- /dev/null
@@ -0,0 +1,5 @@
+#Tue Oct 06 13:26:44 PDT 2009\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5\r
+org.eclipse.jdt.core.compiler.compliance=1.5\r
+org.eclipse.jdt.core.compiler.source=1.5\r
diff --git a/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.settings/org.maven.ide.eclipse.prefs b/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/.settings/org.maven.ide.eclipse.prefs
new file mode 100644 (file)
index 0000000..552ddbf
--- /dev/null
@@ -0,0 +1,9 @@
+#Tue Oct 06 13:25:17 PDT 2009\r
+activeProfiles=\r
+eclipse.preferences.version=1\r
+fullBuildGoals=process-test-resources\r
+includeModules=false\r
+resolveWorkspaceProjects=true\r
+resourceFilterGoals=process-resources resources\:testResources\r
+skipCompilerPlugin=true\r
+version=1\r
diff --git a/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/build.xml b/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/build.xml
new file mode 100644 (file)
index 0000000..a9e56c3
--- /dev/null
@@ -0,0 +1,130 @@
+
+<project name="nuxeo-platform-cs-vocabulary" default="package" basedir=".">
+    <description>
+        vocabulary nuxeo document type
+    </description>
+  <!-- set global properties for this build -->
+    <property name="services.trunk" value="../../../.."/>
+    <property file="${services.trunk}/build.properties" />
+    <property name="mvn.opts" value="" />
+    <property name="src" location="src"/>
+    <property name="nuxeo.vocabulary.jar" value="org.collectionspace.services.vocabulary.3rdparty.nuxeo-1.0.jar"/>
+
+    <condition property="osfamily-unix">
+        <os family="unix" />
+    </condition>
+    <condition property="osfamily-windows">
+        <os family="windows" />
+    </condition>
+
+    <target name="init" >
+    <!-- Create the time stamp -->
+        <tstamp/>
+    </target>
+
+    <target name="package" depends="package-unix,package-windows"
+  description="Package CollectionSpace Services" />
+    <target name="package-unix" if="osfamily-unix">
+        <exec executable="mvn" failonerror="true">
+            <arg value="package" />
+            <arg value="-Dmaven.test.skip=true" />
+            <arg value="-f" />
+            <arg value="${basedir}/pom.xml" />
+            <arg value="-N" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+    <target name="package-windows" if="osfamily-windows">
+        <exec executable="cmd" failonerror="true">
+            <arg value="/c" />
+            <arg value="mvn.bat" />
+            <arg value="package" />
+            <arg value="-Dmaven.test.skip=true" />
+            <arg value="-f" />
+            <arg value="${basedir}/pom.xml" />
+            <arg value="-N" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+
+    <target name="install" depends="package,install-unix,install-windows"
+  description="Install" />
+    <target name="install-unix" if="osfamily-unix">
+        <exec executable="mvn" failonerror="true">
+            <arg value="install" />
+            <arg value="-Dmaven.test.skip=true" />
+            <arg value="-f" />
+            <arg value="${basedir}/pom.xml" />
+            <arg value="-N" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+    <target name="install-windows" if="osfamily-windows">
+        <exec executable="cmd" failonerror="true">
+            <arg value="/c" />
+            <arg value="mvn.bat" />
+            <arg value="install" />
+            <arg value="-Dmaven.test.skip=true" />
+            <arg value="-f" />
+            <arg value="${basedir}/pom.xml" />
+            <arg value="-N" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+
+    <target name="clean" depends="clean-unix,clean-windows"
+  description="Delete target directories" >
+        <delete dir="${build}"/>
+    </target>
+    <target name="clean-unix" if="osfamily-unix">
+        <exec executable="mvn" failonerror="true">
+            <arg value="clean" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+    <target name="clean-windows" if="osfamily-windows">
+        <exec executable="cmd" failonerror="true">
+            <arg value="/c" />
+            <arg value="mvn.bat" />
+            <arg value="clean" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+
+    <target name="test" depends="test-unix,test-windows" description="Run tests" />
+    <target name="test-unix" if="osfamily-unix">
+        <exec executable="mvn" failonerror="true">
+            <arg value="test" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+    <target name="test-windows" if="osfamily-windows">
+        <exec executable="cmd" failonerror="true">
+            <arg value="/c" />
+            <arg value="mvn.bat" />
+            <arg value="test" />
+            <arg value="${mvn.opts}" />
+        </exec>
+    </target>
+
+    <target name="deploy" depends="package"
+    description="deploy vocabulary doctype in ${jboss.server.nuxeo}">
+        <copy file="${basedir}/target/${nuxeo.vocabulary.jar}"
+        todir="${jboss.deploy.nuxeo.system}"/>
+    </target>
+
+    <target name="undeploy"
+    description="undeploy vocabulary doctype from ${jboss.server.nuxeo}">
+        <delete file="${jboss.deploy.nuxeo.system}/${nuxeo.vocabulary.jar}"/>
+    </target>
+
+
+    <target name="dist"
+    description="generate distribution for vocabulary doctype" depends="package">
+        <copy todir="${services.trunk}/${dist.deploy.nuxeo.system}">
+            <fileset file="${basedir}/target/${nuxeo.vocabulary.jar}"/>
+        </copy>
+    </target>
+
+</project>
+
diff --git a/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/pom.xml b/services/vocabulary/3rdparty/nuxeo-platform-cs-vocabulary/pom.xml
new file mode 100644 (file)
index 0000000..43cbbbc
--- /dev/null
@@ -0,0 +1,19 @@
+<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">
+    <parent>
+        <groupId>org.collectionspace.services</groupId>
+        <artifactId>nuxeo-platform-collectionspace</artifactId>
+        <version>1.0</version>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.collectionspace.services</groupId>
+    <version>1.0</version>
+    <artifactId>org.collectionspace.services.vocabulary.3rdparty.nuxeo</artifactId>
+    <packaging>jar</packaging>
+    <name>services.vocabulary.3rdparty.nuxeo</name>
+    <description>
+    Vocabulary Nuxeo Document Type
+    </description>
+</project>
diff --git a/services/vocabulary/client/.classpath b/services/vocabulary/client/.classpath
new file mode 100644 (file)
index 0000000..425cd16
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" output="target/classes" path="src/main/java"/>\r
+       <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>\r
+       <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>\r
+       <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+       <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>\r
+       <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
diff --git a/services/vocabulary/client/.project b/services/vocabulary/client/.project
new file mode 100644 (file)
index 0000000..f44220e
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>javaee-addressbook-client</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.maven.ide.eclipse.maven2Builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+               <nature>org.maven.ide.eclipse.maven2Nature</nature>
+       </natures>
+</projectDescription>
diff --git a/services/vocabulary/client/pom.xml b/services/vocabulary/client/pom.xml
new file mode 100644 (file)
index 0000000..ad4103c
--- /dev/null
@@ -0,0 +1,111 @@
+<?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.vocabulary</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.vocabulary.client</artifactId>\r
+    <version>1.0</version>\r
+    <name>services.vocabulary.client</name>\r
+    \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.vocabulary.jaxb</artifactId>\r
+            <version>1.0</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.collectionspace.services</groupId>\r
+            <artifactId>org.collectionspace.services.client</artifactId>\r
+            <version>1.0</version>\r
+        </dependency>\r
+        \r
+        <dependency>\r
+            <groupId>org.testng</groupId>\r
+            <artifactId>testng</artifactId>\r
+            <version>5.6</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-api</artifactId>\r
+            <version>1.5.2</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-log4j12</artifactId>\r
+            <version>1.5.2</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.jboss.resteasy</groupId>\r
+            <artifactId>resteasy-jaxrs</artifactId>\r
+            <version>1.0.2.GA</version>\r
+            <!-- filter out unwanted jars -->\r
+            <exclusions>\r
+                <exclusion>\r
+                    <groupId>tjws</groupId>\r
+                    <artifactId>webserver</artifactId>\r
+                </exclusion>\r
+            </exclusions>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.jboss.resteasy</groupId>\r
+            <artifactId>resteasy-jaxb-provider</artifactId>\r
+            <version>1.0.2.GA</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.jboss.resteasy</groupId>\r
+            <artifactId>resteasy-multipart-provider</artifactId>\r
+            <version>1.0.2.GA</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>commons-httpclient</groupId>\r
+            <artifactId>commons-httpclient</artifactId>\r
+            <version>3.1</version>\r
+        </dependency>\r
+    </dependencies>\r
+    \r
+    <build>\r
+        <finalName>collectionspace-services-vocabulary-client</finalName>\r
+        <plugins>\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
+</project>\r
+\r
diff --git a/services/vocabulary/jaxb/.classpath b/services/vocabulary/jaxb/.classpath
new file mode 100644 (file)
index 0000000..842ef51
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" output="target/classes" path="src/main/java"/>\r
+       <classpathentry kind="src" path="target/generated-sources/xjc"/>\r
+       <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+       <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>\r
+       <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
diff --git a/services/vocabulary/jaxb/.project b/services/vocabulary/jaxb/.project
new file mode 100644 (file)
index 0000000..db1c789
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>javaee-addressbook-jaxb</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.maven.ide.eclipse.maven2Builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+               <nature>org.maven.ide.eclipse.maven2Nature</nature>
+       </natures>
+</projectDescription>
diff --git a/services/vocabulary/jaxb/.settings/org.eclipse.jdt.core.prefs b/services/vocabulary/jaxb/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..0b4dbbe
--- /dev/null
@@ -0,0 +1,5 @@
+#Mon Oct 05 17:07:09 PDT 2009\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\r
+org.eclipse.jdt.core.compiler.compliance=1.6\r
+org.eclipse.jdt.core.compiler.source=1.6\r
diff --git a/services/vocabulary/jaxb/.settings/org.maven.ide.eclipse.prefs b/services/vocabulary/jaxb/.settings/org.maven.ide.eclipse.prefs
new file mode 100644 (file)
index 0000000..5288436
--- /dev/null
@@ -0,0 +1,9 @@
+#Mon Oct 05 17:07:08 PDT 2009\r
+activeProfiles=\r
+eclipse.preferences.version=1\r
+fullBuildGoals=process-test-resources\r
+includeModules=false\r
+resolveWorkspaceProjects=true\r
+resourceFilterGoals=process-resources resources\:testResources\r
+skipCompilerPlugin=true\r
+version=1\r
diff --git a/services/vocabulary/jaxb/pom.xml b/services/vocabulary/jaxb/pom.xml
new file mode 100644 (file)
index 0000000..80c4cdd
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+
+    <parent>
+        <artifactId>org.collectionspace.services.vocabulary</artifactId>
+        <groupId>org.collectionspace.services</groupId>
+        <version>1.0</version>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.collectionspace.services</groupId>
+    <artifactId>org.collectionspace.services.vocabulary.jaxb</artifactId>
+    <version>1.0</version>
+    <name>services.vocabulary.jaxb</name>
+    
+    <dependencies>
+        <dependency>
+            <groupId>com.sun.xml.bind</groupId>
+            <artifactId>jaxb-impl</artifactId>
+            <version>2.0.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jvnet.jaxb2-commons</groupId>
+            <artifactId>property-listener-injector</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jvnet.jaxb2_commons</groupId>
+            <artifactId>runtime</artifactId>
+            <version>0.4.1.4</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <finalName>collectionspace-services-vocabulary-jaxb</finalName>
+        <defaultGoal>install</defaultGoal>
+        <plugins>
+            <plugin>
+                <groupId>org.jvnet.jaxb2.maven2</groupId>
+                <artifactId>maven-jaxb2-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+               <!-- javax.activation.DataSource provider is required by spec -->
+                    <dependency>
+                        <groupId>javax.activation</groupId>
+                        <artifactId>activation</artifactId>
+                        <version>1.1</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>com.sun.xml.bind</groupId>
+                        <artifactId>jaxb-impl</artifactId>
+                        <version>2.1.2</version>
+                     </dependency>
+                </dependencies>
+                <configuration>
+                    <args>
+                        <arg>-XtoString</arg>
+                        <arg>-Xinject-listener-code</arg>
+
+                     <!-- <arg>-Xcollection-setter-injector</arg>
+                                <arg>-Xfluent-api</arg> -->
+                    </args>
+                    <plugins>
+                        <plugin>
+                            <groupId>
+                           org.jvnet.jaxb2_commons
+                            </groupId>
+                            <artifactId>basic</artifactId>
+                            <version>0.4.1</version>
+                        </plugin>
+                        <plugin>
+                            <groupId>
+                           org.jvnet.jaxb2-commons
+                            </groupId>
+                            <artifactId>
+                           property-listener-injector
+                            </artifactId>
+                            <version>1.0</version>
+                        </plugin>
+
+                    </plugins>
+                    <!--generatePackage>
+                     org.collectionspace.hello
+                    </generatePackage-->
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.0.2</version>
+                <configuration>
+                    <source>1.6</source>
+                    <target>1.6</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
+
diff --git a/services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyConstants.java b/services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyConstants.java
new file mode 100644 (file)
index 0000000..bded5e8
--- /dev/null
@@ -0,0 +1,35 @@
+/**
+ *  This document is a part of the source code and related artifacts
+ *  for CollectionSpace, an open source collections management system
+ *  for museums and related institutions:
+
+ *  http://www.collectionspace.org
+ *  http://wiki.collectionspace.org
+
+ *  Copyright 2009 University of California at Berkeley
+
+ *  Licensed under the Educational Community License (ECL), Version 2.0.
+ *  You may not use this file except in compliance with this License.
+
+ *  You may obtain a copy of the ECL 2.0 License at
+
+ *  https://source.collectionspace.org/collection-space/LICENSE.txt
+
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.collectionspace.services.vocabulary.nuxeo;
+
+/**
+ * VocabularyConstants processes CollectionObject document
+ *
+ */
+public class VocabularyConstants {
+
+    public final static String NUXEO_DOCTYPE = "Vocabulary";
+    public final static String NUXEO_SCHEMA_NAME = "vocabulary";
+    public final static String NUXEO_DC_TITLE = "CollectionSpace-Vocabulary";
+}
diff --git a/services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyDocumentModelHandler.java b/services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyDocumentModelHandler.java
new file mode 100644 (file)
index 0000000..7dbd835
--- /dev/null
@@ -0,0 +1,156 @@
+/**
+ *  This document is a part of the source code and related artifacts
+ *  for CollectionSpace, an open source collections management system
+ *  for museums and related institutions:
+
+ *  http://www.collectionspace.org
+ *  http://wiki.collectionspace.org
+
+ *  Copyright 2009 University of California at Berkeley
+
+ *  Licensed under the Educational Community License (ECL), Version 2.0.
+ *  You may not use this file except in compliance with this License.
+
+ *  You may obtain a copy of the ECL 2.0 License at
+
+ *  https://source.collectionspace.org/collection-space/LICENSE.txt
+
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.collectionspace.services.vocabulary.nuxeo;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.collectionspace.services.VocabularyJAXBSchema;
+import org.collectionspace.services.common.repository.DocumentHandler.Action;
+import org.collectionspace.services.common.repository.DocumentWrapper;
+import org.collectionspace.services.vocabulary.VocabulariesCommon;
+import org.collectionspace.services.vocabulary.VocabulariesCommonList;
+import org.collectionspace.services.vocabulary.VocabulariesCommonList.VocabularyListItem;
+
+import org.collectionspace.services.nuxeo.client.java.RemoteDocumentModelHandler;
+import org.nuxeo.ecm.core.api.DocumentModel;
+import org.nuxeo.ecm.core.api.DocumentModelList;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * VocabularyDocumentModelHandler
+ *
+ * $LastChangedRevision: $
+ * $LastChangedDate: $
+ */
+public class VocabularyDocumentModelHandler
+        extends RemoteDocumentModelHandler<VocabulariesCommon, VocabulariesCommonList> {
+
+    private final Logger logger = LoggerFactory.getLogger(VocabularyDocumentModelHandler.class);
+    /**
+     * vocabulary is used to stash JAXB object to use when handle is called
+     * for Action.CREATE, Action.UPDATE or Action.GET
+     */
+    private VocabulariesCommon vocabulary;
+    /**
+     * vocabularyList is stashed when handle is called
+     * for ACTION.GET_ALL
+     */
+    private VocabulariesCommonList vocabularyList;
+
+    @Override
+    public void prepare(Action action) throws Exception {
+        //no specific action needed
+    }
+
+    /**
+     * getCommonPart get associated vocabulary
+     * @return
+     */
+    @Override
+    public VocabulariesCommon getCommonPart() {
+        return vocabulary;
+    }
+
+    /**
+     * setCommonPart set associated vocabulary
+     * @param vocabulary
+     */
+    @Override
+    public void setCommonPart(VocabulariesCommon vocabulary) {
+        this.vocabulary = vocabulary;
+    }
+
+    /**
+     * getCommonPartList get associated vocabulary (for index/GET_ALL)
+     * @return
+     */
+    @Override
+    public VocabulariesCommonList getCommonPartList() {
+        return vocabularyList;
+    }
+
+    @Override
+    public void setCommonPartList(VocabulariesCommonList vocabularyList) {
+        this.vocabularyList = vocabularyList;
+    }
+
+    @Override
+    public VocabulariesCommon extractCommonPart(DocumentWrapper wrapDoc)
+            throws Exception {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void fillCommonPart(VocabulariesCommon vocabularyObject, DocumentWrapper wrapDoc) throws Exception {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public VocabulariesCommonList extractCommonPartList(DocumentWrapper wrapDoc) throws Exception {
+        DocumentModelList docList = (DocumentModelList) wrapDoc.getWrappedObject();
+
+        VocabulariesCommonList coList = new VocabulariesCommonList();
+        List<VocabulariesCommonList.VocabularyListItem> list = coList.getVocabularyListItem();
+
+        //FIXME: iterating over a long list of documents is not a long term
+        //strategy...need to change to more efficient iterating in future
+        Iterator<DocumentModel> iter = docList.iterator();
+        while(iter.hasNext()){
+            DocumentModel docModel = iter.next();
+            VocabularyListItem ilistItem = new VocabularyListItem();
+            ilistItem.setDisplayName((String) docModel.getProperty(getServiceContext().getCommonPartLabel(),
+                    VocabularyJAXBSchema.DISPLAY_NAME));
+            ilistItem.setVocabType((String) docModel.getProperty(getServiceContext().getCommonPartLabel(),
+                    VocabularyJAXBSchema.VOCAB_TYPE));
+            String id = docModel.getId();
+            ilistItem.setUri(getServiceContextPath() + id);
+            ilistItem.setCsid(id);
+            list.add(ilistItem);
+        }
+
+        return coList;
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.collectionspace.services.nuxeo.client.java.DocumentModelHandler#getDocumentType()
+     */
+    @Override
+    public String getDocumentType() {
+        return VocabularyConstants.NUXEO_DOCTYPE;
+    }
+
+    /**
+     * getQProperty converts the given property to qualified schema property
+     * @param prop
+     * @return
+     */
+    @Override
+    public String getQProperty(String prop) {
+        return VocabularyConstants.NUXEO_SCHEMA_NAME + ":" + prop;
+    }
+}
+
diff --git a/services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyHandlerFactory.java b/services/vocabulary/service/src/main/java/org/collectionspace/services/vocabulary/nuxeo/VocabularyHandlerFactory.java
new file mode 100644 (file)
index 0000000..721c300
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ *  This document is a part of the source code and related artifacts
+ *  for CollectionSpace, an open source collections management system
+ *  for museums and related institutions:
+
+ *  http://www.collectionspace.org
+ *  http://wiki.collectionspace.org
+
+ *  Copyright 2009 University of California at Berkeley
+
+ *  Licensed under the Educational Community License (ECL), Version 2.0.
+ *  You may not use this file except in compliance with this License.
+
+ *  You may obtain a copy of the ECL 2.0 License at
+
+ *  https://source.collectionspace.org/collection-space/LICENSE.txt
+
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.collectionspace.services.vocabulary.nuxeo;
+
+import org.collectionspace.services.common.ClientType;
+import org.collectionspace.services.common.repository.DocumentHandler;
+import org.collectionspace.services.common.repository.DocumentHandlerFactory;
+
+
+/**
+ * VocabularyHandlerFactory creates handlers for collectionobject based
+ * on type of Nuxeo client used
+ *
+ * $LastChangedRevision: $
+ * $LastChangedDate: $
+ */
+public class VocabularyHandlerFactory implements DocumentHandlerFactory {
+
+    private static final VocabularyHandlerFactory self = new VocabularyHandlerFactory();
+
+    private VocabularyHandlerFactory() {
+    }
+
+    public static VocabularyHandlerFactory getInstance() {
+        return self;
+    }
+
+               @Override
+    public DocumentHandler getHandler(String clientType) {
+        if(ClientType.JAVA.toString().equals(clientType)){
+            return new VocabularyDocumentModelHandler();
+        } 
+        throw new IllegalArgumentException("Not supported client=" + clientType);
+    }
+}
diff --git a/services/vocabulary/service/src/test/java/org/collectionspace/services/test/VocabularyServiceTest.java b/services/vocabulary/service/src/test/java/org/collectionspace/services/test/VocabularyServiceTest.java
new file mode 100644 (file)
index 0000000..557d449
--- /dev/null
@@ -0,0 +1,13 @@
+package org.collectionspace.services.test;
+
+//import org.collectionspace.services.intake.Vocabulary;
+//import org.collectionspace.services.intake.VocabularyList;
+
+/**
+ * A VocabularyServiceTest.
+ * 
+ * @version $Revision:$
+ */
+public class VocabularyServiceTest {
+       //empty
+}
diff --git a/services/vocabulary/service/src/test/resources/log4j.xml b/services/vocabulary/service/src/test/resources/log4j.xml
new file mode 100644 (file)
index 0000000..52121cb
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+       <appender name="console" class="org.apache.log4j.ConsoleAppender">
+               <param name="Target" value="System.out" />
+               <layout class="org.apache.log4j.TTCCLayout">
+                       <param name="DateFormat" value="ISO8601" />
+               </layout>
+       </appender>
+
+
+       <appender name="unit-tests"
+               class="org.apache.log4j.RollingFileAppender">
+               <param name="File" value="./target/unit-tests.log" />
+               <param name="MaxFileSize" value="10240KB" />
+               <param name="MaxBackupIndex" value="6" />
+               <layout class="org.apache.log4j.TTCCLayout">
+                       <param name="DateFormat" value="ISO8601" />
+               </layout>
+       </appender>
+
+       <logger name="org.apache.commons.httpclient" additivity="false">
+               <level value="warn" />
+               <appender-ref ref="console" />
+               <appender-ref ref="unit-tests" />
+       </logger>
+
+       <logger name="httpclient.wire" additivity="false">
+               <level value="info" />
+               <appender-ref ref="console" />
+               <appender-ref ref="unit-tests" />
+       </logger>
+
+       <root>
+               <priority value="debug" />
+               <appender-ref ref="console" />
+               <appender-ref ref="unit-tests" />
+       </root>
+
+</log4j:configuration>
+
+
+
+