Author: [email protected]
Date: Tue Oct  4 16:35:21 2011
New Revision: 1442

Log:
[AMDATUAUTH-99] Refactored dynamic service dependencies to add them to the dm 
all at once (using a list)


Modified:
   
trunk/amdatu-auth/login-service/src/main/java/org/amdatu/auth/login/service/service/LoginServiceImpl.java
   
trunk/amdatu-auth/oauth-consumerregistry/src/main/java/org/amdatu/auth/oauth/consumerregistry/service/OAuthServiceConsumerRegistryRESTImpl.java
   
trunk/amdatu-auth/oauth-example/src/main/java/org/amdatu/auth/example/oauth/service/OAuthProtectedResource.java
   
trunk/amdatu-auth/oauth-server/src/main/java/org/amdatu/auth/oauth/server/service/OAuthTokenProviderImpl.java
   
trunk/amdatu-auth/tokenprovider/src/main/java/org/amdatu/auth/tokenprovider/service/TokenProviderImpl.java
   
trunk/amdatu-auth/useradmin-rest/src/main/java/org/amdatu/auth/useradmin/rest/service/ResourceBase.java

Modified: 
trunk/amdatu-auth/login-service/src/main/java/org/amdatu/auth/login/service/service/LoginServiceImpl.java
==============================================================================
--- 
trunk/amdatu-auth/login-service/src/main/java/org/amdatu/auth/login/service/service/LoginServiceImpl.java
   (original)
+++ 
trunk/amdatu-auth/login-service/src/main/java/org/amdatu/auth/login/service/service/LoginServiceImpl.java
   Tue Oct  4 16:35:21 2011
@@ -15,6 +15,8 @@
  */
 package org.amdatu.auth.login.service.service;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
 import java.util.TreeMap;
@@ -44,6 +46,7 @@
 import org.amdatu.core.tenant.TenantManagementService;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.ServiceDependency;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.osgi.framework.Constants;
@@ -70,7 +73,6 @@
     private volatile LogService m_logService;
     private volatile UserAdmin m_userAdmin;
     private volatile TokenProvider m_tokenProvider;
-    private volatile Component m_component;
     private volatile DependencyManager m_dependencyManager;
     private volatile TenantManagementService m_tenantManagementService;
     private volatile Tenant m_tenant;
@@ -88,7 +90,8 @@
      * @throws TenantException
      */
     public void init(final Component component) throws TenantException {
-
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
         // Retrieve the tenant
         String tenantId = (String) 
component.getServiceProperties().get(Tenant.TENANT_ID_SERVICEPROPERTY);
         m_tenant = m_tenantManagementService.getTenantById(tenantId);
@@ -96,9 +99,11 @@
         // Create a service dependency on the token provider for 'our' tenant
         String tenantFilter = "(&(" + Tenant.TENANT_ID_SERVICEPROPERTY + "=" + 
tenantId + ")(" + Constants.OBJECTCLASS
             + "=" + TokenProvider.class.getName() + "))";
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
                 .setService(TokenProvider.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
-
+
+        component.add(dependencies);
+        
         m_logService.log(LogService.LOG_INFO, getClass().getName() + " service 
initialized for tenant '" + tenantId
             + "'");
     }

Modified: 
trunk/amdatu-auth/oauth-consumerregistry/src/main/java/org/amdatu/auth/oauth/consumerregistry/service/OAuthServiceConsumerRegistryRESTImpl.java
==============================================================================
--- 
trunk/amdatu-auth/oauth-consumerregistry/src/main/java/org/amdatu/auth/oauth/consumerregistry/service/OAuthServiceConsumerRegistryRESTImpl.java
     (original)
+++ 
trunk/amdatu-auth/oauth-consumerregistry/src/main/java/org/amdatu/auth/oauth/consumerregistry/service/OAuthServiceConsumerRegistryRESTImpl.java
     Tue Oct  4 16:35:21 2011
@@ -17,7 +17,9 @@
 
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigInteger;
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Random;
 
@@ -53,6 +55,7 @@
 import org.amdatu.core.tenant.Tenant;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.ServiceDependency;
 import org.apache.http.HttpStatus;
 import org.osgi.framework.Constants;
 import org.osgi.service.log.LogService;
@@ -79,7 +82,6 @@
     // Tenant unaware service dependencies
     private volatile LogService m_logService;
     private volatile Tenant m_tenant;
-    private volatile Component m_component;
     private volatile DependencyManager m_dependencyManager;
 
     // Tenant aware service dependencies
@@ -95,21 +97,25 @@
     }
 
     public void init(final Component component) {
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
         // Add tenant specific service dependencies
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(TokenProvider.class, 
getTenantFilter(TokenProvider.class))
             .setRequired(true)
             .setInstanceBound(true));
 
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(OAuthServiceConsumerRegistry.class, 
getTenantFilter(OAuthServiceConsumerRegistry.class))
             .setRequired(true)
             .setInstanceBound(true));
 
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(UserAdmin.class, getTenantFilter(UserAdmin.class))
             .setRequired(true)
             .setInstanceBound(true));
+        
+        component.add(dependencies);
     }
 
     private String getTenantFilter(Class<?> clazz) {

Modified: 
trunk/amdatu-auth/oauth-example/src/main/java/org/amdatu/auth/example/oauth/service/OAuthProtectedResource.java
==============================================================================
--- 
trunk/amdatu-auth/oauth-example/src/main/java/org/amdatu/auth/example/oauth/service/OAuthProtectedResource.java
     (original)
+++ 
trunk/amdatu-auth/oauth-example/src/main/java/org/amdatu/auth/example/oauth/service/OAuthProtectedResource.java
     Tue Oct  4 16:35:21 2011
@@ -16,6 +16,8 @@
 package org.amdatu.auth.example.oauth.service;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -56,7 +58,9 @@
     private volatile OAuthTokenProvider m_tokenProvider;
 
     public void init(final Component component) {
-        component.add(getTenantServiceDependency(OAuthTokenProvider.class));
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        dependencies.add(getTenantServiceDependency(OAuthTokenProvider.class));
+        component.add(dependencies);
     }
     
     private ServiceDependency getTenantServiceDependency(Class<?> clazz) {

Modified: 
trunk/amdatu-auth/oauth-server/src/main/java/org/amdatu/auth/oauth/server/service/OAuthTokenProviderImpl.java
==============================================================================
--- 
trunk/amdatu-auth/oauth-server/src/main/java/org/amdatu/auth/oauth/server/service/OAuthTokenProviderImpl.java
       (original)
+++ 
trunk/amdatu-auth/oauth-server/src/main/java/org/amdatu/auth/oauth/server/service/OAuthTokenProviderImpl.java
       Tue Oct  4 16:35:21 2011
@@ -18,6 +18,8 @@
 import java.io.IOException;
 import java.math.BigInteger;
 import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Random;
 
 import net.oauth.OAuth;
@@ -51,7 +53,6 @@
     private volatile OAuthServiceProvider m_serviceProvider;
     private volatile OAuthServerConfiguration m_config;
     private volatile Tenant m_tenant;
-    private volatile Component m_component;
     private volatile DependencyManager m_dependencyManager;
 
     // Tenant aware service dependencies
@@ -64,10 +65,14 @@
     private PluggableOAuthValidator m_oAuthValidator;
 
     public void init(final Component component) {
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
         // Define tenant aware service dependencies
-        
m_component.add(getTenantServiceDependency(TokenStorageProvider.class));
-        
m_component.add(getTenantServiceDependency(OAuthNonceStorageProvider.class));
-        
m_component.add(getTenantServiceDependency(OAuthServiceConsumerRegistry.class));
+        
dependencies.add(getTenantServiceDependency(TokenStorageProvider.class));
+        
dependencies.add(getTenantServiceDependency(OAuthNonceStorageProvider.class));
+        
dependencies.add(getTenantServiceDependency(OAuthServiceConsumerRegistry.class));
+        
+        component.add(dependencies);
     }
 
     public void start() {

Modified: 
trunk/amdatu-auth/tokenprovider/src/main/java/org/amdatu/auth/tokenprovider/service/TokenProviderImpl.java
==============================================================================
--- 
trunk/amdatu-auth/tokenprovider/src/main/java/org/amdatu/auth/tokenprovider/service/TokenProviderImpl.java
  (original)
+++ 
trunk/amdatu-auth/tokenprovider/src/main/java/org/amdatu/auth/tokenprovider/service/TokenProviderImpl.java
  Tue Oct  4 16:35:21 2011
@@ -20,6 +20,8 @@
 import java.net.URLEncoder;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
@@ -62,7 +64,6 @@
     // Tenant unaware service dependencies
     private volatile LogService m_logService;
     private volatile Tenant m_tenant;
-    private volatile Component m_component;
     private volatile DependencyManager m_dependencyManager;
     
     // Tenant aware service dependencies
@@ -87,8 +88,10 @@
      */
     public void init(final Component component) throws 
NoSuchAlgorithmException, InvalidKeyException, NoSuchPaddingException,
         UnsupportedEncodingException {
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
         // Define tenant aware service dependencies
-        
m_component.add(getTenantServiceDependency(TokenStorageProvider.class));
+        
dependencies.add(getTenantServiceDependency(TokenStorageProvider.class));
         
         if (m_secretKey == null) {
             KeyGenerator keyGen = KeyGenerator.getInstance(ENCRYPTION_METHOD);
@@ -103,7 +106,9 @@
         if (DECRYPT_CIPHER == null) {
             DECRYPT_CIPHER = Cipher.getInstance(ENCRYPTION_METHOD);
             DECRYPT_CIPHER.init(Cipher.DECRYPT_MODE, m_secretKey);
-        }
+        }
+        
+        component.add(dependencies);
     }
 
     private ServiceDependency getTenantServiceDependency(Class<?> clazz) {

Modified: 
trunk/amdatu-auth/useradmin-rest/src/main/java/org/amdatu/auth/useradmin/rest/service/ResourceBase.java
==============================================================================
--- 
trunk/amdatu-auth/useradmin-rest/src/main/java/org/amdatu/auth/useradmin/rest/service/ResourceBase.java
     (original)
+++ 
trunk/amdatu-auth/useradmin-rest/src/main/java/org/amdatu/auth/useradmin/rest/service/ResourceBase.java
     Tue Oct  4 16:35:21 2011
@@ -40,6 +40,7 @@
 import org.amdatu.web.rest.jaxrs.RESTService;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.ServiceDependency;
 import org.json.JSONObject;
 import org.osgi.framework.Constants;
 import org.osgi.framework.InvalidSyntaxException;
@@ -61,7 +62,6 @@
     private volatile UserAdmin m_userAdmin;
     private volatile TokenProvider m_tokenProvider;
     private volatile TenantManagementService m_tenantManagementService;
-    private volatile Component m_component;
     private volatile DependencyManager m_dependencyManager;
     private volatile Tenant m_tenant;
 
@@ -72,7 +72,9 @@
         NO_CACHE_CONTROL.setNoCache(true);
     }
 
-    public void init(final Component component) throws TenantException {
+    public void init(final Component component) throws TenantException {
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
         // Retrieve the tenant
         String tenantId = (String) 
component.getServiceProperties().get(Tenant.TENANT_ID_SERVICEPROPERTY);
         m_tenant = m_tenantManagementService.getTenantById(tenantId);
@@ -80,8 +82,10 @@
         // Create a service dependency on the token provider for 'our' tenant
         String tenantFilter = "(&(" + Tenant.TENANT_ID_SERVICEPROPERTY + "=" + 
tenantId + ")(" + Constants.OBJECTCLASS
         + "=" + TokenProvider.class.getName() + "))";
-        m_component.add(m_dependencyManager.createServiceDependency()
-            .setService(TokenProvider.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
+        dependencies.add(m_dependencyManager.createServiceDependency()
+            .setService(TokenProvider.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
+        
+        component.add(dependencies);
     }
 
     /**
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to