Merge branch 'feature/JAL-3855_ebi_alphafold_import' (commit '7856e91f60adc5c2d4943ba...
authorJim Procter <j.procter@dundee.ac.uk>
Thu, 26 Aug 2021 13:57:47 +0000 (14:57 +0100)
committerJim Procter <j.procter@dundee.ac.uk>
Mon, 30 Aug 2021 11:17:32 +0000 (12:17 +0100)
1  2 
src/jalview/fts/service/pdb/PDBFTSRestClient.java

@@@ -41,12 -41,10 +41,13 @@@ import jalview.datamodel.SequenceI
  import jalview.fts.api.FTSData;
  import jalview.fts.api.FTSDataColumnI;
  import jalview.fts.api.FTSRestClientI;
 +import jalview.fts.api.StructureFTSRestClientI;
 +import jalview.fts.core.FTSDataColumnPreferences;
 +import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource;
  import jalview.fts.core.FTSRestClient;
  import jalview.fts.core.FTSRestRequest;
  import jalview.fts.core.FTSRestResponse;
+ import jalview.fts.service.alphafold.AlphafoldRestClient;
  import jalview.util.JSONUtils;
  import jalview.util.MessageManager;
  import jalview.util.Platform;
@@@ -56,7 -54,7 +57,7 @@@
   * 
   * @author tcnofoegbu
   */
 -public class PDBFTSRestClient extends FTSRestClient
 +public class PDBFTSRestClient extends FTSRestClient implements StructureFTSRestClientI
  {
  
    private static FTSRestClientI instance = null;
  
        URI uri = webResource.getURI();
  
 -      // System.out.println(uri);
 +      System.out.println(uri);
  
        // Execute the REST request
        ClientResponse clientResponse = webResource
        Map<String, Object> jsonObj = null;
        String responseString = null;
  
 -      // System.out.println("query >>>>>>> " + pdbRestRequest.toString());
 +      System.out.println("query >>>>>>> " + pdbRestRequest.toString());
  
        // Check the response status and report exception if one occurs
        int responseStatus = clientResponse.getStatus();
@@@ -321,20 -319,23 +322,23 @@@ public static String parseJsonException
                .get("QTime").toString();
        int numFound = Integer
                .valueOf(pdbResponse.get("numFound").toString());
+       List<Object> docs = (List<Object>) pdbResponse.get("docs");
+       // add in any alphafold bits at the top
+       result = AlphafoldRestClient.getFTSData(pdbRestRequest);
        if (numFound > 0)
        {
-         result = new ArrayList<>();
-         List<Object> docs = (List<Object>) pdbResponse.get("docs");
          for (Iterator<Object> docIter = docs.iterator(); docIter
                  .hasNext();)
          {
            Map<String, Object> doc = (Map<String, Object>) docIter.next();
            result.add(getFTSData(doc, pdbRestRequest));
          }
-         searchResult.setNumberOfItemsFound(numFound);
-         searchResult.setResponseTime(queryTime);
-         searchResult.setSearchSummary(result);
        }
+       searchResult.setNumberOfItemsFound(result.size());
+       searchResult.setResponseTime(queryTime);
+       searchResult.setSearchSummary(result);
      } catch (ParseException e)
      {
        e.printStackTrace();
  
      for (FTSDataColumnI field : diplayFields)
      {
 +      //System.out.println("Field " + field);
        String fieldData = (pdbJsonDoc.get(field.getCode()) == null) ? ""
                : pdbJsonDoc.get(field.getCode()).toString();
 +      //System.out.println("Field Data : " + fieldData);
        if (field.isPrimaryKeyColumn())
        {
          primaryKey = fieldData;
    }
  
    private Collection<FTSDataColumnI> allDefaultDisplayedStructureDataColumns;
 -
 +  @Override
    public Collection<FTSDataColumnI> getAllDefaultDisplayedStructureDataColumns()
    {
      if (allDefaultDisplayedStructureDataColumns == null
      }
      return allDefaultDisplayedStructureDataColumns;
    }
 -  
 -  
 +  @Override
 +  public String[] getPreferencesColumnsFor(PreferenceSource source) {
 +    String[] columnNames = null;
 +    switch (source)
 +    {
 +    case SEARCH_SUMMARY:
 +      columnNames = new String[] { "", "Display", "Group" };
 +      break;
 +    case STRUCTURE_CHOOSER:
 +      columnNames = new String[] { "", "Display", "Group" };
 +      break;
 +    case PREFERENCES:
 +      columnNames = new String[] { "PDB Field", "Show in search summary",
 +          "Show in structure summary" };
 +      break;
 +    default:
 +      break;
 +    }
 +    return columnNames;
 +  }
  }