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}