1 package jalview.fts.service.uniprot;
3 import jalview.fts.api.FTSRestClientI;
4 import jalview.fts.core.FTSRestClient;
5 import jalview.fts.core.FTSRestRequest;
6 import jalview.fts.core.FTSRestResponse;
8 import javax.ws.rs.core.MediaType;
10 import com.sun.jersey.api.client.Client;
11 import com.sun.jersey.api.client.ClientResponse;
12 import com.sun.jersey.api.client.WebResource;
13 import com.sun.jersey.api.client.config.ClientConfig;
14 import com.sun.jersey.api.client.config.DefaultClientConfig;
16 public class UniProtRestClient extends FTSRestClient
18 private static FTSRestClientI instance = null;
20 public static final String UNIPROT_SEARCH_ENDPOINT = "http://www.uniprot.org/uniprot/?";
22 private static int DEFAULT_RESPONSE_SIZE = 200;
25 public FTSRestResponse executeRequest(FTSRestRequest uniportRestRequest)
27 ClientConfig clientConfig = new DefaultClientConfig();
28 Client client = Client.create(clientConfig);
30 @SuppressWarnings("unchecked")
31 // String wantedFields =
32 // getUniProtDocFieldsAsCommaDelimitedString((Collection<UniProtDocField>)
34 // .getWantedFields());
35 int responseSize = (uniportRestRequest.getResponseSize() == 0) ? DEFAULT_RESPONSE_SIZE
36 : uniportRestRequest.getResponseSize();
38 WebResource webResource = null;
40 webResource = client.resource(UNIPROT_SEARCH_ENDPOINT)
41 .queryParam("format", "tab")
42 // .queryParam("columns", wantedFields)
43 .queryParam("limit", String.valueOf(responseSize))
44 .queryParam("query", "name:filaggrin");
45 // Execute the REST request
46 ClientResponse clientResponse = webResource
47 .accept(MediaType.TEXT_PLAIN).get(ClientResponse.class);
48 String responseString = clientResponse.getEntity(String.class);
49 String[] results = responseString.split("\n");
50 for (String result : results)
52 String[] columns = result.split("\t");
53 System.out.println("Entry : " + columns[0]);
54 System.out.println("Entry name : " + columns[1]);
55 System.out.println("Status : " + columns[2]);
56 System.out.println("Protein names : " + columns[3]);
57 System.out.println("Gene name : " + columns[4]);
58 System.out.println("Organism : " + columns[5]);
59 System.out.println("Lenght : " + columns[6]);
60 System.out.println("");
63 // Make redundant objects eligible for garbage collection to conserve
65 clientResponse = null;
69 // Process the response and return the result to the caller.
70 // return parsePDBJsonResponse(responseString, pdbRestRequest);
71 // System.out.println(">>>>> " + responseString);
76 public static FTSRestClientI getInstance()
80 instance = new UniProtRestClient();
86 public String getColumnDataConfigFile()
88 return "fts/uniprot_data_columns.conf";