use of org.ecabrerar.examples.websockethome.model.Device in project javaee7-firstcup by ecabrerar.
the class DeviceSessionHandler method removeDevice.
public void removeDevice(int id) {
Device device = getDeviceById(id);
if (device != null) {
devices.remove(device);
JsonProvider provider = JsonProvider.provider();
JsonObject removeMessage = provider.createObjectBuilder().add("action", "remove").add("id", id).build();
sendToAllConnectedSessions(removeMessage);
}
}
use of org.ecabrerar.examples.websockethome.model.Device in project javaee7-firstcup by ecabrerar.
the class DeviceSessionHandler method toggleDevice.
public void toggleDevice(int id) {
JsonProvider provider = JsonProvider.provider();
Device device = getDeviceById(id);
if (device != null) {
if ("On".equals(device.getStatus())) {
device.setStatus("Off");
} else {
device.setStatus("On");
}
JsonObject updateDevMessage = provider.createObjectBuilder().add("action", "toggle").add("id", device.getId()).add("status", device.getStatus()).build();
sendToAllConnectedSessions(updateDevMessage);
}
}
use of org.ecabrerar.examples.websockethome.model.Device in project javaee7-firstcup by ecabrerar.
the class DeviceSessionHandler method addSession.
public void addSession(Session session) {
sessions.add(session);
for (Device device : devices) {
JsonObject addMessage = createAddMessage(device);
sendToSession(session, addMessage);
}
}
use of org.ecabrerar.examples.websockethome.model.Device in project javaee7-firstcup by ecabrerar.
the class DeviceWebSocketServer method handleMessage.
@OnMessage
public void handleMessage(String message, Session session) {
try (JsonReader reader = Json.createReader(new StringReader(message))) {
JsonObject jsonMessage = reader.readObject();
if ("add".equals(jsonMessage.getString("action"))) {
Device device = new Device();
device.setName(jsonMessage.getString("name"));
device.setDescription(jsonMessage.getString("description"));
device.setType(jsonMessage.getString("type"));
device.setStatus("Off");
sessionHandler.addDevice(device);
}
if ("remove".equals(jsonMessage.getString("action"))) {
int id = (int) jsonMessage.getInt("id");
sessionHandler.removeDevice(id);
}
if ("toggle".equals(jsonMessage.getString("action"))) {
int id = (int) jsonMessage.getInt("id");
sessionHandler.toggleDevice(id);
}
}
}
Aggregations