Author: [email protected]
Date: Tue Oct  4 15:50:51 2011
New Revision: 1434

Log:
[AMDATUOPENSOCIAL-117] Refactored registration of dynamic service dependencies

Modified:
   
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/BaseRESTServiceImpl.java
   
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
   
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/OAuthTenantAwareStoreImpl.java
   
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java

Modified: 
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/BaseRESTServiceImpl.java
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/BaseRESTServiceImpl.java
   (original)
+++ 
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/BaseRESTServiceImpl.java
   Tue Oct  4 15:50:51 2011
@@ -18,6 +18,8 @@
 import static 
org.amdatu.opensocial.gadgetmanagement.OpenSocialContainer.APP_DATA;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
@@ -37,6 +39,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.osgi.service.log.LogService;
 import org.osgi.service.useradmin.Role;
 import org.osgi.service.useradmin.User;
@@ -74,18 +77,21 @@
         // Create tenant specific dependencies with UserAdmin and 
OpenSocialContainer
         String tenantFilter = "(" + Tenant.TENANT_ID_SERVICEPROPERTY + "=" + 
m_tenant.getId() + ")";
 
-        m_component.add(m_dependencyManager.createServiceDependency()
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(GadgetManagement.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
 
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(OpenSocialContainer.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
 
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(UserAdmin.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
 
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(TokenProvider.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
 
+        m_component.add(dependencies);
+        
         m_logService.log(LogService.LOG_INFO, getClass().getName() + " service 
initialized");
     }
 

Modified: 
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
       (original)
+++ 
trunk/amdatu-opensocial/opensocial-gadgetmanagement/src/main/java/org/amdatu/opensocial/gadgetmanagement/service/InternalGadgetStoreImpl.java
       Tue Oct  4 15:50:51 2011
@@ -24,6 +24,7 @@
 import org.amdatu.opensocial.gadgetmanagement.GadgetDefinitionProvider;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.ServiceDependency;
 import org.osgi.framework.Constants;
 
 /**
@@ -45,9 +46,13 @@
 
     public void init(final Component component) {
         // Add tenant specific service dependencies
-        component.add(m_dependencyManager.createServiceDependency()
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(GadgetDefinitionProvider.class, 
getTenantFilter(GadgetDefinitionProvider.class))
             .setCallbacks("onAdded", "onRemoved"));
+        
+        component.add(dependencies);
     }
 
     private String getTenantFilter(Class<?> clazz) {

Modified: 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/OAuthTenantAwareStoreImpl.java
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/OAuthTenantAwareStoreImpl.java
   (original)
+++ 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/OAuthTenantAwareStoreImpl.java
   Tue Oct  4 15:50:51 2011
@@ -18,7 +18,9 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import net.oauth.OAuth;
@@ -33,6 +35,7 @@
 import org.apache.commons.io.IOUtils;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.ServiceDependency;
 import org.apache.shindig.auth.SecurityToken;
 import org.apache.shindig.gadgets.GadgetException;
 import org.apache.shindig.gadgets.oauth.BasicOAuthStore;
@@ -89,9 +92,13 @@
      * Init() is invoked by the dependency manager.
      */
     public void init(final Component component) {
-        component.add(m_dependencyManager.createServiceDependency()
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(GadgetManagement.class, 
getTenantFilter(GadgetManagement.class))
             .setInstanceBound(true).setRequired(true));
+        
+        component.add(dependencies);
     }
 
     private String getTenantFilter(Class<?> clazz) {

Modified: 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java
  (original)
+++ 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java
  Tue Oct  4 15:50:51 2011
@@ -16,7 +16,9 @@
 package org.amdatu.opensocial.shindig.service;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.Callable;
@@ -36,6 +38,7 @@
 import org.amdatu.opensocial.shindig.osgi.Activator;
 import org.apache.felix.dm.Component;
 import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.ServiceDependency;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.ResponseHandler;
@@ -88,20 +91,24 @@
     /**
      * The init() method is invoked by the Felix dependency manager.
      */
-    public void init() {
+    public void init() {
+        List<ServiceDependency> dependencies = new 
ArrayList<ServiceDependency>();
+        
         // Create a service dependency on the token provider for 'our' tenant
         String tenantFilter =
             "(&(" + Tenant.TENANT_ID_SERVICEPROPERTY + "=" + m_tenant.getId() 
+ ")(" + Constants.OBJECTCLASS
             + "=" + TokenProvider.class.getName() + "))";
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(TokenProvider.class, 
tenantFilter).setRequired(true).setInstanceBound(true));
 
         String tenantFilter2 =
             "(&(" + Tenant.TENANT_ID_SERVICEPROPERTY + "=" + m_tenant.getId() 
+ ")(" + Constants.OBJECTCLASS
             + "=" + UserAdmin.class.getName() + "))";
-        m_component.add(m_dependencyManager.createServiceDependency()
+        dependencies.add(m_dependencyManager.createServiceDependency()
             .setService(UserAdmin.class, 
tenantFilter2).setRequired(true).setInstanceBound(true));
-
+        
+        m_component.add(dependencies);
+        
         m_logService.log(LogService.LOG_INFO, getClass().getName() + " service 
initialized");
     }
 
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to