Exemplo n.º 1
0
  public Json makeTyped(Object anything) {
    boolean isarray = anything.getClass().isArray();
    Class<?> type = isarray ? anything.getClass().getComponentType() : anything.getClass();
    JsonConverter converter = converterMap.get(type.getName());
    String typeName = shortNameMap.getY(type.getName());
    if (typeName == null) typeName = type.getName();
    if (isarray) {
      Json result = Json.array();
      Object[] A = (Object[]) anything;
      for (Object x : A) {
        if (x == null) result.add(Json.nil());
        else result.add(converter != null ? converter.to(x) : make(x));
      }
      return Json.object().set("javaArrayType", typeName).set("array", result);
    } else if (type.isEnum())
      return Json.object().set("java.lang.Enum", type.getName()).set("value", anything.toString());

    for (Class<?> abstractConv : converterFromAbstractMap.keySet())
      if (abstractConv.isAssignableFrom(type))
        return converterFromAbstractMap.get(abstractConv).to(anything);
    Json value = null;
    if (converter != null) value = converter.to(anything);
    else if (Collection.class.isAssignableFrom(type) || Map.class.isAssignableFrom(type))
      value = beanConverter.to(anything);
    else
      try {
        value = f.make(anything);
      } catch (Throwable t) {
        value = beanConverter.to(anything);
      }
    return Json.object().set("javaType", typeName).set("value", value);
  }
Exemplo n.º 2
0
  public void testUserFromJsonMissing() throws Exception {
    User test = JsonConverter.userFromJson(jsonMissing1);
    assertTrue(test == null);

    test = JsonConverter.userFromJson(jsonMissing2);
    assertTrue(test == null);
  }
Exemplo n.º 3
0
  public String toJson() {
    String result = null;

    JsonConverter js = new JsonConverter();
    try {
      result = js.getObjectJson(this);
    } catch (Exception e) {
      e.printStackTrace();
    }

    return result;
  }
Exemplo n.º 4
0
 public void testMessageFromJsonMissing() throws Exception {
   try {
     Message test = JsonConverter.messageFromJson(jsonMessageMissing);
     fail("Should of erred");
   } catch (Exception e) {
   }
 }
Exemplo n.º 5
0
 public void testRatingFromJsonEmpty() throws Exception {
   try {
     Rating test = JsonConverter.ratingFromJson(jsonRatingEmpty);
     fail("Should of erred");
   } catch (Exception e) {
   }
 }
  @Test
  public void parseDataCorrectly() throws Exception {
    Repository repository =
        converter.readValue(new ResourceReader("repository.json"), Repository.class);

    assertThat(repository).isEqualTo(GITHUB);
  }
Exemplo n.º 7
0
 public void write(ConfigurationMetadata metadata, OutputStream outputStream) throws IOException {
   try {
     JSONObject object = new JSONOrderedObject();
     JsonConverter converter = new JsonConverter();
     object.put("groups", converter.toJsonArray(metadata, ItemType.GROUP));
     object.put("properties", converter.toJsonArray(metadata, ItemType.PROPERTY));
     object.put("hints", converter.toJsonArray(metadata.getHints()));
     outputStream.write(object.toString(2).getBytes(UTF_8));
   } catch (Exception ex) {
     if (ex instanceof IOException) {
       throw (IOException) ex;
     }
     if (ex instanceof RuntimeException) {
       throw (RuntimeException) ex;
     }
     throw new IllegalStateException(ex);
   }
 }
Exemplo n.º 8
0
  public void loadFromJson(final String jsonObject) {
    JsonConverter js = new JsonConverter();
    js.loadString(jsonObject);

    this.documentType = js.getStringNode("documentType");
    this.title = js.getStringNode("title");
    this.description = js.getStringNode("description");
    this.keywords = js.getStringArray("keywords");
    this.publicationDate = js.getDateNode("publicationDate");
  }
Exemplo n.º 9
0
 @SuppressWarnings({"unchecked", "rawtypes"})
 public <T> T value(Json x) {
   if (x == null || x.isNull()) return null;
   else if (x.isPrimitive()) return (T) x.getValue();
   else if (x.isArray())
     // what to do here ... this is some sort of collection??
     return (T) x.getValue();
   else if (x.has("java.lang.Enum")) {
     try {
       return (T)
           Enum.valueOf(
               (Class<Enum>) Class.forName(x.at("java.lang.Enum").asString()),
               x.at("value").asString());
     } catch (Exception t) {
       throw new RuntimeException(t);
     }
   } else if (x.has("javaArrayType")) {
     String fullName = shortNameMap.getX(x.at("javaArrayType").asString());
     if (fullName == null) fullName = x.at("javaArrayType").asString();
     try {
       Class<?> cl = Class.forName(fullName);
       JsonConverter converter = converterMap.get(fullName);
       Object A = Array.newInstance(cl, x.at("array").asJsonList().size());
       for (int i = 0; i < x.at("array").asJsonList().size(); i++) {
         Json j = x.at("array").at(i);
         Array.set(A, i, j.isNull() ? null : converter != null ? converter.from(j) : value(j));
       }
       return (T) A;
     } catch (Exception ex) {
       throw new RuntimeException(ex);
     }
   } else if (x.has("javaType")) {
     String fullName = shortNameMap.getX(x.at("javaType").asString());
     if (fullName == null) fullName = x.at("javaType").asString();
     JsonConverter converter = converterMap.get(fullName);
     if (converter != null)
       return (T) converter.from(converter instanceof BeanJsonConverter ? x : x.at("value"));
     else return (T) beanConverter.from(x); // .at("value"));
   } else return (T) x.getValue();
 }
Exemplo n.º 10
0
 public void testUserFromJsonEmpty() throws Exception {
   User test = JsonConverter.userFromJson(jsonEmpty);
   assertTrue(test.toString().equals("KeaneKK403"));
   assertTrue(test.getFirstName().equals(""));
   assertTrue(test.getUsername().equals("KeaneKK"));
   assertTrue(test.getId() == 403);
   assertTrue(test.getLastName().equals(""));
   assertTrue(test.getCity().equals(""));
   assertTrue(test.getCountry().equals(""));
   assertTrue(test.getSchool().equals(""));
   assertTrue(test.getCourses().equals(""));
   assertTrue(test.getGeneralDescription().equals(""));
   assertTrue(test.getHelpDescription().equals(""));
 }
Exemplo n.º 11
0
 public void testUserFromJsonFull() throws Exception {
   User test = JsonConverter.userFromJson(jsonFull);
   assertTrue(test.toString().equals("KeaneK402"));
   assertTrue(test.getFirstName().equals("Keane"));
   assertTrue(test.getUsername().equals("KeaneK"));
   assertTrue(test.getId() == 402);
   assertTrue(test.getLastName().equals("Kraus"));
   assertTrue(test.getCity().equals("Winnipeg"));
   assertTrue(test.getCountry().equals("Canada"));
   assertTrue(test.getSchool().equals("UofM"));
   assertTrue(test.getCourses().equals("COMP4350"));
   assertTrue(test.getGeneralDescription().equals("Gamer"));
   assertTrue(test.getHelpDescription().equals("Help"));
 }
Exemplo n.º 12
0
 public void testRatingFromJsonFull() throws Exception {
   Rating test = JsonConverter.ratingFromJson(jsonRatingFull);
   assertEquals(test.getScore(), 5);
   assertEquals(test.getComment(), "star");
 }
Exemplo n.º 13
0
 public void testMessageFromJsonFull() throws Exception {
   Message test = JsonConverter.messageFromJson(jsonMessageFull);
   assertEquals(test.getMessage(), "Hi");
   assertEquals(test.getSender(), 205);
 }
Exemplo n.º 14
0
 public void testRatingFromJsonMissing() throws Exception {
   Rating test = JsonConverter.ratingFromJson(jsonRatingMissing);
   assertEquals(test.getScore(), 3);
   assertEquals(test.getComment(), "");
 }