package vs;

import jakarta.json.Json;
import jakarta.websocket.EncodeException;
import jakarta.websocket.Encoder;
import jakarta.websocket.EndpointConfig;

public class DataEncoder implements Encoder.Text<Messung> {
	@Override
	public void destroy() {
	}

	@Override
	public void init(EndpointConfig arg0) {
	}

	@Override
	public String encode(Messung messung) throws EncodeException {
		return Json.createObjectBuilder()
				.add("unit", messung.getUnit().toString())
				.add("observation", String.format("%.2f", messung.getObservation()))
				.add("where",
						Json.createObjectBuilder()
							.add("lat", messung.getWhere().getLat())
							.add("lon", messung.getWhere().getLon())
							.build())
				.add("sensor", messung.getSensor().toString())
				.add("when", messung.getWhen().getTime())
				.build()
				.toString();
	}
}
