JAL-3855 check for existence of an alpha fold model when pinging the PDBe
[jalview.git] / src / jalview / fts / service / pdb / PDBFTSRestClient.java
index 22ed591..963778c 100644 (file)
@@ -44,6 +44,7 @@ import jalview.fts.api.FTSRestClientI;
 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;
@@ -318,20 +319,23 @@ public static String parseJsonExceptionString(String jsonErrorResponse)
               .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();