X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FFTSRestClient.java;h=f94d4550dcc6fdff86a5d218a6860c7524f488c1;hb=1413ed295402b90cccddc8ee814cb5be0d1fc75e;hp=2f24a010c5dc8945ecb52cd7256096518315bf93;hpb=5585b4b0ed1f5dd85887ed6b76352947ce1be133;p=jalview.git diff --git a/src/jalview/fts/core/FTSRestClient.java b/src/jalview/fts/core/FTSRestClient.java index 2f24a01..f94d455 100644 --- a/src/jalview/fts/core/FTSRestClient.java +++ b/src/jalview/fts/core/FTSRestClient.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.fts.core; import jalview.fts.api.FTSDataColumnI; @@ -45,9 +65,9 @@ public abstract class FTSRestClient implements FTSRestClientI public void parseDataColumnsConfigFile() { String fileName = getColumnDataConfigFileName(); - - InputStream in = getClass().getResourceAsStream(fileName); - + + InputStream in = getClass().getResourceAsStream(fileName); + try (BufferedReader br = new BufferedReader(new InputStreamReader(in))) { String line; @@ -62,8 +82,8 @@ public abstract class FTSRestClient implements FTSRestClientI { primaryKeyColumnCode = lineData[1]; } - if (lineData[0] - .equalsIgnoreCase("_data_column.default_response_page_size")) + if (lineData[0].equalsIgnoreCase( + "_data_column.default_response_page_size")) { defaultResponsePageSize = Integer.valueOf(lineData[1]); } @@ -138,26 +158,68 @@ public abstract class FTSRestClient implements FTSRestClientI @Override public String getAltCode() { - return lineData[1].split("\\|").length > 1 ? lineData[1] - .split("\\|")[1] : getCode(); + return lineData[1].split("\\|").length > 1 + ? lineData[1].split("\\|")[1] + : getCode(); } @Override - public Class getDataColumnClass() + public DataTypeI getDataType() { - String classString = lineData[2]; - classString = classString.toUpperCase(); - switch (classString) + final String[] dataTypeString = lineData[2].split("\\|"); + final String classString = dataTypeString[0].toUpperCase(); + + return new DataTypeI() { - case "INT": - case "INTEGER": - return Integer.class; - case "DOUBLE": - return Double.class; - case "STRING": - default: - return String.class; - } + + @Override + public boolean isFormtted() + { + if (dataTypeString.length > 1 + && dataTypeString[1] != null) + { + switch (dataTypeString[1].toUpperCase()) + { + case "T": + case "TRUE": + return true; + case "F": + case "False": + default: + return false; + } + } + return false; + } + + @Override + public int getSignificantFigures() + { + if (dataTypeString.length > 2 + && dataTypeString[2] != null) + { + return Integer.valueOf(dataTypeString[2]); + } + return 0; + } + + @Override + public Class getDataTypeClass() + { + switch (classString) + { + case "INT": + case "INTEGER": + return Integer.class; + case "DOUBLE": + return Double.class; + case "STRING": + default: + return String.class; + } + } + }; + } @Override @@ -218,12 +280,12 @@ public abstract class FTSRestClient implements FTSRestClientI this.getGroup()); } - @Override public boolean equals(Object otherObject) { FTSDataColumnI that = (FTSDataColumnI) otherObject; - return this.getCode().equals(that.getCode()) + return otherObject == null ? false + : this.getCode().equals(that.getCode()) && this.getName().equals(that.getName()) && this.getGroup().equals(that.getGroup()); } @@ -253,7 +315,8 @@ public abstract class FTSRestClient implements FTSRestClientI } try { - this.primaryKeyColumn = getDataColumnByNameOrCode(primaryKeyColumnCode); + this.primaryKeyColumn = getDataColumnByNameOrCode( + primaryKeyColumnCode); } catch (Exception e) { e.printStackTrace(); @@ -303,7 +366,6 @@ public abstract class FTSRestClient implements FTSRestClientI return result; } - @Override public Collection getAllFTSDataColumns() { @@ -325,7 +387,7 @@ public abstract class FTSRestClient implements FTSRestClientI } @Override - public Collection getAllDefaulDisplayedDataColumns() + public Collection getAllDefaultDisplayedFTSDataColumns() { if (defaulDisplayedDataColumns == null || defaulDisplayedDataColumns.isEmpty()) @@ -362,8 +424,8 @@ public abstract class FTSRestClient implements FTSRestClientI return column; } } - throw new Exception("Couldn't find data column with name : " - + nameOrCode); + throw new Exception( + "Couldn't find data column with name : " + nameOrCode); } @Override @@ -390,10 +452,9 @@ public abstract class FTSRestClient implements FTSRestClientI switch (code) { case 400: - message = MessageManager - .getString("exception.bad_request"); + message = MessageManager.getString("exception.bad_request"); break; - + case 410: message = MessageManager.formatMessage( "exception.fts_rest_service_no_longer_available", service); @@ -409,7 +470,8 @@ public abstract class FTSRestClient implements FTSRestClientI case 502: case 504: case 505: - message = MessageManager.getString("exception.fts_server_error"); + message = MessageManager.formatMessage("exception.fts_server_error", + service); break; case 503: message = MessageManager.getString("exception.service_not_available");