001package de.deepamehta.plugins.websockets.example; 002 003import de.deepamehta.plugins.websockets.WebSocketsService; 004import de.deepamehta.plugins.websockets.event.WebsocketTextMessageListener; 005 006import de.deepamehta.core.Topic; 007import de.deepamehta.core.model.TopicModel; 008import de.deepamehta.core.osgi.PluginActivator; 009import de.deepamehta.core.service.Inject; 010import de.deepamehta.core.service.event.PostUpdateTopicListener; 011 012import java.util.logging.Logger; 013 014 015 016public class WebSocketsExamplePlugin extends PluginActivator implements PostUpdateTopicListener, 017 WebsocketTextMessageListener { 018 019 // ---------------------------------------------------------------------------------------------- Instance Variables 020 021 @Inject 022 private WebSocketsService webSocketsService; 023 024 private Logger logger = Logger.getLogger(getClass().getName()); 025 026 // -------------------------------------------------------------------------------------------------- Public Methods 027 028 // *** Listener Implementations *** 029 030 @Override 031 public void postUpdateTopic(Topic topic, TopicModel newModel, TopicModel oldModel) { 032 webSocketsService.broadcast(getUri(), topic.toJSON().toString()); 033 } 034 035 @Override 036 public void websocketTextMessage(String message) { 037 logger.info("### Receiving message from WebSocket client: \"" + message + "\""); 038 } 039}