You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2016/03/07 13:37:40 UTC

[jira] [Resolved] (DIRAPI-275) Many AttributeType are defined with the wrong m-usage

     [ https://issues.apache.org/jira/browse/DIRAPI-275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny resolved DIRAPI-275.
--------------------------------------
    Resolution: Fixed

Fixed with http://svn.apache.org/viewvc?rev=1733898&view=rev and http://svn.apache.org/viewvc?rev=1733900&view=rev

> Many AttributeType are defined with the wrong m-usage
> -----------------------------------------------------
>
>                 Key: DIRAPI-275
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-275
>             Project: Directory Client API
>          Issue Type: Bug
>    Affects Versions: 1.0.0-M33
>            Reporter: Emmanuel Lecharny
>             Fix For: 1.0.0-M34
>
>
> We have some mixture of attributeTypes defined in two ways :
> {noformat}
> ..
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=apache/ou=attributetypes/m-oid=1.3.6.1.1.16.4.ldif:m-usage: DIRECTORY_OPERATION
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=apache/ou=attributetypes/m-oid=1.3.6.1.1.20.ldif:m-usage: DIRECTORY_OPERATION
> ...
> {noformat}
> but 
> {noformat}
> ...
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=pwdpolicy/ou=attributetypes/m-oid=1.3.6.1.4.1.42.2.27.8.1.16.ldif:m-usage: directoryOperation
> ./ldap/schema/data/src/main/resources/schema/ou=schema/cn=pwdpolicy/ou=attributetypes/m-oid=1.3.6.1.4.1.42.2.27.8.1.17.ldif:m-usage: directoryOperation
> ...
> {noformat}
> The schema parser does not bail out because of this (ugly) method in {{UsageEnum}} class :
> {noformat}
>     /**
>      * Gets the enumeration type for the attributeType usage string regardless
>      * of case.
>      * 
>      * @param usage the usage string
>      * @return the usage enumeration type
>      */
>     public static UsageEnum getUsage( String usage )
>     {
>         try
>         {
>             UsageEnum result = valueOf( usage );
>             return result;
>         }
>         catch ( IllegalArgumentException iae )
>         {
>             if ( "directoryOperation".equals( usage ) )
>             {
>                 return DIRECTORY_OPERATION;
>             }
>             else if ( "distributedOperation".equals( usage ) )
>             {
>                 return DISTRIBUTED_OPERATION;
>             }
>             else if ( "dSAOperation".equals( usage ) )
>             {
>                 return DSA_OPERATION;
>             }
>             else if ( "userApplications".equals( usage ) )
>             {
>                 return USER_APPLICATIONS;
>             }
>             else
>             {
>                 return null;
>             }
>         }
>     }
> {noformat}
> Not that when we have the wrong format, we fall back to a case sensitive comparison. This is very weak...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)