Author: ivol37 at gmail.com
Date: Tue Feb  1 09:36:06 2011
New Revision: 735

Log:
[AMDATU-84] Role and Group REST services and login service are now also tenant 
aware

Modified:
   branches/amdatu-dispatcher/amdatu-authorization/login-service/pom.xml
   
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/osgi/Activator.java
   
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/service/LoginServiceImpl.java
   
branches/amdatu-dispatcher/amdatu-authorization/useradmin-rest/src/main/java/org/amdatu/authorization/useradmin/rest/osgi/Activator.java

Modified: branches/amdatu-dispatcher/amdatu-authorization/login-service/pom.xml
==============================================================================
--- branches/amdatu-dispatcher/amdatu-authorization/login-service/pom.xml       
(original)
+++ branches/amdatu-dispatcher/amdatu-authorization/login-service/pom.xml       
Tue Feb  1 09:36:06 2011
@@ -12,14 +12,14 @@
   <packaging>bundle</packaging>
   <name>Amdatu Authorization - Login service</name>
   <description>Provides a service for login and logout 
functionality</description>
-  
-  <dependencies>  
+
+  <dependencies>
     <dependency>
       <groupId>org.amdatu.web</groupId>
       <artifactId>httpcontext</artifactId>
       <scope>provided</scope>
       <type>bundle</type>
-    </dependency>   
+    </dependency>
     <dependency>
       <groupId>org.amdatu.web.rest</groupId>
       <artifactId>jaxrs</artifactId>
@@ -46,6 +46,13 @@
       <version>${platform.version}</version>
       <scope>compile</scope>
     </dependency>
+    <dependency>
+      <groupId>org.amdatu.core</groupId>
+      <artifactId>tenant</artifactId>
+      <version>${platform.version}</version>
+      <scope>provided</scope>
+      <type>bundle</type>
+    </dependency>
   </dependencies>
 
   <build>
@@ -65,6 +72,6 @@
       </plugin>
 
     </plugins>
-    
-  </build> 
+
+  </build>
 </project>

Modified: 
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/osgi/Activator.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/osgi/Activator.java
      (original)
+++ 
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/osgi/Activator.java
      Tue Feb  1 09:36:06 2011
@@ -19,16 +19,18 @@
 import org.amdatu.authentication.tokenprovider.TokenProvider;
 import org.amdatu.authorization.login.service.LoginService;
 import org.amdatu.authorization.login.service.service.LoginServiceImpl;
+import org.amdatu.core.tenant.Tenant;
 import org.amdatu.libraries.utilities.osgi.ServiceDependentActivator;
 import org.amdatu.web.httpcontext.HttpContextServiceFactory;
 import org.amdatu.web.rest.jaxrs.JaxRsSpi;
 import org.apache.felix.dm.DependencyManager;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
 import org.osgi.service.log.LogService;
 import org.osgi.service.useradmin.UserAdmin;
 
 /**
- * This is the activator for the authorization bundle
+ * This is the activator for the login service bundle
  * @author ivol
  */
 public class Activator extends ServiceDependentActivator {
@@ -43,21 +45,22 @@
 
     @Override
     public void initWithDependencies(BundleContext context, DependencyManager 
manager) throws Exception {
+       // The login service is tenant aware. This filter ensures that these 
tenant aware services
+       // only adapt UserAdmin services which are also tenant aware.
+       String filter = "(&(" + Tenant.SERVICE_PREFIX + "id=*)(" + 
Constants.OBJECTCLASS
+        + "=" + UserAdmin.class.getName() + "))";
+       
         // Create and register the authorization service.
-        manager.add(
-                createComponent()
+        manager.add(createAdapterService(UserAdmin.class, filter)
                 .setInterface(LoginService.class.getName(), null)
                 .setImplementation(LoginServiceImpl.class)
                 
.add(createServiceDependency().setService(HttpContextServiceFactory.class).setRequired(true))
                 
.add(createServiceDependency().setService(TokenProvider.class).setRequired(true))
                 
.add(createServiceDependency().setService(LogService.class).setRequired(true))
-                
.add(createServiceDependency().setService(UserAdmin.class).setRequired(true)));
-        
-        
+                
.add(createServiceDependency().setService(UserAdmin.class).setRequired(true))); 
       
     }
 
     @Override
     public void destroy(BundleContext bundleContext, DependencyManager 
dependencyManager) throws Exception {
     }
-    
 }

Modified: 
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/service/LoginServiceImpl.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/service/LoginServiceImpl.java
    (original)
+++ 
branches/amdatu-dispatcher/amdatu-authorization/login-service/src/main/java/org/amdatu/authorization/login/service/service/LoginServiceImpl.java
    Tue Feb  1 09:36:06 2011
@@ -95,7 +95,7 @@
 
     @SuppressWarnings("unchecked")
     public void start() {
-        // If we don't have a user named 'Administrator', we create one now.
+        // If we don't have a user named 'Administrator' for this tenant, we 
create one now.
         if (m_userAdmin.getRole(DEFAULT_USERNAME) == null) {
             User adminUser = (User) m_userAdmin.createRole(DEFAULT_USERNAME, 
Role.USER);
             if (adminUser != null) {

Modified: 
branches/amdatu-dispatcher/amdatu-authorization/useradmin-rest/src/main/java/org/amdatu/authorization/useradmin/rest/osgi/Activator.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-authorization/useradmin-rest/src/main/java/org/amdatu/authorization/useradmin/rest/osgi/Activator.java
    (original)
+++ 
branches/amdatu-dispatcher/amdatu-authorization/useradmin-rest/src/main/java/org/amdatu/authorization/useradmin/rest/osgi/Activator.java
    Tue Feb  1 09:36:06 2011
@@ -43,9 +43,12 @@
     }
 
     public void initWithDependencies(BundleContext context, DependencyManager 
manager) throws Exception {
-        // Create the users resource service and register it as REST service
-        String filter = "(&(" + Tenant.SERVICE_PREFIX + "id=*)(" + 
Constants.OBJECTCLASS
+       // These REST services are tenant aware. This filter ensures that these 
tenant aware services
+       // only adapt UserAdmin services which are also tenant aware.
+       String filter = "(&(" + Tenant.SERVICE_PREFIX + "id=*)(" + 
Constants.OBJECTCLASS
         + "=" + UserAdmin.class.getName() + "))";
+       
+        // Create the users resource service and register it as REST service
         manager.add(createAdapterService(UserAdmin.class, filter)
             .setInterface(RESTService.class.getName(), null)
             .setImplementation(UsersResource.class)
@@ -53,7 +56,7 @@
             
.add(createServiceDependency().setService(TokenProvider.class).setRequired(true)));
 
         // Create the groups resource service and register it as REST service
-        manager.add(createComponent()
+        manager.add(createAdapterService(UserAdmin.class, filter)
             .setInterface(RESTService.class.getName(), null)
             .setImplementation(GroupsResource.class)
             
.add(createServiceDependency().setService(LogService.class).setRequired(true))
@@ -61,7 +64,7 @@
             
.add(createServiceDependency().setService(UserAdmin.class).setRequired(true)));
 
         // Create the groups resource service and register it as REST service
-        manager.add(createComponent()
+        manager.add(createAdapterService(UserAdmin.class, filter)
             .setInterface(RESTService.class.getName(), null)
             .setImplementation(RolesResource.class)
             
.add(createServiceDependency().setService(LogService.class).setRequired(true))

Reply via email to