3 Replies Latest reply on Apr 27, 2009 5:03 AM by Jeff Yu

    JBoss Identity IDM 1.0.0.Alpha4 released

    Boleslaw Dawidowicz Master

      JBoss Identity IDM component 1.0.0.Alpha4 was tagged today.

      Major changes are:

      1) Improved testsuite with database coverage for:
      - HSQLDB
      - MySQL 4
      - MySQL 5
      - SQLServer
      - PostgreSQL 8.2.3
      - Oracle 9i
      - Oracle 10g

      with automated build in hudson:
      http://hudson.jboss.org/hudson/view/JBoss Identity/

      2) JBoss AS Integration (contributed by Jeff Yu)
      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=154262

      3) Some API improvements including:
      - Role and RoleType properties exposed in RoleManager interface
      - IdentitySearchControl[] was changed into IdentitySearchCriteria object created with method in PersistenceManager and RelationshipManager interfaces

      public interface IdentitySearchCriteria
      {
      
       IdentitySearchCriteria sort(SortOrder order) throws UnsupportedCriterium;
      
       IdentitySearchCriteria sortAttributeName(String name) throws UnsupportedCriterium;
      
       IdentitySearchCriteria page(int firstResult, int maxResults) throws UnsupportedCriterium;
      
       IdentitySearchCriteria attributeValuesFilter(String attributeName, String[] attributeValue) throws UnsupportedCriterium;
      
       IdentitySearchCriteria idFilter(String filter) throws UnsupportedCriterium;
      
      }
      

      - a preview of a new query API (still not implemented fully)
      http://anonsvn.jboss.org/repos/jbossidentity/idm/tags/1.0.0.Alpha4/idm-api/src/main/java/org/jboss/identity/idm/api/query/

      4) A usual portion of bug fixes and testcases...

        • 1. Re: JBoss Identity IDM 1.0.0.Alpha4 released
          Thomas Heute Master

          Congrats !

          We should also test with Sybase and DB2.

          Just to check i'm trying a snippet here. If i understand the API correctly it means that it will return the 10 first groups associated to a user, sorted by group name.

          IdentitySession session = // obtained previously
          Query groupQuery = session.createGroupQuery();
          groupQuery.addRelatedUser("admin");
          groupQuery.sort(SortOrder.ASCENDING);
          groupQuery.page(0,10);
          Collection roles = groupQuery.execute();

          The really cool thing is that this can be easily extended.

          The not so cool thing, the javadoc is missing, so I'm not sure I really understand the differences between all add*User* methods ;)

          Also the sorting here doesn't give much value. What would be neat is to be able to associate "localizable display names" for groups and be able to sort according to those for a specific language. Here I think that I missed to use "sortAttributeName(String name)" shouldn't it be within the sort method sort(attributeName, order) ?
          Also to be picky sorting should be locale dependent (java/text/Collator.html) . I understand that for database storage it will ultimately depend on the collation set on tables and would not change from a call to the other (without hitting performances really bad I mean). It could be different for other implementations (Have no clue about LDAP, I think you can't even sort but I might be wrong).

          Also I don't understand why the new AS5 integration is using JMX instead of plain MC. Hint ?





          • 2. Re: JBoss Identity IDM 1.0.0.Alpha4 released
            Boleslaw Dawidowicz Master

             

            "thomas.heute@jboss.com" wrote:

            The not so cool thing, the javadoc is missing, so I'm not sure I really understand the differences between all add*User* methods ;)


            True, my bad. Will have this with the full implementation of the API.


            Also the sorting here doesn't give much value. What would be neat is to be able to associate "localizable display names" for groups and be able to sort according to those for a specific language. Here I think that I missed to use "sortAttributeName(String name)" shouldn't it be within the sort method sort(attributeName, order) ?


            With current API the only way to do this is to have attributes like "display_name_en", "display_name_fr" and etc. Sort is done by default based on the id but I think the one you proposed is a good one to have also.


            Also to be picky sorting should be locale dependent (java/text/Collator.html) . I understand that for database storage it will ultimately depend on the collation set on tables and would not change from a call to the other (without hitting performances really bad I mean). It could be different for other implementations (Have no clue about LDAP, I think you can't even sort but I might be wrong).


            This part (sort/filter by attribute) is not fully implemented now for DB/LDAP. Some parts are more natural in DB, some in LDAP but it is hard to have good efficient impl for both. In some cases results will need to be post process anyway and this will hit performance)


            Also I don't understand why the new AS5 integration is using JMX instead of plain MC. Hint ?


            I'll leave it for Jeff but I think it will be good to have AS 4.2.x support with JMX as well (for EAP).

            • 3. Re: JBoss Identity IDM 1.0.0.Alpha4 released
              Jeff Yu Master

               

              "thomas.heute@jboss.com" wrote:

              Also I don't understand why the new AS5 integration is using JMX instead of plain MC. Hint ?


              Actually, we do integrated the MC, and then use the @JMX annotation to expose the attributes(This is how we do it in AS5), so that users can view the attributes in the JMX console. I don't know whether we can see the attributes in the POJO somewhere, that is the reason what I expose it into JMX, it is trivial for us to turn it into the POJO.