diff options
Diffstat (limited to 'plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java')
-rw-r--r-- | plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java | 49 |
1 files changed, 20 insertions, 29 deletions
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java index 66b6a7abc75..6832bf9095b 100644 --- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java +++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java @@ -10,43 +10,38 @@ *******************************************************************************/ package org.eclipse.osee.orcs.rest.client.internal; -import static org.eclipse.osee.jaxrs.client.JaxRsClientConstants.JAXRS_CLIENT_SERVER_ADDRESS; import java.net.URI; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriBuilder; import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.data.OseeCodeVersion; import org.eclipse.osee.jaxrs.client.JaxRsClient; -import org.eclipse.osee.jaxrs.client.JaxRsClientFactory; -import org.eclipse.osee.jaxrs.client.JaxRsClientUtils; +import org.eclipse.osee.jaxrs.client.JaxRsExceptions; import org.eclipse.osee.orcs.rest.client.OseeClient; import org.eclipse.osee.orcs.rest.client.QueryBuilder; import org.eclipse.osee.orcs.rest.client.internal.search.PredicateFactory; import org.eclipse.osee.orcs.rest.client.internal.search.PredicateFactoryImpl; import org.eclipse.osee.orcs.rest.client.internal.search.QueryBuilderImpl; import org.eclipse.osee.orcs.rest.client.internal.search.QueryExecutorV1; -import org.eclipse.osee.orcs.rest.client.internal.search.QueryExecutorV1.BaseUriBuilder; import org.eclipse.osee.orcs.rest.client.internal.search.QueryOptions; import org.eclipse.osee.orcs.rest.model.Client; import org.eclipse.osee.orcs.rest.model.search.artifact.Predicate; -import com.sun.jersey.api.client.UniformInterfaceException; -import com.sun.jersey.api.client.WebResource; /** * @author John Misinco * @author Roberto E. Escobar */ -public class OseeClientImpl implements OseeClient, BaseUriBuilder { +public class OseeClientImpl implements OseeClient { private static final String OSEE_APPLICATION_SERVER = "osee.application.server"; private volatile PredicateFactory predicateFactory; private volatile QueryExecutorV1 executor; - private volatile JaxRsClient client; + private volatile WebTarget baseTarget; public void start(Map<String, Object> properties) { predicateFactory = new PredicateFactoryImpl(); @@ -56,24 +51,21 @@ public class OseeClientImpl implements OseeClient, BaseUriBuilder { public void stop() { executor = null; - client = null; + baseTarget = null; predicateFactory = null; } public void update(Map<String, Object> properties) { - Map<String, Object> propsToUse = properties; - String newServerAddress = JaxRsClientUtils.get(propsToUse, JAXRS_CLIENT_SERVER_ADDRESS, null); - if (newServerAddress == null) { - propsToUse = new HashMap<String, Object>(properties); - propsToUse.put(JAXRS_CLIENT_SERVER_ADDRESS, System.getProperty(OSEE_APPLICATION_SERVER, "")); + JaxRsClient client = JaxRsClient.newBuilder().properties(properties).build(); + + String address = properties != null ? (String) properties.get(OSEE_APPLICATION_SERVER) : null; + if (address == null) { + address = System.getProperty(OSEE_APPLICATION_SERVER, ""); } - client = JaxRsClientFactory.createClient(propsToUse); - executor = new QueryExecutorV1(client, this); - } - @Override - public UriBuilder newBuilder() { - return UriBuilder.fromPath("orcs"); + URI uri = UriBuilder.fromUri(address).path("orcs").build(); + baseTarget = client.target(uri); + executor = new QueryExecutorV1(baseTarget); } @Override @@ -86,16 +78,15 @@ public class OseeClientImpl implements OseeClient, BaseUriBuilder { @Override public boolean isClientVersionSupportedByApplicationServer() { boolean result = false; - URI uri = newBuilder().path("client").build(); - WebResource resource = client.createResource(uri); + WebTarget resource = baseTarget.path("client"); Client clientResult = null; try { - clientResult = resource.accept(MediaType.APPLICATION_XML).get(Client.class); - if (clientResult != null) { - result = clientResult.getSupportedVersions().contains(OseeCodeVersion.getVersion()); - } - } catch (UniformInterfaceException ex) { - throw client.handleException(ex); + clientResult = resource.request(MediaType.APPLICATION_JSON).get(Client.class); + } catch (Exception ex) { + throw JaxRsExceptions.asOseeException(ex); + } + if (clientResult != null) { + result = clientResult.getSupportedVersions().contains(OseeCodeVersion.getVersion()); } return result; } |