From 2e7a7bd552b445205c70955f9226bfd6b177b6fa Mon Sep 17 00:00:00 2001 From: Sanjay Dalal Date: Fri, 17 Apr 2009 21:35:46 +0000 Subject: [PATCH] CSPACE-80, non-Helloworld 0.1v services, clients, tests and doc types are moved to sanjay's sandbox in jaxrs-prototype --- .../src/main/resources/hello.xsd | 107 ----- .../services/CollectionObjectResource.java | 2 +- .../services/HelloworldNuxeoApplication.java | 3 - HelloWorld/pom.xml | 356 ++++++++------- nbproject/private/private.xml | 3 - .../nuxeo/jaxrs-nuxeo-cs}/build.properties | 0 .../3rdparty/nuxeo/jaxrs-nuxeo-cs}/build.xml | 0 .../3rdparty/nuxeo/jaxrs-nuxeo-cs}/pom.xml | 4 +- .../src/main/resources/META-INF/MANIFEST.MF | 0 .../resources/OSGI-INF/core-types-contrib.xml | 0 .../OSGI-INF/deployment-fragment.xml | 0 .../resources/OSGI-INF/ecm-types-contrib.xml | 0 .../resources/OSGI-INF/layouts-contrib.xml | 0 .../src/main/resources/schemas/hello.xsd | 0 .../target/classes/META-INF/MANIFEST.MF | 22 + .../classes/OSGI-INF/core-types-contrib.xml | 13 + .../classes/OSGI-INF/deployment-fragment.xml | 408 ++++++++++++++++++ .../classes/OSGI-INF/ecm-types-contrib.xml | 37 ++ .../classes/OSGI-INF/layouts-contrib.xml | 155 +++++++ .../target/classes/schemas/hello.xsd | 41 ++ .../target/maven-archiver/pom.properties | 5 + ...nuxeo-platform-cs-5.2-SNAPSHOT-sources.jar | Bin 0 -> 4603 bytes .../target/nuxeo-platform-cs-5.2-SNAPSHOT.jar | Bin 0 -> 6220 bytes .../jaxrs-client/nb-configuration.xml | 20 + .../jaxrs-client/nbactions.xml | 17 + .../jaxrs-prototype/jaxrs-client/pom.xml | 72 ++++ .../hello/client/IdentifierClient.java | 0 .../hello/client/IdentifierProxy.java | 0 .../hello/client/PersonClient.java | 0 .../hello/client/PersonProxy.java | 0 .../client/test/IdentifierServiceTest.java | 0 .../hello/client/test/PersonServiceTest.java | 0 .../jaxrs-client/src/test/resources/log4j.xml | 45 ++ .../jaxrs-client/temp-testng-customsuite.xml | 8 + .../jaxrs-jaxb/nb-configuration.xml | 20 + .../jaxrs-prototype/jaxrs-jaxb/pom.xml | 97 +++++ .../services/CollectionObjectJAXBSchema.java | 21 + .../CollectionObjectListItemJAXBSchema.java | 7 + .../jaxrs-jaxb/src/main/resources/hello.xsd | 121 ++++++ .../jaxrs-jaxb}/src/main/resources/world.xsd | 0 .../jaxrs-nuxeo-client/nb-configuration.xml | 20 + .../jaxrs-nuxeo-client/nbactions.xml | 17 + .../jaxrs-nuxeo-client/pom.xml | 72 ++++ .../hello/client/CollectionSpaceClient.java | 34 ++ .../hello/client/MultipartClient.java | 0 .../hello/client/MultipartProxy.java | 0 .../hello/client/PersonNuxeoClient.java | 0 .../hello/client/PersonNuxeoProxy.java | 0 .../client/test/MultipartServiceTest.java | 0 .../client/test/PersonNuxeoServiceTest.java | 0 .../src/test/resources/log4j.xml | 45 ++ .../temp-testng-customsuite.xml | 8 + .../jaxrs-nuxeo-service/README.txt | 14 + .../jaxrs-nuxeo-service/build.properties | 4 + .../jaxrs-nuxeo-service}/build.xml | 0 .../jaxrs-nuxeo-service}/nb-configuration.xml | 0 .../jaxrs-nuxeo-service}/nbactions.xml | 0 .../jaxrs-nuxeo-service/pom.xml | 275 ++++++++++++ .../services/CollectionSpaceResource.java | 24 ++ .../services/HelloworldNuxeoApplication.java | 27 ++ .../hello/services/IdentifierResource.java | 0 .../hello/services/MultipartResource.java | 0 .../hello/services/PersonNuxeoResource.java | 0 .../hello/services/nuxeo/NuxeoCallback.java | 50 +++ .../services/nuxeo/NuxeoCallbackHandler.java | 85 ++++ .../nuxeo/NuxeoLoginConfiguration.java | 53 +++ .../nuxeo/NuxeoLoginContextFactory.java | 48 +++ .../hello/services/nuxeo/NuxeoRESTClient.java | 313 ++++++++++++++ .../PortalSSOAuthenticationProvider.java | 72 ++++ .../src/main/resources/jndi.properties | 3 + .../src/main/resources/nuxeo.properties | 2 + .../src/main/webapp/WEB-INF/web.xml | 34 ++ .../jaxrs-prototype/jaxrs-service}/README.txt | 0 .../jaxrs-service}/build.properties | 0 .../jaxrs-prototype/jaxrs-service/build.xml | 13 + .../jaxrs-service/nb-configuration.xml | 21 + .../jaxrs-service/nbactions.xml | 74 ++++ .../jaxrs-prototype/jaxrs-service}/pom.xml | 8 +- .../hello/services/HelloworldApplication.java | 0 .../hello/services/IdentifierResource.java | 0 .../hello/services/PersonResource.java | 0 .../src/main/webapp/WEB-INF/web.xml | 0 .../test/IdentifierServiceRawXmlTest.java | 0 .../hello/test/PersonServiceRawXmlTest.java | 0 .../sanjay/prototypes/jaxrs-prototype/pom.xml | 174 ++++++++ 85 files changed, 2771 insertions(+), 303 deletions(-) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/build.properties (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/build.xml (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/pom.xml (89%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/src/main/resources/META-INF/MANIFEST.MF (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/src/main/resources/OSGI-INF/core-types-contrib.xml (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/src/main/resources/OSGI-INF/deployment-fragment.xml (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/src/main/resources/OSGI-INF/ecm-types-contrib.xml (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/src/main/resources/OSGI-INF/layouts-contrib.xml (100%) rename {3rdparty/nuxeo/nuxeo-platform-cs => sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs}/src/main/resources/schemas/hello.xsd (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/META-INF/MANIFEST.MF create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/core-types-contrib.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/deployment-fragment.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/ecm-types-contrib.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/layouts-contrib.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/schemas/hello.xsd create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/maven-archiver/pom.properties create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/nuxeo-platform-cs-5.2-SNAPSHOT-sources.jar create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/nuxeo-platform-cs-5.2-SNAPSHOT.jar create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nb-configuration.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nbactions.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/pom.xml rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client}/src/main/java/org/collectionspace/hello/client/IdentifierClient.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client}/src/main/java/org/collectionspace/hello/client/IdentifierProxy.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client}/src/main/java/org/collectionspace/hello/client/PersonClient.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client}/src/main/java/org/collectionspace/hello/client/PersonProxy.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client}/src/test/java/org/collectionspace/hello/client/test/IdentifierServiceTest.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client}/src/test/java/org/collectionspace/hello/client/test/PersonServiceTest.java (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/resources/log4j.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/temp-testng-customsuite.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/nb-configuration.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/pom.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectJAXBSchema.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectListItemJAXBSchema.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/resources/hello.xsd rename {HelloWorld/HelloWorldJaxb => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb}/src/main/resources/world.xsd (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nb-configuration.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nbactions.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/pom.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client}/src/main/java/org/collectionspace/hello/client/MultipartClient.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client}/src/main/java/org/collectionspace/hello/client/MultipartProxy.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client}/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client}/src/main/java/org/collectionspace/hello/client/PersonNuxeoProxy.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client}/src/test/java/org/collectionspace/hello/client/test/MultipartServiceTest.java (100%) rename {HelloWorld/HelloWorldClient => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client}/src/test/java/org/collectionspace/hello/client/test/PersonNuxeoServiceTest.java (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/resources/log4j.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/temp-testng-customsuite.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/README.txt create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/build.properties rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service}/build.xml (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service}/nb-configuration.xml (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service}/nbactions.xml (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/pom.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/CollectionSpaceResource.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java rename {HelloWorld/HelloWorldNuxeoService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service}/src/main/java/org/collectionspace/hello/services/IdentifierResource.java (100%) rename {HelloWorld/HelloWorldNuxeoService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service}/src/main/java/org/collectionspace/hello/services/MultipartResource.java (100%) rename {HelloWorld/HelloWorldNuxeoService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service}/src/main/java/org/collectionspace/hello/services/PersonNuxeoResource.java (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallback.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallbackHandler.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginConfiguration.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginContextFactory.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoRESTClient.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/PortalSSOAuthenticationProvider.java create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/jndi.properties create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/nuxeo.properties create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/webapp/WEB-INF/web.xml rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/README.txt (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/build.properties (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/build.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nb-configuration.xml create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nbactions.xml rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/pom.xml (94%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/src/main/java/org/collectionspace/hello/services/HelloworldApplication.java (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/src/main/java/org/collectionspace/hello/services/IdentifierResource.java (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/src/main/java/org/collectionspace/hello/services/PersonResource.java (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/src/main/webapp/WEB-INF/web.xml (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/src/test/java/org/collectionspace/hello/test/IdentifierServiceRawXmlTest.java (100%) rename {HelloWorld/HelloWorldService => sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service}/src/test/java/org/collectionspace/hello/test/PersonServiceRawXmlTest.java (100%) create mode 100644 sandbox/sanjay/prototypes/jaxrs-prototype/pom.xml diff --git a/HelloWorld/HelloWorldJaxb/src/main/resources/hello.xsd b/HelloWorld/HelloWorldJaxb/src/main/resources/hello.xsd index 221a00bba..1593ed41c 100644 --- a/HelloWorld/HelloWorldJaxb/src/main/resources/hello.xsd +++ b/HelloWorld/HelloWorldJaxb/src/main/resources/hello.xsd @@ -8,114 +8,7 @@ > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/CollectionObjectResource.java b/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/CollectionObjectResource.java index 5cdc48f98..479d5888a 100644 --- a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/CollectionObjectResource.java +++ b/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/CollectionObjectResource.java @@ -147,7 +147,7 @@ public class CollectionObjectResource extends CollectionSpaceResource { verbose("createCollectionObject: ", co); - UriBuilder path = UriBuilder.fromResource(PersonNuxeoResource.class); + UriBuilder path = UriBuilder.fromResource(CollectionObjectResource.class); path.path("" + csid); Response response = Response.created(path.build()).build(); diff --git a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java b/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java index bb6bfa2d9..6545a2ee4 100644 --- a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java +++ b/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java @@ -12,9 +12,6 @@ public class HelloworldNuxeoApplication extends Application { public HelloworldNuxeoApplication() { singletons.add(new CollectionObjectResource()); singletons.add(new DomainIdentifierResource()); - singletons.add(new IdentifierResource()); - singletons.add(new PersonNuxeoResource()); - singletons.add(new MultipartResource()); } @Override diff --git a/HelloWorld/pom.xml b/HelloWorld/pom.xml index a90c2fd7b..4020e517c 100644 --- a/HelloWorld/pom.xml +++ b/HelloWorld/pom.xml @@ -1,183 +1,173 @@ - - - - 4.0.0 - org.collectionspace.hello.services - 0.1 - helloworld - pom - HelloWorld - - HelloWorldJaxb - HelloWorldClient - HelloWorldService - - - - - jboss - http://repository.jboss.org/maven2 - - - sun - http://download.java.net/maven/2 - - - java.net - java.net Maven Repository - - https://maven-repository.dev.java.net/nonav/repository - - legacy - - - maven2-repository.dev.java.net - Java.net Maven 2 Repository - http://download.java.net/maven/2 - - - - - - java.net - java.net Maven Repository - - https://maven-repository.dev.java.net/nonav/repository - - legacy - - - maven2-repository.dev.java.net - Java.net Maven 2 Repository - http://download.java.net/maven/2 - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - - - org.apache.maven.plugins - maven-site-plugin - - - /usr/bin/unzip -o > err.txt - - - - - org.apache.maven.plugins - maven-war-plugin - 2.0.1 - - - - WEB-INF/lib/*.jar - - - - true - - - - - - - - - - - - - net.java.dev.jaxb2-commons - jaxb-fluent-api - 2.0.1 - - - org.testng - testng - 5.6 - test - jdk15 - - - org.jboss.resteasy - jaxrs-api - 1.0.2.GA - - - net.java.dev.jaxb2-commons - jaxb-fluent-api - 2.0.1 - - - org.jvnet.jaxb2-commons - property-listener-injector - 1.0 - - - org.jvnet.jaxb2_commons - runtime - 0.4.1 - - - org.jboss.resteasy - resteasy-jaxrs - 1.0.2.GA - - - commons-httpclient - commons-httpclient - 3.1 - - - com.sun.xml.bind - jaxb-impl - 2.1.7 - - - org.testng - testng - 5.6 - test - jdk15 - - - org.slf4j - slf4j-api - 1.5.2 - - - org.slf4j - slf4j-log4j12 - 1.5.2 - - - mysql - mysql-connector-java - 5.1.5 - test - - - com.jgoodies - binding - 2.0.2 - - - com.jgoodies - forms - 1.2.0 - - - - + + + + 4.0.0 + org.collectionspace.hello.services + 0.1 + helloworld + pom + HelloWorld + + HelloWorldJaxb + HelloWorldClient + HelloWorldNuxeoService + + + + + jboss + http://repository.jboss.org/maven2 + + + sun + http://download.java.net/maven/2 + + + java.net + java.net Maven Repository + https://maven-repository.dev.java.net/nonav/repository + legacy + + + maven2-repository.dev.java.net + Java.net Maven 2 Repository + http://download.java.net/maven/2 + + + + + + java.net + java.net Maven Repository + https://maven-repository.dev.java.net/nonav/repository + legacy + + + maven2-repository.dev.java.net + Java.net Maven 2 Repository + http://download.java.net/maven/2 + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + org.apache.maven.plugins + maven-site-plugin + + /usr/bin/unzip -o > err.txt + + + + org.apache.maven.plugins + maven-war-plugin + 2.0.1 + + + WEB-INF/lib/*.jar + + + true + + + + + + + + + + + + + net.java.dev.jaxb2-commons + jaxb-fluent-api + 2.0.1 + + + org.testng + testng + 5.6 + test + jdk15 + + + org.jboss.resteasy + jaxrs-api + 1.0.2.GA + + + net.java.dev.jaxb2-commons + jaxb-fluent-api + 2.0.1 + + + org.jvnet.jaxb2-commons + property-listener-injector + 1.0 + + + org.jvnet.jaxb2_commons + runtime + 0.4.1 + + + org.jboss.resteasy + resteasy-jaxrs + 1.0.2.GA + + + commons-httpclient + commons-httpclient + 3.1 + + + com.sun.xml.bind + jaxb-impl + 2.1.7 + + + org.testng + testng + 5.6 + test + jdk15 + + + org.slf4j + slf4j-api + 1.5.2 + + + org.slf4j + slf4j-log4j12 + 1.5.2 + + + mysql + mysql-connector-java + 5.1.5 + test + + + com.jgoodies + binding + 2.0.2 + + + com.jgoodies + forms + 1.2.0 + + + + diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index b9b6e8185..cc2c0e57c 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -1,7 +1,4 @@ - - file:/C:/dev/src/cs/src/services/trunk/build.xml - diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/build.properties b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/build.properties similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/build.properties rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/build.properties diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/build.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/build.xml similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/build.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/build.xml diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/pom.xml similarity index 89% rename from 3rdparty/nuxeo/nuxeo-platform-cs/pom.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/pom.xml index c6ca3618b..2c25c0bac 100644 --- a/3rdparty/nuxeo/nuxeo-platform-cs/pom.xml +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/pom.xml @@ -11,9 +11,9 @@ nuxeo-platform-cs jar - Nuxeo CS extensions + jaxrs-nuxeo extensions - Nuxeo Enterprise Platform: CS extensions + Nuxeo Enterprise Platform: jaxrs-nuxeo extensions diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/META-INF/MANIFEST.MF b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/META-INF/MANIFEST.MF similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/META-INF/MANIFEST.MF rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/META-INF/MANIFEST.MF diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/core-types-contrib.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/core-types-contrib.xml similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/core-types-contrib.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/core-types-contrib.xml diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/deployment-fragment.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/deployment-fragment.xml similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/deployment-fragment.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/deployment-fragment.xml diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/ecm-types-contrib.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/ecm-types-contrib.xml similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/ecm-types-contrib.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/ecm-types-contrib.xml diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/layouts-contrib.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/layouts-contrib.xml similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/OSGI-INF/layouts-contrib.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/OSGI-INF/layouts-contrib.xml diff --git a/3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/schemas/hello.xsd b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/schemas/hello.xsd similarity index 100% rename from 3rdparty/nuxeo/nuxeo-platform-cs/src/main/resources/schemas/hello.xsd rename to sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/src/main/resources/schemas/hello.xsd diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/META-INF/MANIFEST.MF b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 000000000..ab71dc50b --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,22 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 1 +Bundle-Name: NuxeoCS +Bundle-SymbolicName: org.collectionspace.hello;singleton:=true +Bundle-Version: 1.0.0 +Bundle-Localization: plugin +Bundle-Vendor: Nuxeo +Require-Bundle: org.nuxeo.runtime, + org.nuxeo.ecm.core.api, + org.nuxeo.ecm.core, + org.nuxeo.ecm.core.api, + org.nuxeo.ecm.platform.types.api, + org.nuxeo.ecm.platform.versioning.api, + org.nuxeo.ecm.platform.ui, + org.nuxeo.ecm.platform.forms.layout.client, + org.nuxeo.ecm.platform.publishing.api, + org.nuxeo.ecm.platform.ws +Provide-Package: org.collectionspace.hello +Nuxeo-Component: OSGI-INF/core-types-contrib.xml, + OSGI-INF/ecm-types-contrib.xml, + OSGI-INF/layouts-contrib.xml + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/core-types-contrib.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/core-types-contrib.xml new file mode 100644 index 000000000..7be6addb0 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/core-types-contrib.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/deployment-fragment.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/deployment-fragment.xml new file mode 100644 index 000000000..88b94ffd1 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/deployment-fragment.xml @@ -0,0 +1,408 @@ + + + + + + ${bundle.fileName} + + + + + nuxeo.war + /nuxeo + + + + + + + + + + + + Seam Context Filter + /ws/FileManageWS + + + + Seam Context Filter + /DocumentManagerWS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{currentServerLocation.name}/#{currentTabAction.label} + + + + Create new document in #{currentDocument.name} + + + + Create new document in #{currentDocument.name} + + + + breadcrumb=command.user_dashboard + + + + breadcrumb=command.manageMembers + + + + breadcrumb=command.manageMembers + + + + breadcrumb=title.vocabularies + + + + breadcrumb=command.advancedSearch + + + + + + en + en_GB + en_US + fr + de + es + it + ar + ru + ja + vn + + + messages + + + + config/addWorkspace.jpdl.xml + + + + + + generic_error_page + /generic_error_page.xhtml + + + + + generic_message_page + /generic_message_page.xhtml + + + + + home + /nxstartup.xhtml + + + + + user_login + /login.xhtml + + + + + user_logout + /logout.xhtml + + + + + view_servers + /view_servers.xhtml + + + + + + + view_domains + /view_domains.xhtml + + + + + select_document_type + /select_document_type.xhtml + + + + + create_document + /create_document.xhtml + + + + + edit_document + /edit_document.xhtml + + + + + view_documents + /view_documents.xhtml + + + + + create_file + /create_file.xhtml + + + + + create_workspace_wizard + /createWorkspaceWizard.xhtml + + + + + send_email + /document_email.xhtml + + + + + + view_workspaces + /view_workspaces.xhtml + + + + + + create_domain + /create_domain.xhtml + + + + + + edit_domain + /edit_domain.xhtml + + + + + + create_workspace + /create_workspace.xhtml + + + + + + edit_workspace + /edit_workspace.xhtml + + + + + + + members_management + /members_management.xhtml + + + + + view_users + /view_users.xhtml + + + + + view_many_users + /view_many_users.xhtml + + + + + edit_user + /edit_user.xhtml + + + + + edit_user_password + /edit_user_password.xhtml + + + + + view_user + /view_user.xhtml + + + + + create_user + /create_user.xhtml + + + + + view_groups + /view_groups.xhtml + + + + + view_group + /view_group.xhtml + + + + + edit_group + /edit_group.xhtml + + + + + create_group + /create_group.xhtml + + + + + view_vocabularies + /view_vocabularies.xhtml + + + + + view_vocabulary + /view_vocabulary.xhtml + + + + + + + search_form + /search/search_form.xhtml + + + + + search_results_nxql + /search/search_results_nxql.xhtml + + + + + search_results_advanced + + /search/search_results_advanced.xhtml + + + + + + search_results_simple + /search/search_results_simple.xhtml + + + + + + + clipboard + /incl/clipboard.xhtml + + + + + user_dashboard + /user_dashboard.xhtml + + + + + select_workspace_template + /select_workspace_template.xhtml + + + + + pdf_generation_error + /pdf_generation_error.xhtml + + + + + mass_edit + /massedit_documents.xhtml + + + + + mass_edit_confirm + /massedit_documents_preview.xhtml + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/ecm-types-contrib.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/ecm-types-contrib.xml new file mode 100644 index 000000000..02347959a --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/ecm-types-contrib.xml @@ -0,0 +1,37 @@ + + + + + + + view_documents + + + heading + hello + + + + + + Hello + + + + + Hello + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/layouts-contrib.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/layouts-contrib.xml new file mode 100644 index 000000000..3cf9ff7cd --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/OSGI-INF/layouts-contrib.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + cid + cversion + firstname + lastname + street + city + state + zip + country + + + + + + true + + cid + + + + hidden + + + + true + + + + cssClass + + + + + + + true + + cversion + + + dataInputText + + + + + + + + + true + + firstName + + + dataInputText + + + + + + + + true + + lastName + + + dataInputText + + + + + + + + true + + street + + + dataInputText + + + + + + + + true + + city + + + dataInputText + + + + + + + + true + + state + + + dataInputText + + + + + + + + true + + zip + + + dataInputText + + + + + + + + true + + country + + + dataInputText + + + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/schemas/hello.xsd b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/schemas/hello.xsd new file mode 100644 index 000000000..df2ec990f --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/classes/schemas/hello.xsd @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/maven-archiver/pom.properties b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/maven-archiver/pom.properties new file mode 100644 index 000000000..189aa7fe5 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Fri Apr 17 14:17:59 PDT 2009 +version=5.2-SNAPSHOT +groupId=org.nuxeo.ecm.platform +artifactId=nuxeo-platform-cs diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/nuxeo-platform-cs-5.2-SNAPSHOT-sources.jar b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/nuxeo-platform-cs-5.2-SNAPSHOT-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..4b59faca8c577a7b10a28f1a842dc17ab29b01f1 GIT binary patch literal 4603 zcmaJ_1z1#D*PfxIL&2b=W9UxlkVaZUVrUt<8$=puC1nt#V@PQMy)cY8NW;(}rF04k z-*Er$D)(N$f1l@^z0b4PdiOeO$6D{vR>Q=?2V52z_hj)u8~=Uap=%9AJy|XlO(h=f z|BB%P?xDq|?DF$X(cO;doBXPnhODNFlA^92w}#TbM*jzOH7@Q!A~h}$vVWjXhj&C^ z{pg?Ne zUK~f9nvO>th2(z9p`c&0Z!_R8YXE=+w|^V0rK_y+H>3Y8hKn}Z18i>tvGlm|X$7{) z;%(?T-Qm*N}UQsI{f^;T?j%Jd6vt zbc&pn&?)^j0AQOF0HC|-6l)t-Cl^16jk710t-Gb&W#iH-AB|01ri96Zx2xxKfa{^E zs7D07iYY9az}4^x2rZGZm6I)bX>wX_1w3Sqp1rTuiAV3beSm|_o@s~2!UBEf`HSAP zeCFg>{NRx@uI~-UHaqztJiC(2rX*5U9?lgC^`)w)PPV*@+_iCO~WTww;878TT&wpbi zTfqMitVdiKW7Q=@M_fqiPx^2uxSr1lKM}P4n0%$Rc0BV!mlT@Q%OFH6>mRmoHw?E| zKxv)>TN--DfJs(#oPgD3$_Dzy!ZV1k4PUdm8X0x#^}CD=U0Og#fH+TNd9RyoN)=u;OyXJ2Hrd7cyQ4}plkG_kFnL9YoXF;CA>kW3LPv_!BnTo`l#5zQ&UOXOT>bC~2lYx84yWw17^~Rrk z!!kPYI77m>BEHMph_dhs-V!F^Y)y`So>qa8MSaN7Kw3^l8j(nlTT9zr)2MhfA7y!# z3yX)7LT_iSKGGXN-9X$p*z~r>PZ%^3pLwS83hPNqyB1G0=Q_ctzMHB1ysye?W9Y3r zq&FF@8D#oA)>Gh>bGfl6j0I|P*UNk|a0Tpm>xB2QRI7)s+uaTE>q1d+c3ohVap+;y zi9F2N%t=b;KWc?CG?xWFfF8O&?FwQ{Q)=|2C%j3`t)NQGg;U>Y+nXBT@kAN~m(R63 zTcE(gWp?EcYm3hTG)G7gzk80!O%U?qv(MZJF#@We8C26eJuv?mRT>w=tT#T z0;&!(?#FswL=Dn#-Rp~gAuSccMi7=q=3)~bCR_=<1J+({Yp!bR0WBX9Vd+y_4PYhn1>HbKQWyHo2Cd=ubt;SnS3S_RC zoCb~RtH6>T8Bm+}r7voFIxDs1JK-Qwj8@ja!Vj!qo!uIzFFsEJD2s~dC9GS&H#4mh z!tW_!4h#n%%;k(fy4#zs8L&B03XW# z5G4wYIpEisf`#>6Yu})Tt$0f+7AiCPc$O+nEN5>SUuj3e^fb@_KfRF3Sp9HZYH+>K zxfbDE59Ici4b?_OJw^daTX!as@=Z6_zVHZ16VYMHc7bqlL_!1`al8UMyty-%@7f<) zJNn>m9#;A{0$usm&B&cV&mhC1rR#M$ggJY-tSY0}kt7eh1#>}du^2ylF|CEN*hk0d&Qd;N#oq}gEOYudGG_71T1&J+oy zy3f;(&M<_x3j)(L_d5|?*65Z&^ZNaATSUW9*;vZyl#XCoN2Ak0!}j);Sy1J*k=#vJ zSanrkRqk{L2>4+a-Zk0%|&hXx=>@@s7QURe>t@pGWa2n}WhamO&l4+3KOS&MSv z737}Rn{z*YW^MP3YeSCBCXphbH@&F?Ys<^;&Agmg4E^>8Yd_b@mC5+79%L=u<9s{< zHOw+l;mcOYM%b;*y{kybI#eydzw?r1wB+L0txN|Ytw-_ULfjZaIA!h2Sod|4xI6IK ziq7)GFJqiux1@#-4-2E1r_^(|hQ@5?91U8}H*jZ9$3ETy@4u`nc;0V+@X`-`5^y-j(6?-^_#+u+hUJiaJ1eHYY`zs@(d`GS?vZI2Ese^9g8MDU6OagSNC9?|4#kZgURI;!%Bii4!G5Xh z0k`G-`d`K754Y}aa7|&ZRQ2v5w;DPMM@**E!WsBMz%q#bvkHmifc9sa#WN08zPL*-cnm3t=i00Luw1wdZLcdFWq@06@W$kDm*Zr}G{ltopW)B5`3K)a zd7sC}5lWEf?<^0G>E2R9acXqC%N?!CcPGWzYm~`8V zl_dVQP2)SJ6Pn4>H7M}9CU~ZLKs`8b&E|Ho?$CWV;ttJkRUZxCDtU~h?(@Vf9VcsD zD4#^^mCow#U765AbiM=_hR7vh000eS008yX33amcbMf;0TLw95q>-4-OWM9_*ffo~ znG1`03Gxak8(BhxsaW+*jL@chGB=-^c;8oRW^i9`Iq3u}>Ei2>F@emh5@NN}&QhsS z>nO}iEw-xbQ+p_)6Dq@CPt>YV1~yhj<|}|psEphhwF72Nz_%i z-7QS_N6BD5bSMruIYJyF`o|MJFUPm_$I0j6KYYghi^6GTnR_Vc6Rf*McSP@nhOM1R zN#2UhWY|h&9JvYfydBeXpNpd|JeHfCe|zMjL(dh;)%(IC`;nH>z9hj9AYH)IBo4or z1@$*@o(g^v^Rx+%jc1j6LCKo%Nx|DG;214=8@x56fN~h6(lUkvuMv z{a^s~$DHwUUOZrtdKgcQ*Hy)*AsCaTa4t53nP^QY?=~bVG-F@S8(^AQ@JeoqycA!r z((k~2-qy>avphgXM8VT9Jc~GUQ)Wh;@U#gfy;_HNG`m{7`5ZS!A#Yicl;wUYT^oUQ zYkQp+*bZT$mM)+cd!ro0>*uh#2vFMHQ|iMZ=l`^93sZwy@l8r`V!t&hg4RCp%QVFr zJLMDHZrYcNd>vyas@_XBYjuYNcI&8reowp}h$I)D<#Vg&Gai00OB+5s;dbIUE1_Gf zT50y!FwqSi(2x-XBcfd7JA|NC&bP2`giMS-QCID*vb&Fawb|cZ zRTBn0>3MAD@sgR{&LZ8!!DQvTn;(t2+sXq}x*$>xDKh`p?T4YlWCzo zwc*B4A-h~*)4N|KyHLTuTfZF&|A!^p>Q4>Xt zw@b{`n1h{1U0Vm*%!=6XMOu}krKHi!7KlNP`M(J{dJ52m6tF3KSzn>&f2sYRpkE4K zmclSr^z*0M6}o{`!<^E;v?@0GwdWB&a z=(YEAu-{YgUncyXto{PKg+7vhg8dKb`cJff#^zsW-sm4BKhb_0sjp)FE-d`QQYN^9 n^_w8^Po#ft%U?)j#J}A9bCYVTVdGqi;Gr)Av=b6ZF5mtG$34Q} literal 0 HcmV?d00001 diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/nuxeo-platform-cs-5.2-SNAPSHOT.jar b/sandbox/sanjay/prototypes/jaxrs-prototype/3rdparty/nuxeo/jaxrs-nuxeo-cs/target/nuxeo-platform-cs-5.2-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..b1249b15286b92aa5b0c35fc9e5e45449e96fde9 GIT binary patch literal 6220 zcmbtZ1yoes+Mc1LLr|2GknS#}!=a@mL>L-|?go)YLO@bb8l*b~R2T*rq+#d|C8QCB zJKXOoe(HDEzy7;t&Dm$I+3&N@+0Wk38>6O(iiQoiXcA6wBLBYm&jkzFE6Zw1vV&CQ zIMx0$3=?n{Im}qmb;%M408pR;03<&TQ7rF+B}&LvYigQA8d#(zt9+W1w>tJpzv79Bh$cOX+HRpLOD6H=N@@-ikm?pn9k9AF zW%DAOZtdX=b$WWZpX3cTJ}w-rl;@5vMqDo>t4-u%jk(-WASL7s;<_nZrsGg7PX&Cf zPP~lP{!-Ta449@Pqigyyl;i@%jWxTe%Y^ba?kF|mZX30|?%3$|1%u4X*hKXQ_?>lV zslZo_{8D+CqmwfaHnUW{wbNf7o7X;N`;aSzUj&s|7Z{oKe4@(87mFe2S!tpvY9)*R zED-I^kr|(wc32!0#{EbJi@YwUz}~Gycp*Cu*SCP96H#Z|+SN?&?ryyBqnqs;TqF+) z({m}%?|H-X9YjeOYzCYAC)zj{$La<)n66TjcM`C*>>C-Ym8G+3K4eQUO|uDZ9ic#XHl%~ZR?;oao>>K*js8`Kfrfp{!E~%hCJwR1pYn@6G@;m z*wPGQ?EDkW7rVjnz}|Em`RgW<>RZVE2N>Ai$&B5_)4|M{9c*vs;$&sQ;Q_HNiK}oz zK2nIgIC>YVL=)Iz{X>f{P+t4$mc%X)K2XPru|U&cM@j!JzSW2)|5HXiI4sF3VS7XQ zMP57LG!cs#EA{Tv__ta>(a_ikj#A#N#+S|pmB2Ut+EGqq!CcA2gJOy~!Uo(m+6bOX zsU59S+Nlry*7m0z4s`+QuWbtp^b6rELwdtEH(F_NJt|Hx!2$9*!+6YHvKtE71nK^P z`Zv@;;%i>xpT)>krz_sw_v5l{H7GC6oKC>;&g(qUGpwzus^0sWYkBBBum;~!g>T-;o&N}ry-{iFbi z-*(wtI&eKe0r3#0OE#V%1-KeC4xz%+GqE)%DU3_Vcn$TRrD5)_wB^)Hvh=nx+cju) zo}Z^lIeXrf@RB|*0^4u+l>KYXk=f2mf6mW$=nV+Od?X4~srctZ09I_PGPe#KlDNsh zc;G9~$Bf=Y!@W?m&=8uph3U3JjeV2x{LZ+0JUi}rsNQVoVD{XSH=p8`q3=>TyOxqT zyQLGWC^C0KM>LP!jvTD?U$ zL!y$Y>Ah&;+fNQQ&BTjhgvdZ#im3QAY|WAj)wf3EC?{HCt;(fkA$Q(7^MrkJKhCQ3 z8%{5FBxHVK>*P~mw0h%J8iiHLGbx$qdWT&xzJbyTJrY9fAm2jEuU=vl%5b~KJ&S2+ z^NF8d6C0xlG6>1$b9`A#=TW}>3Y-46xvmtHNnQ&678YvUSuP;-HaͅQyes&r=p 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 UV_e|kBR?F-a0v6_UjV?r06T;R761SM literal 0 HcmV?d00001 diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nb-configuration.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nb-configuration.xml new file mode 100644 index 000000000..6c3fe600b --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nb-configuration.xml @@ -0,0 +1,20 @@ + + + + + + default + 8 + 80 + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nbactions.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nbactions.xml new file mode 100644 index 000000000..047c73d4e --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/nbactions.xml @@ -0,0 +1,17 @@ + + + + rebuild + + * + + + clean + install + + + true + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/pom.xml new file mode 100644 index 000000000..8001df0b9 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/pom.xml @@ -0,0 +1,72 @@ + + + + jaxrs-prototype + org.collectionspace.hello.services + 0.1 + + 4.0.0 + org.collectionspace.hello.services + jaxrs-client + jar + 0.1 + jaxrs-client + + + org.collectionspace.hello.services + jaxrs-jaxb + 0.1 + + + org.testng + testng + 5.6 + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-log4j12 + + + org.jboss.resteasy + resteasy-jaxrs + 1.0.2.GA + + + + tjws + webserver + + + + + org.jboss.resteasy + resteasy-jaxb-provider + 1.0.2.GA + + + org.jboss.resteasy + resteasy-multipart-provider + 1.0.2.GA + + + commons-httpclient + commons-httpclient + + + + + + maven-compiler-plugin + 2.0.2 + + 1.5 + 1.5 + + + + + diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierClient.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/IdentifierClient.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierClient.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/IdentifierClient.java diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierProxy.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/IdentifierProxy.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierProxy.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/IdentifierProxy.java diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonClient.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/PersonClient.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonClient.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/PersonClient.java diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonProxy.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/PersonProxy.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonProxy.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/main/java/org/collectionspace/hello/client/PersonProxy.java diff --git a/HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/IdentifierServiceTest.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/java/org/collectionspace/hello/client/test/IdentifierServiceTest.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/IdentifierServiceTest.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/java/org/collectionspace/hello/client/test/IdentifierServiceTest.java diff --git a/HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/PersonServiceTest.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/java/org/collectionspace/hello/client/test/PersonServiceTest.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/PersonServiceTest.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/java/org/collectionspace/hello/client/test/PersonServiceTest.java diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/resources/log4j.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/resources/log4j.xml new file mode 100644 index 000000000..52121cb83 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/src/test/resources/log4j.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/temp-testng-customsuite.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/temp-testng-customsuite.xml new file mode 100644 index 000000000..9f2480621 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-client/temp-testng-customsuite.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/nb-configuration.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/nb-configuration.xml new file mode 100644 index 000000000..6c3fe600b --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/nb-configuration.xml @@ -0,0 +1,20 @@ + + + + + + default + 8 + 80 + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/pom.xml new file mode 100644 index 000000000..57d5c33c5 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/pom.xml @@ -0,0 +1,97 @@ + + + + jaxrs-prototype + org.collectionspace.hello.services + 0.1 + + 4.0.0 + org.collectionspace.hello.services + jaxrs-jaxb + 0.1 + jaxrs-jaxb + + + com.sun.xml.bind + jaxb-impl + 2.0.2 + + + org.jvnet.jaxb2-commons + property-listener-injector + 1.0 + + + org.jvnet.jaxb2_commons + runtime + 0.4.1.4 + + + + install + + + org.jvnet.jaxb2.maven2 + maven-jaxb2-plugin + + + + generate + + + + + + javax.activation + activation + 1.1 + + + com.sun.xml.bind + jaxb-impl + 2.1.2 + + + + + -XtoString + -Xinject-listener-code + + + **/*.xsd + **/*.dtd + + + + + org.jvnet.jaxb2_commons + + basic + 0.4.1 + + + + org.jvnet.jaxb2-commons + + + property-listener-injector + + 1.0 + + + + + + + maven-compiler-plugin + 2.0.2 + + 1.5 + 1.5 + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectJAXBSchema.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectJAXBSchema.java new file mode 100644 index 000000000..8484bdb15 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectJAXBSchema.java @@ -0,0 +1,21 @@ +/** + * + */ +package org.collectionspace.hello.services; + +/** + * @author remillet + * + */ +public interface CollectionObjectJAXBSchema { + final static String OBJECT_NUMBER = "objectNumber"; + final static String OTHER_NUMBER = "otherNumber"; + final static String BRIEF_DESCRIPTION = "briefDescription"; + final static String COMMENTS = "comments"; + final static String DIST_FEATURES = "distFeatures"; + final static String OBJECT_NAME = "objectName"; + final static String RESPONSIBLE_DEPT = "responsibleDept"; + final static String TITLE = "title"; +} + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectListItemJAXBSchema.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectListItemJAXBSchema.java new file mode 100644 index 000000000..c3aa8a577 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/java/org/collectionspace/hello/services/CollectionObjectListItemJAXBSchema.java @@ -0,0 +1,7 @@ +package org.collectionspace.hello.services; + +public interface CollectionObjectListItemJAXBSchema { + final static String OBJECT_NUMBER = "objectNumber"; + final static String CSID = "csid"; + final static String URI = "url"; +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/resources/hello.xsd b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/resources/hello.xsd new file mode 100644 index 000000000..ae98d00a5 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/resources/hello.xsd @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HelloWorld/HelloWorldJaxb/src/main/resources/world.xsd b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/resources/world.xsd similarity index 100% rename from HelloWorld/HelloWorldJaxb/src/main/resources/world.xsd rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-jaxb/src/main/resources/world.xsd diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nb-configuration.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nb-configuration.xml new file mode 100644 index 000000000..6c3fe600b --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nb-configuration.xml @@ -0,0 +1,20 @@ + + + + + + default + 8 + 80 + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nbactions.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nbactions.xml new file mode 100644 index 000000000..047c73d4e --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/nbactions.xml @@ -0,0 +1,17 @@ + + + + rebuild + + * + + + clean + install + + + true + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/pom.xml new file mode 100644 index 000000000..52e29adfe --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/pom.xml @@ -0,0 +1,72 @@ + + + + jaxrs-prototype + org.collectionspace.hello.services + 0.1 + + 4.0.0 + org.collectionspace.hello.services + jaxrs-nuxeo-client + jar + 0.1 + jaxrs-nuxeo-client + + + org.collectionspace.hello.services + jaxrs-jaxb + 0.1 + + + org.testng + testng + 5.6 + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-log4j12 + + + org.jboss.resteasy + resteasy-jaxrs + 1.0.2.GA + + + + tjws + webserver + + + + + org.jboss.resteasy + resteasy-jaxb-provider + 1.0.2.GA + + + org.jboss.resteasy + resteasy-multipart-provider + 1.0.2.GA + + + commons-httpclient + commons-httpclient + + + + + + maven-compiler-plugin + 2.0.2 + + 1.5 + 1.5 + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java new file mode 100644 index 000000000..879800e34 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java @@ -0,0 +1,34 @@ +package org.collectionspace.hello.client; + +import java.util.*; + +public abstract class CollectionSpaceClient { + static final String URL_PROPERTY = "org.collectionspace.url"; + /* + static final String URL_PROPERTY_SCHEME = "org.collectionspace.url.schme"; + static final String URL_PROPERTY_HOST = "org.collectionspace.url.host"; + static final String URL_PROPERTY_PORT = "org.collectionspace.url.port"; + static final String URL_PROPERTY_CONTEXT = "org.collectionspace.url.context"; + */ + + private static final String SCHEME = "http"; + private static final String HOST = "localhost"; + private static final String PORT = "8080"; + private static final String URI = "/helloworld/cspace-nuxeo"; + private static final String URL = SCHEME + "://" + + HOST + ":" + + PORT + + URI; + private String collectionSpaceURL = null; + + + String getURL() { + String result = collectionSpaceURL; + + if (collectionSpaceURL == null) { + result = collectionSpaceURL = System.getProperty(URL_PROPERTY, URL); + } + + return result; + } +} diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/MultipartClient.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/MultipartClient.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/MultipartClient.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/MultipartClient.java diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/MultipartProxy.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/MultipartProxy.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/MultipartProxy.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/MultipartProxy.java diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoProxy.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/PersonNuxeoProxy.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoProxy.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/main/java/org/collectionspace/hello/client/PersonNuxeoProxy.java diff --git a/HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/MultipartServiceTest.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/java/org/collectionspace/hello/client/test/MultipartServiceTest.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/MultipartServiceTest.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/java/org/collectionspace/hello/client/test/MultipartServiceTest.java diff --git a/HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/PersonNuxeoServiceTest.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/java/org/collectionspace/hello/client/test/PersonNuxeoServiceTest.java similarity index 100% rename from HelloWorld/HelloWorldClient/src/test/java/org/collectionspace/hello/client/test/PersonNuxeoServiceTest.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/java/org/collectionspace/hello/client/test/PersonNuxeoServiceTest.java diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/resources/log4j.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/resources/log4j.xml new file mode 100644 index 000000000..52121cb83 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/src/test/resources/log4j.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/temp-testng-customsuite.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/temp-testng-customsuite.xml new file mode 100644 index 000000000..9f2480621 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-client/temp-testng-customsuite.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/README.txt b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/README.txt new file mode 100644 index 000000000..b1aa460dd --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/README.txt @@ -0,0 +1,14 @@ +Helloworld service interfacing with Nuxeo repository through Nuxeo +REST apis. + +System Requirements: +==================== +- Maven 2.0.9 or higher +- Nuxeo CollectionSpace Extensions + +Building the project: +==================== +In root directoy... +1. customize build.properties for your environment +2. mvn clean package +3. ant diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/build.properties b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/build.properties new file mode 100644 index 000000000..50c373854 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/build.properties @@ -0,0 +1,4 @@ +jboss.dir=C:/dev/jboss-4.2.3.GA +nuxeo.dir=${jboss.dir}/server/default/deploy/nuxeo.ear/system +nuxeo.local.repo.dir=file:///C:/dev/jboss-4.2.3.GA/server/default/deploy/nuxeo.ear/system +nuxeo.local.repo.client.dir=file:///C:/dev/nuxeo/nuxeo-core/nuxeo-core-client/target diff --git a/HelloWorld/HelloWorldService/build.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/build.xml similarity index 100% rename from HelloWorld/HelloWorldService/build.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/build.xml diff --git a/HelloWorld/HelloWorldService/nb-configuration.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/nb-configuration.xml similarity index 100% rename from HelloWorld/HelloWorldService/nb-configuration.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/nb-configuration.xml diff --git a/HelloWorld/HelloWorldService/nbactions.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/nbactions.xml similarity index 100% rename from HelloWorld/HelloWorldService/nbactions.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/nbactions.xml diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/pom.xml new file mode 100644 index 000000000..5c8a0770e --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/pom.xml @@ -0,0 +1,275 @@ + + + + jaxrs-prototype + org.collectionspace.hello.services + 0.1 + + 4.0.0 + org.collectionspace.hello.services + jaxrs-nuxeo-service + war + 0.1 + jaxrs-nuxeo-service + + + + java.net + http://download.java.net/maven/1 + legacy + + + maven repo + maven repo + http://repo1.maven.org/maven2/ + + + + jboss + jboss repo + http://repository.jboss.org/maven2 + + + mojo + mojo repo + http://svn.codehaus.org/mojo/trunk/mojo/jboss-maven-plugin + + + + maven-restlet + Public online Restlet repository + http://maven.restlet.org + + + + cspace.local.nuxeo + ${nuxeo.local.repo.dir} + + + cspace.local.nuxeo.client + ${nuxeo.local.repo.client.dir} + + + public + http://maven.nuxeo.org/public + + + + false + + + + public-snapshot + http://maven.nuxeo.org/public-snapshot + + false + + + + + + + + + + + public + http://maven.nuxeo.org/public + Nuxeo virtual release repository + + + + false + + + + public-snapshot + http://maven.nuxeo.org/public-snapshot + Nuxeo virtual snapshot repository + + false + + + + + + + + + 4.2.3.GA + 3.0 + UTF-8 + 1.5.1 + 0.9.7 + 5.2-SNAPSHOT + 1.5-SNAPSHOT + + + + + + org.collectionspace.hello.services + jaxrs-jaxb + 0.1 + + + org.jboss.resteasy + resteasy-jaxrs + 1.0.2.GA + + + tjws + webserver + + + + + org.jboss.resteasy + resteasy-jaxb-provider + 1.0.2.GA + + + org.jboss.resteasy + resteasy-multipart-provider + 1.0.2.GA + + + junit + junit + 4.1 + test + + + + + + + javax.security + jaas + 1.0.01 + provided + + + + dom4j + dom4j + 1.6.1 + provided + + + + + + + + org.nuxeo.ecm.core + nuxeo-core-api + ${nuxeo.version.1.5} + + + jboss-remoting + jboss + + + + + + + + org.restlet + org.restlet + 1.0.7 + + + com.noelios.restlet + com.noelios.restlet.ext.httpclient + 1.0.7 + + + com.noelios.restlet + com.noelios.restlet + 1.0.7 + + + + jaxen + jaxen + 1.1.1 + + + + + + + helloworld + + + org.codehaus.mojo + jboss-maven-plugin + + ${jboss.dir} + + + + jboss-undeploy + pre-integration-test + + undeploy + + + ${basedir}/target/helloworld.war + + + + jboss-deploy + pre-integration-test + + deploy + + + ${basedir}/target/helloworld.war + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + surefire-it + integration-test + + test + + + false + + + + + + org.apache.maven.plugins + maven-war-plugin + 2.0 + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/CollectionSpaceResource.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/CollectionSpaceResource.java new file mode 100644 index 000000000..b58739bd0 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/CollectionSpaceResource.java @@ -0,0 +1,24 @@ +package org.collectionspace.hello.services; + +import org.collectionspace.hello.services.nuxeo.NuxeoRESTClient; + +public abstract class CollectionSpaceResource { + //replace WORKSPACE_UID for resource workspace + static String CS_COLLECTIONOBJECT_WORKSPACE_UID = "5a37d40f-59c4-4d15-93ad-e0e6a0c33587"; + //sanjay 6c7881fe-54c5-486e-b144-a025dee3a484 + //demo eae0d7b6-580a-45a3-a0f3-e25e980e03bb + static String CS_PERSON_WORKSPACE_UID = "eae0d7b6-580a-45a3-a0f3-e25e980e03bb"; + + //replace host if not running on localhost + //static String CS_NUXEO_HOST = "173.45.234.217"; + static String CS_NUXEO_HOST = "localhost"; + static String CS_NUXEO_URI = "http://" + CS_NUXEO_HOST + ":8080/nuxeo"; + + NuxeoRESTClient getClient() { + NuxeoRESTClient nxClient = new NuxeoRESTClient(CS_NUXEO_URI); + nxClient.setAuthType(NuxeoRESTClient.AUTH_TYPE_BASIC); + nxClient.setBasicAuthentication("Administrator", "Administrator"); + return nxClient; + } + +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java new file mode 100644 index 000000000..98ae5b1c4 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/HelloworldNuxeoApplication.java @@ -0,0 +1,27 @@ +package org.collectionspace.hello.services; + +import javax.ws.rs.core.Application; +import java.util.HashSet; +import java.util.Set; + +public class HelloworldNuxeoApplication extends Application { + + private Set singletons = new HashSet(); + private Set> empty = new HashSet>(); + + public HelloworldNuxeoApplication() { + singletons.add(new IdentifierResource()); + singletons.add(new PersonNuxeoResource()); + singletons.add(new MultipartResource()); + } + + @Override + public Set> getClasses() { + return empty; + } + + @Override + public Set getSingletons() { + return singletons; + } +} diff --git a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/IdentifierResource.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/IdentifierResource.java similarity index 100% rename from HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/IdentifierResource.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/IdentifierResource.java diff --git a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/MultipartResource.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/MultipartResource.java similarity index 100% rename from HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/MultipartResource.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/MultipartResource.java diff --git a/HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/PersonNuxeoResource.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/PersonNuxeoResource.java similarity index 100% rename from HelloWorld/HelloWorldNuxeoService/src/main/java/org/collectionspace/hello/services/PersonNuxeoResource.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/PersonNuxeoResource.java diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallback.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallback.java new file mode 100644 index 000000000..8e78e0076 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallback.java @@ -0,0 +1,50 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.collectionspace.hello.services.nuxeo; + + +import javax.security.auth.callback.Callback; + +/** + * Copied from jbossx + * + * An implementation of Callback that simply obtains an Object to be used + * as the authentication credential. Interpretation of the Object is up to + * the LoginModules that validate the credential. + * + * @author Scott.Stark@jboss.org + */ +public class NuxeoCallback implements Callback { + + private final String prompt; + + private Object credential; + + public NuxeoCallback() { + this(""); + } + + public NuxeoCallback(String prompt) { + this.prompt = prompt; + } + + public String getPrompt() { + return prompt; + } + + public Object getCredential() { + return credential; + } + + public void setCredential(Object credential) { + this.credential = credential; + } + + public void clearCredential() { + credential = null; + } + +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallbackHandler.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallbackHandler.java new file mode 100644 index 000000000..e8fff8c25 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoCallbackHandler.java @@ -0,0 +1,85 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.collectionspace.hello.services.nuxeo; + +/** + * + * @author sanjaydalal + */ +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.NameCallback; +import javax.security.auth.callback.PasswordCallback; +import javax.security.auth.callback.UnsupportedCallbackException; + +/** + * Copied from jbossx. + * + * @author Scott.Stark@jboss.org + */ +public class NuxeoCallbackHandler implements CallbackHandler { + + private final String username; + private char[] password; + private final Object credential; + + /** + * Initializes the UsernamePasswordHandler with the username and password to + * use. + * + * @param username the user name + * @param password the password for this user + */ + public NuxeoCallbackHandler(String username, char[] password) { + this.username = username; + this.password = password; + credential = password; + } + + public NuxeoCallbackHandler(String username, Object credential) { + this.username = username; + this.credential = credential; + if (credential instanceof char[]) { + password = (char[]) credential; + } else if (credential instanceof CharSequence) { + password = credential.toString().toCharArray(); + } + } + + /** + * Sets any NameCallback name property to the instance username, sets any + * PasswordCallback password property to the instance, and any password. + * + * @exception UnsupportedCallbackException, + * thrown if any callback of type other than NameCallback or + * PasswordCallback are seen. + */ + public void handle(Callback[] callbacks) + throws UnsupportedCallbackException { + for (Callback c : callbacks) { + if (c instanceof NameCallback) { + NameCallback nc = (NameCallback) c; + nc.setName(username); + } else if (c instanceof PasswordCallback) { + PasswordCallback pc = (PasswordCallback) c; + if (password == null) { + // We were given an opaque Object credential but a char[] is + // requested? + if (credential != null) { + String tmp = credential.toString(); + password = tmp.toCharArray(); + } + } + pc.setPassword(password); + } else if (c instanceof NuxeoCallback) { + NuxeoCallback oc = (NuxeoCallback) c; + oc.setCredential(credential); + } else { + throw new UnsupportedCallbackException(c, + "Unrecognized Callback"); + } + } + } +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginConfiguration.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginConfiguration.java new file mode 100644 index 000000000..81cedc3c4 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginConfiguration.java @@ -0,0 +1,53 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.collectionspace.hello.services.nuxeo; + +/** + * + * @author sanjaydalal + */ +import java.util.HashMap; +import java.util.Map; + +import javax.security.auth.login.AppConfigurationEntry; +import javax.security.auth.login.Configuration; +import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag; + +public class NuxeoLoginConfiguration extends Configuration { + + private final Configuration parent; + public static final String LOGIN_DOMAIN = "nuxeo-client-login"; + + public NuxeoLoginConfiguration(Configuration parent) { + this.parent = parent; + } + + @Override + public AppConfigurationEntry[] getAppConfigurationEntry(String name) { + + if (LOGIN_DOMAIN.equals(name)) { + AppConfigurationEntry[] entries = new AppConfigurationEntry[1]; + + Map options = new HashMap(); + + options.put("restore-login-identity", "True"); + options.put("multi-threaded", "True"); + + entries[0] = new AppConfigurationEntry("org.jboss.security.ClientLoginModule", LoginModuleControlFlag.REQUIRED, options); + + + return entries; + } else { + return parent.getAppConfigurationEntry(name); + } + } + + @Override + public void refresh() { + if (parent != null) { + parent.refresh(); + } + } +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginContextFactory.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginContextFactory.java new file mode 100644 index 000000000..d1d23f7fc --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoLoginContextFactory.java @@ -0,0 +1,48 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.collectionspace.hello.services.nuxeo; + +/** + * + * @author sanjaydalal + */ + +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.login.Configuration; +import javax.security.auth.login.LoginContext; +import javax.security.auth.login.LoginException; + +public class NuxeoLoginContextFactory { + + + private static boolean initDone=false; + + private static void initLoginConfig() + { + if (initDone) + return; + + Configuration parentConfig = null; + try { + parentConfig = Configuration.getConfiguration(); + } catch (Exception e) { + // do nothing - this can happen if default configuration provider is not correctly configured + // for examnple FileConfig fails if no config file was defined + } + Configuration config = new NuxeoLoginConfiguration(parentConfig); + Configuration.setConfiguration(config); + + initDone=true; + + } + + + public static LoginContext getLoginContext(CallbackHandler handler) throws LoginException + { + initLoginConfig(); + return new LoginContext(NuxeoLoginConfiguration.LOGIN_DOMAIN, handler); + } +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoRESTClient.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoRESTClient.java new file mode 100644 index 000000000..9f76f7b92 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/NuxeoRESTClient.java @@ -0,0 +1,313 @@ +/* + * (C) Copyright 2006-2007 Nuxeo SAS (http://nuxeo.com/) and contributors. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser General Public License + * (LGPL) version 2.1 which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl.html + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Contributors: + * Nuxeo - initial API and implementation + * + * $Id: JOOoConvertPluginImpl.java 18651 2007-05-13 20:28:53Z sfermigier $ + */ +package org.collectionspace.hello.services.nuxeo; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import java.util.Map; + + +import org.restlet.Client; +import org.restlet.data.ChallengeResponse; +import org.restlet.data.ChallengeScheme; +import org.restlet.data.Cookie; +import org.restlet.data.Form; +import org.restlet.data.MediaType; +import org.restlet.data.Method; +import org.restlet.data.Parameter; +import org.restlet.data.Protocol; +import org.restlet.data.Request; +import org.restlet.resource.OutputRepresentation; +import org.restlet.resource.Representation; +import org.restlet.util.Series; + +public class NuxeoRESTClient { + + public static final int AUTH_TYPE_NONE = 0; + public static final int AUTH_TYPE_BASIC = 1; + public static final int AUTH_TYPE_SECRET = 2; + protected String baseURL = "http://127.0.0.1:8080/nuxeo"; + protected String restPrefix = "restAPI"; + protected String davPrefix = "dav"; + protected List cookies; + protected int authType = AUTH_TYPE_NONE; + protected String userName; + protected String password; + protected String secretToken; + protected Client restClient; + + public NuxeoRESTClient(String baseURL) { + this.baseURL = baseURL; + } + + public NuxeoRESTClient(String protocol, String serverIP, String serverPort) { + this(protocol, serverIP, serverPort, "nuxeo"); + } + + public NuxeoRESTClient(String protocol, String serverIP, String serverPort, + String servletPath) { + StringBuffer sb = new StringBuffer(); + sb.append(protocol); + sb.append("://"); + sb.append(serverIP); + if (serverPort != null && !serverIP.equals("80")) { + sb.append(':'); + sb.append(serverPort); + } + sb.append(servletPath); + sb.append('/'); + baseURL = sb.toString(); + } + + public void setBasicAuthentication(String userName, String password) { + authType = AUTH_TYPE_BASIC; + this.userName = userName; + this.password = password; + } + + public void setSharedSecretAuthentication(String userName, + String secretToken) { + authType = AUTH_TYPE_SECRET; + this.userName = userName; + this.secretToken = secretToken; + } + + public void setCookies(List cookies) { + this.cookies = cookies; + } + + public Representation post(List pathParams, + Map queryParams, InputStream istream) { + String path = ""; + StringBuffer pathBuffer = new StringBuffer(); + + if (pathParams != null) { + for (String p : pathParams) { + pathBuffer.append(p); + pathBuffer.append('/'); + } + path = pathBuffer.toString(); + } + + return post(path, queryParams, istream); + } + + public Representation post(String subPath, + Map queryParams, InputStream istream) { + StringBuffer urlBuffer = new StringBuffer(); + + if (subPath.startsWith("/")) { + subPath = subPath.substring(1); + } + if (subPath.endsWith("/")) { + subPath = subPath.substring(0, subPath.length() - 1); + } + + urlBuffer.append(baseURL); + urlBuffer.append('/'); + urlBuffer.append(restPrefix); + urlBuffer.append('/'); + urlBuffer.append(subPath); + + if (queryParams != null) { + urlBuffer.append('?'); + + String qpValue = null; + for (String qpName : queryParams.keySet()) { + urlBuffer.append(qpName); + urlBuffer.append('='); + qpValue = queryParams.get(qpName); + if (qpValue != null) { + urlBuffer.append(qpValue.replaceAll(" ", "%20")); + } + urlBuffer.append('&'); + } + } + + String completeURL = urlBuffer.toString(); + System.out.println("\nNuxeoRESTClient: calling " + completeURL); + Request request = new Request(Method.POST, completeURL); + + setupAuth(request); + setupCookies(request); + final InputStream in = istream; + request.setEntity(new OutputRepresentation( + MediaType.MULTIPART_FORM_DATA) { + + @Override + public void write(OutputStream outputStream) throws IOException { + byte[] buffer = new byte[1024 * 64]; + int read; + while ((read = in.read(buffer)) != -1) { + outputStream.write(buffer, 0, read); + } + + } + }); + + return getRestClient().handle(request).getEntity(); + } + + public Representation get(List pathParams, + Map queryParams) { + String path = ""; + StringBuffer pathBuffer = new StringBuffer(); + + if (pathParams != null) { + for (String p : pathParams) { + pathBuffer.append(p); + pathBuffer.append('/'); + } + path = pathBuffer.toString(); + } + + return get(path, queryParams); + } + + public Representation get(String subPath, + Map queryParams) { + StringBuffer urlBuffer = new StringBuffer(); + + if (subPath.startsWith("/")) { + subPath = subPath.substring(1); + } + if (subPath.endsWith("/")) { + subPath = subPath.substring(0, subPath.length() - 1); + } + + urlBuffer.append(baseURL); + urlBuffer.append('/'); + urlBuffer.append(restPrefix); + urlBuffer.append('/'); + urlBuffer.append(subPath); + + if (queryParams != null) { + urlBuffer.append('?'); + for (String qpName : queryParams.keySet()) { + urlBuffer.append(qpName); + urlBuffer.append('='); + urlBuffer.append(queryParams.get(qpName).replaceAll(" ", "%20")); + urlBuffer.append('&'); + } + } + + String completeURL = urlBuffer.toString(); + System.out.println("\nNuxeoRESTClient: calling " + completeURL); + Request request = new Request(Method.GET, completeURL); + setupAuth(request); + setupCookies(request); + + return getRestClient().handle(request).getEntity(); + } + + protected void setupAuth(Request request) { + + if (authType == AUTH_TYPE_BASIC) { + ChallengeScheme scheme = ChallengeScheme.HTTP_BASIC; + ChallengeResponse authentication = new ChallengeResponse(scheme, + userName, password); + request.setChallengeResponse(authentication); + + } else if (authType == AUTH_TYPE_SECRET) { + Series additionnalHeaders = new Form(); + + Map securityHeaders = PortalSSOAuthenticationProvider.getHeaders( + secretToken, userName); + + for (String hn : securityHeaders.keySet()) { + additionnalHeaders.add(hn, securityHeaders.get(hn)); + } + + request.getAttributes().put("org.restlet.http.headers", + additionnalHeaders); + } + } + + protected void setupCookies(Request request) { + if (cookies != null) { + request.getCookies().clear(); + for (Cookie cookie : cookies) { + request.getCookies().add(cookie); + } + } + + } + + protected Client getRestClient() { + if (restClient == null) { + if (baseURL.startsWith("https")) { + restClient = new Client(Protocol.HTTPS); + } else { + restClient = new Client(Protocol.HTTP); + } + } + + return restClient; + } + + public int getAuthType() { + return authType; + } + + public void setAuthType(int authType) { + this.authType = authType; + } + + public String getDavPrefix() { + return davPrefix; + } + + public void setDavPrefix(String davPrefix) { + this.davPrefix = davPrefix; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getRestPrefix() { + return restPrefix; + } + + public void setRestPrefix(String restPrefix) { + this.restPrefix = restPrefix; + } + + public String getSecretToken() { + return secretToken; + } + + public void setSecretToken(String secretToken) { + this.secretToken = secretToken; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/PortalSSOAuthenticationProvider.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/PortalSSOAuthenticationProvider.java new file mode 100644 index 000000000..ef1a61a40 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/java/org/collectionspace/hello/services/nuxeo/PortalSSOAuthenticationProvider.java @@ -0,0 +1,72 @@ +/* + * (C) Copyright 2006-2007 Nuxeo SAS (http://nuxeo.com/) and contributors. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser General Public License + * (LGPL) version 2.1 which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl.html + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Contributors: + * Nuxeo - initial API and implementation + * + * $Id: JOOoConvertPluginImpl.java 18651 2007-05-13 20:28:53Z sfermigier $ + */ + +package org.collectionspace.hello.services.nuxeo; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +import com.noelios.restlet.util.Base64; + +public class PortalSSOAuthenticationProvider { + + private static final String TOKEN_SEP = ":"; + + private static final String TS_HEADER = "NX_TS"; + + private static final String RANDOM_HEADER = "NX_RD"; + + private static final String TOKEN_HEADER = "NX_TOKEN"; + + private static final String USER_HEADER = "NX_USER"; + + public static Map getHeaders(String secretKey, + String userName) { + + Map headers = new HashMap(); + + Date timestamp = new Date(); + int randomData = new Random(timestamp.getTime()).nextInt(); + + String clearToken = timestamp.getTime() + TOKEN_SEP + randomData + + TOKEN_SEP + secretKey + TOKEN_SEP + userName; + + byte[] hashedToken; + + try { + hashedToken = MessageDigest.getInstance("MD5").digest( + clearToken.getBytes()); + } catch (NoSuchAlgorithmException e) { + return null; + } + + String base64HashedToken = Base64.encodeBytes(hashedToken); + + headers.put(TS_HEADER, String.valueOf(timestamp.getTime())); + headers.put(RANDOM_HEADER, String.valueOf(randomData)); + headers.put(TOKEN_HEADER, base64HashedToken); + headers.put(USER_HEADER, userName); + + return headers; + } + +} diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/jndi.properties b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/jndi.properties new file mode 100644 index 000000000..a3aa40712 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/jndi.properties @@ -0,0 +1,3 @@ +java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory +java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces +java.naming.provider.url=jnp://localhost:1099 \ No newline at end of file diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/nuxeo.properties b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/nuxeo.properties new file mode 100644 index 000000000..3c9d5afb5 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/resources/nuxeo.properties @@ -0,0 +1,2 @@ +org.nuxeo.runtime.server.enabled=false +org.nuxeo.runtime.streaming.isServer=false diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/webapp/WEB-INF/web.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..0c188a4fb --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-nuxeo-service/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,34 @@ + + + + HelloworldNuxeo + + + javax.ws.rs.Application + org.collectionspace.hello.services.HelloworldNuxeoApplication + + + + resteasy.servlet.mapping.prefix + /cspace-nuxeo + + + + + org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap + + + + + Resteasy + + org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher + + + + + Resteasy + /cspace-nuxeo/* + + + diff --git a/HelloWorld/HelloWorldService/README.txt b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/README.txt similarity index 100% rename from HelloWorld/HelloWorldService/README.txt rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/README.txt diff --git a/HelloWorld/HelloWorldService/build.properties b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/build.properties similarity index 100% rename from HelloWorld/HelloWorldService/build.properties rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/build.properties diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/build.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/build.xml new file mode 100644 index 000000000..cdba8639c --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/build.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nb-configuration.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nb-configuration.xml new file mode 100644 index 000000000..3e5cd988f --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nb-configuration.xml @@ -0,0 +1,21 @@ + + + + + + default + 8 + 80 + false + + diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nbactions.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nbactions.xml new file mode 100644 index 000000000..9d30c239a --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/nbactions.xml @@ -0,0 +1,74 @@ + + + + test + + * + + + test + + + + build + + * + + + install + + + + clean + + * + + + clean + + + + rebuild + + * + + + clean + install + + + true + + + + run + + war + ear + ejb + + + package + + + + true + + + + debug + + war + ear + ejb + + + package + + + + true + true + + + diff --git a/HelloWorld/HelloWorldService/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/pom.xml similarity index 94% rename from HelloWorld/HelloWorldService/pom.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/pom.xml index b9e0b3da4..891e055d9 100644 --- a/HelloWorld/HelloWorldService/pom.xml +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/pom.xml @@ -1,16 +1,16 @@ - helloworld + jaxrs-prototype org.collectionspace.hello.services 0.1 4.0.0 org.collectionspace.hello.services - helloworld-service + jaxrs-service war 0.1 - Helloworld Service + jaxrs-service @@ -39,7 +39,7 @@ org.collectionspace.hello.services - helloworld-jaxb + jaxrs-jaxb 0.1 diff --git a/HelloWorld/HelloWorldService/src/main/java/org/collectionspace/hello/services/HelloworldApplication.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/java/org/collectionspace/hello/services/HelloworldApplication.java similarity index 100% rename from HelloWorld/HelloWorldService/src/main/java/org/collectionspace/hello/services/HelloworldApplication.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/java/org/collectionspace/hello/services/HelloworldApplication.java diff --git a/HelloWorld/HelloWorldService/src/main/java/org/collectionspace/hello/services/IdentifierResource.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/java/org/collectionspace/hello/services/IdentifierResource.java similarity index 100% rename from HelloWorld/HelloWorldService/src/main/java/org/collectionspace/hello/services/IdentifierResource.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/java/org/collectionspace/hello/services/IdentifierResource.java diff --git a/HelloWorld/HelloWorldService/src/main/java/org/collectionspace/hello/services/PersonResource.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/java/org/collectionspace/hello/services/PersonResource.java similarity index 100% rename from HelloWorld/HelloWorldService/src/main/java/org/collectionspace/hello/services/PersonResource.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/java/org/collectionspace/hello/services/PersonResource.java diff --git a/HelloWorld/HelloWorldService/src/main/webapp/WEB-INF/web.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/webapp/WEB-INF/web.xml similarity index 100% rename from HelloWorld/HelloWorldService/src/main/webapp/WEB-INF/web.xml rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/main/webapp/WEB-INF/web.xml diff --git a/HelloWorld/HelloWorldService/src/test/java/org/collectionspace/hello/test/IdentifierServiceRawXmlTest.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/test/java/org/collectionspace/hello/test/IdentifierServiceRawXmlTest.java similarity index 100% rename from HelloWorld/HelloWorldService/src/test/java/org/collectionspace/hello/test/IdentifierServiceRawXmlTest.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/test/java/org/collectionspace/hello/test/IdentifierServiceRawXmlTest.java diff --git a/HelloWorld/HelloWorldService/src/test/java/org/collectionspace/hello/test/PersonServiceRawXmlTest.java b/sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/test/java/org/collectionspace/hello/test/PersonServiceRawXmlTest.java similarity index 100% rename from HelloWorld/HelloWorldService/src/test/java/org/collectionspace/hello/test/PersonServiceRawXmlTest.java rename to sandbox/sanjay/prototypes/jaxrs-prototype/jaxrs-service/src/test/java/org/collectionspace/hello/test/PersonServiceRawXmlTest.java diff --git a/sandbox/sanjay/prototypes/jaxrs-prototype/pom.xml b/sandbox/sanjay/prototypes/jaxrs-prototype/pom.xml new file mode 100644 index 000000000..28508a146 --- /dev/null +++ b/sandbox/sanjay/prototypes/jaxrs-prototype/pom.xml @@ -0,0 +1,174 @@ + + + + 4.0.0 + org.collectionspace.hello.services + 0.1 + jaxrs-prototype + pom + jaxrs-prototype + + jaxrs-jaxb + jaxrs-service + jaxrs-client + jaxrs-nuxeo-service + jaxrs-nuxeo-client + + + + jboss + http://repository.jboss.org/maven2 + + + sun + http://download.java.net/maven/2 + + + java.net + java.net Maven Repository + https://maven-repository.dev.java.net/nonav/repository + legacy + + + maven2-repository.dev.java.net + Java.net Maven 2 Repository + http://download.java.net/maven/2 + + + + + + java.net + java.net Maven Repository + https://maven-repository.dev.java.net/nonav/repository + legacy + + + maven2-repository.dev.java.net + Java.net Maven 2 Repository + http://download.java.net/maven/2 + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + org.apache.maven.plugins + maven-site-plugin + + /usr/bin/unzip -o > err.txt + + + + org.apache.maven.plugins + maven-war-plugin + 2.0.1 + + + WEB-INF/lib/*.jar + + + true + + + + + + + + + + + + + net.java.dev.jaxb2-commons + jaxb-fluent-api + 2.0.1 + + + org.testng + testng + 5.6 + test + jdk15 + + + org.jboss.resteasy + jaxrs-api + 1.0.2.GA + + + net.java.dev.jaxb2-commons + jaxb-fluent-api + 2.0.1 + + + org.jvnet.jaxb2-commons + property-listener-injector + 1.0 + + + org.jvnet.jaxb2_commons + runtime + 0.4.1 + + + org.jboss.resteasy + resteasy-jaxrs + 1.0.2.GA + + + commons-httpclient + commons-httpclient + 3.1 + + + com.sun.xml.bind + jaxb-impl + 2.1.7 + + + org.testng + testng + 5.6 + test + jdk15 + + + org.slf4j + slf4j-api + 1.5.2 + + + org.slf4j + slf4j-log4j12 + 1.5.2 + + + mysql + mysql-connector-java + 5.1.5 + test + + + com.jgoodies + binding + 2.0.2 + + + com.jgoodies + forms + 1.2.0 + + + + -- 2.47.3