package context.apps.demos.imautostatus;
import context.arch.intelligibility.query.AltQuery;
import context.arch.intelligibility.query.Query;
/**
* Convenience class to parse a Query from the Chat window command prompt.
* @author Brian Y. Lim
*
*/
public class QueryParser {
public static Query getQuery(String question, String arguments) {
if (question == null) {
return null; // empty
}
String altValue = "-1";
if (arguments != null) {
if (arguments.equalsIgnoreCase("within")) {
altValue = "0";
}
else {
altValue = "1";
}
}
if (question.equals(Query.QUESTION_INPUTS.replace(" ", "").toLowerCase())) {
return new Query(Query.QUESTION_INPUTS, null, System.currentTimeMillis());
}
else if (question.equals(Query.QUESTION_OUTPUTS.replace(" ", "").toLowerCase())) {
return new Query(Query.QUESTION_OUTPUTS, null, System.currentTimeMillis());
}
// else if (question.equals(Query.QUESTION_WHAT)) {
// return renderWhat(expression);
// }
// else if (question.equals(Query.QUESTION_WHEN)) {
// return renderWhen(expression);
// }
// else if (question.equals(AltQuery.QUESTION_WHEN_LAST)) {
// return renderWhenLast(expression);
// }
else if (question.equals(Query.QUESTION_CERTAINTY.replace(" ", "").toLowerCase())) {
return new Query(Query.QUESTION_CERTAINTY, null, System.currentTimeMillis());
}
else if (question.equals(Query.QUESTION_WHY.replace(" ", "").toLowerCase())) {
return new Query(Query.QUESTION_WHY, null, System.currentTimeMillis());
}
// else if (question.equals(WhatIfQuery.QUESTION_WHAT_IF.replace(" ", "").toLowerCase())) {
// return renderWhatIf(expression);
// }
else if (question.equals(AltQuery.QUESTION_WHY_NOT.replace(" ", "").toLowerCase())) {
return new AltQuery(AltQuery.QUESTION_WHY_NOT, null, altValue, System.currentTimeMillis());
}
else if (question.equals(AltQuery.QUESTION_HOW_TO.replace(" ", "").toLowerCase())) {
return new AltQuery(AltQuery.QUESTION_HOW_TO, null, altValue, System.currentTimeMillis());
}
// else {
// return null;
// }
return null;
}
}