001package var.web.ws.datasensor;
002
003import javax.json.Json;
004import javax.websocket.EncodeException;
005import javax.websocket.Encoder;
006import javax.websocket.EndpointConfig;
007
008public class DataEncoder implements Encoder.Text<Messung> {
009        @Override
010        public void destroy() {
011        }
012
013        @Override
014        public void init(EndpointConfig arg0) {
015        }
016
017        @Override
018        public String encode(Messung messung) throws EncodeException {
019                return Json.createObjectBuilder()
020                                .add("unit", messung.getUnit().toString())
021                                .add("observation", String.format("%.2f", messung.getObservation()))
022                                .add("where",
023                                                Json.createObjectBuilder()
024                                                        .add("lat", messung.getWhere().getLat())
025                                                        .add("lon", messung.getWhere().getLon())
026                                                        .build())
027                                .add("sensor", messung.getSensor().toString())
028                                .add("when", messung.getWhen().getTime())
029                                .build()
030                                .toString();
031        }
032}