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