/* Generated By:JJTree&JavaCC: Do not edit this line. AtFormulaParser.java */
package org.openntf.domino.tests.rpr.formula;
import java.util.List;
import org.openntf.domino.thread.DominoThread;
import org.openntf.domino.utils.Factory;
import org.openntf.formula.ASTNode;
import org.openntf.formula.FormulaContext;
import org.openntf.formula.FormulaParser;
import org.openntf.formula.Formulas;
public class TestRunnerStdIn implements Runnable {
public static void main(final String[] args) {
DominoThread thread = new DominoThread(new TestRunnerStdIn(), "My thread");
thread.start();
}
public TestRunnerStdIn() {
// whatever you might want to do in your constructor, but stay away from Domino objects
}
@Override
public void run() {
Factory.enableCounters(true, false);
try {
System.out.println("Please type a Lotus domino @formula. Quit with CTRL+Z:");
ASTNode n = null;
List<Object> v = null;
FormulaParser parser = Formulas.getParser();
n = parser.parse(System.in, false);
n.dump("");
FormulaContext ctx = Formulas.createContext(null, parser);
v = n.solve(ctx);
System.out.println("NTF:\t" + v);
//StringBuilder sb = new StringBuilder();
//n.toFormula(sb);
//System.out.println("Notes...: " + sb.toString());
// Session sess = Base.toLotus(Factory.getSession());
// try {
// v = sess.evaluate(sb.toString());
// System.out.println("Domino:\t" + v);
// } catch (NotesException e) {
// e.printStackTrace();
// }
System.out.println("Thank you.");
} catch (Exception e) {
e.printStackTrace();
}
}
}