Package org.openntf.domino.tests.ntf

Source Code of org.openntf.domino.tests.ntf.DominoRunnable

package org.openntf.domino.tests.ntf;

import java.util.Set;

import lotus.domino.NotesFactory;

import org.openntf.domino.Session;
import org.openntf.domino.helpers.Formula;
import org.openntf.domino.thread.DominoThread;
import org.openntf.domino.utils.DominoUtils;
import org.openntf.domino.utils.Factory;

public class DominoRunnable implements Runnable {
  public static void main(final String[] args) {
    DominoThread thread = new DominoThread(new DominoRunnable(), "My thread");
    thread.start();
  }

  public DominoRunnable() {
    // whatever you might want to do in your constructor, but stay away from Domino objects
  }

  @Override
  public void run() {
    Session session = this.getSession();
    Formula formula = new Formula();
    String source = "REM {the quick \"brown\" fox jumped};\r\n" + "REM {over the \"lazy\" dog};\r\n"
        + "DEFAULT defVar := @If(isThing2; \"thing2\"; thing);\r\n" + "ENVIRONMENT envVar := @Now;\r\n"
        + "FIELD field1 := \"the cow jumped over the moon\";\r\n" + "FIELD field2 := \"dish... spoon... you know the score.\";\r\n"
        + "FIELD field3 := @Adjust([08/08/2002]; 1; 2; 3; 4; 5; 6);\r\n"
        + "tmpVar := field1 + \" rhyming \\\"time\\\" \" + field2[2];\r\n" + "tmpVar2 := 54938 + docField2;\r\n"
        + "tmpVar + tmpVar2 + docField3 + @Name([CN]; @UserName) + 8;\r\n" + "@Command([AddBookmark]; \"foo\"; docField);\r\n" + "";
    formula.setExpression(source);
    org.openntf.domino.helpers.Formula.Parser parser = formula.getParser();
    if (parser != null) {
      parser.parse();
      Set<String> literals = parser.getLiterals();
      System.out.println("BEGIN LITERALS");
      for (String literal : literals) {
        System.out.print(literal + ", ");
      }
      System.out.println("END LITERALS");
      Set<String> functions = parser.getFunctions();
      System.out.println("BEGIN FUNCTIONS");
      for (String function : functions) {
        System.out.print(function + ", ");
      }
      System.out.println("END FUNCTIONS");
      Set<String> localVars = parser.getLocalVars();
      System.out.println("BEGIN LOCAL VARIABLES");
      for (String var : localVars) {
        System.out.print(var + ", ");
      }
      System.out.println("END LOCAL VARIABLES");
      Set<String> fieldVars = parser.getFieldVars();
      System.out.println("BEGIN FIELDS");
      for (String var : fieldVars) {
        System.out.print(var + ", ");
      }
      System.out.println("END FIELDS");
      Set<String> envVars = parser.getEnvVars();
      System.out.println("BEGIN ENVIRONMENTS");
      for (String var : envVars) {
        System.out.print(var + ", ");
      }
      System.out.println("END ENVIRONMENTS");
      Set<String> keywords = parser.getKeywords();
      System.out.println("BEGIN KEYWORDS");
      for (String var : keywords) {
        System.out.print(var + ", ");
      }
      System.out.println("END KEYWORDS");
      Set<String> numbers = parser.getNumberLiterals();
      System.out.println("BEGIN NUMBERS");
      for (String var : numbers) {
        System.out.print(var + ", ");
      }
      System.out.println("END NUMBERS");
    }
  }

  protected Session getSession() {
    try {
      Session session = Factory.fromLotus(NotesFactory.createSession(), Session.class, null);
      return session;
    } catch (Throwable t) {
      DominoUtils.handleException(t);
      return null;
    }
  }
}
TOP

Related Classes of org.openntf.domino.tests.ntf.DominoRunnable

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.