/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package Network.Notification; import Notification.CNotificationManager; import java.io.Writer; import java.net.Socket; import java.nio.channels.Channels; import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.HashMap; import java.util.Observable; import java.util.Observer; /** * * @author Bryden */ public class CNotificationHandler implements Observer { @Override public void update(Observable o, Object arg) { Socket objSocket = (Socket) arg; StringBuilder objSB = new StringBuilder(); HashMap<String, Date> hmNotifications = CNotificationManager.getNotifications(); objSB.append("["); for (String strKey : hmNotifications.keySet()) { objSB.append("{"); objSB.append("\"Event\" : \""); objSB.append(strKey); objSB.append("\","); objSB.append("\"DateTime\" : \""); objSB.append(hmNotifications.get(strKey)); objSB.append("\"},"); } objSB.deleteCharAt(objSB.lastIndexOf(",")); objSB.append("]"); try (Writer objWriter = Channels.newWriter(Channels.newChannel(objSocket.getOutputStream()), StandardCharsets.US_ASCII.name())) { objWriter.write(objSB.toString()); } catch (Exception ex) { System.out.println(ex); } } }