ReleasePackageJsonToObject extends AbstractJsonToObject<ReleasePackage> { @Override public ReleasePackage toObject() throws IOException { if (releasePackage == null) { releasePackage = this.mapper.readValue(this.jsonObject, ReleasePackage.class); } return releasePackage; } ReleasePackageJsonToObject(final String jsonObject);  ReleasePackageJsonToObject(final InputStream inputStream);  ReleasePackageJsonToObject(final File file); @Override ReleasePackage toObject();  }
@Test public void toObject() throws Exception { final String jsonReleasePackage = "{\n" + " \"uri\": " + "\"http: + " \"publishedDate\": \"2009-03-15T14:45:00Z\",\n" + " \"publisher\": {\n" + " \"scheme\": \"GB-COH\",\n" + " \"uid\": \"09506232\",\n" + " \"name\": \"Open Data Services Co-operative Limited\",\n" + " \"uri\": \"http: + " },\n" + " \"license\": \"http: + " \"publicationPolicy\": \"https: + " \"releases\":[{\n" + " \"id\": \"123\",\n" + " \"tag\": [\"tender\"],\n" + " \"planning\": {\n" + " \"budget\": {\n" + " \"description\": \"budget desc...\",\n" + " \"amount\": {\n" + " \"amount\": 10000,\n" + " \"currency\": \"USD\"\n" + " }\n" + " }\n" + " }\n" + " }]\n" + "}"; final JsonToObject releasePackageJsonToObject = new ReleasePackageJsonToObject(jsonReleasePackage); Assert.assertTrue("Object is a ReleasePackage", releasePackageJsonToObject.toObject() instanceof ReleasePackage); final ReleasePackage releasePackage = (ReleasePackage) releasePackageJsonToObject.toObject(); Assert.assertEquals("Publisher uid are the same", "09506232", releasePackage.getPublisher().getUid()); Assert.assertEquals("Check published date", new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:sszzzz").parse("2009-03-15T14:45:00-0000"), releasePackage.getPublishedDate()); Assert.assertFalse("Release array is not empty", releasePackage.getReleases().isEmpty()); final Release release = releasePackage.getReleases().iterator().next(); Assert.assertEquals("Check budget amount", new BigDecimal(10000), release.getPlanning().getBudget().getAmount().getAmount()); Assert.assertEquals("Check budget currency", Amount.Currency.USD, release.getPlanning().getBudget().getAmount().getCurrency()); }