@Override public void serialize(final AckMessage ackMessage, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeFieldName(AckMessage.MESSSAGE_TYPE_FIELD); jgen.writeString(ackMessage.getMessageType().toString().toLowerCase()); jgen.writeArrayFieldStart(AckMessage.UPDATES_FIELD); for (Ack ack : ackMessage.getAcks()) { jgen.writeStartObject(); jgen.writeFieldName("channelID"); jgen.writeString(ack.getChannelId()); jgen.writeFieldName(AckMessage.VERSION_FIELD); jgen.writeNumber(ack.getVersion()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); } }
@Override public void serialize(final AckMessage ackMessage, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeFieldName(AckMessage.MESSSAGE_TYPE_FIELD); jgen.writeString(ackMessage.getMessageType().toString().toLowerCase()); jgen.writeArrayFieldStart(AckMessage.UPDATES_FIELD); for (Ack ack : ackMessage.getAcks()) { jgen.writeStartObject(); jgen.writeFieldName("channelID"); jgen.writeString(ack.getChannelId()); jgen.writeFieldName(AckMessage.VERSION_FIELD); jgen.writeNumber(ack.getVersion()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); } }
@Override public void serialize(final NotificationMessage notification, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeFieldName(NotificationMessage.MESSSAGE_TYPE_FIELD); jgen.writeString(notification.getMessageType().toString().toLowerCase()); jgen.writeArrayFieldStart(NotificationMessage.UPDATES_FIELD); for (Ack ack : notification.getAcks()) { jgen.writeStartObject(); jgen.writeFieldName(RegisterMessage.CHANNEL_ID_FIELD); jgen.writeString(ack.getChannelId()); jgen.writeFieldName(NotificationMessage.VERSION_FIELD); jgen.writeNumber(ack.getVersion()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); } }
@Override public void serialize(final NotificationMessage notification, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeFieldName(NotificationMessage.MESSSAGE_TYPE_FIELD); jgen.writeString(notification.getMessageType().toString().toLowerCase()); jgen.writeArrayFieldStart(NotificationMessage.UPDATES_FIELD); for (Ack ack : notification.getAcks()) { jgen.writeStartObject(); jgen.writeFieldName(RegisterMessage.CHANNEL_ID_FIELD); jgen.writeString(ack.getChannelId()); jgen.writeFieldName(NotificationMessage.VERSION_FIELD); jgen.writeNumber(ack.getVersion()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); } }
@Override public Notification handleNotification(final String endpointToken, final String body) throws ChannelNotFoundException { final Long version = Long.valueOf(VersionExtractor.extractVersion(body)); final String channelId = store.updateVersion(endpointToken, version); if (channelId == null) { throw new ChannelNotFoundException("Could not find channel for endpoint [" + endpointToken + "]", null); } final Ack ack = new AckImpl(channelId, version); final String uaid = store.saveUnacknowledged(channelId, ack.getVersion()); return new Notification(uaid, ack); }
@Override public Notification handleNotification(final String endpointToken, final String body) throws ChannelNotFoundException { final Long version = Long.valueOf(VersionExtractor.extractVersion(body)); final String channelId = store.updateVersion(endpointToken, version); if (channelId == null) { throw new ChannelNotFoundException("Could not find channel for endpoint [" + endpointToken + "]", null); } final Ack ack = new AckImpl(channelId, version); final String uaid = store.saveUnacknowledged(channelId, ack.getVersion()); return new Notification(uaid, ack); }