Package com.goodow.realtime.json

Examples of com.goodow.realtime.json.JsonArray


    return null;
  }

  public void clientOp(O clientOp) {
    if (serverOps.length() > 0) {
      final JsonArray newServerOps = Json.createArray().push(clientOp);
      serverOps.forEach(new ListIterator<O>() {
        @SuppressWarnings("unchecked")
        @Override
        public void call(int index, O serverOp) {
          Pair<O, O> pair =
              transformer.transform((O) newServerOps.remove(newServerOps.length() - 1), serverOp);
          newServerOps.push(pair.second).push(pair.first);
        }
      });
      clientOp = newServerOps.remove(newServerOps.length() - 1);
      serverOps = newServerOps;
    }

    queuedClientOps.push(clientOp);
  }
View Full Code Here


    return size() == 0;
  }

  @Override
  public JsonArray items() {
    final JsonArray items = Json.createArray();
    snapshot.forEach(new MapIterator<JsonArray>() {
      @Override
      public void call(String key, JsonArray value) {
        JsonArray item = Json.createArray().push(key).push(get(key));
        items.push(item);
      }
    });
    return items;
  }
View Full Code Here

  }

  @Override
  public <T> T set(String key, Object value) {
    checkKey(key);
    JsonArray serializedValue = JsonSerializer.serializeObject(value);
    T oldObject = this.<T> get(key);
    JsonArray oldValue = snapshot.getArray(key);
    if (!JsonMapComponent.jsonEquals(oldValue, serializedValue)) {
      JsonMapComponent op = new JsonMapComponent(id, key, oldValue, serializedValue);
      consumeAndSubmit(op);
    }
    return oldObject;
View Full Code Here

    });
    return json;
  }

  @Override public JsonArray values() {
    final JsonArray values = Json.createArray();
    snapshot.forEach(new MapIterator<JsonArray>() {
      @Override
      public void call(String key, JsonArray value) {
        values.push(get(key));
      }
    });
    return values;
  }
View Full Code Here

    Object newObject = JsonSerializer.deserializeObject(newValue, model.objects);
    ValueChangedEvent event =
        new ValueChangedEventImpl(event(sessionId, userId).set("property", key).set("oldValue",
            get(key)).set("newValue", newObject));
    if (snapshot.has(key)) {
      JsonArray oldValue = snapshot.getArray(key);
      model.addOrRemoveParent(oldValue, id, false);
      model.bytesUsed -= oldValue.toJsonString().length();
    }
    snapshot.set(key, newValue);
    model.addOrRemoveParent(newValue, id, true);
    fireEvent(event);
    model.bytesUsed += newValue.toJsonString().length();
View Full Code Here

    model.bytesUsed += newValue.toJsonString().length();
  }

  private void removeAndFireEvent(String key, String sessionId, String userId) {
    assert has(key);
    JsonArray oldValue = snapshot.getArray(key);
    ValueChangedEvent event =
        new ValueChangedEventImpl(event(sessionId, userId).set("property", key).set("oldValue",
            get(key)).set("newValue", null));
    snapshot.remove(key);
    model.addOrRemoveParent(oldValue, id, false);
    fireEvent(event);
    model.bytesUsed -= oldValue.toJsonString().length();
  }
View Full Code Here

    collaborators.clear();
    handlerRegs.unregister();
  }

  @Override public JsonArray getCollaborators() {
    final JsonArray toRtn = Json.createArray();
    collaborators.forEach(new MapIterator<Collaborator>() {
      @Override
      public void call(String key, Collaborator collaborator) {
        toRtn.push(collaborator);
      }
    });
    return toRtn;
  }
View Full Code Here

  @Override public CollaborativeList createList(JsonArray opt_initialValue) {
    String id = generateObjectId();
    beginCreationCompoundOperation();
    bridge.consumeAndSubmit(new CreateComponent(id, CreateComponent.LIST));
    if (opt_initialValue != null && opt_initialValue.length() > 0) {
      JsonArray values = JsonSerializer.serializeObjects(opt_initialValue);
      JsonInsertComponent op = new JsonInsertComponent(id, 0, values);
      bridge.consumeAndSubmit(op);
    }
    endCompoundOperation();
    return getObject(id);
View Full Code Here

    bridge.consumeAndSubmit(new CreateComponent(id, CreateComponent.MAP));
    if (opt_initialValue != null && opt_initialValue.size() != 0) {
      opt_initialValue.forEach(new JsonObject.MapIterator<Object>() {
        @Override
        public void call(String key, Object value) {
          JsonArray serializedValue = JsonSerializer.serializeObject(value);
          if (serializedValue == null) {
            return;
          }
          JsonMapComponent op = new JsonMapComponent(id, key, null, serializedValue);
          bridge.consumeAndSubmit(op);
View Full Code Here

  public <T extends CollaborativeObject> T getObject(String objectId) {
    return objects.<T> get(objectId);
  }

  public JsonArray getParents(String objectId) {
    JsonArray list = parents.getArray(objectId);
    final JsonArray toRtn = Json.createArray();
    if (list != null) {
      list.forEach(new ListIterator<String>() {
        @Override
        public void call(int index, String parent) {
          if (toRtn.indexOf(parent) == -1) {
            toRtn.push(parent);
          }
        }
      });
    }
    return toRtn;
View Full Code Here

TOP

Related Classes of com.goodow.realtime.json.JsonArray

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.