X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FFTSRestClient.java;h=62dd13f84192862428d58bef7a7023e63f0e3d4b;hb=b72ed01b68a8572022f912687db5be60b53c15cf;hp=b262f64a1922b9bb896ef455926f6b1329e89dfc;hpb=bb3748fd2cc3ee8e8e0409599569e24e88974a17;p=jalview.git diff --git a/src/jalview/fts/core/FTSRestClient.java b/src/jalview/fts/core/FTSRestClient.java index b262f64..62dd13f 100644 --- a/src/jalview/fts/core/FTSRestClient.java +++ b/src/jalview/fts/core/FTSRestClient.java @@ -26,13 +26,14 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; +import java.util.Locale; 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; +import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; /** * Base class providing implementation for common methods defined in @@ -58,9 +59,7 @@ public abstract class FTSRestClient implements FTSRestClientI private int defaultResponsePageSize = 100; - protected String mockQuery = null; - - protected String mockResponse = null; + protected HashMap mockQueries = null; protected FTSRestClient() { @@ -73,7 +72,7 @@ public abstract class FTSRestClient implements FTSRestClientI InputStream in = getClass().getResourceAsStream(fileName); - try (BufferedReader br = new BufferedReader(new InputStreamReader(in))) + try (BufferedReader br = new BufferedReader(new InputStreamReader(in))) { String line; while ((line = br.readLine()) != null) @@ -145,7 +144,7 @@ public abstract class FTSRestClient implements FTSRestClientI @Override public String toString() { - return lineData[0]; + return getName(); } @Override @@ -172,7 +171,8 @@ 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() { @@ -183,7 +183,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": @@ -291,8 +291,8 @@ public abstract class FTSRestClient implements FTSRestClientI FTSDataColumnI that = (FTSDataColumnI) otherObject; return otherObject == null ? false : this.getCode().equals(that.getCode()) - && this.getName().equals(that.getName()) - && this.getGroup().equals(that.getGroup()); + && this.getName().equals(that.getName()) + && this.getGroup().equals(that.getGroup()); } }; @@ -433,10 +433,16 @@ public abstract class FTSRestClient implements FTSRestClientI "Couldn't find data column with name : " + nameOrCode); } - public static void createMockFTSRestClient(FTSRestClient instance,String workingQuery, - String jsonResponse) + /** + * + * @param instance + * @param mocks + * {{working query, working response}, ...} + */ + public static void createMockFTSRestClient(FTSRestClient instance, + String[][] mocks) { - instance.setMock(workingQuery,jsonResponse); + instance.setMock(mocks); } @Override @@ -494,8 +500,7 @@ public abstract class FTSRestClient implements FTSRestClientI public static void unMock(FTSRestClient instance) { - instance.mockQuery =null; - instance.mockResponse =null; + instance.mockQueries = null; } protected String getResourceFile(String fileName) @@ -522,15 +527,23 @@ public abstract class FTSRestClient implements FTSRestClientI return defaultResponsePageSize; } - protected void setMock(String workingQuery, String jsonResponse) + protected void setMock(String[][] mocks) { - mockQuery=workingQuery; - mockResponse = jsonResponse; + if (mocks == null) + { + mockQueries = null; + return; + } + mockQueries = new HashMap(); + for (String[] mock : mocks) + { + mockQueries.put(mock[0], mock[1]); + } } protected boolean isMocked() { - return mockQuery != null && mockResponse!=null; + return mockQueries != null; } @Override @@ -543,7 +556,8 @@ public abstract class FTSRestClient implements FTSRestClientI columnNames = new String[] { "", "Display", "Group" }; break; default: - // non structure sources don't return any other kind of preferences columns + // non structure sources don't return any other kind of preferences + // columns break; } return columnNames;