JAL-3829 attempt to fix my changes to follow the Jira issue
[jalview.git] / src / jalview / fts / service / threedbeacons / TDBeaconsFTSRestClient.java
index e6d45e5..7c06f05 100644 (file)
@@ -47,14 +47,6 @@ public class TDBeaconsFTSRestClient extends FTSRestClient
   {
     try
     {
-      // Removed wantedFields, sortParam & facetPivot from PDBFTSRClient
-      String wantedFields = getDataColumnsFieldsAsCommaDelimitedString(
-              tdbRestRequest.getWantedFields());
-      int responseSize = (tdbRestRequest.getResponseSize() == 0)
-              ? getDefaultResponsePageSize()
-              : tdbRestRequest.getResponseSize();
-      //int offSet = pdbRestRequest.getOffSet();
-      
       String query = tdbRestRequest.getFieldToSearchBy()
               + tdbRestRequest.getSearchTerm();
       Client client;
@@ -76,12 +68,9 @@ public class TDBeaconsFTSRestClient extends FTSRestClient
       }
       WebResource webResource;
       webResource = client.resource(DEFAULT_THREEDBEACONS_DOMAIN)
-              .queryParam("ac", query);
-//              .queryParam("rows", String.valueOf(responseSize))
-//              .queryParam("P",query);
+              .path(query);
       URI uri = webResource.getURI();
-        
-      System.out.println(uri);
+      System.out.println(uri.toString());
         
       // Execute the REST request
       ClientResponse clientResponse = webResource
@@ -92,13 +81,11 @@ public class TDBeaconsFTSRestClient extends FTSRestClient
       Map<String, Object> jsonObj = null;
       String responseString = null;
   
-      System.out.println("query >>>>>>> " + tdbRestRequest.toString());
-        
       // Check the response status and report exception if one occurs
       int responseStatus = clientResponse.getStatus();
       switch (responseStatus)
       {
-      // if succesful
+      // if success
       case 200:
         if (Platform.isJS())
         {
@@ -140,8 +127,8 @@ public class TDBeaconsFTSRestClient extends FTSRestClient
       
   }
   
-  public String setSearchTerm() {
-    return null;
+  public String setSearchTerm(String term) {
+    return term;
   }
   
   public static FTSRestResponse parseTDBeaconsJsonResponse(
@@ -156,7 +143,6 @@ public class TDBeaconsFTSRestClient extends FTSRestClient
           Map<String, Object> jsonObj, FTSRestRequest tdbRestRequest)
   {
     FTSRestResponse searchResult = new FTSRestResponse();
-    //searchResult.setNumberOfItemsFound(1);
     List<FTSData> result = null;
     
     try
@@ -165,24 +151,30 @@ public class TDBeaconsFTSRestClient extends FTSRestClient
       {
         jsonObj = (Map<String, Object>) JSONUtils.parse(tdbJsonResponseString);
       }
-      //Map<String, Object> tdbResponse = (Map<String, Object>) jsonObj.get("structures");
-      //String seqLength = tdbEntry.get("sequence_length").toString();
-      //int seqLength = Integer.valueOf(tdbEntry.get("sequence_length").toString());
       
-      int seqLength = (int) ((Map<String, Object>) jsonObj.get("uniprot_entry")).get("sequence_length");
-      result = new ArrayList<>();
+      Object uniprot_entry = jsonObj.get("uniprot_entry"); 
+      Long seqLength = (Long) ((Map<String, Object>) jsonObj.get("uniprot_entry")).get("sequence_length");
+      //System.out.println(uniprot_entry);
+      //System.out.println(jsonObj);
+      //System.out.println("seqLenght :" + seqLength);
+      
+      //Map<String, Object> tdbResponse = (Map<String, Object>) jsonObj.get("structures");
       List<Object> structures = (List<Object>) jsonObj.get("structures");
+      result = new ArrayList<>();
+      
       int numFound = 0;
-      for (Iterator<Object> strucIter = structures.iterator(); strucIter
-              .hasNext();)
+      for (Iterator<Object> strucIter = structures.iterator(); strucIter.hasNext();)
       {
         Map<String, Object> structure = (Map<String, Object>) strucIter.next();
         result.add(getFTSData(structure, tdbRestRequest));
         numFound++;
+        //System.out.println(structure);
       }
-        searchResult.setNumberOfItemsFound(numFound); 
-        searchResult.setSearchSummary(result);
-        searchResult.setSequenceLength(seqLength);
+      
+      System.out.println("1 : " + structures.get(1));
+      searchResult.setNumberOfItemsFound(numFound); 
+      searchResult.setSearchSummary(result);
+      searchResult.setSequenceLength(seqLength);
         
     } catch (ParseException e)
     {
@@ -200,9 +192,12 @@ private static FTSData getFTSData(Map<String, Object> tdbJsonStructure,
     Collection<FTSDataColumnI> displayFields = tdbRequest.getWantedFields();
     int colCounter = 0;
     summaryRowData = new Object[displayFields.size()];
+    
     for (FTSDataColumnI field : displayFields) {
+      System.out.println("Field " + field);
       String fieldData = (tdbJsonStructure.get(field.getCode()) == null) ? " " 
               : tdbJsonStructure.get(field.getCode()).toString();
+      System.out.println("Field Data : " + fieldData);
       if (field.isPrimaryKeyColumn())
       {
         primaryKey = fieldData;
@@ -225,7 +220,7 @@ private static FTSData getFTSData(Map<String, Object> tdbJsonStructure,
                                           : fieldData;
         } catch (Exception e)
         {
-          e.printStackTrace();
+          //e.printStackTrace();
           System.out.println("offending value:" + fieldData);
         }
       }
@@ -304,8 +299,7 @@ private static FTSData getFTSData(Map<String, Object> tdbJsonStructure,
   @Override
   public String getColumnDataConfigFileName()
   {
-    // TODO Auto-generated method stub
-    return null;
+    return "/fts/tdbeacons_data_columns.txt";
   }
   
   public static FTSRestClientI getInstance()