package com.felix.util;
import java.util.Locale;
import java.util.Vector;
import com.felix.util.KeyValues;
import com.felix.util.Util;
public class TestQueries {
KeyValues _testQueries = null;
Vector<String> _sampleQueries = null;
private int _counter = 0, _sampleQueryNum = 0;
int[] _randomIndeces = null;
private String _language = "";
/**
* load test queries with filepath and language extension.
*
* @param queryFilename
* The filepath.
* @param language
* The language extension, e.g. "de"
*/
public TestQueries(String queryFilename, String language) {
_language = language;
if (language != null) {
loadTestQueries(queryFilename + "_" + language);
} else {
loadTestQueries(queryFilename);
}
}
public void loadTestQueries(String queryFilename) {
KeyValues queries = new KeyValues(queryFilename, "=");
_testQueries = queries;
}
public String getLanguage() {
return _language;
}
/**
* Load the testqueries from a vector of strings.
*
* @param queryVec
* The vector, formatted query=answer
*/
public void loadTestQueries(Vector<String> queryVec) {
KeyValues queries = new KeyValues(queryVec, "=");
_testQueries = queries;
}
/**
* Load the samplequeries from a vector of strings.
*
* @param queryVec
* The vector, formatted query
*/
public void loadSampleQueries(Vector<String> queryVec) {
_sampleQueries = queryVec;
_sampleQueryNum = _sampleQueries.size();
_randomIndeces = Util.getRandomInts(_sampleQueryNum);
_counter = _sampleQueryNum - 1;
}
public String getNextRandomQuery() {
if (_counter < 0)
_counter = _sampleQueryNum - 1;
String ret = _sampleQueries.elementAt(_randomIndeces[_counter]);
--_counter;
return ret;
}
public Vector<String> getTestQueries() {
Vector<String> queries = _testQueries.getKeysAsVector();
return queries;
}
public Vector<String> getSampleQueries() {
return _sampleQueries;
}
}