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
private int defaultResponsePageSize = 100;
- protected String mockQuery = null;
-
- protected String mockResponse = null;
+ protected HashMap<String, String> mockQueries = null;
protected FTSRestClient()
{
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)
@Override
public String toString()
{
- return lineData[0];
+ return getName();
}
@Override
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":
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());
}
};
"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
public static void unMock(FTSRestClient instance)
{
- instance.mockQuery =null;
- instance.mockResponse =null;
+ instance.mockQueries = null;
}
protected String getResourceFile(String fileName)
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<String, String>();
+ for (String[] mock : mocks)
+ {
+ mockQueries.put(mock[0], mock[1]);
+ }
}
protected boolean isMocked()
{
- return mockQuery != null && mockResponse!=null;
+ return mockQueries != null;
}
@Override
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;