package eu.betaas.service.securitymanager.capability.utils; import java.sql.Timestamp; import org.apache.log4j.Logger; 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.MessageBuilder; import eu.betaas.rabbitmq.publisher.interfaces.utils.Message.Layer; public class CapBetaasBus { private static Logger log = Logger.getLogger("betaas.service.securitymanager"); private String key = "monitoring.service.secm"; private BundleContext context; public CapBetaasBus(BundleContext context){ this.context = context; } private void busMessage(String message){ log.debug("Checking queue"); log.debug("Sending to queue"); ServiceReference serviceReference = context.getServiceReference( Publisher.class.getName()); log.debug("Sending to queue"); if (serviceReference==null)return; Publisher service = (Publisher) context.getService(serviceReference); log.debug("Sending"); service.publish(key,message); log.debug("Sent"); } public void sendData(String description, String level, String originator) { java.util.Date date= new java.util.Date(); Timestamp timestamp = new Timestamp(date.getTime()); Message msg = new Message(); msg.setDescritpion(description); msg.setLayer(Layer.SERVICE); msg.setLevel(level); msg.setOrigin(originator); msg.setTimestamp(timestamp.getTime()); MessageBuilder msgBuilder = new MessageBuilder(); String json = msgBuilder.getJsonEquivalent(msg); busMessage(json); } }