Skip to main content
summaryrefslogtreecommitdiffstats
blob: d1fbe75b5969b3de469b6266cd2a9c3f8882b960 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package org.eclipse.osee.ote.master.rest.client.internal;

import java.net.URI;
import java.util.concurrent.Callable;
import javax.ws.rs.core.MediaType;
import org.eclipse.osee.jaxrs.client.JaxRsClient;
import org.eclipse.osee.ote.master.rest.client.OTEMasterServerAvailableNodes;
import org.eclipse.osee.ote.master.rest.model.OTEServer;
import com.sun.jersey.api.client.WebResource;

public class GetAvailableServers implements Callable<OTEMasterServerAvailableNodes> {

   private final JaxRsClient webClientProvider;
   private final URI uri;

   public GetAvailableServers(JaxRsClient webClientProvider, URI uri) {
      this.webClientProvider = webClientProvider;
      this.uri = uri;
   }

   @Override
   public OTEMasterServerAvailableNodes call() throws Exception {
      OTEMasterServerAvailableNodes result = new OTEMasterServerAvailableNodes();
      try {
         WebResource resource = webClientProvider.createResource(uri);
         OTEServer[] servers =
            resource.path(OTEMasterServerImpl.CONTEXT_NAME).path(OTEMasterServerImpl.CONTEXT_SERVERS).accept(
               MediaType.APPLICATION_XML).get(OTEServer[].class);
         result.setServers(servers);
         result.setSuccess(true);
      } catch (Throwable th) {
         result.setSuccess(false);
         result.setThrowable(th);
      }
      return result;
   }

}

Back to the top