public ServerStatus serverStatus() { return module.newValueFromSerializedState( ServerStatus.class, "{\"currentStatus\":\"Idle\", \"availableAgents\": 2 }" ); }
public TestResult genericQuery( TestQuery query ) { return module.newValueFromSerializedState( TestResult.class, "{\"xyz\":\"bar\"}" ); } }
public TestResult queryWithValue( TestQuery query ) { return module.newValueFromSerializedState( TestResult.class, "{\"xyz\":\"bar\"}" ); }
@Override @SuppressWarnings( "unchecked" ) public Object map( Composite composite, Type type, String value ) { return PolygeneAPI.FUNCTION_COMPOSITE_INSTANCE_OF.apply( composite ) .module() .instance() .newValueFromSerializedState( (Class<Object>) type, value ); } }
@Override @SuppressWarnings( "unchecked" ) public Object map( Composite composite, Type type, String value ) { return PolygeneAPI.FUNCTION_COMPOSITE_INSTANCE_OF.apply( composite ) .module() .instance() .newValueFromSerializedState( (Class<Object>) type, value ); } }
@Requires( File.class ) public TestResult queryWithRoleRequirement( TestQuery query ) { return module.newValueFromSerializedState( TestResult.class, "{\"xyz\":\"bar\"}" ); }
public BuildResult buildStatus( BuildSpec build ) { String buildNo = build.buildNo().get(); // or lookup by tag return module.newValueFromSerializedState( BuildResult.class, "{ \"buildNo\":\"" + buildNo + "\", \"testsPassed\": 37, \"testsFailed\": 1}" ); }
Some some2 = moduleInstance.newValueFromSerializedState( Some.class, stateString );
Some some2 = moduleInstance.newValueFromSerializedState( Some.class, stateString );
Some some2 = moduleInstance.newValueFromSerializedState( Some.class, stateString );
Some some2 = moduleInstance.newValueFromSerializedState( Some.class, stateString );
@Test public void valueCompositeJsonEquality() { // START SNIPPET: json-serialization try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork() ) { Some valueInstance = buildSomeValue( moduleInstance, uow, "42" ); // Serialize using injected service JsonValue serializedJson = jsonSerialization.toJson( valueInstance ); System.out.println( serializedJson.toString() ); // Deserialize using Module API Some valueFromSerializedState = moduleInstance.newValueFromSerializedState( Some.class, serializedJson.toString() ); assertThat( "Deserialized Value equality", valueInstance, equalTo( valueFromSerializedState ) ); // END SNIPPET: json-serialization // value.toString() JsonValue valueJsonWithoutTypeInfo = jsonSerialization.toJson( Serializer.Options.NO_TYPE_INFO, valueFromSerializedState ); JsonObject valueToStringJson = jsonFactories.readerFactory() .createReader( new StringReader( valueFromSerializedState.toString() ) ) .readObject(); assertThat( "value.toString() JSON equality", valueJsonWithoutTypeInfo, equalTo( valueToStringJson ) ); // START SNIPPET: json-serialization } // END SNIPPET: json-serialization } }
@Test public void valueCompositeXmlEquality() { // START SNIPPET: xml-serialization try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork() ) { Some valueInstance = buildSomeValue( moduleInstance, uow, "42" ); // Serialize using injected service String serializedXml = xmlSerialization.serialize( valueInstance ); System.out.println( serializedXml ); // Deserialize using Module API Some valueFromSerializedState = moduleInstance.newValueFromSerializedState( Some.class, serializedXml ); assertThat( "Deserialized Value equality", valueInstance, equalTo( valueFromSerializedState ) ); // END SNIPPET: xml-serialization // value.toString() // Need to loosely compare because of HashMaps not retaining order String valueXmlWithoutTypeInfo = xmlSerialization.serialize( Serializer.Options.NO_TYPE_INFO, valueFromSerializedState ); assertThat( "value.toString() XML equality", valueFromSerializedState.toString(), isSimilarTo( valueXmlWithoutTypeInfo ) .withNodeMatcher( new DefaultNodeMatcher( ElementSelectors.byNameAndAllAttributes ) ) ); // START SNIPPET: xml-serialization } // END SNIPPET: xml-serialization } }