From: Richard Millet Date: Tue, 9 Nov 2010 23:55:53 +0000 (+0000) Subject: CSPACE-2099: "displayName" now part of Role payload. If not sent in create payload... X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=36f57ed516074ea982bb1e814fcdf276978470c5;p=tmp%2Fjakarta-migration.git CSPACE-2099: "displayName" now part of Role payload. If not sent in create payload, it will be synthesized from the required "roleName" element. --- diff --git a/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountRoleServiceTest.java b/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountRoleServiceTest.java index 38e9efeed..9326589c5 100644 --- a/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountRoleServiceTest.java +++ b/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountRoleServiceTest.java @@ -658,6 +658,7 @@ public class AccountRoleServiceTest extends AbstractServiceTestImpl { RoleClient roleClient = new RoleClient(); Role role = RoleFactory.createRoleInstance(roleName, + roleName, //the display name "role for " + roleName, true); ClientResponse res = roleClient.create(role); int statusCode = res.getStatus(); diff --git a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleFactory.java b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleFactory.java index 21dbc6e68..05a902886 100644 --- a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleFactory.java +++ b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleFactory.java @@ -69,13 +69,15 @@ public class RoleFactory { * @return */ public static Role createRoleInstance(String roleName, + String displayName, String description, boolean useRoleName) { Role role = new Role(); - if (useRoleName) { + if (useRoleName == true) { role.setRoleName(roleName); } + role.setDisplayName(displayName); role.setDescription(description); return role; diff --git a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/PermissionRoleServiceTest.java b/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/PermissionRoleServiceTest.java index 0f498b46d..eedd85321 100644 --- a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/PermissionRoleServiceTest.java +++ b/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/PermissionRoleServiceTest.java @@ -689,6 +689,7 @@ public class PermissionRoleServiceTest extends AbstractServiceTestImpl { RoleClient roleClient = new RoleClient(); Role role = RoleFactory.createRoleInstance(roleName, + roleName, //the display name "role for " + roleName, true); ClientResponse res = null; String id = null; diff --git a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RolePermissionServiceTest.java b/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RolePermissionServiceTest.java index 9dadbc25d..38669abc6 100644 --- a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RolePermissionServiceTest.java +++ b/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RolePermissionServiceTest.java @@ -659,6 +659,7 @@ public class RolePermissionServiceTest extends AbstractServiceTestImpl { RoleClient roleClient = new RoleClient(); Role role = RoleFactory.createRoleInstance(roleName, + roleName, //the display name "role for " + roleName, true); role.setRoleGroup("something"); ClientResponse res = null; diff --git a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RoleServiceTest.java b/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RoleServiceTest.java index 36022c059..77651823b 100644 --- a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RoleServiceTest.java +++ b/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RoleServiceTest.java @@ -494,6 +494,7 @@ public class RoleServiceTest extends AbstractServiceTestImpl { Role roleToUpdate = new Role(); roleToUpdate.setCsid(knownResourceId); roleToUpdate.setRoleName(knownRoleName); + roleToUpdate.setDisplayName(knownRoleName); // Update the content of this resource. roleToUpdate.setDescription("updated role description"); @@ -534,6 +535,7 @@ public class RoleServiceTest extends AbstractServiceTestImpl { roleToUpdate.setCsid(knownResourceId); // Update the content of this resource. roleToUpdate.setRoleName("UPDATED-ROLE_USERS_TEST"); + roleToUpdate.setDisplayName("UPDATED-ROLE_USERS_TEST"); if (logger.isDebugEnabled()) { logger.debug("updated object"); logger.debug(objectAsXmlString(roleToUpdate, @@ -723,7 +725,9 @@ public class RoleServiceTest extends AbstractServiceTestImpl { String description, boolean useRoleName) { - Role role = RoleFactory.createRoleInstance(roleName, description, + Role role = RoleFactory.createRoleInstance(roleName, + roleName, //the display name + description, useRoleName); if (logger.isDebugEnabled()) { logger.debug("to be created, role"); diff --git a/services/authorization-mgt/import/src/main/java/org/collectionspace/services/authorization/importer/AuthorizationGen.java b/services/authorization-mgt/import/src/main/java/org/collectionspace/services/authorization/importer/AuthorizationGen.java index b7105dfaa..a7f69f0eb 100644 --- a/services/authorization-mgt/import/src/main/java/org/collectionspace/services/authorization/importer/AuthorizationGen.java +++ b/services/authorization-mgt/import/src/main/java/org/collectionspace/services/authorization/importer/AuthorizationGen.java @@ -263,9 +263,11 @@ public class AuthorizationGen { private Role buildTenantAdminRole(String tenantId) { Role role = new Role(); role.setCreatedAtItem(new Date()); + role.setDisplayName(ROLE_TENANT_ADMINISTRATOR); role.setRoleName(ROLE_PREFIX + tenantId + "_" + - ROLE_TENANT_ADMINISTRATOR); + role.getDisplayName()); + String id = UUID.randomUUID().toString(); role.setCsid(id); role.setDescription("generated tenant admin role"); @@ -276,9 +278,10 @@ public class AuthorizationGen { private Role buildTenantReaderRole(String tenantId) { Role role = new Role(); role.setCreatedAtItem(new Date()); + role.setDisplayName(ROLE_TENANT_READER); role.setRoleName(ROLE_PREFIX + tenantId + "_" + - ROLE_TENANT_READER); + role.getDisplayName()); String id = UUID.randomUUID().toString(); role.setCsid(id); role.setDescription("generated tenant read only role"); @@ -365,7 +368,8 @@ public class AuthorizationGen { private Role buildCSpaceAdminRole() { Role role = new Role(); - role.setRoleName(ROLE_PREFIX + ROLE_ADMINISTRATOR); + role.setDisplayName(ROLE_ADMINISTRATOR); + role.setRoleName(ROLE_PREFIX + role.getDisplayName()); role.setCsid(ROLE_ADMINISTRATOR_ID); return role; } diff --git a/services/authorization-mgt/service/src/main/java/org/collectionspace/services/authorization/storage/RoleDocumentHandler.java b/services/authorization-mgt/service/src/main/java/org/collectionspace/services/authorization/storage/RoleDocumentHandler.java index 837fbf513..344eadb16 100644 --- a/services/authorization-mgt/service/src/main/java/org/collectionspace/services/authorization/storage/RoleDocumentHandler.java +++ b/services/authorization-mgt/service/src/main/java/org/collectionspace/services/authorization/storage/RoleDocumentHandler.java @@ -54,6 +54,17 @@ public class RoleDocumentHandler public void handleCreate(DocumentWrapper wrapDoc) throws Exception { String id = UUID.randomUUID().toString(); Role role = wrapDoc.getWrappedObject(); + + // Synthesize the display name if it was not passed in. + String displayName = role.getDisplayName(); + boolean displayNameEmpty = true; + if (displayName != null) { + displayNameEmpty = displayName.trim().isEmpty(); + } + if (displayNameEmpty == true) { + role.setDisplayName(role.getRoleName()); + } + setTenant(role); role.setRoleName(fixRoleName(role.getRoleName(), role.getTenantId())); @@ -83,6 +94,9 @@ public class RoleDocumentHandler logger.error(msg); throw new BadRequestException(msg); } + if (from.getDisplayName() != null) { + to.setDisplayName(from.getDisplayName()); + } if (from.getRoleGroup() != null) { to.setRoleGroup(from.getRoleGroup()); } diff --git a/services/authorization/jaxb/src/main/resources/authorization_common.xsd b/services/authorization/jaxb/src/main/resources/authorization_common.xsd index 5d2b4a8b9..457c6fc9d 100644 --- a/services/authorization/jaxb/src/main/resources/authorization_common.xsd +++ b/services/authorization/jaxb/src/main/resources/authorization_common.xsd @@ -68,6 +68,7 @@ + diff --git a/services/authorization/jaxb/src/main/resources/roles.xsd b/services/authorization/jaxb/src/main/resources/roles.xsd index cdb71cf7c..1577ec86e 100644 --- a/services/authorization/jaxb/src/main/resources/roles.xsd +++ b/services/authorization/jaxb/src/main/resources/roles.xsd @@ -60,6 +60,15 @@ + + + + + + + + + diff --git a/services/authorization/pstore/src/main/resources/db/mysql/authorization.sql b/services/authorization/pstore/src/main/resources/db/mysql/authorization.sql index cf11aae9b..00a5f081d 100644 --- a/services/authorization/pstore/src/main/resources/db/mysql/authorization.sql +++ b/services/authorization/pstore/src/main/resources/db/mysql/authorization.sql @@ -8,5 +8,5 @@ create table accounts_roles (HJID bigint not null auto_increment, account_id var create table permissions (csid varchar(128) not null, action_group varchar(128), attribute_name varchar(128), created_at datetime not null, description varchar(255), effect varchar(32) not null, resource_name varchar(128) not null, tenant_id varchar(128) not null, updated_at datetime, primary key (csid)); create table permissions_actions (HJID bigint not null auto_increment, name varchar(128) not null, objectIdentity varchar(128) not null, objectIdentityResource varchar(128) not null, ACTIONS_PERMISSION_CSID varchar(128), primary key (HJID)); create table permissions_roles (HJID bigint not null auto_increment, actionGroup varchar(255), created_at datetime not null, permission_id varchar(128) not null, permission_resource varchar(255), role_id varchar(128) not null, role_name varchar(255), primary key (HJID), unique (permission_id, role_id)); -create table roles (csid varchar(128) not null, created_at datetime not null, description varchar(255), rolegroup varchar(255), rolename varchar(200) not null, tenant_id varchar(128) not null, updated_at datetime, primary key (csid), unique (rolename, tenant_id)); +create table roles (csid varchar(128) not null, created_at datetime not null, description varchar(255), displayName varchar(200) not null, rolegroup varchar(255), rolename varchar(200) not null, tenant_id varchar(128) not null, updated_at datetime, primary key (csid), unique (rolename, tenant_id)); alter table permissions_actions add index FK85F82042E2DC84FD (ACTIONS_PERMISSION_CSID), add constraint FK85F82042E2DC84FD foreign key (ACTIONS_PERMISSION_CSID) references permissions (csid); diff --git a/services/authorization/pstore/src/main/resources/db/mysql/test_authorization.sql b/services/authorization/pstore/src/main/resources/db/mysql/test_authorization.sql index f896a5207..1e8ae2802 100644 --- a/services/authorization/pstore/src/main/resources/db/mysql/test_authorization.sql +++ b/services/authorization/pstore/src/main/resources/db/mysql/test_authorization.sql @@ -5,8 +5,8 @@ -- use cspace; -insert into `roles` (`csid`, `rolename`, `rolegroup`, `created_at`, `tenant_id`) values ('-1', 'ROLE_SPRING_ADMIN', 'Spring Security Administrator', now(), '0'); -insert into `roles` (`csid`, `rolename`, `rolegroup`, `created_at`, `tenant_id`) values ('0', 'ROLE_ADMINISTRATOR', 'CollectionSpace Administrator', now(), '0'); +insert into `roles` (`csid`, `rolename`, `displayName`, `rolegroup`, `created_at`, `tenant_id`) values ('-1', 'ROLE_SPRING_ADMIN', 'SPRING_ADMIN', 'Spring Security Administrator', now(), '0'); +insert into `roles` (`csid`, `rolename`, `displayName`, `rolegroup`, `created_at`, `tenant_id`) values ('0', 'ROLE_ADMINISTRATOR', 'ADMINISTRATOR', 'CollectionSpace Administrator', now(), '0'); -- for default test account -- insert into `accounts_roles`(`account_id`, `user_id`, `role_id`, `role_name`, `created_at`) values ('eeca40d7-dc77-4cc5-b489-16a53c75525a', 'test', '-1', 'ROLE_SPRING_ADMIN', now()); diff --git a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java index 390aff377..d5feb9ede 100644 --- a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java +++ b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java @@ -615,6 +615,7 @@ public class AuthorizationServiceTest extends AbstractServiceTestImpl { RoleClient roleClient = new RoleClient(); Role role = RoleFactory.createRoleInstance(roleName, + roleName, //the display name "role for " + roleName, true); ClientResponse res = roleClient.create(role); int statusCode = res.getStatus(); diff --git a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java index 9a829cc60..5eef253b6 100644 --- a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java +++ b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java @@ -725,6 +725,7 @@ public class MultiTenancyTest extends AbstractServiceTestImpl { UserInfo ui = tenantAdminUsers.get(tenantId); roleClient.setAuth(true, ui.userName, true, ui.password, true); Role role = RoleFactory.createRoleInstance(roleName, + roleName, //the display name "role for " + roleName, true); role.setTenantId(tenantId); ClientResponse res = roleClient.create(role);