@Test public void testMetadataInputStream() throws Exception { MetaDataInputStream mis = new MetaDataInputStream( getClass() .getClassLoader() .getResourceAsStream("META-INF/services/org.brutusin.json.spi.JsonCodec"), null, null, Long.MIN_VALUE); TestClass instance = new TestClass(); String json = JsonCodec.getInstance().transform(instance); assertTrue(!json.contains("\"metaDataInputStream\"")); instance.setMetaDataInputStream(mis); json = JsonCodec.getInstance().transform(instance); assertTrue(json.contains("\"metaDataInputStream\":\"#1#")); JsonNode node = JsonCodec.getInstance().toJsonNode(instance); assertEquals(node.get("metaDataInputStream").asStream(), mis); TestClass instance2 = JsonCodec.getInstance().load(node, TestClass.class); assertEquals(instance.getMetaDataInputStream(), instance2.getMetaDataInputStream()); Map<String, InputStream> streams = new HashMap(); streams.put(node.get("metaDataInputStream").asString(), mis); JsonNode node2 = JsonCodec.getInstance().parse(node.toString(), streams); assertEquals(node2.get("metaDataInputStream").asStream(), mis); JsonNode node3 = JsonCodec.getInstance().parse(node.toString(), streams); TestClass instance3 = JsonCodec.getInstance().load(node3, TestClass.class); assertEquals(instance.getInputStream(), instance3.getInputStream()); assertTrue( JsonCodec.getInstance() .getReferencedStreamCount(node, JsonCodec.getInstance().getSchema(TestClass.class)) .equals(1)); }
/** * Returns the licence with the specified licence key. * * @param key Licence key. * * @return The licence with the specified key is returned. * * @throws IllegalArgumentException if there is no licence with the specified key. */ public static Licence get( String key ) { JsonNode licence = database.get( key ); if ( licence == null ) { throw new IllegalArgumentException( _( "error-licence", key ) ); } return new Licence( licence.get( "name" ).getTextValue(), licence.get( "resource" ).getTextValue() ); }