Search in sources :

Example 6 with Event

use of org.osgi.service.event.Event in project karaf by apache.

the class EventCollectorTest method testAddRemoveConsumer.

@Test
public void testAddRemoveConsumer() {
    final AtomicInteger count = new AtomicInteger();
    Consumer<Event> countingConsumer = event -> count.incrementAndGet();
    EventCollector collector = new EventCollector();
    collector.handleEvent(event("myTopic"));
    collector.addConsumer(countingConsumer);
    assertThat(count.get(), equalTo(1));
    collector.handleEvent(event("another"));
    assertThat(count.get(), equalTo(2));
    collector.removeConsumer(countingConsumer);
    collector.handleEvent(event("and/another"));
    assertThat(count.get(), equalTo(2));
}
Also used : Assert.assertThat(org.junit.Assert.assertThat) Consumer(java.util.function.Consumer) IntStream(java.util.stream.IntStream) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) Assert.assertTrue(org.junit.Assert.assertTrue) HashMap(java.util.HashMap) Test(org.junit.Test) Event(org.osgi.service.event.Event) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Event(org.osgi.service.event.Event) Test(org.junit.Test)

Example 7 with Event

use of org.osgi.service.event.Event in project karaf by apache.

the class EventPrinterTest method event.

private Event event() {
    HashMap<String, Object> props = new HashMap<>();
    props.put("a", "b");
    props.put("c", new String[] { "d", "e" });
    Date date;
    try {
        date = df.parse("2016-01-01 12:00:00");
    } catch (ParseException e) {
        throw new RuntimeException(e);
    }
    props.put("timestamp", date.getTime());
    return new Event("myTopic", props);
}
Also used : HashMap(java.util.HashMap) Event(org.osgi.service.event.Event) ParseException(java.text.ParseException) Date(java.util.Date)

Example 8 with Event

use of org.osgi.service.event.Event in project karaf by apache.

the class EventAdminListener method featureEvent.

public void featureEvent(FeatureEvent event) {
    try {
        EventAdmin eventAdmin = tracker.getService();
        if (eventAdmin == null) {
            return;
        }
        Dictionary<String, Object> props = new Hashtable<>();
        props.put(EventConstants.TYPE, event.getType());
        props.put(EventConstants.EVENT, event);
        props.put(EventConstants.TIMESTAMP, System.currentTimeMillis());
        props.put(EventConstants.FEATURE_NAME, event.getFeature().getName());
        props.put(EventConstants.FEATURE_VERSION, event.getFeature().getVersion());
        String topic;
        switch(event.getType()) {
            case FeatureInstalled:
                topic = EventConstants.TOPIC_FEATURES_INSTALLED;
                break;
            case FeatureUninstalled:
                topic = EventConstants.TOPIC_FEATURES_UNINSTALLED;
                break;
            default:
                throw new IllegalStateException("Unknown features event type: " + event.getType());
        }
        eventAdmin.postEvent(new Event(topic, props));
    } catch (IllegalStateException e) {
        LOGGER.warn("Unable to post event to EventAdmin", e);
    }
}
Also used : EventAdmin(org.osgi.service.event.EventAdmin) Hashtable(java.util.Hashtable) Event(org.osgi.service.event.Event) FeatureEvent(org.apache.karaf.features.FeatureEvent) RepositoryEvent(org.apache.karaf.features.RepositoryEvent)

Example 9 with Event

use of org.osgi.service.event.Event in project sling by apache.

the class SlingAuthenticator method postLoginEvent.

private void postLoginEvent(final AuthenticationInfo authInfo) {
    final Dictionary<String, Object> properties = new Hashtable<String, Object>();
    properties.put(SlingConstants.PROPERTY_USERID, authInfo.getUser());
    properties.put(AuthenticationInfo.AUTH_TYPE, authInfo.getAuthType());
    EventAdmin localEA = this.eventAdmin;
    if (localEA != null) {
        localEA.postEvent(new Event(AuthConstants.TOPIC_LOGIN, properties));
    }
}
Also used : EventAdmin(org.osgi.service.event.EventAdmin) Hashtable(java.util.Hashtable) ServletRequestEvent(javax.servlet.ServletRequestEvent) Event(org.osgi.service.event.Event)

Example 10 with Event

use of org.osgi.service.event.Event in project sling by apache.

the class ITConfigFragments method testConfigProviderWithListener.

@Test
public void testConfigProviderWithListener() throws Exception {
    FileConfigProvider fcp = new FileConfigProvider();
    fcp.fileName = "test-reset-config-1.xml";
    bundleContext.registerService(ConfigProvider.class.getName(), fcp, null);
    delay();
    ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("foo.reset.1");
    assertTrue(logger.isDebugEnabled());
    assertNotNull(logger.getAppender("FOO-RESET-FILE-1"));
    fcp.fileName = "test-reset-config-2.xml";
    eventAdmin.sendEvent(new Event(RESET_EVENT_TOPIC, (Dictionary) null));
    delay();
    assertFalse(logger.isDebugEnabled());
    assertTrue(logger.isInfoEnabled());
    assertNotNull(logger.getAppender("FOO-RESET-FILE-2"));
}
Also used : Dictionary(java.util.Dictionary) ConfigProvider(org.apache.sling.commons.log.logback.ConfigProvider) Event(org.osgi.service.event.Event) Test(org.junit.Test)

Aggregations

Event (org.osgi.service.event.Event)142 Test (org.junit.Test)79 HashMap (java.util.HashMap)48 Hashtable (java.util.Hashtable)44 MetacardImpl (ddf.catalog.data.impl.MetacardImpl)23 ContentTypePredicate (ddf.catalog.pubsub.predicate.ContentTypePredicate)20 EventAdmin (org.osgi.service.event.EventAdmin)19 GeospatialPredicate (ddf.catalog.pubsub.predicate.GeospatialPredicate)18 Predicate (ddf.catalog.pubsub.predicate.Predicate)16 ArrayList (java.util.ArrayList)16 ActivityEvent (org.codice.ddf.activities.ActivityEvent)13 EventHandler (org.osgi.service.event.EventHandler)13 SubscriptionFilterVisitor (ddf.catalog.pubsub.internal.SubscriptionFilterVisitor)11 Date (java.util.Date)11 Job (org.apache.sling.event.jobs.Job)9 Map (java.util.Map)8 List (java.util.List)7 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)7 JobManager (org.apache.sling.event.jobs.JobManager)7 JobConsumer (org.apache.sling.event.jobs.consumer.JobConsumer)7