Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.orcs.rest.client')
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/META-INF/MANIFEST.MF12
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClientStandaloneSetup.java8
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OrcsClientModule.java73
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java49
-rw-r--r--plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryExecutorV1.java34
5 files changed, 40 insertions, 136 deletions
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.orcs.rest.client/META-INF/MANIFEST.MF
index 566320f3cb8..7ec3e073881 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.orcs.rest.client/META-INF/MANIFEST.MF
@@ -6,15 +6,15 @@ Bundle-Version: 0.18.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Eclipse Open System Engineering Environment
Service-Component: OSGI-INF/*.xml
-Import-Package: com.sun.jersey.api.client,
- javax.ws.rs.core,
+Import-Package: javax.ws.rs;version="2.0.0",
+ javax.ws.rs.client;version="2.0.0",
+ javax.ws.rs.core;version="2.0.0",
org.eclipse.osee.framework.core.data,
org.eclipse.osee.framework.core.enums,
org.eclipse.osee.framework.jdk.core.type,
+ org.eclipse.osee.jaxrs.client,
org.eclipse.osee.orcs.rest.model,
- org.eclipse.osee.orcs.rest.model.search.artifact,
- org.eclipse.osee.jaxrs.client
+ org.eclipse.osee.orcs.rest.model.search.artifact
Export-Package: org.eclipse.osee.orcs.rest.client
Bundle-ActivationPolicy: lazy
-Require-Bundle: com.google.inject,
- com.sun.jersey;bundle-version="1.18.0"
+Require-Bundle: com.google.inject
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClientStandaloneSetup.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClientStandaloneSetup.java
index 42f8a772516..b448cb3608c 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClientStandaloneSetup.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClientStandaloneSetup.java
@@ -11,10 +11,7 @@
package org.eclipse.osee.orcs.rest.client;
import java.util.Map;
-import org.eclipse.osee.jaxrs.client.JaxRsClientFactory;
-import org.eclipse.osee.orcs.rest.client.internal.OrcsClientModule;
import org.eclipse.osee.orcs.rest.client.internal.OseeClientImpl;
-import com.google.inject.Module;
/**
* Class to use when using the API in a non-OSGI environment
@@ -28,7 +25,8 @@ public final class OseeClientStandaloneSetup {
}
public static OseeClient createClient(Map<String, Object> config) {
- Module module = new OrcsClientModule(config);
- return JaxRsClientFactory.createClient(OseeClientImpl.class, config, module);
+ OseeClientImpl client = new OseeClientImpl();
+ client.start(config);
+ return client;
}
}
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OrcsClientModule.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OrcsClientModule.java
deleted file mode 100644
index 654ec465bac..00000000000
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OrcsClientModule.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.orcs.rest.client.internal;
-
-import java.util.Map;
-import org.eclipse.osee.orcs.rest.client.OseeClient;
-import com.google.inject.AbstractModule;
-import com.google.inject.TypeLiteral;
-import com.google.inject.matcher.AbstractMatcher;
-import com.google.inject.matcher.Matcher;
-import com.google.inject.spi.InjectionListener;
-import com.google.inject.spi.TypeEncounter;
-import com.google.inject.spi.TypeListener;
-
-/**
- * @author Roberto E. Escobar
- */
-public class OrcsClientModule extends AbstractModule {
-
- private final Map<String, Object> config;
-
- public OrcsClientModule(Map<String, Object> config) {
- super();
- this.config = config;
- }
-
- @Override
- protected void configure() {
- bind(OseeClient.class).to(OseeClientImpl.class);
- TypeListener listener = new TypeListener() {
-
- @Override
- public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter) {
- encounter.register(new InjectionListener<I>() {
-
- @Override
- public void afterInjection(I injectee) {
- OseeClientImpl client = (OseeClientImpl) injectee;
- client.start(config);
- }
- });
- }
- };
- bindListener(subtypeOf(OseeClientImpl.class), listener);
- }
-
- private static Matcher<? super TypeLiteral<?>> subtypeOf(Class<?> superclass) {
- return new SubTypeOfMatcher(TypeLiteral.get(OseeClientImpl.class));
- }
-
- private static final class SubTypeOfMatcher extends AbstractMatcher<TypeLiteral<?>> {
- private final TypeLiteral<OseeClientImpl> superType;
-
- public SubTypeOfMatcher(TypeLiteral<OseeClientImpl> superType) {
- super();
- this.superType = superType;
- }
-
- @Override
- public boolean matches(TypeLiteral<?> subType) {
- return subType.equals(superType) || superType.getRawType().isAssignableFrom(subType.getRawType());
- }
- }
-
-}
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;
}
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryExecutorV1.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryExecutorV1.java
index 54793ebf061..e2eb08a8a13 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryExecutorV1.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/search/QueryExecutorV1.java
@@ -10,21 +10,20 @@
*******************************************************************************/
package org.eclipse.osee.orcs.rest.client.internal.search;
-import java.net.URI;
import java.util.List;
+import javax.ws.rs.client.Entity;
+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.jdk.core.type.OseeCoreException;
-import org.eclipse.osee.jaxrs.client.JaxRsClient;
+import org.eclipse.osee.jaxrs.client.JaxRsExceptions;
import org.eclipse.osee.orcs.rest.model.search.artifact.OutputFormat;
import org.eclipse.osee.orcs.rest.model.search.artifact.Predicate;
import org.eclipse.osee.orcs.rest.model.search.artifact.RequestType;
import org.eclipse.osee.orcs.rest.model.search.artifact.SearchRequest;
import org.eclipse.osee.orcs.rest.model.search.artifact.SearchResponse;
import org.eclipse.osee.orcs.rest.model.search.artifact.SearchResult;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
/**
* @author John Misinco
@@ -35,13 +34,11 @@ public class QueryExecutorV1 implements QueryExecutor {
UriBuilder newBuilder();
}
- private final JaxRsClient client;
- private final BaseUriBuilder baseUriBuilder;
+ private final WebTarget target;
- public QueryExecutorV1(JaxRsClient client, BaseUriBuilder baseUriBuilder) {
+ public QueryExecutorV1(WebTarget target) {
super();
- this.client = client;
- this.baseUriBuilder = baseUriBuilder;
+ this.target = target;
}
@Override
@@ -56,11 +53,6 @@ public class QueryExecutorV1 implements QueryExecutor {
return result;
}
- private URI getQueryUri(long branchUuid) {
- UriBuilder builder = baseUriBuilder.newBuilder().path("branch/{branch-uuid}/artifact/search/v1");
- return builder.build(branchUuid);
- }
-
private SearchResponse performSearch(RequestType requestType, OutputFormat outputFormat, IOseeBranch branch, List<Predicate> predicates, QueryOptions options) throws OseeCoreException {
int fromTx = 0;
if (options.isHistorical()) {
@@ -76,16 +68,12 @@ public class QueryExecutorV1 implements QueryExecutor {
new SearchRequest(branch.getUuid(), predicates, outputFormat.name().toLowerCase(),
requestType.name().toLowerCase(), fromTx, includeDeleted);
- URI uri = getQueryUri(branch.getUuid());
- WebResource resource = client.createResource(uri);
- SearchResponse searchResult = null;
+ WebTarget resource =
+ target.path("branch/{branch-uuid}/artifact/search/v1").resolveTemplate("branch-uuid", branch.getUuid());
try {
- searchResult =
- resource.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON_TYPE).post(
- SearchResponse.class, params);
- } catch (UniformInterfaceException ex) {
- throw client.handleException(ex);
+ return resource.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.json(params), SearchResponse.class);
+ } catch (Exception ex) {
+ throw JaxRsExceptions.asOseeException(ex);
}
- return searchResult;
}
}

Back to the top