Package com.goodow.realtime.json

Examples of com.goodow.realtime.json.JsonArray


  public JsonObject toJson() {
    return model.getRoot().toJson();
  }

  public JsonArray toSnapshot() {
    final JsonArray createComponents = Json.createArray();
    final JsonArray components = Json.createArray();
    model.objects.forEach(new MapIterator<CollaborativeObjectImpl>() {
      @Override
      public void call(String key, CollaborativeObjectImpl object) {
        OperationComponent<?>[] initializeComponents = object.toInitialization();
        boolean isCreateOp = true;
        for (OperationComponent<?> component : initializeComponents) {
          if (isCreateOp) {
            createComponents.push(component.toJson());
            isCreateOp = false;
          } else {
            components.push(component.toJson());
          }
        }
      }
    });
    components.forEach(new ListIterator<JsonElement>() {
      @Override
      public void call(int index, JsonElement component) {
        createComponents.push(component);
      }
    });
View Full Code Here


  public static JsonArray serializeObject(Object obj) {
    if (obj == null) {
      return null;
    }
    JsonArray array = Json.createArray();
    if (obj instanceof String) {
      array.push(VALUE_TYPE).push(obj);
    } else if (obj instanceof CollaborativeObjectImpl) {
      array.push(REFERENCE_TYPE).push(((CollaborativeObject) obj).id());
    } else if (obj instanceof JsonObject) {
      array.push(VALUE_TYPE).push(((JsonObject) obj).copy());
    } else if (obj instanceof JsonArray) {
      array.push(VALUE_TYPE).push(((JsonArray) obj).copy());
    } else if (obj instanceof Number) {
      array.push(VALUE_TYPE).push(((Number) obj).doubleValue());
    } else if (obj instanceof Boolean) {
      array.push(VALUE_TYPE).push(((Boolean) obj).booleanValue());
    } else {
      throw new IllegalArgumentException("Invalid JSON type: " + obj.getClass().getName());
    }
    return array;
  }
View Full Code Here

    }
    return array;
  }

  public static JsonArray serializeObjects(JsonArray values) {
    final JsonArray array = Json.createArray();
    values.forEach(new JsonArray.ListIterator<Object>() {
      @Override
      public void call(int index, Object obj) {
        array.push(serializeObject(obj));
      }
    });
    return array;
  }
View Full Code Here

  }

  @Test
  public void testRegisterReferenceCanBeDeleted() {
    str.append("ab");
    final JsonArray events = Json.createArray();
    IndexReference indexReference = str.registerReference(1, true);
    indexReference.onReferenceShifted(new Handler<ReferenceShiftedEvent>() {
      @Override
      public void handle(ReferenceShiftedEvent event) {
        events.push(event);
      }
    });
    indexReference.onObjectChanged(new Handler<ObjectChangedEvent>() {
      @Override
      public void handle(ObjectChangedEvent event) {
        assertArraySame(events, event.events());
        VertxAssert.assertEquals(3, events.length());
        VertxAssert.assertEquals(1, events.<ReferenceShiftedEvent>get(0).oldIndex());
        VertxAssert.assertEquals(2, events.<ReferenceShiftedEvent>get(0).newIndex());
        VertxAssert.assertEquals(2, events.<ReferenceShiftedEvent>get(1).oldIndex());
        VertxAssert.assertEquals(1, events.<ReferenceShiftedEvent>get(1).newIndex());
        VertxAssert.assertEquals(1, events.<ReferenceShiftedEvent>get(2).oldIndex());
        VertxAssert.assertEquals(-1, events.<ReferenceShiftedEvent>get(2).newIndex());

        VertxAssert.testComplete();
      }
    });
    str.insertString(2, "2"); // "ab2"
View Full Code Here

  }

  @Test
  public void testRegisterReferenceCannotBeDeleted() {
    str.append("ab");
    final JsonArray events = Json.createArray();
    IndexReference indexReference = str.registerReference(1, false);
    indexReference.onReferenceShifted(new Handler<ReferenceShiftedEvent>() {
      @Override
      public void handle(ReferenceShiftedEvent event) {
        events.push(event);
      }
    });
    indexReference.onObjectChanged(new Handler<ObjectChangedEvent>() {
      @Override
      public void handle(ObjectChangedEvent event) {
        assertArraySame(events, event.events());
        VertxAssert.assertEquals(2, events.length());
        VertxAssert.assertEquals(1, events.<ReferenceShiftedEvent>get(0).oldIndex());
        VertxAssert.assertEquals(2, events.<ReferenceShiftedEvent>get(0).newIndex());
        VertxAssert.assertEquals(2, events.<ReferenceShiftedEvent>get(1).oldIndex());
        VertxAssert.assertEquals(1, events.<ReferenceShiftedEvent>get(1).newIndex());

        VertxAssert.testComplete();
      }
    });
    str.insertString(2, "2"); // "ab2"
View Full Code Here

  }

  @Test
  public void testAsArray() {
    list = mod.createList(Json.createArray().push("v1").push(1).push(true).push(null));
    JsonArray array = list.asArray();
    VertxAssert.assertEquals("v1", array.getString(0));
    VertxAssert.assertEquals(1d, array.getNumber(1), 0d);
    VertxAssert.assertEquals(true, array.getBoolean(2));
    VertxAssert.assertNull(array.get(3));

    VertxAssert.testComplete();
  }
View Full Code Here

    VertxAssert.testComplete();
  }

  @Test
  public void testEventHandler() {
    final JsonArray events = Json.createArray();
    map.onValueChanged(new Handler<ValueChangedEvent>() {
      @Override
      public void handle(ValueChangedEvent event) {
        VertxAssert.assertEquals(EventType.VALUE_CHANGED, event.type());
        VertxAssert.assertTrue(event.isLocal());
        events.push(event);
      }
    });
    map.onObjectChanged(new Handler<ObjectChangedEvent>() {
      @Override
      public void handle(ObjectChangedEvent event) {
        CollaborativeStringTest.assertArraySame(events, event.events());
        VertxAssert.assertEquals("a", events.<ValueChangedEvent>get(0).property());
        VertxAssert.assertEquals(null, events.<ValueChangedEvent>get(0).oldValue());
        VertxAssert.assertEquals(3.0, events.<ValueChangedEvent>get(0).newValue());
        VertxAssert.assertEquals("a", events.<ValueChangedEvent>get(1).property());
        VertxAssert.assertEquals(3.0, events.<ValueChangedEvent>get(1).oldValue());
        VertxAssert.assertEquals(Json.createObject().set("a", true).set("b", 1.0), events
            .<ValueChangedEvent>get(1).newValue());
        VertxAssert.assertEquals("a", events.<ValueChangedEvent>get(2).property());
        VertxAssert.assertEquals(Json.createObject().set("a", true).set("b", 1.0), events
            .<ValueChangedEvent>get(2).oldValue());
        VertxAssert.assertEquals(null, events.<ValueChangedEvent>get(2).newValue());

        VertxAssert.assertEquals("x", events.<ValueChangedEvent>get(5).property());
        VertxAssert.assertEquals(null, events.<ValueChangedEvent>get(5).oldValue());
        VertxAssert.assertEquals(true, events.<ValueChangedEvent>get(5).newValue());

        VertxAssert.testComplete();
      }
    });
    map.set("a", 3);
    map.set("a", Json.createObject().set("a", true).set("b", 1.0));
    map.remove("a");

    CollaborativeMap map2 = mod.createMap(null);
    CollaborativeList list = mod.createList(null);
    list.onValuesAdded(new Handler<ValuesAddedEvent>() {
      @Override
      public void handle(ValuesAddedEvent event) {
        events.push(event);
      }
    });
    list.push(map2);
    map.set("c", list);
    map2.onValueChanged(new Handler<ValueChangedEvent>() {
      @Override
      public void handle(ValueChangedEvent event) {
        events.push(event);
      }
    });
    map2.set("x", true);
  }
View Full Code Here

  @Test
  public void testItems() {
    map.set("k1", "v1");
    map.set("k2", "v2");
    JsonArray items = map.items();
    VertxAssert.assertEquals("k1", items.getArray(0).getString(0));
    VertxAssert.assertEquals("v1", items.getArray(0).getString(1));
    VertxAssert.assertEquals("k2", items.getArray(1).getString(0));
    VertxAssert.assertEquals("v2", items.getArray(1).getString(1));

    VertxAssert.testComplete();
  }
View Full Code Here

    VertxAssert.testComplete();
  }

  @Test
  public void testSet() {
    JsonArray v4 = Json.createArray();
    v4.push("abc");
    VertxAssert.assertNull(map.set("k1", "v1"));
    VertxAssert.assertNull(map.set("k2", 4));
    VertxAssert.assertNull(map.set("k3", false));
    VertxAssert.assertNull(map.set("k4", v4));
    VertxAssert.assertNull(map.set("k5", null));
    VertxAssert.assertNull(map.set("k6", null));

    VertxAssert.assertEquals(4, map.size());
    VertxAssert.assertEquals("v1", map.get("k1"));
    VertxAssert.assertEquals(4d, map.<Double> get("k2"), 0d);
    VertxAssert.assertEquals(false, map.get("k3"));
    VertxAssert.assertTrue(v4.toJsonString().equals(map.<JsonArray> get("k4").toJsonString()));

    VertxAssert.assertEquals("v1", map.set("k1", ""));
    VertxAssert.assertEquals(4.0, map.set("k2", null));
    VertxAssert.assertEquals(false, map.set("k3", null));
    VertxAssert.assertEquals(2, map.size());
View Full Code Here

  @Test
  public void testValues() {
    map.set("k1", "v1");
    map.set("k2", "v2");
    JsonArray values = map.values();
    VertxAssert.assertEquals("v1", values.get(0));
    VertxAssert.assertEquals("v2", values.get(1));

    VertxAssert.testComplete();
  }
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.