Interpret the properties of UserAdmin service reference.
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 22 Sep 2015 10:50:01 +0000 (10:50 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 22 Sep 2015 10:50:01 +0000 (10:50 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8431 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.security.ui.admin/META-INF/spring/common.xml
org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/UserAdminWrapper.java

index 7f55a858cced3ebdf2ebfb2ea737d42439fe9c1b..38d87da4cd98878224db5c910385d294593191a7 100644 (file)
                <property name="userTransaction" ref="userTransaction" />\r
        </bean>\r
 \r
-       <bean id="userAdminWrapper"\r
-               class="org.argeo.security.ui.admin.internal.UserAdminWrapper"\r
+       <bean id="userAdminWrapper" class="org.argeo.security.ui.admin.internal.UserAdminWrapper"\r
                scope="singleton" lazy-init="false">\r
                <property name="userTransaction" ref="userTransaction" />\r
                <property name="userAdmin" ref="userAdmin" />\r
+               <property name="userAdminServiceReference" ref="userAdmin" />\r
        </bean>\r
 \r
        <bean\r
index 794230ff6d8d08f18a72fa140ad83bcc0449ecbe..6b077e08f17913efb7704a12401d78bbf8f03dea 100644 (file)
@@ -1,20 +1,27 @@
 package org.argeo.security.ui.admin.internal;
 
 import java.util.ArrayList;
+import java.util.Dictionary;
 import java.util.List;
 
 import javax.transaction.Status;
 import javax.transaction.UserTransaction;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.argeo.ArgeoException;
+import org.argeo.osgi.useradmin.UserAdminConf;
+import org.osgi.framework.ServiceReference;
 import org.osgi.service.useradmin.UserAdmin;
 import org.osgi.service.useradmin.UserAdminEvent;
 import org.osgi.service.useradmin.UserAdminListener;
 
 /** Simplifies the interaction with the UserAdmin in this bundle */
 public class UserAdminWrapper {
+       private Log log = LogFactory.getLog(UserAdminWrapper.class);
 
        private UserAdmin userAdmin;
+       private ServiceReference<UserAdmin> userAdminServiceReference;
        private UserTransaction userTransaction;
 
        // Registered listeners
@@ -62,6 +69,18 @@ public class UserAdminWrapper {
                this.userAdmin = userAdmin;
        }
 
+       public void setUserAdminServiceReference(
+                       ServiceReference<UserAdmin> userAdminServiceReference) {
+               this.userAdminServiceReference = userAdminServiceReference;
+               for (String uri : userAdminServiceReference.getPropertyKeys()) {
+                       if (!uri.startsWith("/"))
+                               continue;
+                       log.debug(uri);
+                       Dictionary<String, ?> props = UserAdminConf.uriAsProperties(uri);
+                       log.debug(props);
+               }
+       }
+
        public void setUserTransaction(UserTransaction userTransaction) {
                this.userTransaction = userTransaction;
        }