.getWantedFields());
int responseSize = (pdbRestRequest.getResponseSize() == 0) ? getDefaultResponsePageSize()
: pdbRestRequest.getResponseSize();
+ int offSet = pdbRestRequest.getOffSet();
String sortParam = null;
if (pdbRestRequest.getFieldToSortBy() == null
|| pdbRestRequest.getFieldToSortBy().trim().isEmpty())
.queryParam("wt", "json").queryParam("fl", wantedFields)
.queryParam("rows", String.valueOf(responseSize))
.queryParam("q", query)
+ .queryParam("start", String.valueOf(offSet))
.queryParam("sort", sortParam).queryParam("facet", "true")
.queryParam("facet.pivot", facetPivot)
.queryParam("facet.pivot.mincount", facetPivotMinCount);
webResource = client.resource(PDB_SEARCH_ENDPOINT)
.queryParam("wt", "json").queryParam("fl", wantedFields)
.queryParam("rows", String.valueOf(responseSize))
- .queryParam("q", query)
- .queryParam("sort", sortParam);
+ .queryParam("start", String.valueOf(offSet))
+ .queryParam("q", query).queryParam("sort", sortParam);
}
// Execute the REST request
ClientResponse clientResponse = webResource.accept(
}
else
{
- errorMessage = getMessageByHTTPStatusCode(clientResponse
- .getStatus());
+ errorMessage = getMessageByHTTPStatusCode(
+ clientResponse.getStatus(), "PDB");
throw new Exception(errorMessage);
}
}
else if (exceptionMsg.contains("UnknownHostException"))
{
// The server 'www.ebi.ac.uk' is unreachable
- throw new Exception(
- MessageManager
- .getString("exception.pdb_server_unreachable"));
+ throw new Exception(MessageManager.formatMessage(
+ "exception.fts_server_unreachable", "PDB Solr"));
}
else
{
}
}
- public String getMessageByHTTPStatusCode(int code)
- {
- String message = "";
- switch (code)
- {
- case 410:
- message = MessageManager
- .getString("exception.pdb_rest_service_no_longer_available");
- break;
- case 403:
- case 404:
- message = MessageManager.getString("exception.resource_not_be_found");
- break;
- case 408:
- case 409:
- case 500:
- case 501:
- case 502:
- case 503:
- case 504:
- case 505:
- message = MessageManager.getString("exception.pdb_server_error");
- break;
-
- default:
- break;
- }
- return message;
- }
-
/**
* Process error response from PDB server if/when one occurs.
*
{
try
{
- summaryRowData[colCounter++] = (field.getDataColumnClass() == Integer.class) ? Integer
- .valueOf(fieldData)
- : (field.getDataColumnClass() == Double.class) ? Double
- .valueOf(fieldData)
- : fieldData;
+ summaryRowData[colCounter++] = (field.getDataType()
+ .getDataTypeClass() == Integer.class) ? Integer
+ .valueOf(fieldData) : (field.getDataType()
+ .getDataTypeClass() == Double.class) ? Double
+ .valueOf(fieldData) : sanitiseData(fieldData);
} catch (Exception e)
{
e.printStackTrace();
- System.out.println("offending value:" + fieldData);
+ System.out.println("offending value:" + fieldData);
}
}
}
{
return Objects.hash(primaryKey1, this.toString());
}
+
+ @Override
+ public boolean equals(Object that)
+ {
+ return this.toString().equals(that.toString());
+ }
};
}
+ private static String sanitiseData(String data)
+ {
+ String cleanData = data.replaceAll("\\[\"", "").replaceAll("\\]\"", "")
+ .replaceAll("\\[", "").replaceAll("\\]", "")
+ .replaceAll("\",\"", ", ").replaceAll("\"", "");
+ return cleanData;
+ }
+
@Override
public String getColumnDataConfigFileName()
{
- return getResourceFile("fts/pdb_data_columns.conf");
+ return "/fts/pdb_data_columns.txt";
}
-
public static FTSRestClientI getInstance()
{
if (instance == null)
}
return instance;
}
+
+ private Collection<FTSDataColumnI> allDefaultDisplayedStructureDataColumns;
+
+ public Collection<FTSDataColumnI> getAllDefaultDisplayedStructureDataColumns()
+ {
+ if (allDefaultDisplayedStructureDataColumns == null
+ || allDefaultDisplayedStructureDataColumns.isEmpty())
+ {
+ allDefaultDisplayedStructureDataColumns = new ArrayList<FTSDataColumnI>();
+ allDefaultDisplayedStructureDataColumns.addAll(super
+ .getAllDefaultDisplayedFTSDataColumns());
+ }
+ return allDefaultDisplayedStructureDataColumns;
+ }
}