Hi Christoph, No worries.
Glad you found what the issue was. Regards, Pierre-Arnaud Le 1 févr. 2012 à 21:19, Christoph Czurda <[email protected]> a écrit : > Hi Pierre-Arnaud, > > The mistake was on my side. I used Rdn rdn = new Rdn("cn=a,ou=b"); and > passed this to a Dn constructor. I misinterpreted the description of > class Rdn where it says that any String with a '=' is treated as a full > Rdn. When I changed it, it worked as expected. > > I'm sorry for wasting your time. > > Kind regards, > Christoph > > On 02/01/2012 02:14 PM, Christoph Czurda wrote: >> Yes, maybe it's just a version issue. Anyway, thank you for your effort. >> I will fetch the latest versions later and then report back. >> >> Kind regards, >> Christoph >> >> On 02/01/2012 01:55 PM, Pierre-Arnaud Marcelot wrote: >>> Thanks. >>> >>> I deleted my branch and imported yours from the LDIF. >>> >>> Everything works as expected. >>> >>> Here's my testing Main class: >>>> import java.io.IOException; >>>> >>>> import org.apache.directory.ldap.client.api.LdapConnectionConfig; >>>> import org.apache.directory.ldap.client.api.LdapNetworkConnection; >>>> import org.apache.directory.shared.ldap.model.exception.LdapException; >>>> import org.apache.directory.shared.ldap.model.name.Dn; >>>> >>>> >>>> public class Main >>>> { >>>> public static void main( String[] args ) throws LdapException, >>>> IOException >>>> { >>>> String dnString = >>>> "cn=testAttribute,ou=attributes,cn=testUser,ou=users,ou=userdata,dc=openengsb,dc=org"; >>>> Dn dn = new Dn( dnString ); >>>> >>>> LdapConnectionConfig config = new LdapConnectionConfig(); >>>> config.setLdapHost( "localhost" ); >>>> config.setLdapPort( 10389 ); >>>> config.setName( "uidmin,ou=system" ); >>>> config.setCredentials( "secret" ); >>>> >>>> LdapNetworkConnection connection = new LdapNetworkConnection( >>>> config ); >>>> >>>> connection.bind(); >>>> >>>> System.out.println( connection.exists( dnString ) ); >>>> System.out.println( connection.exists( dn ) ); >>>> System.out.println( connection.exists( dn.getName() ) ); >>>> >>>> connection.close(); >>>> } >>>> } >>> >>> That's really weird you're getting an error. >>> >>> In my testing environment I'm using both trunk versions of API/Shared and >>> ApacheDS. >>> Maybe there was a bug in previous versions and it got fixed in between… >>> >>> Regards, >>> Pierre-Arnaud >>> >>> On 1 févr. 2012, at 13:42, Christoph Czurda wrote: >>> >>>> Here it is. >>>> Thank you, >>>> Christoph >>>> >>>> On 02/01/2012 01:29 PM, Pierre-Arnaud Marcelot wrote: >>>>> Thanks. >>>>> >>>>> It's funny, but I really can't replicate the issue. >>>>> >>>>> When I use these three ways to access the information, they all succeed >>>>> and print "true": >>>>>> System.out.println( connection.exists( dnString ) ); >>>>>> System.out.println( connection.exists( dn ) ); >>>>>> System.out.println( connection.exists( dn.getName() ) ); >>>>> >>>>> >>>>> Could you also attach the LDIF of the 'dc=openengsb,dc=org' branch please? >>>>> Maybe I'm missing something here... >>>>> >>>>> Thanks, >>>>> Pierre-Arnaud >>>>> >>>>> >>>>> On 1 févr. 2012, at 13:22, Christoph Czurda wrote: >>>>> >>>>>> >>>>>> >>>>>> On 02/01/2012 01:13 PM, Pierre-Arnaud Marcelot wrote: >>>>>>> Christoph, >>>>>>> >>>>>>> I guess the 'cn=testAttribute' entry is an instance of the >>>>>>> 'openengsb-namedObject' Object Class, right? >>>>>> Yes, that's correct. >>>>>>> >>>>>>> Regards, >>>>>>> Pierre-Arnaud >>>>>>> >>>>>>> >>>>>>> On 1 févr. 2012, at 12:26, Christoph Czurda wrote: >>>>>>> >>>>>>>> Hi Pierre-Arnaud, >>>>>>>> >>>>>>>> I attached the ldif file. Btw, I used the LdapNetworkConnection as >>>>>>>> proposed in another thread. While it enabled my custom schema, it still >>>>>>>> gives the same result for this particular unit test. >>>>>>>> >>>>>>>> If you have the time, feel free to comment on my schema. It is my first >>>>>>>> schema and I appreciate any feedback. >>>>>>>> >>>>>>>> Kind regards, >>>>>>>> Christoph >>>>>>>> >>>>>>>> On 02/01/2012 11:34 AM, Pierre-Arnaud Marcelot wrote: >>>>>>>>> Thanks Christoph, >>>>>>>>> >>>>>>>>> I replicated the whole hierarchy of the DN you gave with standard >>>>>>>>> schema element and I have not been able to reproduce the issue. >>>>>>>>> >>>>>>>>> As you mentioned in another mail, you're using a custom schema for >>>>>>>>> your own set of Attribute Types and Object Classes. >>>>>>>>> Would you be allowed to share it with us (even in a private email, >>>>>>>>> not on the ML), so we can replicate the issue and found out more >>>>>>>>> about this strange issue? >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Pierre-Arnaud >>>>>>>>> >>>>>>>>> >>>>>>>>> On 1 févr. 2012, at 10:40, Christoph Czurda wrote: >>>>>>>>> >>>>>>>>>> On 02/01/2012 10:34 AM, Pierre-Arnaud Marcelot wrote: >>>>>>>>>>> Hi Christoph, >>>>>>>>>>> >>>>>>>>>>> Could we have a look at the full DN you're using? >>>>>>>>>> Sure, here it is: >>>>>>>>>> cn=testAttribute,ou=attributes,cn=testUser,ou=users,ou=userdata,dc=openengsb,dc=org >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Pierre-Arnaud >>>>>>>>>>> >>>>>>>>>>> On 1 févr. 2012, at 06:16, Christoph Czurda wrote: >>>>>>>>>>> >>>>>>>>>>>> Hello! >>>>>>>>>>>> >>>>>>>>>>>> I came accross a strange issue in a unit test. (server ApacheDS >>>>>>>>>>>> 2.0) >>>>>>>>>>>> >>>>>>>>>>>> Testing connection.exists(Dn dn) returns false. >>>>>>>>>>>> When I test the String overload with the same dn I get true. >>>>>>>>>>>> >>>>>>>>>>>> The code can probably explain better than words: >>>>>>>>>>>> >>>>>>>>>>>> Dn dn; >>>>>>>>>>>> //dn is initialized with an existing Dn. >>>>>>>>>>>> >>>>>>>>>>>> //this test passes: >>>>>>>>>>>> assertThat(connection.exists(dn.getName()), is(true)); >>>>>>>>>>>> >>>>>>>>>>>> //this fails. AssertionError: expected true, got false >>>>>>>>>>>> assertThat(connection.exists(dn), is(true)); >>>>>>>>>>>> >>>>>>>>>>>> How can that be? exists(Dn) works fine in other tests. >>>>>>>>>>>> >>>>>>>>>>>> Maybe I should mention that I get lots of these messages: >>>>>>>>>>>> >>>>>>>>>>>> 2012-02-01 05:56:00,730 [NioProcessor-2] WARN >>>>>>>>>>>> org.apache.directory.shared.asn1.ber.Asn1Decoder - >>>>>>>>>>>> ERR_00043_REMAINING_BYTES_FOR_DECODED_PDU The PDU has been fully >>>>>>>>>>>> decoded >>>>>>>>>>>> but there are still bytes in the buffer. >>>>>>>>>>>> >>>>>>>>>>>> But they occur with almost every message sent to the server. Btw, >>>>>>>>>>>> can I >>>>>>>>>>>> get rid of them somehow? >>>>>>>>>>>> >>>>>>>>>>>> Kind regards, >>>>>>>>>>>> Christoph >>>>>>>>>>> >>>>>>>>> >>>>>>>> <openengsbSchema.ldif> >>>>>>> >>>>> >>>> <openengsb-branch.ldif><openengsb-branch-with-operational-attributes.ldif> >>> >>>
