[security-dev] IDM:: API Change question - feedback requested

Shane Bryzak sbryzak at redhat.com
Wed Nov 28 20:24:13 EST 2012

Just to add to this, the idea is to essentially mimic the JPA API, which 
provides persist(), merge() and remove() methods.  What we are proposing 
is a slight variation of this, as follows:

public interface IdentityManager {

     // snip other methods

      * Persists the specified IdentityType
     void persist(IdentityType identityType);

      * Updates the persisted state of the specified IdentityType, with 
the exception of the id and name for Groups, and name for Roles
     void update(IdentityType identityType);

      * Removes the specified IdentityType
     void remove(IdentityType identityType);

Just a reminder, that IdentityType is the super-type for User, Group and 
Role so these methods can be used for any of these. This would simplify 
the IdentityManager API considerably (replacing an existing 7 methods 
with just 3) while providing more functionality (currently the API 
doesn't allow Roles or Groups to be updated).

On 11/29/2012 10:40 AM, Anil Saldhana wrote:
> Hi all,
>     Shane, Pedro and I have been discussing the following use case and
> agree on method name change. Shane suggested the list due to it being an
> API change.
> The developer can ask the Identity Manager to create an instance of
> User/Role/Group  (IdentityType). This use case is pretty clear.
> Now if the developer wants to create his own instances of U/R/G as:
> User user = new SimpleUser("userA");
> Now he needs to persist this to the store.
> The current API call would be:
> User storeUser = identityManager.createUser(user)
> We feel this is not as intuitive as:
> User storeUser = identityManager.persist(user)
> Objections to this API change?
> Regards,
> Anil
> _______________________________________________
> security-dev mailing list
> security-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/security-dev

More information about the security-dev mailing list