Package org.uscxml

Examples of org.uscxml.Data


  public Context ctx;
  public Scriptable scope;
  public Interpreter interpreter;

  public Data getScriptableAsData(Object object) {
    Data data = new Data();

    Scriptable s;
    try {
      s = (Scriptable) object;
      String className = s.getClassName(); // ECMA class name
      if (className.toLowerCase().equals("object")) {
        ScriptableObject obj = (ScriptableObject) Context.toObject(s,
            scope);
        for (Object key : obj.getIds()) {
          data.put(Context.toString(key),
              getScriptableAsData(obj.get(key)));
        }
      }
    } catch (ClassCastException e) {
      if (object instanceof Boolean) {
        data.setAtom(Context.toBoolean(object) ? "true" : "false");
        data.setType(Data.Type.INTERPRETED);
      } else if (object instanceof String) {
        data.setAtom((String) object);
        data.setType(Data.Type.VERBATIM);
      } else if (object instanceof Integer) {
        data.setAtom(((Integer) object).toString());
        data.setType(Data.Type.INTERPRETED);
      } else {
        throw new RuntimeException("Unhandled ECMA type "
            + object.getClass().getName());
      }
    }
View Full Code Here


    newDM.scope.put("_name", newDM.scope, interpreter.getName());
    newDM.scope.put("_sessionid", newDM.scope, interpreter.getSessionId());

    // ioProcessors
    {
      Data ioProcs = new Data();
      Map<String, NativeIOProcessor> ioProcNatives = interpreter.getIOProcessors();
      for (String key : ioProcNatives.keySet()) {
        ioProcs.put(key, ioProcNatives.get(key).getDataModelVariables());
      }
      newDM.scope
          .put("_ioprocessors", newDM.scope, new ECMAData(ioProcs));
    }

    // invokers
    {
      Data invokers = new Data();
      Map<String, NativeInvoker> invokersNatives = interpreter.getInvokers();
      for (String key : invokersNatives.keySet()) {
        invokers.put(key, invokersNatives.get(key).getDataModelVariables());
      }
      newDM.scope
          .put("_ioprocessors", newDM.scope, new ECMAData(invokers));
    }
   
View Full Code Here

    /**
     * Evaluate the string as a value expression and transform it into a
     * JSON-like Data structure
     */
    if (content.length() == 0) {
      return new Data();
    }

    // is it a json expression?
    try {
      Object json = NativeJSON.parse(ctx, scope, content,
View Full Code Here

   * Optional data we want to make available at
   * _ioprocessors[this.getNames.front()] in the datamodel
   */
  @Override
  public Data getDataModelVariables() {
    return new Data();
  }
View Full Code Here

   * Optional data we want to make available at
   * _ioprocessors[this.getNames.front()] in the datamodel
   */
  @Override
  public Data getDataModelVariables() {
    return new Data();
  }
View Full Code Here

  /**  IOProcessor */
  @Override
  public Data getDataModelVariables() {
    // return anything for _ioprocessor['console']
    Data data = Data.fromJSON("{ foo: \"bar\", test: [1,2,3,4,5,6] }");
    return data;
  }
View Full Code Here

    evt.setData(keyEventToData(e));
    returnEvent(evt);
  }
 
  static Data keyEventToData(KeyEvent e) {
    Data data = new Data();
    data.put("id", new Data(e.getID()));
    data.put("keyChar", new Data(e.getKeyChar()));
    data.put("keyLocation", new Data(e.getKeyLocation()));
    data.put("modifiers", new Data(e.getModifiers()));
    data.put("modifiersEx", new Data(e.getModifiersEx()));
    data.put("when", new Data(e.getWhen()));
    data.put("actionKey", new Data(e.isActionKey()));
    data.put("altDown", new Data(e.isAltDown()));
    data.put("altGraphDown", new Data(e.isAltGraphDown()));
    data.put("ctrlDown", new Data(e.isControlDown()));
    data.put("metaDown", new Data(e.isMetaDown()));
    data.put("shiftDown", new Data(e.isShiftDown()));
   
    return data;
  }
View Full Code Here

   
  public ECMAEvent(Event event) {
    this.event = event;

    // copy event params to data
    Data data = event.getData();
    Map<String, List<Data>> params = event.getParams();
    for (String key : params.keySet()) {
      for (Data param : params.get(key)) {
        data.put(key, param);
      }
    }

    members.put("type", event.getEventType());
    members.put("data", new ECMAData(data));
View Full Code Here

  @Override
  public void afterEnteringState(Interpreter interpreter, String stateId,
      String xpath, String state, boolean moreComing) {
    System.out.println("Entered state " + stateId);
    if ("s2".equals(stateId)) {
      Data data = interpreter.getDataModel().getStringAsData("foo");
      System.out.println(data);
    }
  }
View Full Code Here

public class TestData {

  public static void main(String[] args) throws Exception {
    System.load("/Users/sradomski/Documents/TK/Code/uscxml/build/cli/lib/libuscxmlNativeJava64.jnilib");
    {
      Data data = Data.fromJSON("[1,2,3,4,5]");
      System.out.println(data);
    }
    {
      Data data = Data.fromJSON("{ \"foo\": \"bar\", \"faz\": 12 }");
      System.out.println(data);
    }

    {
      Data data = new Data();

      DocumentBuilderFactory factory = DocumentBuilderFactory
          .newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();

      Document document = builder.newDocument();
      document.appendChild(document.createElement("foo"));

      Transformer transformer = TransformerFactory.newInstance()
          .newTransformer();
      StreamResult result = new StreamResult(new StringWriter());
      DOMSource source = new DOMSource(document);
      transformer.transform(source, result);

      String xml = result.getWriter().toString();

      data.setXML(xml);
      System.out.println(data.getXML());
    }

    {
      byte origData[] = new byte[1024];
      for (int i = 0; i < origData.length; i++) {
        origData[i] = (byte) i;
      }

      {
        Blob blob = new Blob(origData, "application/octet-stream");
        if (origData.length != blob.getSize())
          throw new RuntimeException("Blob does not match");

        for (int i = 0; i < origData.length; i++) {
          if (origData[i] != blob.getData()[i])
            throw new RuntimeException("Blob mismatch at " + i);
        }
      }

      Data data = new Data(origData, "application/octet-stream");
      Blob blob = data.getBinary();
      System.out.println(blob.getSize());

      byte newData[] = blob.getData();

      if (newData.length != origData.length)
View Full Code Here

TOP

Related Classes of org.uscxml.Data

Copyright © 2018 www.massapicom. 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.