From 786f1b190dcc8f9b58c6bbcf59e8d86dd7c5f6f1 Mon Sep 17 00:00:00 2001 From: Richard Millet Date: Fri, 10 Apr 2009 18:25:38 +0000 Subject: [PATCH] CSPACE-63: Abstract base class "CollectionObjectClient" now has method for getting the CollectionSpace URL prefix from a system property. If the property is not set then a default of 'http://localhost:8080/helloworld/cspace-nuxeo' is used. --- .../hello/client/CollectionObjectClient.java | 4 +-- .../hello/client/CollectionSpaceClient.java | 34 +++++++++++++++++-- .../hello/client/DomainIdentifierClient.java | 4 +-- .../hello/client/IdentifierClient.java | 4 +-- .../hello/client/PersonNuxeoClient.java | 4 +-- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionObjectClient.java b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionObjectClient.java index ffda95ba7..8fd55ac08 100644 --- a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionObjectClient.java +++ b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionObjectClient.java @@ -15,7 +15,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; * @version $Revision:$ */ -public class CollectionObjectClient implements CollectionSpaceClient { +public class CollectionObjectClient extends CollectionSpaceClient { /** @@ -35,7 +35,7 @@ public class CollectionObjectClient implements CollectionSpaceClient { private CollectionObjectClient() { ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); RegisterBuiltin.register(factory); - collectionObjectProxy = ProxyFactory.create(CollectionObjectProxy.class, HOST + URI); + collectionObjectProxy = ProxyFactory.create(CollectionObjectProxy.class, getURL()); } /** diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java index c43fb45df..879800e34 100644 --- a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java +++ b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/CollectionSpaceClient.java @@ -1,6 +1,34 @@ package org.collectionspace.hello.client; -public interface CollectionSpaceClient { - static final String HOST = "http://localhost:8080"; - static final String URI = "/helloworld/cspace-nuxeo"; +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/DomainIdentifierClient.java b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/DomainIdentifierClient.java index 98c6a7189..56061c6ad 100644 --- a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/DomainIdentifierClient.java +++ b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/DomainIdentifierClient.java @@ -13,7 +13,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; * @version $Revision:$ */ -public class DomainIdentifierClient implements CollectionSpaceClient { +public class DomainIdentifierClient extends CollectionSpaceClient { /** @@ -33,7 +33,7 @@ public class DomainIdentifierClient implements CollectionSpaceClient { private DomainIdentifierClient() { ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); RegisterBuiltin.register(factory); - identifierProxy = ProxyFactory.create(DomainIdentifierProxy.class, HOST + URI); + identifierProxy = ProxyFactory.create(DomainIdentifierProxy.class, getURL()); } /** diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierClient.java b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierClient.java index 62c03f356..a7b12f967 100644 --- a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierClient.java +++ b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/IdentifierClient.java @@ -13,7 +13,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; * @version $Revision:$ */ -public class IdentifierClient implements CollectionSpaceClient { +public class IdentifierClient { /** * @@ -32,7 +32,7 @@ public class IdentifierClient implements CollectionSpaceClient { private IdentifierClient() { ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); RegisterBuiltin.register(factory); - identifierProxy = ProxyFactory.create(IdentifierProxy.class, HOST + URI); + identifierProxy = ProxyFactory.create(IdentifierProxy.class, "http://localhost:8080/helloworld/cspace"); } /** diff --git a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java index d60bb07d4..68cdbf318 100644 --- a/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java +++ b/HelloWorld/HelloWorldClient/src/main/java/org/collectionspace/hello/client/PersonNuxeoClient.java @@ -14,7 +14,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; * @version $Revision:$ */ -public class PersonNuxeoClient implements CollectionSpaceClient { +public class PersonNuxeoClient extends CollectionSpaceClient { /** * @@ -33,7 +33,7 @@ public class PersonNuxeoClient implements CollectionSpaceClient { private PersonNuxeoClient() { ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); RegisterBuiltin.register(factory); - personProxy = ProxyFactory.create(PersonNuxeoProxy.class, HOST + URI); + personProxy = ProxyFactory.create(PersonNuxeoProxy.class, getURL()); } /** -- 2.47.3