use of org.osgi.service.event.Event in project jetty.project by eclipse.
the class EventSender method send.
public void send(String topic, Bundle wab, String contextPath, Exception ex) {
EventAdmin service = (EventAdmin) _serviceTracker.getService();
if (service != null) {
Dictionary<String, Object> props = new Hashtable<String, Object>();
props.put("bundle.symbolicName", wab.getSymbolicName());
props.put("bundle.id", wab.getBundleId());
props.put("bundle", wab);
props.put("bundle.version", wab.getVersion());
props.put("context.path", contextPath);
props.put("timestamp", System.currentTimeMillis());
props.put("extender.bundle", _myBundle);
props.put("extender.bundle.symbolicName", _myBundle.getSymbolicName());
props.put("extender.bundle.id", _myBundle.getBundleId());
props.put("extender.bundle.version", _myBundle.getVersion());
if (FAILED_EVENT.equalsIgnoreCase(topic) && ex != null)
props.put("exception", ex);
service.sendEvent(new Event(topic, props));
}
}
use of org.osgi.service.event.Event in project karaf by apache.
the class EventAdminListener method beforeExecute.
public void beforeExecute(CommandSession session, CharSequence command) {
if (command.toString().trim().length() > 0) {
EventAdmin admin = tracker.getService();
if (admin != null) {
Map<String, Object> props = new HashMap<>();
props.put("command", command.toString());
Event event = new Event("org/apache/karaf/shell/console/EXECUTING", props);
admin.postEvent(event);
}
}
}
use of org.osgi.service.event.Event in project karaf by apache.
the class EventAdminImpl method prepareEvent.
private Event prepareEvent(Event event) {
boolean needTimeStamp = addTimestamp && !event.containsProperty(EventConstants.TIMESTAMP);
boolean needSubject = addSubject && !event.containsProperty(SUBJECT);
Subject subject = null;
if (needSubject) {
subject = Subject.getSubject(AccessController.getContext());
needSubject = (subject != null);
}
if (needTimeStamp || needSubject) {
String[] names = event.getPropertyNames();
HashMap<String, Object> map = new HashMap<>(names.length + 1);
for (String name : names) {
if (!EventConstants.EVENT_TOPIC.equals(name)) {
map.put(name, event.getProperty(name));
}
}
if (needTimeStamp) {
map.put(EventConstants.TIMESTAMP, System.currentTimeMillis());
}
if (needSubject) {
map.put(SUBJECT, subject);
}
event = new Event(event.getTopic(), map);
}
return event;
}
use of org.osgi.service.event.Event in project karaf by apache.
the class EventSendCommandTest method testExecute.
@Test
public void testExecute() throws Exception {
EventSendCommand send = new EventSendCommand();
send.eventAdmin = mock(EventAdmin.class);
Capture<Event> eventCapture = newCapture();
send.eventAdmin.sendEvent(capture(eventCapture));
expectLastCall();
replay(send.eventAdmin);
send.topic = "myTopic";
send.properties = Arrays.asList("a=b");
send.execute();
verify(send.eventAdmin);
Event event = eventCapture.getValue();
assertThat(event.getTopic(), equalTo("myTopic"));
assertThat(event.getProperty("a"), equalTo("b"));
}
use of org.osgi.service.event.Event in project karaf by apache.
the class EventDisplayCommandTest method testExecute.
@Test
public void testExecute() throws Exception {
IMocksControl c = createControl();
EventDisplayCommand display = new EventDisplayCommand();
display.session = c.createMock(Session.class);
expect(display.session.getConsole()).andReturn(System.out);
display.collector = new EventCollector();
display.collector.handleEvent(new Event("myTopic", new HashMap<>()));
c.replay();
display.execute();
c.verify();
}
Aggregations