package vlove.virt.agent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import vlove.VirtException; import vlove.virt.VirtManager; import com.ning.http.client.websocket.WebSocket; public class AgentWebSocketMessageHandler { private static final Logger log = LoggerFactory.getLogger(AgentWebSocketMessageHandler.class); private final VirtManager vm = new VirtManager(); private WebSocket webSocket; public AgentWebSocketMessageHandler() { vm.init(); vm.connect(); } public void setWebSocket(WebSocket webSocket) { this.webSocket = webSocket; } public void onMessage(String message) { log.debug("Firing message handler."); if (webSocket == null || !webSocket.isOpen()) { throw new RuntimeException("WebSocket connection not open."); } try { if (message.contains("Send your connection")) { webSocket.sendTextMessage("server data: " + vm.getCapabilities().toString()); } } catch (VirtException ve) { log.error("Could not retrieve information from libvirt.", ve); webSocket.sendTextMessage("errrrrrror."); } } }