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();
* @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;
RoleClient roleClient = new RoleClient();
Role role = RoleFactory.createRoleInstance(roleName,
+ roleName, //the display name
"role for " + roleName, true);
ClientResponse<Response> res = null;
String id = null;
RoleClient roleClient = new RoleClient();
Role role = RoleFactory.createRoleInstance(roleName,
+ roleName, //the display name
"role for " + roleName, true);
role.setRoleGroup("something");
ClientResponse<Response> res = null;
Role roleToUpdate = new Role();
roleToUpdate.setCsid(knownResourceId);
roleToUpdate.setRoleName(knownRoleName);
+ roleToUpdate.setDisplayName(knownRoleName);
// Update the content of this resource.
roleToUpdate.setDescription("updated role description");
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,
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");
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");
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");
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;
}
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()));
logger.error(msg);
throw new BadRequestException(msg);
}
+ if (from.getDisplayName() != null) {
+ to.setDisplayName(from.getDisplayName());
+ }
if (from.getRoleGroup() != null) {
to.setRoleGroup(from.getRoleGroup());
}
<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>
</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>
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);
--\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
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();
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);