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))