package eu.betaas.taas.taasresourcesmanager.messaging; import java.sql.Timestamp; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import eu.betaas.rabbitmq.publisher.interfaces.Publisher; import eu.betaas.rabbitmq.publisher.interfaces.utils.Message; import eu.betaas.rabbitmq.publisher.interfaces.utils.Message.Layer; import eu.betaas.rabbitmq.publisher.interfaces.utils.MessageBuilder; public class MessageManager { private static final String DEPENDABILITYKEY = "dependability.taas"; private static final String MONITORINGKEY = "monitoring.taas"; private static MessageManager instance = null; private static Publisher publisher; private static BundleContext context; public void setupService() { ServiceReference serviceReference = context.getServiceReference(Publisher.class.getName()); if (serviceReference==null) return; publisher = (Publisher) context.getService(serviceReference); /* instance = new MessageManager(); instance.init(publisher, context);*/ } public synchronized static MessageManager instance() { if (instance == null) { instance = new MessageManager(); } return instance; } public synchronized void monitoringPublish(String message) { if (publisher != null) { // Generate the message java.util.Date date = new java.util.Date(); Timestamp timestamp = new Timestamp(date.getTime()); Message msg = new Message(); msg.setDescritpion(message); msg.setLayer(Layer.TAAS); msg.setLevel("INFO"); msg.setOrigin("TaaSRM"); msg.setTimestamp(timestamp.getTime()); MessageBuilder msgBuilder = new MessageBuilder(); String json = msgBuilder.getJsonEquivalent(msg); publisher.publish(MONITORINGKEY, json); } } public synchronized void dependabilityPublish(String message) { if (publisher != null) { // Generate the message java.util.Date date = new java.util.Date(); Timestamp timestamp = new Timestamp(date.getTime()); Message msg = new Message(); msg.setDescritpion(message); msg.setLayer(Layer.TAAS); msg.setLevel("INFO"); msg.setOrigin("TaaSRM"); msg.setTimestamp(timestamp.getTime()); MessageBuilder msgBuilder = new MessageBuilder(); String json = msgBuilder.getJsonEquivalent(msg); publisher.publish(DEPENDABILITYKEY, json); } } public void setContext(BundleContext context) { this.context = context; } }