You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2016/03/26 09:42:55 UTC
karaf-decanter git commit: KARAF-4453 - Convert eventadmin subject as
a Map
Repository: karaf-decanter
Updated Branches:
refs/heads/master 9afed6c90 -> 58c0ffa77
KARAF-4453 - Convert eventadmin subject as a Map
Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/58c0ffa7
Tree: http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/58c0ffa7
Diff: http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/58c0ffa7
Branch: refs/heads/master
Commit: 58c0ffa77908b215641525839ae2af247f50922e
Parents: 9afed6c
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Sat Mar 26 09:42:20 2016 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Sat Mar 26 09:42:20 2016 +0100
----------------------------------------------------------------------
.../collector/eventadmin/EventCollector.java | 23 +++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/58c0ffa7/collector/eventadmin/src/main/java/org/apache/karaf/decanter/collector/eventadmin/EventCollector.java
----------------------------------------------------------------------
diff --git a/collector/eventadmin/src/main/java/org/apache/karaf/decanter/collector/eventadmin/EventCollector.java b/collector/eventadmin/src/main/java/org/apache/karaf/decanter/collector/eventadmin/EventCollector.java
index 62a4d83..fec06ce 100644
--- a/collector/eventadmin/src/main/java/org/apache/karaf/decanter/collector/eventadmin/EventCollector.java
+++ b/collector/eventadmin/src/main/java/org/apache/karaf/decanter/collector/eventadmin/EventCollector.java
@@ -20,12 +20,12 @@ import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
-import org.osgi.service.event.EventConstants;
import org.osgi.service.event.EventHandler;
+import javax.security.auth.Subject;
import java.net.InetAddress;
-import java.util.HashMap;
-import java.util.Map;
+import java.security.Principal;
+import java.util.*;
@Component(
name = "org.apache.karaf.decanter.collector.eventadmin",
@@ -57,6 +57,10 @@ public class EventCollector implements EventHandler {
} else {
data.put("eventType", "eventadmin");
}
+ } else if (property.equalsIgnoreCase("subject")) {
+ if (event.getProperty(property) != null && (event.getProperty(property) instanceof Subject)) {
+ data.put(property, convertSubject((Subject) event.getProperty(property)));
+ }
} else {
data.put(property, event.getProperty(property));
}
@@ -65,6 +69,19 @@ public class EventCollector implements EventHandler {
eventAdmin.sendEvent(bridge);
}
+ public Map<String, String> convertSubject(Subject subject) {
+ Map<String, String> map = new HashMap<String, String>();
+ Set<Principal> principals = subject.getPrincipals();
+ for (Principal principal : principals) {
+ if (map.get(principal.getClass().getSimpleName()) != null) {
+ map.put(principal.getClass().getSimpleName(), map.get(principal.getClass().getSimpleName()) + "," + principal.getName());
+ } else {
+ map.put(principal.getClass().getSimpleName(), principal.getName());
+ }
+ }
+ return map;
+ }
+
@Reference
public void setEventAdmin(EventAdmin eventAdmin) {
this.eventAdmin = eventAdmin;