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)