Author: ivol37 at gmail.com
Date: Fri Dec 10 13:44:16 2010
New Revision: 486

Log:
[AMDATU-225] Implemented a quick fix such that the FS UserAdmin bundle can be 
used in integration tests

Modified:
   
trunk/amdatu-cassandra/cassandra-useradminstore/src/main/java/org/amdatu/cassandra/useradminstore/osgi/Activator.java
   
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/internal/FSGroup.java
   
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/osgi/FSUserAdminStorageProviderActivator.java
   
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/service/FSUserAdminStorageProvider.java

Modified: 
trunk/amdatu-cassandra/cassandra-useradminstore/src/main/java/org/amdatu/cassandra/useradminstore/osgi/Activator.java
==============================================================================
--- 
trunk/amdatu-cassandra/cassandra-useradminstore/src/main/java/org/amdatu/cassandra/useradminstore/osgi/Activator.java
       (original)
+++ 
trunk/amdatu-cassandra/cassandra-useradminstore/src/main/java/org/amdatu/cassandra/useradminstore/osgi/Activator.java
       Fri Dec 10 13:44:16 2010
@@ -66,6 +66,7 @@
         // Create and register the CassandraStorageProvider service.
         Hashtable<String, String> properties = new Hashtable<String, String>();
         properties.put(UserAdminConstants.STORAGEPROVIDER_TYPE, "Cassandra");
+        properties.put("service.ranking", "10");
         manager.add(createComponent()
                 .setInterface(new String[]{StorageProvider.class.getName()}, 
properties)
                 .setImplementation(CassandraStorageProvider.class)

Modified: 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/internal/FSGroup.java
==============================================================================
--- 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/internal/FSGroup.java
   (original)
+++ 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/internal/FSGroup.java
   Fri Dec 10 13:44:16 2010
@@ -33,18 +33,22 @@
         super(group);
         m_type = Role.GROUP;
         Role[] members = group.getMembers();
-        if (members != null && members.length > 0 && m_members == null) {
+        if (m_members == null) {
             m_members = new HashMap<String, Role>();
         }
-        for (Role member : members) {
-            m_members.put(member.getName(), member);
+        if (members != null) {
+            for (Role member : members) {
+                m_members.put(member.getName(), member);
+            }
         }
         Role[] requiredMembers = group.getRequiredMembers();
-        if (requiredMembers != null && requiredMembers.length > 0 && 
m_requiredMembers == null) {
+        if (m_requiredMembers == null) {
             m_requiredMembers = new HashMap<String, Role>();
         }
-        for (Role member : requiredMembers) {
-            m_requiredMembers.put(member.getName(), member);
+        if (requiredMembers != null) {
+            for (Role member : requiredMembers) {
+                m_requiredMembers.put(member.getName(), member);
+            }
         }
     }
 

Modified: 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/osgi/FSUserAdminStorageProviderActivator.java
==============================================================================
--- 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/osgi/FSUserAdminStorageProviderActivator.java
   (original)
+++ 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/osgi/FSUserAdminStorageProviderActivator.java
   Fri Dec 10 13:44:16 2010
@@ -17,9 +17,13 @@
  */
 package org.amdatu.core.useradminstore.fs.osgi;
 
+import java.util.Dictionary;
+import java.util.Hashtable;
+
 import org.amdatu.core.useradminstore.fs.service.FSUserAdminStorageProvider;
 import org.apache.felix.dm.DependencyActivatorBase;
 import org.apache.felix.dm.DependencyManager;
+import org.ops4j.pax.useradmin.service.UserAdminConstants;
 import org.ops4j.pax.useradmin.service.spi.StorageProvider;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.log.LogService;
@@ -32,11 +36,13 @@
 
     @Override
     public void init(BundleContext context, DependencyManager manager) throws 
Exception {
-
+        Dictionary<String, String> properties = new Hashtable<String, 
String>();
+        properties.put(UserAdminConstants.STORAGEPROVIDER_TYPE, "FS");
+        properties.put("service.ranking", "0");
         manager.add(
                 createComponent()
                     .setImplementation(new FSUserAdminStorageProvider())
-                    .setInterface(StorageProvider.class.getName(), null)
+                    .setInterface(StorageProvider.class.getName(), properties)
                     
.add(createConfigurationDependency().setPid(FSUserAdminStorageProvider.CONFIGURATION_PID))
                     
.add(createServiceDependency().setService(LogService.class).setRequired(false)));
     }

Modified: 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/service/FSUserAdminStorageProvider.java
==============================================================================
--- 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/service/FSUserAdminStorageProvider.java
 (original)
+++ 
trunk/amdatu-core/useradminstore-fs/src/main/java/org/amdatu/core/useradminstore/fs/service/FSUserAdminStorageProvider.java
 Fri Dec 10 13:44:16 2010
@@ -251,7 +251,7 @@
             }
             return members;
         }
-        return null;
+        return new HashSet<Role>();
     }
 
     public synchronized Collection<Role> getRequiredMembers(final 
UserAdminFactory userAdminFactory, final Group group)

Reply via email to