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;
*
* @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();
.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;
+ }
}