Project

General

Profile

Actions

task #7099

closed

Make CdmAuthority a persistable class

Added by Andreas Müller over 6 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Highest
Category:
cdm
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
normal
Tags:

Description

We need a persistable Authority base class which will then be extended by classes Role and CdmAuthority. It will replace the existing GrantedAuthorityImpl.

We need the following fields for CdmAuthority:

  • permissionClass (hibernate user type for the enum required)
  • property (String)
  • operation (hibernate user type for enumSet required)
  • targetUuid

NOTE: first read #7100 which extends this model change

For Role we only need:

  • role (String, or if Role becomes an enum, => enum user type)

https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/WorkshopRightsAndRoles2017-11


Related issues

Related to EDIT - task #7100: Split CdmAuthority into operations and filtersNewAndreas Müller

Actions
Related to EDIT - feature request #4922: GrantedAuthorities not reusable anymoreNewAndreas Müller

Actions
Related to EDIT - task #7089: Rights and Roles Workshop 2017-11In ProgressAndreas Müller

Actions
Precedes EDIT - bug #8473: Migrate from GrantedAuthoritiesImpl to CdmAuthority and RoleNewAndreas Kohlbecker

Actions
Copied from EDIT - feature request #3133: security: preparation and first steps for Role, CdmAuthority and GrantedAuthorityImpl implement GrantedAuthorityClosedAndreas Kohlbecker

Actions
Copied to EDIT - feature request #8464: Make AuthorityBases uniqueNewAndreas Müller

Actions
Actions #1

Updated by Andreas Müller over 6 years ago

  • Copied from feature request #3133: security: preparation and first steps for Role, CdmAuthority and GrantedAuthorityImpl implement GrantedAuthority added
Actions #2

Updated by Andreas Müller over 6 years ago

  • Related to task #7100: Split CdmAuthority into operations and filters added
Actions #3

Updated by Andreas Müller over 6 years ago

  • Description updated (diff)
Actions #4

Updated by Andreas Müller almost 6 years ago

  • Priority changed from New to Highest
Actions #5

Updated by Andreas Müller almost 6 years ago

Actions #6

Updated by Andreas Müller almost 6 years ago

  • Target version changed from CDM UML 5.0 to CDM UML 5.5
Actions #7

Updated by Andreas Müller over 5 years ago

  • Priority changed from Highest to Priority14
Actions #8

Updated by Andreas Müller almost 5 years ago

  • Target version changed from CDM UML 5.5 to CDM UML 5.15
Actions #9

Updated by Andreas Müller over 4 years ago

  • Status changed from New to In Progress
  • Priority changed from Priority14 to Highest
  • Target version changed from CDM UML 5.15 to CDM UML 5.8
Actions #10

Updated by Andreas Müller over 4 years ago

  • Tags set to security
Actions #11

Updated by Andreas Müller over 4 years ago

  • Description updated (diff)
Actions #12

Updated by Andreas Müller over 4 years ago

  • Related to task #7089: Rights and Roles Workshop 2017-11 added
Actions #13

Updated by Andreas Müller over 4 years ago

  • Status changed from In Progress to Resolved
  • Assignee changed from Andreas Müller to Andreas Kohlbecker

This is implemented for now. Old GrantedAuthorities still exist and are in use but we could easily switch to new ones once they are tested. Hopefully the existing Parser works for migrating them.

I have not yet considered the ideas from #7100. This should be done in a next step.

Actions #14

Updated by Andreas Müller over 4 years ago

Actions #15

Updated by Andreas Müller over 4 years ago

forgot to implement uniqueness. Moved to #8464

Actions #16

Updated by Andreas Müller over 4 years ago

  • Precedes bug #8473: Migrate from GrantedAuthoritiesImpl to CdmAuthority and Role added
Actions #17

Updated by Andreas Kohlbecker over 2 years ago

  • Status changed from Resolved to Feedback
  • % Done changed from 0 to 90

the implementation looks good, I only got three opens points:

  • Documentation is missing, I think only linking to this ticket is not neough
  • implement toString() method
  • implement equals() method

These tasks of course can be handled in a follow up ticket.

Actions #18

Updated by Andreas Kohlbecker over 2 years ago

  • Tracker changed from bug to task
Actions #19

Updated by Andreas Müller over 2 years ago

  • Status changed from Feedback to Resolved

I added some javadoc. Please extend if you remember more details.

I implemented a first toString() method. Can be adapted later if needed.

I implemented an isEqual() method. Equals itself is defined in CdmBase and should not be overriden as CdmAuthority is a model class and for model classes per se equality is defined by uuid.equals(otherUuid).

Please review, and if it ticket can be closed please close also the full milestone.

Actions #20

Updated by Andreas Kohlbecker over 2 years ago

  • Status changed from Resolved to Closed
  • Assignee changed from Andreas Kohlbecker to Andreas Müller
  • % Done changed from 90 to 100

two more lines of doc and closing this ticket

Actions

Also available in: Atom PDF