X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FFTSRestClient.java;h=0bca0709c34b00663c302f8f74cad2dabcd7dc89;hb=41b0e9331ac71787c1280aa1d809f54c575fbf97;hp=617d4ea9689065473b6bc9e149e8308251614640;hpb=17e4ea278bc9a5fb280db1252ce78b7a295215f5;p=jalview.git diff --git a/src/jalview/fts/core/FTSRestClient.java b/src/jalview/fts/core/FTSRestClient.java index 617d4ea..0bca070 100644 --- a/src/jalview/fts/core/FTSRestClient.java +++ b/src/jalview/fts/core/FTSRestClient.java @@ -20,10 +20,7 @@ */ package jalview.fts.core; -import jalview.fts.api.FTSDataColumnI; -import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI; -import jalview.fts.api.FTSRestClientI; -import jalview.util.MessageManager; +import java.util.Locale; import java.io.BufferedReader; import java.io.IOException; @@ -31,8 +28,15 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.Objects; +import jalview.fts.api.FTSDataColumnI; +import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI; +import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; +import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient; +import jalview.fts.api.FTSRestClientI; + /** * Base class providing implementation for common methods defined in * FTSRestClientI @@ -57,6 +61,8 @@ public abstract class FTSRestClient implements FTSRestClientI private int defaultResponsePageSize = 100; + protected HashMap mockQueries = null; + protected FTSRestClient() { @@ -167,7 +173,7 @@ public abstract class FTSRestClient implements FTSRestClientI public DataTypeI getDataType() { final String[] dataTypeString = lineData[2].split("\\|"); - final String classString = dataTypeString[0].toUpperCase(); + final String classString = dataTypeString[0].toUpperCase(Locale.ROOT); return new DataTypeI() { @@ -178,7 +184,7 @@ public abstract class FTSRestClient implements FTSRestClientI if (dataTypeString.length > 1 && dataTypeString[1] != null) { - switch (dataTypeString[1].toUpperCase()) + switch (dataTypeString[1].toUpperCase(Locale.ROOT)) { case "T": case "TRUE": @@ -428,6 +434,16 @@ public abstract class FTSRestClient implements FTSRestClientI "Couldn't find data column with name : " + nameOrCode); } + /** + * + * @param instance + * @param mocks {{working query, working response}, ...} + */ + public static void createMockFTSRestClient(FTSRestClient instance,String[][] mocks) + { + instance.setMock(mocks); + } + @Override public FTSDataColumnGroupI getDataColumnGroupById(String id) throws Exception @@ -456,8 +472,7 @@ public abstract class FTSRestClient implements FTSRestClientI break; case 410: - message = MessageManager.formatMessage( - service + " rest services no longer available!"); + message = service + " rest services no longer available!"; break; case 403: case 404: @@ -482,6 +497,11 @@ public abstract class FTSRestClient implements FTSRestClientI return String.valueOf(code) + " " + message; } + public static void unMock(FTSRestClient instance) + { + instance.mockQueries=null; + } + protected String getResourceFile(String fileName) { String result = ""; @@ -506,4 +526,37 @@ public abstract class FTSRestClient implements FTSRestClientI return defaultResponsePageSize; } + protected void setMock(String[][] mocks) + { + if (mocks==null) { + mockQueries=null; + return; + } + mockQueries=new HashMap(); + for (String[] mock:mocks) + { + mockQueries.put(mock[0],mock[1]); + } + } + + protected boolean isMocked() + { + return mockQueries!=null; + } + + @Override + public String[] getPreferencesColumnsFor(PreferenceSource source) + { + String[] columnNames = null; + switch (source) + { + case SEARCH_SUMMARY: + columnNames = new String[] { "", "Display", "Group" }; + break; + default: + // non structure sources don't return any other kind of preferences columns + break; + } + return columnNames; + } }