*/
package jalview.fts.core;
+import java.util.Locale;
+
import java.io.BufferedReader;
import java.io.IOException;
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;
/**
private int defaultResponsePageSize = 100;
+ protected HashMap<String,String> mockQueries = null;
+
protected FTSRestClient()
{
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()
{
if (dataTypeString.length > 1
&& dataTypeString[1] != null)
{
- switch (dataTypeString[1].toUpperCase())
+ switch (dataTypeString[1].toUpperCase(Locale.ROOT))
{
case "T":
case "TRUE":
"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
return String.valueOf(code) + " " + message;
}
+ public static void unMock(FTSRestClient instance)
+ {
+ instance.mockQueries=null;
+ }
+
protected String getResourceFile(String fileName)
{
String result = "";
return defaultResponsePageSize;
}
+ protected void setMock(String[][] mocks)
+ {
+ if (mocks==null) {
+ mockQueries=null;
+ return;
+ }
+ mockQueries=new HashMap<String,String>();
+ for (String[] mock:mocks)
+ {
+ mockQueries.put(mock[0],mock[1]);
+ }
+ }
+
+ protected boolean isMocked()
+ {
+ return mockQueries!=null;
+ }
+
@Override
public String[] getPreferencesColumnsFor(PreferenceSource source)
{