You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Ole Ersoy (JIRA)" <ji...@apache.org> on 2007/05/31 00:18:15 UTC

[jira] Commented: (DIRSERVER-948) Possibly a Bug - See Descrption

    [ https://issues.apache.org/jira/browse/DIRSERVER-948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12500246 ] 

Ole Ersoy commented on DIRSERVER-948:
-------------------------------------

OK - Just to make this interesting
I did the following on the parent class:

    protected static void create() 
    {
        objectClassAttribute    = 
            new BasicAttribute( 
                OBJECT_CLASS, TOP );
        /*
        objectClassAttribute.add( 
            META_TOP );
        */
        basicAttributes = new BasicAttributes();
//        basicAttributes.put(objectClassAttribute);
//        basicAttributes.put( M_OBSOLETE, LDAP_FALSE );
    }


So the only thing the parent class does now is 
create the basicAttributes and create the objectClassAttribute.

Then I did this on the child class:

        /*
        Attribute objectClassAttribute    = 
            new BasicAttribute( 
                OBJECT_CLASS, 
                TOP );
        */

So I"m commenting out this since the parent does it.

Same thing here:

        //basicAttributes = new BasicAttributes();

Now I run the test again and get this:
javax.naming.NamingException: [LDAP: error code 80 - failed to add entry m-oid=1.3.6.1.4.1.18060.4.53555398.6981025.5310249.7535556.9101525.5452974.5010152.55710254,ou=attributeTypes,cn=das,ou=schema: Unexpected exception.]; remaining name 'm-oid=1.3.6.1.4.1.18060.4.53555398.6981025.5310249.7535556.9101525.5452974.5010152.55710254'

It's the mysterious unexpected exception.

This is getting goooood.



> Possibly a Bug - See Descrption
> -------------------------------
>
>                 Key: DIRSERVER-948
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-948
>             Project: Directory ApacheDS
>          Issue Type: Bug
>         Environment: FC6
>            Reporter: Ole Ersoy
>            Priority: Minor
>
> I'll check the test in that shows this when I 
> check in the DAS.
> I have a parent class that does this:
> public abstract class AbstractTypeCreator 
> implements 
> EnumeratedSchemaAttributeTypeValues,
> SchemaAttributeTypeConstants,
> AttributeTypeConstants,
> SchemaObjectClassConstants,
> ObjectClassConstants,
> DASConstants
> {
>     protected static Attribute objectClassAttribute; 
>     protected static Attributes basicAttributes;
>     
>     protected static void create() 
>     {
>         objectClassAttribute    = 
>             new BasicAttribute( 
>                 OBJECT_CLASS, TOP );
>         
>         objectClassAttribute.add( 
>             META_TOP );
>         
>         basicAttributes = new BasicAttributes();
>         basicAttributes.put(objectClassAttribute);
>         basicAttributes.put( M_OBSOLETE, LDAP_FALSE );
>     }
> }
> What I want to do is leverage the work in
> this parent class here.  Notice I have
> commented out the 
> work that the parent class does.
> package org.apache.tuscany.das.ldap.schema.create;
> import javax.naming.NamingException;
> import javax.naming.directory.Attribute;
> import javax.naming.directory.BasicAttribute;
> import javax.naming.directory.BasicAttributes;
> import javax.naming.directory.DirContext;
> public class MetaTopSDOObjectClassCreator
> extends AbstractTypeCreator
> {
>     public static void create(
>         DirContext attributeTypesContext,
>         DirContext objectClassesContext,
>         String oidPrefix) 
>     throws NamingException, Exception
>     {
>         //Here's where we initialize the parent
>         AbstractTypeCreator.create();
>  
>         MComplexMayAttributeTypeCreator.create( 
>             attributeTypesContext, 
>             oidPrefix );
>         
>         MComplexMustAttributeTypeCreator.create( 
>             attributeTypesContext, 
>             oidPrefix );
>         
>         /* Commenting out the work that the parent does
>         Attribute objectClassAttribute    = 
>             new BasicAttribute( 
>                 OBJECT_CLASS, 
>                 TOP );
>         
>         objectClassAttribute.add( 
>             META_TOP );
>             */
>         
>         objectClassAttribute.add( META_OBJECT_CLASS );
>         
>         //basicAttributes = new BasicAttributes(); parent does this work
>         basicAttributes.put(objectClassAttribute);
> //        basicAttributes.put( M_OBSOLETE, LDAP_FALSE ); parent does this work
>         basicAttributes.put( M_MAY,               M_COMPLEX_MAY);
>         basicAttributes.put( M_MAY,               M_COMPLEX_MUST);
>         basicAttributes.put( M_OBSOLETE,          LDAP_FALSE );
>         basicAttributes.put( M_SUP_OBJECT_CLASS,  META_OBJECT_CLASS );
>         basicAttributes.put( M_TYPE_OBJECT_CLASS, STRUCTURAL);
>         basicAttributes.put( M_NAME,              M_META_TOP_SDO_OBJECT_CLASS);
>         basicAttributes.put( M_DESCRIPTION,      
>             "Meta ObjectClass for all SDO DataObjects" );
>         
>         String rdn = 
>             ComplexTypeRDNCreator.create( 
>                 oidPrefix,
>                 DAS_XSD_NAMESPACE,
>                 M_META_TOP_SDO_OBJECT_CLASS);
>         objectClassesContext.createSubcontext(
>             rdn, basicAttributes );
>     }
> }
> Now when I run the test
> MetaTopSDOObjectClassCreatorTest (I'll check it
> in when I check in the DAS)
> I get this:
> javax.naming.InvalidNameException: m-oid=1.3.6.1.4.1.18060.4.99985052.4991015.9998535.5410097.9495056.0251549.9857505.52551005.48: [LDAP: error code 64 - failed to add entry m-oid=1.3.6.1.4.1.18060.4.99985052.4991015.9998535.5410097.9495056.0251549.9857505.52551005.48,ou=objectClasses,cn=das,ou=schema: The parent entry of a attributeType should have a relative name of ou=attributeTypes.]; remaining name 'm-oid=1.3.6.1.4.1.18060.4.99985052.4991015.9998535.5410097.9495056.0251549.9857505.52551005.48'
> 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2943)
> 	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2758)
> However if I comment
> the line
> ===================================
> AbstractTypeCreator.create();
> ===================================
> And uncomment these:
> ===================================
> 	Attribute objectClassAttribute    = 
>             new BasicAttribute( 
>                 OBJECT_CLASS, 
>                 TOP );
>         
>         objectClassAttribute.add( 
>             META_TOP );
>         
>         objectClassAttribute.add( META_OBJECT_CLASS );
>         
>         basicAttributes = new BasicAttributes();
>         basicAttributes.put(objectClassAttribute);
>         basicAttributes.put( M_OBSOLETE, LDAP_FALSE );
> The same exact test runs fine.
> It seems to me that test should run fine in either case...
> For some reason it now thinks that I'm trying to create 
> an AttributeType entry...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.