]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-2099: "displayName" now part of Role payload. If not sent in create payload...
authorRichard Millet <richard.millet@berkeley.edu>
Tue, 9 Nov 2010 23:55:53 +0000 (23:55 +0000)
committerRichard Millet <richard.millet@berkeley.edu>
Tue, 9 Nov 2010 23:55:53 +0000 (23:55 +0000)
13 files changed:
services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountRoleServiceTest.java
services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleFactory.java
services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/PermissionRoleServiceTest.java
services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RolePermissionServiceTest.java
services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/client/test/RoleServiceTest.java
services/authorization-mgt/import/src/main/java/org/collectionspace/services/authorization/importer/AuthorizationGen.java
services/authorization-mgt/service/src/main/java/org/collectionspace/services/authorization/storage/RoleDocumentHandler.java
services/authorization/jaxb/src/main/resources/authorization_common.xsd
services/authorization/jaxb/src/main/resources/roles.xsd
services/authorization/pstore/src/main/resources/db/mysql/authorization.sql
services/authorization/pstore/src/main/resources/db/mysql/test_authorization.sql
services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java
services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java

index 38e9efeed85eb596e138e0f69aaf826177f08746..9326589c5cd0139ea2b7899c4cb4e1ed4940910e 100644 (file)
@@ -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<Response> res = roleClient.create(role);
         int statusCode = res.getStatus();
index 21dbc6e68ca0655a5b66ee8dae76fcb54e83e235..05a902886586fef297bf7fccddc80b49db831271 100644 (file)
@@ -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;
 
index 0f498b46d42a02717672edecfb0c5feabd6f5c02..eedd85321450d5cf2ed934c0caca35c2f03961fb 100644 (file)
@@ -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<Response> res = null;
         String id = null;
index 9dadbc25dae721f1dbf16c96e018cc94e3d33f63..38669abc65328c7a9c2f95d9be6ee3adcaa878cd 100644 (file)
@@ -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<Response> res = null;
index 36022c059d5a791c3487a8772c494cf6aeabce64..77651823bf79ec6a4c55e0f58f57c1a4952b7977 100644 (file)
@@ -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");
index b7105dfaa9ca29ca30ced189d5cb94195efd80e2..a7f69f0eb148852c86cd9d93c525d33632d0981d 100644 (file)
@@ -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;
     }
index 837fbf51373aaa612c31cb2a4c990ff40a96415d..344eadb16aa9d033cb28609f425bed72f00ccc22 100644 (file)
@@ -54,6 +54,17 @@ public class RoleDocumentHandler
     public void handleCreate(DocumentWrapper<Role> 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());
         }
index 5d2b4a8b99496f461cdf60eff8907f88ef9dcb4a..457c6fc9db51485186c3519cadee41ce3aa3d99a 100644 (file)
@@ -68,6 +68,7 @@
                <xs:element name="roleRelationshipId" type="xs:string" minOccurs="0" maxOccurs="1"/>
             <xs:element name="roleId" type="xs:string" minOccurs="1" maxOccurs="1"/>
             <xs:element name="roleName" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="displayName" type="xs:string" minOccurs="1" maxOccurs="1"/>
         </xs:sequence>
     </xs:complexType>
 
index cdb71cf7c972e46031fc16329f677bc792ba142f..1577ec86ec6e71e92a053ed5f9c70001cfbb3e8e 100644 (file)
             </xs:appinfo>
         </xs:annotation>
         <xs:sequence>
+            <xs:element name="displayName" type="xs:string" minOccurs="1" maxOccurs="1">
+                <xs:annotation>
+                    <xs:appinfo>
+                        <hj:basic>
+                            <orm:column name="displayName" length="200" nullable="false"/>
+                        </hj:basic>
+                    </xs:appinfo>
+                </xs:annotation>
+            </xs:element>
             <xs:element name="roleName" type="xs:string" minOccurs="1" maxOccurs="1">
                 <xs:annotation>
                     <xs:appinfo>
index cf11aae9bd5bff8fc1f95b8e9432edcfbf360c8c..00a5f081d468127cc15ec7436b25018c29877de1 100644 (file)
@@ -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);
index f896a5207d2eabaac26ce6f3ee4c6a8071da3c20..1e8ae28027a7a77b4a901273117b83aff7c25b08 100644 (file)
@@ -5,8 +5,8 @@
 --\r
 use cspace;\r
 \r
-insert into `roles` (`csid`, `rolename`, `rolegroup`, `created_at`, `tenant_id`) values ('-1', 'ROLE_SPRING_ADMIN', 'Spring Security Administrator', now(), '0');\r
-insert into `roles` (`csid`, `rolename`, `rolegroup`, `created_at`, `tenant_id`) values ('0', 'ROLE_ADMINISTRATOR', 'CollectionSpace Administrator', now(), '0');\r
+insert into `roles` (`csid`, `rolename`, `displayName`, `rolegroup`, `created_at`, `tenant_id`) values ('-1', 'ROLE_SPRING_ADMIN', 'SPRING_ADMIN', 'Spring Security Administrator', now(), '0');\r
+insert into `roles` (`csid`, `rolename`, `displayName`, `rolegroup`, `created_at`, `tenant_id`) values ('0', 'ROLE_ADMINISTRATOR', 'ADMINISTRATOR', 'CollectionSpace Administrator', now(), '0');\r
 \r
 -- for default test account --\r
 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());\r
index 390aff37754cb6f7dcfe4ec3336d2d3b38cb50af..d5feb9ede7ffd3d2d2da5c1f08224f5afc1462ff 100644 (file)
@@ -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<Response> res = roleClient.create(role);
         int statusCode = res.getStatus();
index 9a829cc6043af269ba8ad71c0bfca07290a9b17f..5eef253b6dd5f600d0afa8664fb33d1892b4d25c 100644 (file)
@@ -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<Response> res = roleClient.create(role);