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); }
public void testUserFromJsonMissing() throws Exception { User test = JsonConverter.userFromJson(jsonMissing1); assertTrue(test == null); test = JsonConverter.userFromJson(jsonMissing2); assertTrue(test == null); }
public String toJson() { String result = null; JsonConverter js = new JsonConverter(); try { result = js.getObjectJson(this); } catch (Exception e) { e.printStackTrace(); } return result; }
public void testMessageFromJsonMissing() throws Exception { try { Message test = JsonConverter.messageFromJson(jsonMessageMissing); fail("Should of erred"); } catch (Exception e) { } }
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); }
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); } }
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"); }
@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(); }
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("")); }
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")); }
public void testRatingFromJsonFull() throws Exception { Rating test = JsonConverter.ratingFromJson(jsonRatingFull); assertEquals(test.getScore(), 5); assertEquals(test.getComment(), "star"); }
public void testMessageFromJsonFull() throws Exception { Message test = JsonConverter.messageFromJson(jsonMessageFull); assertEquals(test.getMessage(), "Hi"); assertEquals(test.getSender(), 205); }
public void testRatingFromJsonMissing() throws Exception { Rating test = JsonConverter.ratingFromJson(jsonRatingMissing); assertEquals(test.getScore(), 3); assertEquals(test.getComment(), ""); }