@Override public String marshal(final Object message) throws MessageNotWritableException { return writeInternalAndReturnString(message); }
@Override public Object unmarshal(final String body, final Class<?> clazz) throws MessageNotWritableException { return readInternal(clazz, body); } }
private String[] buildMembersValues(final List<? extends EventMessage> pendingEvents) { final String[] members = new String[pendingEvents.size()]; int i = 0; for (final EventMessage eventMessage : pendingEvents) { members[i] = converter.marshal(eventMessage); i++; } return members; } }
public void onMessage(final Message message, final byte[] pattern) { final String info = getInfo(message); final String channel = getChannel(message); LOGGER.debug("{} --> Received message on channel {}", name, channel); LOGGER.debug("{} --> Message content {}", name, info); try { // The received message corresponds to a JSON representation of an object of type // EventMessage. final EventMessage eventMessage = (EventMessage) eventConverter.unmarshal(info, EventMessage.class); doWithMessage(eventMessage); } catch (final MessageNotWritableException mnwe) { LOGGER.error("Error unmarshalling message: {}. ", info, mnwe); } }
protected String writeInternalAndReturnString(final Object o) throws MessageNotWritableException { final ByteArrayOutputStream out = writeInternal(o); return out.toString(); }
public String marshal(final Object obj) throws MessageNotWritableException { final DataInputMessage message = (DataInputMessage) obj; if (message.getSensorObservations() != null) { return super.marshal(message.getSensorObservations()); } else if (message.getProviderObservations() != null) { return super.marshal(message.getProviderObservations()); } else { return null; } }
protected Object readInternal(final Class<?> clazz, final SentiloRequest request) throws JsonConverterException { try { return super.readInternal(clazz, request.getBody()); } catch (final Exception ex) { throw buildUnmarshallJsonException(clazz, ex); } }
public void deleteResources(final PlatformAdminInputMessage message) { final RequestContext rc = new RequestContext("admin/delete", parser.marshal(message)); restClient.put(rc); }
@Override public PlatformStatsMessage getCurrentPlatformStats() { final RequestContext rc = new RequestContext("admin/stats"); final String response = restClient.get(rc); return (PlatformStatsMessage) parser.unmarshal(response, PlatformStatsMessage.class); }
protected void writeInternal(final Object obj, final SentiloResponse response) throws JsonConverterException { try { final ByteArrayOutputStream out = super.writeInternal(obj); response.setBody(out, DEFAULT_CONTENT_TYPE); } catch (final MessageNotWritableException ex) { throw buildMarshalJsonException(obj, ex); } }
public void saveResources(final PlatformAdminInputMessage message) { final RequestContext rc = new RequestContext("admin/save", parser.marshal(message)); restClient.post(rc); }
@Override public PlatformMetricsMessage getPlatformActivity() { final RequestContext rc = new RequestContext("admin/activity"); final String response = restClient.get(rc); return (PlatformMetricsMessage) parser.unmarshal(response, PlatformMetricsMessage.class); }
@Test public void marshallMessageWithoutBody() throws MessageNotWritableException { final DataInputMessage message = new DataInputMessage(PROVIDER_ID, SENSOR_ID, OBSERVATION); final String json = converter.marshal(message); assertNull(json); }
@Override public PlatformMetricsMessage getPlatformPerformance() { final RequestContext rc = new RequestContext("admin/performance"); final String response = restClient.get(rc); return (PlatformMetricsMessage) parser.unmarshal(response, PlatformMetricsMessage.class); }
@Test public void marshallDeleteCatalogEntityAlertInputMessage() { final CatalogAlertInputMessage message = new CatalogAlertInputMessage(ENTITY_ID); final String json = converter.marshal(message); assertEquals("{}", json); }
public PermissionsMessage getPermissions() { try { final RequestContext rc = new RequestContext(buildApiPath(SentiloConstants.PERMISSIONS_TOKEN)); final String response = restClient.get(rc); return (PermissionsMessage) converter.unmarshal(response, PermissionsMessage.class); } catch (final NestedRuntimeException rce) { throw translateException(rce); } }
@Test public void marshallAlarmInputMessage() throws MessageNotWritableException { final AlarmInputMessage message = new AlarmInputMessage(ALERT_ID, ALARM_MESSAGE); final String json = converter.marshal(message); final String body = "{\"alertId\":\"alert1\",\"message\":\"threshold exceeded\"}"; assertNotNull(json); assertEquals(body, json); }
public EntitiesMetadataMessage getEntitiesMetadata() { try { final RequestContext rc = new RequestContext(buildApiPath(SentiloConstants.METADATA_TOKEN)); final String response = restClient.get(rc); return (EntitiesMetadataMessage) converter.unmarshal(response, EntitiesMetadataMessage.class); } catch (final NestedRuntimeException rce) { throw translateException(rce); } }
@Test public void marshallDeleteCatalogAlertsInputMessage() { final CatalogAlertInputMessage message = new CatalogAlertInputMessage(ENTITY_ID); final String[] alertsIds = {"1", "2"}; message.setAlertsIds(alertsIds); final String json = converter.marshal(message); final String expectedJson = "{\"alertsIds\":[\"1\",\"2\"]}"; assertEquals(expectedJson, json); }
@Test public void marshallCatalogComponentsDeleteInputMessage() { final CatalogDeleteInputMessage message = new CatalogDeleteInputMessage(PROVIDER_ID); final String[] components = {"1", "2"}; message.setComponents(components); final String json = converter.marshal(message); final String expectedJson = "{\"components\":[\"1\",\"2\"]}"; assertEquals(expectedJson, json); }