package events; import java.net.URI; import java.net.URISyntaxException; import java.net.UnknownHostException; import java.util.logging.Level; import java.util.logging.Logger; import events.collect.EventCollectorThread; import events.collect.MessageHandler; import events.collect.SocketClientEndpoint; import events.collect.WebsocketClientEndpoint; import events.persist.EventPersister; import events.util.Constants; /* * EventCollector Class that listens to websocket for attack events * and perists them using the EventPersister Object */ public class EventCollector { private static final Logger logger = Logger.getLogger( EventCollector.class.getName() ); public static void main(String[] args) { try { final EventPersister persister = PersistenceUnit.getInstance(); MessageHandler defaultHandler = new MessageHandler() { public void handleMessage(String message) { logger.log(Level.INFO, "Received:" + message); persister.persist(message, Constants.DB_NAME, Constants.NORSE_DB_COLLECTION_NAME); } }; SocketClientEndpoint endpoint = new WebsocketClientEndpoint( new URI(Constants.NORSE_WEBSOCKET_URL)); endpoint.addMessageHandler(defaultHandler); EventCollectorThread norseCollector = new EventCollectorThread(endpoint); norseCollector.run(); } catch (UnknownHostException ex) { logger.log(Level.SEVERE, "EventCollector failed with UnknownHostException: ", ex); } catch (URISyntaxException e) { logger.log(Level.SEVERE, "EventCollector failed with URISyntaxException: ", e); } } }