Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 73187 invoked from network); 30 Nov 2009 13:50:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Nov 2009 13:50:26 -0000 Received: (qmail 4053 invoked by uid 500); 30 Nov 2009 13:50:25 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 3955 invoked by uid 500); 30 Nov 2009 13:50:24 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Delivered-To: moderator for dev@directory.apache.org Received: (qmail 80086 invoked by uid 99); 30 Nov 2009 13:36:26 -0000 X-ASF-Spam-Status: No, hits=-2.4 required=5.0 tests=BAYES_00,HTML_MESSAGE,SUBJECT_FUZZY_TION X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of samodelkin.m@tut.by designates 209.85.217.219 as permitted sender) MIME-Version: 1.0 In-Reply-To: References: Date: Mon, 30 Nov 2009 15:35:54 +0200 Message-ID: Subject: Re: ApacheDS oracle partition. From: =?KOI8-R?B?88HNz8TFzMvJziDtycjBycw=?= To: Andrea Gariboldi , dev@directory.apache.org, akarasulu@gmail.com Content-Type: multipart/alternative; boundary=001636c927b47eb0fd047996b88f --001636c927b47eb0fd047996b88f Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable Hello Andrea, Great! Now oracle partition works fine with modify operation. *And now, my JUnit tests fails only in two cases: if I define very long LDA= P search filter,* Exception occured during LDAP processing; nested exception is javax.naming. NamingException: [LDAP: error code 80 - OTHER: failed for SearchRequest baseDn: ' 0.9.2342.19200300.100.1.25=3Dexample, 0.9.2342.19200300.100.1.25=3Dcom ' filter: ' (AND (1.137 =3D *) (1.143> =3D200) (| (1.137 =3D*some_som= e_value *) (1.144 =3D*name *) (1.138 =3D*name *)) (| (1.119=3Dsome_value_5) (1.119=3Dsome_value_6) (1.119=3Dsome_value_7) (1.119=3Dsome_value_8) (1.119=3Dsome_value_9) (1.119=3Dsome_value_14) (1.119=3Dsome_value_13) (1.119=3Dsome_value_12) (1.119=3Dsome_value_11) (1.119=3Dsome_value_10) (1.119=3Dsome_value_15) (1.119=3Dsome_value_16) (1.119=3Dsome_value_17) (1.119=3Dsome_value_18) (1.119=3Dsome_value_19) (1.119=3Dsome_value_20) (1.119=3Dsome_value_21) (1.119=3Dsome_value_22) (1.119=3Dsome_value_23) (1.119=3Dsome_value_24) (1.119=3Dsome_value_29) (1.119=3Dsome_value_28) (1.119=3Dsome_value_27) (1.119=3Dsome_value_26) (1.119=3Dsome_value_25) (1.119=3Dsome_value_30) (1.119=3Dsome_value_31) (1.119=3Dsome_value_32) (1.119=3Dsome_value_33) (1.119=3Dvalue3333)) (| (0.9.2342.19200300.100.1.1=3Duser_3) (0.9.2342.19200300.100.1.1=3Duser_2) (0.9.2342.19200300.100.1.1=3Duser_1)) (2.5.4.0=3DUsers)) ' scope: whole subtree typesOnly: false Size Limit: no limit Time Limit: no limit Deref Aliases: deref Always attributes: : ORA-01460: unimplemented or unreasonable conversion requested ]; remaining name ' / ' But in my case i would implement search by data base VIEW using your indexe= d tables for each attribute, because ApacheDS does not support server side paging. *And when I try to modify entry Distinguished Name (to reproduce this, you can simply create an user entry with objectClass=3DinetOrgPerson in ApacheD= S Studio, and set for it cn=3D"user_0" and than try to modify "cn" to cn=3D"user_0_newDN"), * [15:09:13] DEBUG [org.apache.directory.shared.ldap.codec. TwixEncoder] - Encoding this LdapMessage: LdapMessage message Id: 5 Modify DN Response Ldap Result Result code: (NO_SUCH_OBJECT) noSuchObject Matched DN: ' ou=3DUsers, dc=3Dexample, dc=3Dcom ' Error message: ' NO_SUCH_OBJECT: failed for ModifyDN Response Entry: ' 0.9.2342.19200300.100.1.1=3Duser_0,2.5.4.11=3DUsers, 0.9.2342.19200300.100.1.25=3Dexample, 0.9.2342.19200300.100.1.25=3Dcom ' New RDN: ' 0.9.2342.19200300.100.1.1=3Duser_0_newDN Delete old RDN: true : Attempt to lookup non-existant entry: uid=3Duser_0, ou =3D Users, dc=3Dex= ample, dc=3Dcom: org.apache.directory.shared.ldap.exception. LdapNameNotFoundException: Attempt to lookup non-existant entry: uid=3Duser_0, ou=3DUsers, dc=3Dexampl= e, dc=3Dcom at org.apache.directory.server.core.exception. ExceptionInterceptor.assertHasEntry (ExceptionInterceptor.java:581) at org.apache.directory.server.core.exception. ExceptionInterceptor.lookup (ExceptionInterceptor.java:305) at org.apache.directory.server.core.interceptor. InterceptorChain$Entry$1.lookup (InterceptorChain.java:1279) at org.apache.directory.server.core.interceptor. BaseInterceptor.lookup (BaseInterceptor.java:178) at org.apache.directory.server.core.interceptor. InterceptorChain.lookup (InterceptorChain.java:889) at org.apache.directory.server.core. DefaultOperationManager.lookup (DefaultOperationManager.java:609) at org.apache.directory.server.core.interceptor.context. AbstractOperationContext.lookup (AbstractOperationContext.java:345) at org.apache.directory.server.core.authz. AciAuthorizationInterceptor.rename (AciAuthorizationInterceptor.java:804) at org.apache.directory.server.core.interceptor. InterceptorChain$Entry$1.rename (InterceptorChain.java:1321) at org.apache.directory.server.core.referral. ReferralInterceptor.rename (ReferralInterceptor.java:376) at org.apache.directory.server.core.interceptor. InterceptorChain$Entry$1.rename (InterceptorChain.java:1321) at org.apache.directory.server.core.authn. AuthenticationInterceptor.renam= e (AuthenticationInterceptor.java:349) at org.apache.directory.server.core.interceptor. InterceptorChain$Entry$1.rename (InterceptorChain.java:1321) at org.apache.directory.server.core.normalisation. NormalizationInterceptor.rename (NormalizationInterceptor.java:161) at org.apache.directory.server.core.interceptor. InterceptorChain.rename (InterceptorChain.java:934) at org.apache.directory.server.core. DefaultOperationManager.rename (DefaultOperationManager.java:980) at org.apache.directory.server.core. DefaultCoreSession.rename (DefaultCoreSession.java:901) at org.apache.directory.server.core. DefaultCoreSession.rename (DefaultCoreSession.java:887) at org.apache.directory.server.ldap.handlers. ModifyDnHandler.handle (ModifyDnHandler.java:99) at org.apache.directory.server.ldap.handlers. ModifyDnHandler.handle (ModifyDnHandler.java:40) at org.apache.directory.server.ldap.handlers. LdapRequestHandler.handleMessage (LdapRequestHandler.java:176) at org.apache.directory.server.ldap.handlers. LdapRequestHandler.handleMessage (LdapRequestHandler.java:56) at org.apache.mina.handler.demux. DemuxingIoHandler.messageReceived (DemuxingIoHandler.java:232) at org.apache.directory.server.ldap. LdapProtocolHandler.messageReceived (LdapProtocolHandler.java:194) at org.apache.mina.core.filterchain. DefaultIoFilterChain$TailFilter.messageReceived (DefaultIoFilterChain.java:721) at org.apache.mina.core.filterchain. DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterChain.java:433= ) at org.apache.mina.core.filterchain. DefaultIoFilterChain.access$1200 (DefaultIoFilterChain.java:47) at org.apache.mina.core.filterchain. DefaultIoFilterChain$EntryImpl$1.messageReceived (DefaultIoFilterChain.java:801) at org.apache.mina.core.filterchain. IoFilterEvent.fire (IoFilterEvent.java:71) at org.apache.mina.core.session. IoEvent.run (IoEvent.java:63) at org.apache.mina.filter.executor. UnorderedThreadPoolExecutor$Worker.runTask (UnorderedThreadPoolExecutor.java:480) at org.apache.mina.filter.executor. UnorderedThreadPoolExecutor$Worker.run (UnorderedThreadPoolExecutor.java:434) at java.lang. Thread.run (Unknown Source) ' Also there are small remarks concerning server.xml, you seem have forgotten to correct xmlns =3D "http://apacheds.org/config/1.5.5-SNAPSHOT" to xmlns =3D "http://apacheds.org/config/1.5.5" and may be section with user name from "dsorapart" to "apacheds" in dsorapart2 dsorapart2 thin 1521 localhost db10g Thank you. 2009/11/28 Andrea Gariboldi > Ok Mikhail, > this is what you should do to patch your site: > > 1. sqlplus /@ @newfacade.sql > > 2. use the new apacheds-oracle-1.5.5.jar > > 3. let me know > > I've tested it with add/replace/remove all/remove specific value, and it > seems > to work smoothly. > > You can download sources and binaries here: > https://issues.apache.org/jira/browse/DIRSERVER-1345 > > > https://issues.apache.org/jira/secure/attachment/12426307/apacheds-oracle= -1.5.5.tar.gz(contains the apacheds-oracle-1.5.5.jar) > > https://issues.apache.org/jira/secure/attachment/12426308/newfacade.sql(p= atch for your plsql) > > This wants to be a pretty good release for 1.5.5, a beta oracle backend f= or > users, the final integration > should come with 2.x releases.. > > cheers, > Andrea > > > 2009/11/27 Andrea Gariboldi > >> Thanks Mikhail, >> i can confirm you that when i introduced the partition_facade i lost >> the way the modify method was working in the previous version... >> >> So i am going to modify the partition_facade mechanism (package, and >> pl/sql to java object bridge) >> to handle correctly the modification object. >> >> Cheers, >> Andrea >> >> 2009/11/27 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC >> >> It will be cool! >>> >>> Then I will explain a cause of error little bit in more details, it is >>> possible it will be useful. >>> >>> Your "modify" method looks like below. >>> >>> public void modify (ModifyOperationContext ctx) throws Exception >>> { >>> executeDml ("begin partition_facade.modify (?); end;", >>> OracleEntry.fromServerEntry(*((ServerEntry) >>> ctx.getEntry().getClonedEntry ())*, this)); >>> } >>> >>> In the debug mode, I have found out that "modify" method calls two time= s. >>> For example if i have to modify attribute "city" for entry with >>> distinguished name "uid=3Duser1, ou=3DUsers, dc=3Dexample, dc=3Dcom" f= irst time >>> call of modify method obtain "*ModifyOperationContext ctx*" and its >>> toString() value looks like: >>> >>> * ModifyContext for DN ' uid=3Duser1, ou=3DUsers, dc=3Dexample, dc=3Dco= m ', >>> modifications >>> Modification: replace >>> attribute: city: London* >>> >>> and on this first time call, method not throw NullPointerException >>> because >>> *(ServerEntry) ctx.getEntry ()* >>> is not null. >>> >>> But on the second time call, modify method obtain "*ModifyOperationCont= ext >>> ctx*" with toString() value witch looks like: >>> >>> *ModifyContext for DN ' uid=3Duser1, ou=3DUsers, dc=3Dexample, dc=3Dco= m ', >>> modifications: >>> Modification: replace >>> attribute: modifiersName: 0.9.2342.19200300.100.1.1=3Dadmin, >>> 2.5.4.11=3Dsystem >>> >>> Modification: replace >>> attribute: modifyTimestamp: 20091127160318Z* >>> >>> and now *(ServerEntry) ctx.getEntry ()* return null. and method fails >>> here >>> * ((ServerEntry) ctx.getEntry ().getClonedEntry ()).* >>> >>> May be with previous version of ApacheDs this method was not called two >>> times... >>> >>> Thank you. >>> >>> Best Regards, >>> *Mikhail Samadzelkin* >>> >>> >>> 2009/11/27 Andrea Gariboldi >>> >>> Ok Mikhail, >>>> i've seen that the pom.xml file still have some 1.5.5-SNAPSHOT >>>> reference becuse >>>> it was developed during 1.5.4 / 1.5.5-SNAPSHOT period. Probably the be= st >>>> thing to do is >>>> to cleanup the project a bit (i'am going to do it this week-end) so th= at >>>> it will be >>>> consistent for 1.5.5 production Apache DS release, and we can work on >>>> the same code. >>>> >>>> Then i will update the issue >>>> http://issues.apache.org/jira/browse/DIRSERVER-1345, >>>> so that you can download the new package.. >>>> >>>> Andrea >>>> >>>> >>>> >>>> >>>> >>>> 2009/11/26 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC >>>> >>>>> Andrea, Hi again. >>>>> >>>>> =F3=C5=CA=DE=C1=D3 =D1 =D0=C5=D2=C5=CB=CF=CD=D0=C9=CC=C9=D2=CF=D7=C1= =CC =D7=D3=C5 =DA=C1=CE=CF=D7=CF =D3 =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE=C9= =C5=CD maven, =C9 =D3 =D5=DE=C5=D4=CF=CD >>>>> =CE=CF=D7=CF=C7=CF =CB=CF=C4=C1 >>>>> in OracleEntryCursorAdaptor.java >>>>> and in OraclePartition.java >>>>> =C9 =D0=CF=CC=D5=DE=C9=CC =D3=CC=C5=C4=D5=C0=DD=C9=CA apacheds-oracle= -1.5.5-new-test.jar see attach. new >>>>> pom.xml and server.xml also attached. >>>>> >>>>> But i have the same exception on modify operation: >>>>> java.lang.NullPointerException >>>>> at >>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.mod= ify(OraclePartition.java:372) >>>>> ..... >>>>> >>>>> >>>>> 2009/11/26 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC >>>>> >>>>> Hello Andrea, >>>>>> I did not modify anything else in java code, except what are describ= ed >>>>>> in your *.patch files. >>>>>> >>>>>> in OracleEntryCursorAdaptor.java >>>>>> >>>>>> -import org.apache.directory.server.core.cursor. AbstractCursor; >>>>>> +import org.apache.directory.shared.ldap.cursor. AbstractCursor; >>>>>> >>>>>> in OraclePartition.java >>>>>> >>>>>> - executeDml ("begin partition_facade.move_and_rename (?????); end;"= , >>>>>> toReversedDn (ctx.getParent ()), >>>>>> + executeDml ("begin partition_facade.move_and_rename (????); end;", >>>>>> toReversedDn (ctx.getParent ()), >>>>>> >>>>>> >>>>>> ctx.getNewRdn ().getNormName (), >>>>>> - ctx.getParent ().getUpName (), >>>>>> - ctx.getNewRdn ().getUpName (), >>>>>> + ctx.getNewRdn ().getUpName () + "," +ctx.getParent ().getUpName ()= , >>>>>> >>>>>> toReversedDn (ctx.getDn ())); >>>>>> >>>>>> But I changed server.xml file (see attachment), because with >>>>>> server.xml file whitch provided with this version of oracle >>>>>> partition apacheds-oracle.tar.gz, >>>>>> apacheds-oracle.tar.gz(\apacheds-oracle\oracle\server.xml) a server = throws >>>>>> an exception and not starts. >>>>>> >>>>>> [12:20:22] ERROR [org.apache.directory.daemon. Bootstrapper] - Faile= d >>>>>> on null.init (InstallationLayout, String []) >>>>>> org.springframework.beans.factory. BeanDefinitionStoreException: *Un= recognized >>>>>> xbean namespace mapping: http://apacheds.org/config/1.5.5-SNAPSHOT* >>>>>> at org.apache.xbean.spring.context.v2c. >>>>>> XBeanNamespaceHandler.parseBeanFromExtensionElement >>>>>> (XBeanNamespaceHandler.java:277) >>>>>> at org.apache.xbean.spring.context.v2c. XBeanNamespaceHandler.parse >>>>>> (XBeanNamespaceHandler.java:155) >>>>>> at org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse >>>>>> (XBeanNamespaceHandler.java:49) >>>>>> at org.springframework.beans.factory.xml. >>>>>> BeanDefinitionParserDelegate.parseCustomElement >>>>>> (BeanDefinitionParserDelegate.java:1297) >>>>>> at org.springframework.beans.factory.xml. >>>>>> BeanDefinitionParserDelegate.parseCustomElement >>>>>> (BeanDefinitionParserDelegate.java:1287) >>>>>> at >>>>>> org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader= .parseBeanDefinitions >>>>>> (XBeanBeanDefinitionDocumentReader.java:84) >>>>>> at org.springframework.beans.factory.xml. >>>>>> DefaultBeanDefinitionDocumentReader.registerBeanDefinitions >>>>>> (DefaultBeanDefinitionDocumentReader.java:92) >>>>>> at org.springframework.beans.factory.xml. >>>>>> XmlBeanDefinitionReader.registerBeanDefinitions >>>>>> (XmlBeanDefinitionReader.java:507) >>>>>> at >>>>>> org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.regi= sterBeanDefinitions >>>>>> (XBeanXmlBeanDefinitionReader.java:79) >>>>>> at org.springframework.beans.factory.xml. >>>>>> XmlBeanDefinitionReader.doLoadBeanDefinitions >>>>>> (XmlBeanDefinitionReader.java:398) >>>>>> at org.springframework.beans.factory.xml. >>>>>> XmlBeanDefinitionReader.loadBeanDefinitions >>>>>> (XmlBeanDefinitionReader.java:342) >>>>>> at org.springframework.beans.factory.xml. >>>>>> XmlBeanDefinitionReader.loadBeanDefinitions >>>>>> (XmlBeanDefinitionReader.java:310) >>>>>> at org.springframework.beans.factory.support. >>>>>> AbstractBeanDefinitionReader.loadBeanDefinitions >>>>>> (AbstractBeanDefinitionReader.java:143) >>>>>> at org.springframework.beans.factory.support. >>>>>> AbstractBeanDefinitionReader.loadBeanDefinitions >>>>>> (AbstractBeanDefinitionReader.java:178) >>>>>> at org.springframework.beans.factory.support. >>>>>> AbstractBeanDefinitionReader.loadBeanDefinitions >>>>>> (AbstractBeanDefinitionReader.java:149) >>>>>> at org.springframework.beans.factory.support. >>>>>> AbstractBeanDefinitionReader.loadBeanDefinitions >>>>>> (AbstractBeanDefinitionReader.java:212) >>>>>> at org.springframework.context.support. >>>>>> AbstractXmlApplicationContext.loadBeanDefinitions >>>>>> (AbstractXmlApplicationContext.java:113) >>>>>> at org.apache.xbean.spring.context. >>>>>> FileSystemXmlApplicationContext.loadBeanDefinitions >>>>>> (FileSystemXmlApplicationContext.java:168) >>>>>> at org.springframework.context.support. >>>>>> AbstractRefreshableApplicationContext.refreshBeanFactory >>>>>> (AbstractRefreshableApplicationContext.java:123) >>>>>> at org.springframework.context.support. >>>>>> AbstractApplicationContext.obtainFreshBeanFactory >>>>>> (AbstractApplicationContext.java:422) >>>>>> at org.springframework.context.support. >>>>>> AbstractApplicationContext.refresh (AbstractApplicationContext.java:= 352) >>>>>> at org.apache.xbean.spring.context. FileSystemXmlApplicationContext= . >>>>>> (FileSystemXmlApplicationContext.java:149) >>>>>> at org.apache.xbean.spring.context. FileSystemXmlApplicationContext= . >>>>>> (FileSystemXmlApplicationContext.java:48) >>>>>> at org.apache.directory.server. Service.initLdap (Service.java:113) >>>>>> at org.apache.directory.server. Service.init (Service.java:78) >>>>>> at org.apache.directory.daemon. Bootstrapper.callInit >>>>>> (Bootstrapper.java:154) >>>>>> at org.apache.directory.daemon. TanukiBootstrapper.start >>>>>> (TanukiBootstrapper.java:54) >>>>>> at org.tanukisoftware.wrapper. WrapperManager$12.run >>>>>> (WrapperManager.java:2788) >>>>>> >>>>>> Also I have compiled your code in jar file with eclipse (not with >>>>>> maven) it also attached. >>>>>> >>>>>> Probably mine above actions, could entail, null pointer exception in >>>>>> >>>>>> public void modify (ModifyOperationContext ctx) method. >>>>>> witch i describe in previous letters. >>>>>> >>>>>> But I repeat, operations create, search, delete work normally. >>>>>> >>>>>> May be You can send to me your current version of server.xml, and >>>>>> apacheds-oracle-1.5.5-SNAPSHOT.jar with applied "mar.patch" and >>>>>> "OracleEntryCursorAdaptor.patch" patches, to test modify operation w= ith you >>>>>> files on my environment? >>>>>> >>>>>> Lets summarize: >>>>>> >>>>>> attached apacheds-oracle-1.5.5-SNAPSHOT.jar file i I took from this >>>>>> version of oracle partition apacheds-oracle.tar.gz(\apacheds-= oracle\target\) >>>>>> >>>>>> apacheds-oracle-1.5.5-test.jar contains compiled code with taken int= o >>>>>> consideration changes in OracleEntryCursorAdaptor.java and in >>>>>> OraclePartition.java. >>>>>> >>>>>> combination with_my_changes_server.xml + >>>>>> apacheds-oracle-1.5.5-test.jar works fine for search, delete, create >>>>>> operation. >>>>>> other combinations does not works on my environment. >>>>>> >>>>>> Thank you very much. >>>>>> >>>>>> 25 =CE=CF=D1=C2=D2=D1 2009 =C7. 18:08 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5= =CC=D8 Andrea Gariboldi < >>>>>> andrea.gariboldi@gmail.com> =CE=C1=D0=C9=D3=C1=CC: >>>>>> >>>>>> Hi Mikhail, >>>>>>> did you modified anything else on the class? >>>>>>> >>>>>>> Could you please write to the dev@directory.apache.org, >>>>>>> so that others can see the thread? >>>>>>> >>>>>>> Andrea >>>>>>> >>>>>>> 2009/11/24 Alex Karasulu >>>>>>> >>>>>>> Hey this is great Andrea! Thanks for helping out. But guys this >>>>>>>> should all be going onto the dev mailing list. Can you please for= ward these >>>>>>>> to the dev list so everyone can see this good interaction? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Alex >>>>>>>> >>>>>>>> >>>>>>>> 2009/11/24 Andrea Gariboldi >>>>>>>> >>>>>>>>> Could you please attach you OraclePartition.java? >>>>>>>>> >>>>>>>>> Andrea >>>>>>>>> >>>>>>>>> 2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC >>>>>>>>> >>>>>>>>>> The key part of log below. And full log in attachment. This trac= e >>>>>>>>>> appiars only with DEBUG mode in log4j.properties. >>>>>>>>>> >>>>>>>>>> [18:00:36] DEBUG >>>>>>>>>> [org.apache.directory.server.ldap.handlers.LdapRequestHandler] -= OTHER: >>>>>>>>>> failed for Modify Request >>>>>>>>>> Object : >>>>>>>>>> '0.9.2342.19200300.100.1.1=3Ddddd,0.9.2342.19200300.100.1.25=3Ds= upplyon,0.9.2342.19200300.100.1.25=3Dcom' >>>>>>>>>> >>>>>>>>>> Modification[0] >>>>>>>>>> Operation : replace >>>>>>>>>> Modification >>>>>>>>>> cn: ssssssss >>>>>>>>>> : null >>>>>>>>>> java.lang.NullPointerException >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartitio= n.modify(OraclePartition.java:321) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus= .modify(DefaultPartitionNexus.java:845) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.operational.OperationalAttribut= eInterceptor.modify(OperationalAttributeInterceptor.java:248) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.exception.ExceptionInterceptor.= modify(ExceptionInterceptor.java:367) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authz.DefaultAuthorizationInter= ceptor.modify(DefaultAuthorizationInterceptor.java:273) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authz.AciAuthorizationIntercept= or.modify(AciAuthorizationInterceptor.java:565) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.referral.ReferralInterceptor.mo= dify(ReferralInterceptor.java:403) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authn.AuthenticationInterceptor= .modify(AuthenticationInterceptor.java:336) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.normalization.NormalizationInte= rceptor.modify(NormalizationInterceptor.java:146) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain.mo= dify(InterceptorChain.java:821) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultOperationManager.modify(= DefaultOperationManager.java:691) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(Defau= ltCoreSession.java:829) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(Defau= ltCoreSession.java:815) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(M= odifyHandler.java:56) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(M= odifyHandler.java:39) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.LdapRequestHandler.han= dleMessage(LdapRequestHandler.java:176) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.LdapRequestHandler.han= dleMessage(LdapRequestHandler.java:56) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(= DemuxingIoHandler.java:232) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.LdapProtocolHandler.messageRece= ived(LdapProtocolHandler.java:194) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter= .messageReceived(DefaultIoFilterChain.java:721) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMe= ssageReceived(DefaultIoFilterChain.java:433) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$120= 0(DefaultIoFilterChain.java:47) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$= 1.messageReceived(DefaultIoFilterChain.java:801) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEven= t.java:71) >>>>>>>>>> at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Work= er.runTask(UnorderedThreadPoolExecutor.java:480) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Work= er.run(UnorderedThreadPoolExecutor.java:434) >>>>>>>>>> at java.lang.Thread.run(Unknown Source) >>>>>>>>>> [18:00:36] DEBUG >>>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixTransformer] - Trans= forming >>>>>>>>>> message type MODIFY_RESPONSE >>>>>>>>>> [18:00:36] DEBUG >>>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixTransformer] - Trans= formed >>>>>>>>>> message : LdapMessage >>>>>>>>>> message Id : 23 >>>>>>>>>> Modify Response >>>>>>>>>> Ldap Result >>>>>>>>>> Result code : (OTHER) other >>>>>>>>>> Matched DN : '' >>>>>>>>>> Error message : 'OTHER: failed for Modify Reques= t >>>>>>>>>> Object : >>>>>>>>>> '0.9.2342.19200300.100.1.1=3Ddddd,0.9.2342.19200300.100.1.25=3Ds= upplyon,0.9.2342.19200300.100.1.25=3Dcom' >>>>>>>>>> >>>>>>>>>> Modification[0] >>>>>>>>>> Operation : replace >>>>>>>>>> Modification >>>>>>>>>> cn: ssssssss >>>>>>>>>> : null: >>>>>>>>>> java.lang.NullPointerException >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartitio= n.modify(OraclePartition.java:321) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus= .modify(DefaultPartitionNexus.java:845) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.operational.OperationalAttribut= eInterceptor.modify(OperationalAttributeInterceptor.java:248) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.exception.ExceptionInterceptor.= modify(ExceptionInterceptor.java:367) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authz.DefaultAuthorizationInter= ceptor.modify(DefaultAuthorizationInterceptor.java:273) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authz.AciAuthorizationIntercept= or.modify(AciAuthorizationInterceptor.java:565) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.referral.ReferralInterceptor.mo= dify(ReferralInterceptor.java:403) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authn.AuthenticationInterceptor= .modify(AuthenticationInterceptor.java:336) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.normalization.NormalizationInte= rceptor.modify(NormalizationInterceptor.java:146) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain.mo= dify(InterceptorChain.java:821) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultOperationManager.modify(= DefaultOperationManager.java:691) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(Defau= ltCoreSession.java:829) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(Defau= ltCoreSession.java:815) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(M= odifyHandler.java:56) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(M= odifyHandler.java:39) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.LdapRequestHandler.han= dleMessage(LdapRequestHandler.java:176) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.LdapRequestHandler.han= dleMessage(LdapRequestHandler.java:56) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(= DemuxingIoHandler.java:232) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.LdapProtocolHandler.messageRece= ived(LdapProtocolHandler.java:194) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter= .messageReceived(DefaultIoFilterChain.java:721) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMe= ssageReceived(DefaultIoFilterChain.java:433) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$120= 0(DefaultIoFilterChain.java:47) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$= 1.messageReceived(DefaultIoFilterChain.java:801) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEven= t.java:71) >>>>>>>>>> at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Work= er.runTask(UnorderedThreadPoolExecutor.java:480) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Work= er.run(UnorderedThreadPoolExecutor.java:434) >>>>>>>>>> at java.lang.Thread.run(Unknown Source) >>>>>>>>>> ' >>>>>>>>>> >>>>>>>>>> [18:00:36] DEBUG >>>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixEncoder] - Encoding = this >>>>>>>>>> LdapMessage : LdapMessage >>>>>>>>>> message Id : 23 >>>>>>>>>> Modify Response >>>>>>>>>> Ldap Result >>>>>>>>>> Result code : (OTHER) other >>>>>>>>>> Matched DN : '' >>>>>>>>>> Error message : 'OTHER: failed for Modify Reques= t >>>>>>>>>> Object : >>>>>>>>>> '0.9.2342.19200300.100.1.1=3Ddddd,0.9.2342.19200300.100.1.25=3Ds= upplyon,0.9.2342.19200300.100.1.25=3Dcom' >>>>>>>>>> >>>>>>>>>> Modification[0] >>>>>>>>>> Operation : replace >>>>>>>>>> Modification >>>>>>>>>> cn: ssssssss >>>>>>>>>> : null: >>>>>>>>>> java.lang.NullPointerException >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartitio= n.modify(OraclePartition.java:321) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus= .modify(DefaultPartitionNexus.java:845) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.operational.OperationalAttribut= eInterceptor.modify(OperationalAttributeInterceptor.java:248) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.exception.ExceptionInterceptor.= modify(ExceptionInterceptor.java:367) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authz.DefaultAuthorizationInter= ceptor.modify(DefaultAuthorizationInterceptor.java:273) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authz.AciAuthorizationIntercept= or.modify(AciAuthorizationInterceptor.java:565) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.referral.ReferralInterceptor.mo= dify(ReferralInterceptor.java:403) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.authn.AuthenticationInterceptor= .modify(AuthenticationInterceptor.java:336) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$En= try$1.modify(InterceptorChain.java:1216) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.normalization.NormalizationInte= rceptor.modify(NormalizationInterceptor.java:146) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain.mo= dify(InterceptorChain.java:821) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultOperationManager.modify(= DefaultOperationManager.java:691) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(Defau= ltCoreSession.java:829) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(Defau= ltCoreSession.java:815) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(M= odifyHandler.java:56) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(M= odifyHandler.java:39) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.LdapRequestHandler.han= dleMessage(LdapRequestHandler.java:176) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.handlers.LdapRequestHandler.han= dleMessage(LdapRequestHandler.java:56) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(= DemuxingIoHandler.java:232) >>>>>>>>>> at >>>>>>>>>> org.apache.directory.server.ldap.LdapProtocolHandler.messageRece= ived(LdapProtocolHandler.java:194) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter= .messageReceived(DefaultIoFilterChain.java:721) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMe= ssageReceived(DefaultIoFilterChain.java:433) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$120= 0(DefaultIoFilterChain.java:47) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$= 1.messageReceived(DefaultIoFilterChain.java:801) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEven= t.java:71) >>>>>>>>>> at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Work= er.runTask(UnorderedThreadPoolExecutor.java:480) >>>>>>>>>> at >>>>>>>>>> org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Work= er.run(UnorderedThreadPoolExecutor.java:434) >>>>>>>>>> at java.lang.Thread.run(Unknown Source) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Best Regards, >>>>>>>>>> *Mikhail Samadzelkin* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2009/11/24 Andrea Gariboldi >>>>>>>>>> >>>>>>>>>>> Can you check the apacheds server log files for exceptions? >>>>>>>>>>> I cannot reproduce the error in my env.. >>>>>>>>>>> >>>>>>>>>>> Andrea >>>>>>>>>>> >>>>>>>>>>> 2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC >>>>>>>>>>> >>>>>>>>>>>> Thank you very much Andrea, now this method looks like below, >>>>>>>>>>>> >>>>>>>>>>>> public void moveAndRename(final >>>>>>>>>>>> MoveAndRenameOperationContext ctx) throws Exception { >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> executeDml("begin >>>>>>>>>>>> partition_facade.move_and_rename(?,?,?,?); end;", new Object[]= { >>>>>>>>>>>> >>>>>>>>>>>> toReversedDn(ctx.getParent()), >>>>>>>>>>>> >>>>>>>>>>>> ctx.getNewRdn().getNormName(), >>>>>>>>>>>> >>>>>>>>>>>> ctx.getNewRdn().getUpName() + "," + ctx.getParent().getUpName(= ), >>>>>>>>>>>> >>>>>>>>>>>> toReversedDn(ctx.getDn()) >>>>>>>>>>>> }); >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> and not fails. >>>>>>>>>>>> But I steel have a problem with update an LDAP entry. Serve= r >>>>>>>>>>>> throw an exception, about which I wrote in the first letter (j= avax.naming. >>>>>>>>>>>> NamingException: [LDAP: error code 80 - OTHER: failed for Modi= fy Request). >>>>>>>>>>>> >>>>>>>>>>>> To reproduce this exception, it is enough to create LDAP >>>>>>>>>>>> entry from scratch in Apache Directory Studio in any place of = DIT, and try >>>>>>>>>>>> to modify any attribute. The same for any java LDAP API (novel= l, jndi, >>>>>>>>>>>> etc...). For example I create the user in Apache Directory Stu= dio with >>>>>>>>>>>> objectClass "inetOrgPerson" and modify his "cn" or "sn" attrib= ute. >>>>>>>>>>>> >>>>>>>>>>>> Error while modifying value >>>>>>>>>>>> >>>>>>>>>>>> [LDAP: error code 80 - OTHER: failed for Modify Request >>>>>>>>>>>> Object: ' 0.9.2342.19200300.100.1.1=3Ddddd, >>>>>>>>>>>> 0.9.2342.19200300.100.1.25=3Dfoo, 0.9.2342.19200300.100.1.25= =3Dcom ' >>>>>>>>>>>> Modification [0] >>>>>>>>>>>> Operation: replace >>>>>>>>>>>> Modification >>>>>>>>>>>> cn: fsdfdsds >>>>>>>>>>>> : null] >>>>>>>>>>>> >>>>>>>>>>>> [LDAP: error code 80 - OTHER: failed for Modify Request >>>>>>>>>>>> Object: ' 0.9.2342.19200300.100.1.1=3Ddddd, >>>>>>>>>>>> 0.9.2342.19200300.100.1.25=3Dfoo, 0.9.2342.19200300.100.1.25= =3Dcom ' >>>>>>>>>>>> Modification [0] >>>>>>>>>>>> Operation: replace >>>>>>>>>>>> Modification >>>>>>>>>>>> cn: fsdfdsds >>>>>>>>>>>> : null] >>>>>>>>>>>> >>>>>>>>>>>> Thank you very much again. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Best Regards, >>>>>>>>>>>> *Mikhail Samadzelkin* >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 2009/11/24 Andrea Gariboldi >>>>>>>>>>>> >>>>>>>>>>>>> To apply the patch simply: >>>>>>>>>>>>> cd apacheds-oracle >>>>>>>>>>>>> patch -p0 < mar.patch >>>>>>>>>>>>> mvn compile >>>>>>>>>>>>> mvn package >>>>>>>>>>>>> ... >>>>>>>>>>>>> >>>>>>>>>>>>> Andrea >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 2009/11/24 Andrea Gariboldi >>>>>>>>>>>>> >>>>>>>>>>>>>> Ok Mikhail, >>>>>>>>>>>>>> i see the problem: when partition_facade >>>>>>>>>>>>>> was introduced the moveAndRename operation was not >>>>>>>>>>>>>> tested so i have to patch this method. The reason why the >>>>>>>>>>>>>> params are different is because there was an underlying >>>>>>>>>>>>>> modification in the way the partition works with upDns (user >>>>>>>>>>>>>> provided DN)... >>>>>>>>>>>>>> In the last version was introduced (as it should be) the >>>>>>>>>>>>>> storage >>>>>>>>>>>>>> of the DN in the form the user provieded it (DN.UPDN column)= . >>>>>>>>>>>>>> The problem should only hit this method. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Actually i've a problem on my laptop so i cannot test the >>>>>>>>>>>>>> patch, >>>>>>>>>>>>>> that i am going to release by the end of this week (once i >>>>>>>>>>>>>> tested it), but you can >>>>>>>>>>>>>> apply the patch attached to check if solves your problem now= . >>>>>>>>>>>>>> >>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Andrea >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC= >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I have an ApacheDS 1.5.5and this >>>>>>>>>>>>>>> version of oracle partition apacheds-oracle.tar.gz >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>> *Mikhail Samadzelkin* >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 2009/11/24 Andrea Gariboldi >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Of course you have an old version. >>>>>>>>>>>>>>>> I'am going to find you the right one. >>>>>>>>>>>>>>>> Which release of Apache DS are you using? >>>>>>>>>>>>>>>> Andrea >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9= =CC >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hello Andrea, Alex. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I would like to use your oracle partition for ApacheDS in >>>>>>>>>>>>>>>>> my application, search works fine, >>>>>>>>>>>>>>>>> but at testing, many errors have got out. For example doe= s >>>>>>>>>>>>>>>>> not work update LDAP entry, and throws an exception like = (javax.naming. >>>>>>>>>>>>>>>>> NamingException: [LDAP: error code 80 - OTHER: failed for= Modify Request). >>>>>>>>>>>>>>>>> And there is not a conformity in count of parameters in c= aused from java >>>>>>>>>>>>>>>>> code PL-SQL procedure. For example in class OraclePartit= ion { >>>>>>>>>>>>>>>>> ... >>>>>>>>>>>>>>>>> public void moveAndRename (MoveAndRenameOperationContext >>>>>>>>>>>>>>>>> ctx) >>>>>>>>>>>>>>>>> throws Exception >>>>>>>>>>>>>>>>> { >>>>>>>>>>>>>>>>> executeDml ("begin partition_facade.move_and_rena= me >>>>>>>>>>>>>>>>> (?????); end;", new Object [] { >>>>>>>>>>>>>>>>> toReversedDn (ctx.getParent ()), ctx.getNewRd= n >>>>>>>>>>>>>>>>> ().getNormName (), ctx.getParent ().getUpName (), ctx.get= NewRdn ().getUpName >>>>>>>>>>>>>>>>> (), toReversedDn (ctx.getDn ()) >>>>>>>>>>>>>>>>> }); >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> ... >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>> in this moveAndRename method, procedure "move_and_rename" >>>>>>>>>>>>>>>>> takes 5 parametres >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> but in schema.sql file, this procedure takes 4 parametres >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> procedure move_and_rename (p_parent varchar2, p_rdn >>>>>>>>>>>>>>>>> varchar2, p_new_updn varchar2, p_dn varchar2) >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Could you tell me please, is it possible i have the old >>>>>>>>>>>>>>>>> version of a code( >>>>>>>>>>>>>>>>> http://issues.apache.org/jira/browse/DIRSERVER-1345), or >>>>>>>>>>>>>>>>> the code simply was not tested on update? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> PS. tested on Oracle 10g, and ApacheDS 1.5.5 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thank you in advance. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>> *Mikhail Samadzelkin* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Alex Karasulu >>>>>>>> My Blog :: http://www.jroller.com/akarasulu/ >>>>>>>> Apache Directory Server :: http://directory.apache.org >>>>>>>> Apache MINA :: http://mina.apache.org >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > --001636c927b47eb0fd047996b88f Content-Type: text/html; charset=KOI8-R Content-Transfer-Encoding: quoted-printable Hello Andrea,

Great! Now oracle partition works fine with modify ope= ration.
And now, my JUnit tests fails only in two cases: if I define = very long LDAP search filter,

Exception occured during LDAP proc= essing; nested exception is javax.naming. NamingException: [LDAP: error cod= e 80 - OTHER: failed for SearchRequest
=9A=9A=9A=9A=9A=9A=9A baseDn: ' 0.9.2342.19200300.100.1.25=3Dexample, 0= .9.2342.19200300.100.1.25=3Dcom '
=9A=9A=9A=9A=9A=9A=9A filter: '= ; (AND (1.137 =3D *) (1.143> =3D200) (| (1.137 =3D*some_some_value *) (1= .144 =3D*name *) (1.138 =3D*name *)) (| (1.119=3Dsome_value_5) (1.119=3Dsom= e_value_6) (1.119=3Dsome_value_7) (1.119=3Dsome_value_8) (1.119=3Dsome_valu= e_9) (1.119=3Dsome_value_14) (1.119=3Dsome_value_13) (1.119=3Dsome_value_12= ) (1.119=3Dsome_value_11) (1.119=3Dsome_value_10) (1.119=3Dsome_value_15) (= 1.119=3Dsome_value_16) (1.119=3Dsome_value_17) (1.119=3Dsome_value_18) (1.1= 19=3Dsome_value_19) (1.119=3Dsome_value_20) (1.119=3Dsome_value_21) (1.119= =3Dsome_value_22) (1.119=3Dsome_value_23) (1.119=3Dsome_value_24) (1.119=3D= some_value_29) (1.119=3Dsome_value_28) (1.119=3Dsome_value_27) (1.119=3Dsom= e_value_26) (1.119=3Dsome_value_25) (1.119=3Dsome_value_30) (1.119=3Dsome_v= alue_31) (1.119=3Dsome_value_32) (1.119=3Dsome_value_33) (1.119=3Dvalue3333= )) (| (0.9.2342.19200300.100.1.1=3Duser_3) (0.9.2342.19200300.100.1.1=3Duse= r_2) (0.9.2342.19200300.100.1.1=3Duser_1)) (2.5.4.0=3DUsers)) '
=9A=9A=9A=9A=9A=9A=9A scope: whole subtree
=9A=9A=9A=9A=9A=9A=9A typesOn= ly: false
=9A=9A=9A=9A=9A=9A=9A Size Limit: no limit
=9A=9A=9A=9A=9A= =9A=9A Time Limit: no limit
=9A=9A=9A=9A=9A=9A=9A Deref Aliases: deref A= lways
=9A=9A=9A=9A=9A=9A=9A attributes:
: ORA-01460: unimplemented o= r unreasonable conversion requested
]; remaining name ' / '
=9A=9A=9A
But in my case i would imp= lement search by data base VIEW using your indexed tables for each attribute, because ApacheDS does not support server side paging.

And when I try to modify entry Distinguished = Name (to reproduce this, you can simply create an user entry with objectCla= ss=3DinetOrgPerson in ApacheDS Studio, and set for it cn=3D"user_0&quo= t; and than try to modify "cn" to
cn=3D"user_0_newDN"),


[15:09:13] DEBUG [org.apache.di= rectory.shared.ldap.codec. TwixEncoder] - Encoding this LdapMessage: LdapMe= ssage
=9A=9A=9A message Id: 5
=9A=9A=9A Modify DN Response
=9A=9A= =9A=9A=9A=9A=9A Ldap Result
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Result code: (NO_SUCH_OBJECT) noSuchObjec= t
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Matched DN: ' ou=3DUsers, dc=3De= xample, dc=3Dcom '
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Error message: = ' NO_SUCH_OBJECT: failed for ModifyDN Response
=9A=9A=9A=9A=9A=9A=9A= Entry: ' 0.9.2342.19200300.100.1.1=3Duser_0,2.5.4.11=3DUsers, 0.9.2342= .19200300.100.1.25=3Dexample, 0.9.2342.19200300.100.1.25=3Dcom '
=9A=9A=9A=9A=9A=9A=9A New RDN: ' 0.9.2342.19200300.100.1.1=3Duser_0_new= DN
=9A=9A=9A=9A=9A=9A=9A Delete old RDN: true
: Attempt to lookup non= -existant entry: uid=3Duser_0, ou =3D Users, dc=3Dexample, dc=3Dcom:
org= .apache.directory.shared.ldap.exception. LdapNameNotFoundException: Attempt= to lookup non-existant entry: uid=3Duser_0, ou=3DUsers, dc=3Dexample, dc= =3Dcom
=9Aat org.apache.directory.server.core.exception. ExceptionInterceptor.asse= rtHasEntry (ExceptionInterceptor.java:581)
=9Aat org.apache.directory.se= rver.core.exception. ExceptionInterceptor.lookup (ExceptionInterceptor.java= :305)
=9Aat org.apache.directory.server.core.interceptor. InterceptorChain$Entry$= 1.lookup (InterceptorChain.java:1279)
=9Aat org.apache.directory.server.= core.interceptor. BaseInterceptor.lookup (BaseInterceptor.java:178)
=9Aa= t org.apache.directory.server.core.interceptor. InterceptorChain.lookup (In= terceptorChain.java:889)
=9Aat org.apache.directory.server.core. DefaultOperationManager.lookup (Def= aultOperationManager.java:609)
=9Aat org.apache.directory.server.core.in= terceptor.context. AbstractOperationContext.lookup (AbstractOperationContex= t.java:345)
=9Aat org.apache.directory.server.core.authz. AciAuthorizationInterceptor.r= ename (AciAuthorizationInterceptor.java:804)
=9Aat org.apache.directory.= server.core.interceptor. InterceptorChain$Entry$1.rename (InterceptorChain.= java:1321)
=9Aat org.apache.directory.server.core.referral. ReferralInterceptor.rename= (ReferralInterceptor.java:376)
=9Aat org.apache.directory.server.core.i= nterceptor. InterceptorChain$Entry$1.rename (InterceptorChain.java:1321) =9Aat org.apache.directory.server.core.authn. AuthenticationInterceptor.ren= ame (AuthenticationInterceptor.java:349)
=9Aat org.apache.directory.serv= er.core.interceptor. InterceptorChain$Entry$1.rename (InterceptorChain.java= :1321)
=9Aat org.apache.directory.server.core.normalisation. NormalizationIntercep= tor.rename (NormalizationInterceptor.java:161)
=9Aat org.apache.director= y.server.core.interceptor. InterceptorChain.rename (InterceptorChain.java:9= 34)
=9Aat org.apache.directory.server.core. DefaultOperationManager.rename (Def= aultOperationManager.java:980)
=9Aat org.apache.directory.server.core. D= efaultCoreSession.rename (DefaultCoreSession.java:901)
=9Aat org.apache.= directory.server.core. DefaultCoreSession.rename (DefaultCoreSession.java:8= 87)
=9Aat org.apache.directory.server.ldap.handlers. ModifyDnHandler.handle (Mo= difyDnHandler.java:99)
=9Aat org.apache.directory.server.ldap.handlers. = ModifyDnHandler.handle (ModifyDnHandler.java:40)
=9Aat org.apache.direct= ory.server.ldap.handlers. LdapRequestHandler.handleMessage (LdapRequestHand= ler.java:176)
=9Aat org.apache.directory.server.ldap.handlers. LdapRequestHandler.handleM= essage (LdapRequestHandler.java:56)
=9Aat org.apache.mina.handler.demux.= DemuxingIoHandler.messageReceived (DemuxingIoHandler.java:232)
=9Aat or= g.apache.directory.server.ldap. LdapProtocolHandler.messageReceived (LdapPr= otocolHandler.java:194)
=9Aat org.apache.mina.core.filterchain. DefaultIoFilterChain$TailFilter.mes= sageReceived (DefaultIoFilterChain.java:721)
=9Aat org.apache.mina.core.= filterchain. DefaultIoFilterChain.callNextMessageReceived (DefaultIoFilterC= hain.java:433)
=9Aat org.apache.mina.core.filterchain. DefaultIoFilterChain.access$1200 (D= efaultIoFilterChain.java:47)
=9Aat org.apache.mina.core.filterchain. Def= aultIoFilterChain$EntryImpl$1.messageReceived (DefaultIoFilterChain.java:80= 1)
=9Aat org.apache.mina.core.filterchain. IoFilterEvent.fire (IoFilterEvent.j= ava:71)
=9Aat org.apache.mina.core.session. IoEvent.run (IoEvent.java:63= )
=9Aat org.apache.mina.filter.executor. UnorderedThreadPoolExecutor$Wor= ker.runTask (UnorderedThreadPoolExecutor.java:480)
=9Aat org.apache.mina.filter.executor. UnorderedThreadPoolExecutor$Worker.r= un (UnorderedThreadPoolExecutor.java:434)
=9Aat java.lang. Thread.run (U= nknown Source)
'

Also there are small remarks concerning serv= er.xml, you seem have forgotten to correct

xmlns =3D "h= ttp://apacheds.org/config/1.5.5-SNAPSHOT"
to
xmlns =3D &quo= t;http://apacheds.org/config/1= .5.5"

and may be section with user name from "dsorapart" to "a= pacheds"

in

<s:bean id =3D "Db10gDataSource"= ; class =3D "oracle.jdbc.pool. OracleDataSource">
=9A=9A=9A= <! - configure oracle->
=9A=9A=9A <s:property name =3D "user"> <s:value> dsor= apart2 </s:value> </s:property>
=9A=9A=9A <s:property nam= e =3D "password"> <s:value> dsorapart2 </s:value> = </s:property>
=9A=9A=9A <s:property name =3D "driverType"> <s:value>= ; thin </s:value> </s:property>
=9A=9A=9A <s:property nam= e =3D "portNumber"> <s:value> 1521 </s:value> <= /s:property>
=9A=9A=9A <s:property name =3D "serverName"> <s:value>= ; localhost </s:value> </s:property>
=9A=9A=9A <s:propert= y name =3D "databaseName"> <s:value> db10g </s:value&= gt; </s:property>
=9A </s:bean>

Thank you.

2= 009/11/28 Andrea Gariboldi <andrea.gariboldi@gmail.com>
Ok Mikhail,
=9A this is what you should do to patch your site:

1.= sqlplus <apacheds user>/<apacheds pwd>@<your db> @newfac= ade.sql=9A=9A=9A

2. use the new apacheds-oracle-1.5.5.jar

3.= let me know

I've tested it with add/replace/remove all/remove specific value, a= nd it seems
to work smoothly.

You can download sources and binari= es here:
https://issues.apache.org/jira/browse/DIRSERVER-1345

https://issues.apache.org/jir= a/secure/attachment/12426307/apacheds-oracle-1.5.5.tar.gz (contains the= apacheds-oracle-1.5.5.jar)

https://issues.apache.org/jira/secure/attach= ment/12426308/newfacade.sql (patch for your plsql)

This wants to= be a pretty good release for 1.5.5, a beta oracle backend for users, the f= inal integration
should come with 2.x releases..

cheers,
= Andrea


2009/11/27 Andrea Gariboldi <andrea.gariboldi@gmail.com>
Thanks Mikhail,=9A i can confirm you that when i introduced the partition_facade i lost<= br> the way the modify method was working in the previous version...

So = i am going to modify the partition_facade mechanism (package, and pl/sql to= java object bridge)
to handle correctly the modification object.

Cheers,
Andrea
<= br>
2009/11/27 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED= =C9=C8=C1=C9=CC <samodelkin.m@tut.by>

It will be cool! =

Then I will explain a cause of error little bit in more details, it= is possible it will be useful.

Your "modify" method looks like below.

public void mod= ify (ModifyOperationContext ctx) throws Exception
=9A{
=9A=9A=9A=9A=9A=9A=9A executeDml ("begin partition_facade.modi= fy (?); end;", OracleEntry.fromServerEntry(((ServerEntry)
=9A=9A= =9A=9A=9A=9A=9A=9A ctx.getEntry().getClonedEntry ())
, this));
=9A}
In the debug mode, I have found out that "modify" method ca= lls two times. For example if i have to modify attribute "city" f= or entry with distinguished name=9A "uid=3Duser1, ou=3DUsers, dc=3Dexa= mple, dc=3Dcom" first time call of modify method obtain "Modif= yOperationContext ctx" and its toString() value looks like:

=9AModifyContext for DN ' uid=3Duser1, ou=3DUsers, dc=3Dexample,= dc=3Dcom ', modifications
=9A=9A Modification: replace
=9A=9A a= ttribute: city: London


and on this first time call, method not t= hrow NullPointerException because
(ServerEntry) ctx.getEntry ()
is not null.

But on the seco= nd time call, modify method obtain "ModifyOperationContext ctx&= quot; with toString() value witch looks like:

=9AModifyContext f= or DN ' uid=3Duser1, ou=3DUsers, dc=3Dexample, dc=3Dcom ', modifica= tions:
=9A=9A Modification: replace
=9A=9A attribute: modifiersName: 0.9.2342.1= 9200300.100.1.1=3Dadmin, 2.5.4.11=3Dsystem

=9A=9A Modification: repl= ace
=9A=9A attribute: modifyTimestamp: 20091127160318Z


and no= w (ServerEntry) ctx.getEntry () return null. and method fails here =9A((ServerEntry) ctx.getEntry ().getClonedEntry ()).=9A

May= be with previous version of ApacheDs this method was not called two times.= ..

Thank you.

Best Regards,
Mikhail=9ASamadz= elkin


2009/11/27 Andrea Gariboldi <andrea.gariboldi@gmail.com>

Ok Mikhail,
=9A i've seen that the pom.xml file still have some 1.5.= 5-SNAPSHOT reference becuse
it was developed during 1.5.4 / 1.5.5-SNAPSH= OT period. Probably the best thing to do is
to cleanup the project a bit= (i'am going to do it this week-end) so that it will be
consistent for 1.5.5 production Apache DS release, and we can work on the s= ame code.

Then i will update the issue http://issues.apache.o= rg/jira/browse/DIRSERVER-1345,
so that you can download the new package..

A= ndrea





2009/11/26 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC <samod= elkin.m@tut.by>
Andrea, Hi again.=

=F3=C5=CA=DE=C1=D3 =D1 =D0=C5=D2=C5=CB=CF=CD=D0=C9=CC=C9=D2=CF=D7= =C1=CC =D7=D3=C5 =DA=C1=CE=CF=D7=CF =D3 =C9=D3=D0=CF=CC=D8=DA=CF=D7=C1=CE= =C9=C5=CD maven, =C9 =D3 =D5=DE=C5=D4=CF=CD =CE=CF=D7=CF=C7=CF =CB=CF=C4=C1=
=9Ain OracleEntryCursorAdaptor.java
and in OraclePartition.java
=C9 =D0=CF=CC=D5=DE=C9=CC =D3=CC=C5=C4=D5=C0=DD=C9=CA apacheds-oracl= e-1.5.5-new-test.jar see attach. new pom.xml and server.xml also attached.<= br>
But i have the same exception on modify operation:
=9Ajava.lang.Null= PointerException
=9A=9A=9A at org.apache.directory.server.partition.impl= .oracle.OraclePartition.modify(OraclePartition.java:372)
.....

2009/11/26 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC <samodelkin= .m@tut.by>

Hello Andrea,
I did not modify anything else in java code, except what a= re described in your *.patch files.

in OracleEntryCursorAdaptor.java=

-import org.apache.directory.server.core.cursor. AbstractCursor; +import org.apache.directory.shared.ldap.cursor. AbstractCursor;

in = OraclePartition.java

- executeDml ("begin partition_facade.move= _and_rename (?????); end;", toReversedDn (ctx.getParent ()),
+ exec= uteDml ("begin partition_facade.move_and_rename (????); end;", to= ReversedDn (ctx.getParent ()),

=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A ctx.getNewRdn ().getNormName (),
- ctx.getParent ().getUpName = (),
- ctx.getNewRdn ().getUpName (),
+ ctx.getNewRdn ().getUpNa= me () + "," +ctx.getParent ().getUpName (),
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A toReversedDn (ctx.getDn ()));

=9ABut I changed server.xml= file (see attachment), because with server.xml=9A file whitch provided wit= h this version of oracle partition apacheds-oracle.tar= .gz, apacheds-oracle.tar.gz(\apacheds-oracle\oracle\server.xml) a serve= r throws an exception and not starts.

[12:20:22] ERROR [org.apache.directory.daemon. Bootstrapper] - Failed o= n null.init (InstallationLayout, String [])
org.springframework.beans.fa= ctory. BeanDefinitionStoreException: Unrecognized xbean namespace mappin= g: = http://apacheds.org/config/1.5.5-SNAPSHOT
=9Aat org.apache.xbean.spring.context.v2c. XBeanNamespaceHandler.parseBeanF= romExtensionElement (XBeanNamespaceHandler.java:277)
=9Aat org.apache.xb= ean.spring.context.v2c. XBeanNamespaceHandler.parse (XBeanNamespaceHandler.= java:155)
=9Aat org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse (XBean= NamespaceHandler.java:49)
=9Aat org.springframework.beans.factory.xml. B= eanDefinitionParserDelegate.parseCustomElement (BeanDefinitionParserDelegat= e.java:1297)
=9Aat org.springframework.beans.factory.xml. BeanDefinitionParserDelegate.p= arseCustomElement (BeanDefinitionParserDelegate.java:1287)
=9Aat org.apa= che.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefi= nitions (XBeanBeanDefinitionDocumentReader.java:84)
=9Aat org.springframework.beans.factory.xml. DefaultBeanDefinitionDocumentR= eader.registerBeanDefinitions (DefaultBeanDefinitionDocumentReader.java:92)=
=9Aat org.springframework.beans.factory.xml. XmlBeanDefinitionReader.re= gisterBeanDefinitions (XmlBeanDefinitionReader.java:507)
=9Aat org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.regis= terBeanDefinitions (XBeanXmlBeanDefinitionReader.java:79)
=9Aat org.spri= ngframework.beans.factory.xml. XmlBeanDefinitionReader.doLoadBeanDefinition= s (XmlBeanDefinitionReader.java:398)
=9Aat org.springframework.beans.factory.xml. XmlBeanDefinitionReader.loadBe= anDefinitions (XmlBeanDefinitionReader.java:342)
=9Aat org.springframewo= rk.beans.factory.xml. XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanD= efinitionReader.java:310)
=9Aat org.springframework.beans.factory.support. AbstractBeanDefinitionRead= er.loadBeanDefinitions (AbstractBeanDefinitionReader.java:143)
=9Aat org= .springframework.beans.factory.support. AbstractBeanDefinitionReader.loadBe= anDefinitions (AbstractBeanDefinitionReader.java:178)
=9Aat org.springframework.beans.factory.support. AbstractBeanDefinitionRead= er.loadBeanDefinitions (AbstractBeanDefinitionReader.java:149)
=9Aat org= .springframework.beans.factory.support. AbstractBeanDefinitionReader.loadBe= anDefinitions (AbstractBeanDefinitionReader.java:212)
=9Aat org.springframework.context.support. AbstractXmlApplicationContext.lo= adBeanDefinitions (AbstractXmlApplicationContext.java:113)
=9Aat org.apa= che.xbean.spring.context. FileSystemXmlApplicationContext.loadBeanDefinitio= ns (FileSystemXmlApplicationContext.java:168)
=9Aat org.springframework.context.support. AbstractRefreshableApplicationCo= ntext.refreshBeanFactory (AbstractRefreshableApplicationContext.java:123)=9Aat org.springframework.context.support. AbstractApplicationContext.obt= ainFreshBeanFactory (AbstractApplicationContext.java:422)
=9Aat org.springframework.context.support. AbstractApplicationContext.refre= sh (AbstractApplicationContext.java:352)
=9Aat org.apache.xbean.spring.c= ontext. FileSystemXmlApplicationContext. <init> (FileSystemXmlApplica= tionContext.java:149)
=9Aat org.apache.xbean.spring.context. FileSystemXmlApplicationContext. <= ;init> (FileSystemXmlApplicationContext.java:48)
=9Aat org.apache.dir= ectory.server. Service.initLdap (Service.java:113)
=9Aat org.apache.dire= ctory.server. Service.init (Service.java:78)
=9Aat org.apache.directory.daemon. Bootstrapper.callInit (Bootstrapper.java= :154)
=9Aat org.apache.directory.daemon. TanukiBootstrapper.start (Tanuk= iBootstrapper.java:54)
=9Aat org.tanukisoftware.wrapper. WrapperManager$= 12.run (WrapperManager.java:2788)

Also I have compiled your code in jar file with eclipse (not with maven= ) it also attached.

Probably mine above actions, could entail, null = pointer exception in

public void modify (ModifyOperationContext ctx= ) method.
witch i describe in previous letters.

But I repeat, operations creat= e, search, delete work normally.

May be You can send to me your curr= ent version of server.xml, and
apacheds-oracle-1.5.5-SNAPSHOT.jar with = applied "mar.patch" and "OracleEntryCursorAdaptor.patch"= ; patches, to test modify operation with you files on my environment?

Lets summarize:

attached apacheds-oracle-1.5.5-SNAPSHOT.jar file= i I took from this version of oracle partition apache= ds-oracle.tar.gz (\apacheds-oracle\target\)

apacheds-oracle-1.5.5-test.jar contains compiled code with taken into c= onsideration changes in OracleEntryCursorAdaptor.java and in OraclePartitio= n.java.

combination with_my_changes_server.xml + apacheds-oracle-1.5= .5-test.jar works fine for search, delete, create operation.
other combinations does not works on my environment.

Thank you very = much.

25 =CE=CF=D1=C2=D2=D1 2009 =C7. 18:= 08 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5=CC=D8 Andrea Gariboldi = <andrea.= gariboldi@gmail.com> =CE=C1=D0=C9=D3=C1=CC:

Hi Mikhail,
=9A did you modified anything else on the class?

Cou= ld you please write to the dev@directory.apache.org,
so that others can see the t= hread?

Andrea

2009/11/24 Alex Karasulu &= lt;akarasulu@gmail= .com>

Hey this is great Andrea!=9A Thanks for helping out.=9A But guys this shoul= d all be going onto the dev mailing list.=9A Can you please forward these t= o the dev list so everyone can see this good interaction?

Thanks, Alex


2009/11/24 Andrea Gariboldi <andre= a.gariboldi@gmail.com>
Could you please attach you OraclePartition.java?

A= ndrea

2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB= =C9=CE =ED=C9=C8=C1=C9=CC <samodelkin.m@tut.by>
The key part of log below. And full log in attachment. This trace appiars o= nly with DEBUG mode in log4j.properties.

[18:00:36] DEBUG [org.apach= e.directory.server.ldap.handlers.LdapRequestHandler] - OTHER: failed for=9A= =9A=9A=9A Modify Request
=9A=9A=9A=9A=9A=9A=9A Object : '0.9.2342.19200300.100.1.1=3Ddddd,0.9.23= 42.19200300.100.1.25=3Dsupplyon,0.9.2342.19200300.100.1.25=3Dcom'
<= br>=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Modification[0]
=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A Operation :=9A replace
=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A Modification
=9A=9A=9A cn: ssssssss
: null
java.lang.NullPointerException
=9A= =9A=9A at org.apache.directory.server.partition.impl.oracle.OraclePartition= .modify(OraclePartition.java:321)
=9A=9A=9A at org.apache.directory.serv= er.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:8= 45)
=9A=9A=9A at org.apache.directory.server.core.operational.OperationalAttrib= uteInterceptor.modify(OperationalAttributeInterceptor.java:248)
=9A=9A= =9A at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$= 1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.directory.server.core.exception.ExceptionIntercepto= r.modify(ExceptionInterceptor.java:367)
=9A=9A=9A at org.apache.director= y.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.= java:1216)
=9A=9A=9A at org.apache.directory.server.core.authz.DefaultAuthorizationInt= erceptor.modify(DefaultAuthorizationInterceptor.java:273)
=9A=9A=9A at o= rg.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify= (InterceptorChain.java:1216)
=9A=9A=9A at org.apache.directory.server.core.authz.AciAuthorizationInterce= ptor.modify(AciAuthorizationInterceptor.java:565)
=9A=9A=9A at org.apach= e.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(Interce= ptorChain.java:1216)
=9A=9A=9A at org.apache.directory.server.core.referral.ReferralInterceptor.= modify(ReferralInterceptor.java:403)
=9A=9A=9A at org.apache.directory.s= erver.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.jav= a:1216)
=9A=9A=9A at org.apache.directory.server.core.authn.AuthenticationIntercept= or.modify(AuthenticationInterceptor.java:336)
=9A=9A=9A at org.apache.di= rectory.server.core.interceptor.InterceptorChain$Entry$1.modify(Interceptor= Chain.java:1216)
=9A=9A=9A at org.apache.directory.server.core.normalization.NormalizationIn= terceptor.modify(NormalizationInterceptor.java:146)
=9A=9A=9A at org.apa= che.directory.server.core.interceptor.InterceptorChain.modify(InterceptorCh= ain.java:821)
=9A=9A=9A at org.apache.directory.server.core.DefaultOperationManager.modif= y(DefaultOperationManager.java:691)
=9A=9A=9A at org.apache.directory.se= rver.core.DefaultCoreSession.modify(DefaultCoreSession.java:829)
=9A=9A= =9A at org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCo= reSession.java:815)
=9A=9A=9A at org.apache.directory.server.ldap.handlers.ModifyHandler.handle= (ModifyHandler.java:56)
=9A=9A=9A at org.apache.directory.server.ldap.ha= ndlers.ModifyHandler.handle(ModifyHandler.java:39)
=9A=9A=9A at org.apac= he.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequ= estHandler.java:176)
=9A=9A=9A at org.apache.directory.server.ldap.handlers.LdapRequestHandler.h= andleMessage(LdapRequestHandler.java:56)
=9A=9A=9A at org.apache.mina.ha= ndler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:232)=9A=9A=9A at org.apache.directory.server.ldap.LdapProtocolHandler.message= Received(LdapProtocolHandler.java:194)
=9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilt= er.messageReceived(DefaultIoFilterChain.java:721)
=9A=9A=9A at org.apach= e.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(Defaul= tIoFilterChain.java:433)
=9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1= 200(DefaultIoFilterChain.java:47)
=9A=9A=9A at org.apache.mina.core.filt= erchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterCha= in.java:801)
=9A=9A=9A at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEv= ent.java:71)
=9A=9A=9A at org.apache.mina.core.session.IoEvent.run(IoEve= nt.java:63)
=9A=9A=9A at org.apache.mina.filter.executor.UnorderedThread= PoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
=9A=9A=9A at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Wo= rker.run(UnorderedThreadPoolExecutor.java:434)
=9A=9A=9A at java.lang.Th= read.run(Unknown Source)
[18:00:36] DEBUG [org.apache.directory.shared.l= dap.codec.TwixTransformer] - Transforming message type MODIFY_RESPONSE
[18:00:36] DEBUG [org.apache.directory.shared.ldap.codec.TwixTransformer] -= Transformed message : LdapMessage
=9A=9A=9A message Id : 23
=9A=9A= =9A Modify Response
=9A=9A=9A=9A=9A=9A=9A Ldap Result
=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A Result code : (OTHER) other
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Matched DN : ''
=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A Error message : 'OTHER: failed for=9A=9A=9A=9A Mo= dify Request
=9A=9A=9A=9A=9A=9A=9A Object : '0.9.2342.19200300.100.1= .1=3Ddddd,0.9.2342.19200300.100.1.25=3Dsupplyon,0.9.2342.19200300.100.1.25= =3Dcom'

=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Modification[0]
=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A Operation :=9A replace
=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A Modification
=9A=9A=9A cn: ssssssss
: nul= l:
java.lang.NullPointerException
=9A=9A=9A at org.apache.directory.s= erver.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321= )
=9A=9A=9A at org.apache.directory.server.core.partition.DefaultPartitionNex= us.modify(DefaultPartitionNexus.java:845)
=9A=9A=9A at org.apache.direct= ory.server.core.operational.OperationalAttributeInterceptor.modify(Operatio= nalAttributeInterceptor.java:248)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.exception.ExceptionInterceptor.modify(ExceptionInterceptor= .java:367)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthor= izationInterceptor.java:273)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationI= nterceptor.java:565)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.ja= va:403)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.authn.AuthenticationInterceptor.modify(AuthenticationInter= ceptor.java:336)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.normalization.NormalizationInterceptor.modify(Normalizatio= nInterceptor.java:146)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain.= modify(InterceptorChain.java:821)
=9A=9A=9A at org.apache.directory.serv= er.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)=9A=9A=9A at org.apache.directory.server.core.DefaultCoreSession.modify(De= faultCoreSession.java:829)
=9A=9A=9A at org.apache.directory.server.core.DefaultCoreSession.modify(Def= aultCoreSession.java:815)
=9A=9A=9A at org.apache.directory.server.ldap.= handlers.ModifyHandler.handle(ModifyHandler.java:56)
=9A=9A=9A at org.ap= ache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java= :39)
=9A=9A=9A at org.apache.directory.server.ldap.handlers.LdapRequestHandler.h= andleMessage(LdapRequestHandler.java:176)
=9A=9A=9A at org.apache.direct= ory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandle= r.java:56)
=9A=9A=9A at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceive= d(DemuxingIoHandler.java:232)
=9A=9A=9A at org.apache.directory.server.l= dap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:194)
= =9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilt= er.messageReceived(DefaultIoFilterChain.java:721)
=9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNext= MessageReceived(DefaultIoFilterChain.java:433)
=9A=9A=9A at org.apache.m= ina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.= java:47)
=9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImp= l$1.messageReceived(DefaultIoFilterChain.java:801)
=9A=9A=9A at org.apac= he.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
=9A= =9A=9A at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
=9A=9A=9A at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Wo= rker.runTask(UnorderedThreadPoolExecutor.java:480)
=9A=9A=9A at org.apac= he.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThr= eadPoolExecutor.java:434)
=9A=9A=9A at java.lang.Thread.run(Unknown Source)
'

[18:00:36= ] DEBUG [org.apache.directory.shared.ldap.codec.TwixEncoder] - Encoding thi= s LdapMessage : LdapMessage
=9A=9A=9A message Id : 23
=9A=9A=9A Modif= y Response
=9A=9A=9A=9A=9A=9A=9A Ldap Result
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Resu= lt code : (OTHER) other
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Matched DN : &= #39;'
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Error message : 'OTHER: = failed for=9A=9A=9A=9A Modify Request
=9A=9A=9A=9A=9A=9A=9A Object : = 9;0.9.2342.19200300.100.1.1=3Ddddd,0.9.2342.19200300.100.1.25=3Dsupplyon,0.= 9.2342.19200300.100.1.25=3Dcom'

=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Modification[0]
=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A Operation :=9A replace
=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A Modification
=9A=9A=9A cn: ssssssss
: nul= l:
java.lang.NullPointerException
=9A=9A=9A at org.apache.directory.s= erver.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321= )
=9A=9A=9A at org.apache.directory.server.core.partition.DefaultPartitionNex= us.modify(DefaultPartitionNexus.java:845)
=9A=9A=9A at org.apache.direct= ory.server.core.operational.OperationalAttributeInterceptor.modify(Operatio= nalAttributeInterceptor.java:248)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.exception.ExceptionInterceptor.modify(ExceptionInterceptor= .java:367)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthor= izationInterceptor.java:273)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationI= nterceptor.java:565)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.ja= va:403)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.authn.AuthenticationInterceptor.modify(AuthenticationInter= ceptor.java:336)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain$= Entry$1.modify(InterceptorChain.java:1216)
=9A=9A=9A at org.apache.direc= tory.server.core.normalization.NormalizationInterceptor.modify(Normalizatio= nInterceptor.java:146)
=9A=9A=9A at org.apache.directory.server.core.interceptor.InterceptorChain.= modify(InterceptorChain.java:821)
=9A=9A=9A at org.apache.directory.serv= er.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)=9A=9A=9A at org.apache.directory.server.core.DefaultCoreSession.modify(De= faultCoreSession.java:829)
=9A=9A=9A at org.apache.directory.server.core.DefaultCoreSession.modify(Def= aultCoreSession.java:815)
=9A=9A=9A at org.apache.directory.server.ldap.= handlers.ModifyHandler.handle(ModifyHandler.java:56)
=9A=9A=9A at org.ap= ache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java= :39)
=9A=9A=9A at org.apache.directory.server.ldap.handlers.LdapRequestHandler.h= andleMessage(LdapRequestHandler.java:176)
=9A=9A=9A at org.apache.direct= ory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandle= r.java:56)
=9A=9A=9A at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceive= d(DemuxingIoHandler.java:232)
=9A=9A=9A at org.apache.directory.server.l= dap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:194)
= =9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilt= er.messageReceived(DefaultIoFilterChain.java:721)
=9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNext= MessageReceived(DefaultIoFilterChain.java:433)
=9A=9A=9A at org.apache.m= ina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.= java:47)
=9A=9A=9A at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImp= l$1.messageReceived(DefaultIoFilterChain.java:801)
=9A=9A=9A at org.apac= he.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
=9A= =9A=9A at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
=9A=9A=9A at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Wo= rker.runTask(UnorderedThreadPoolExecutor.java:480)
=9A=9A=9A at org.apac= he.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThr= eadPoolExecutor.java:434)
=9A=9A=9A at java.lang.Thread.run(Unknown Source)

<= br>Best Regards,
Mikhail=9ASamadz= elkin


2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
Can you check the apacheds server log files for exceptions?
I cannot rep= roduce the error in my env..

Andrea

2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1= =C9=CC <samodelkin.m@tut.by>
=9AThank you very= much Andrea, now this method looks like below,

=9A=9A=9A public vo= id moveAndRename(final MoveAndRenameOperationContext ctx) throws Exception = {


=9A=9A=9A=9A=9A=9A=9A executeDml("begin partition_facade.move_and_rena= me(?,?,?,?); end;", new Object[] {
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A toReversedDn(ctx.getPar= ent()),
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A ctx.getNewRdn().getNorm= Name(),
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A ctx.getNewRdn().getUpName() + "," + ctx.getParent().getUpName(),<= br> =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A toReversedDn(ctx.getDn(= ))
=9A=9A=9A=9A=9A=9A=9A });
=9A=9A=9A }

and not fails.
=9A=9A But I steel have a problem wit= h update an LDAP entry. Server throw an exception, about which I wrote in t= he first letter (javax.naming. NamingException: [LDAP: error code 80 - OTHE= R: failed for Modify Request).

=9A=9A To reproduce this exception, it is enough to create LDAP entry f= rom scratch in Apache Directory Studio in any place of DIT, and try to modi= fy any attribute. The same for any java LDAP API (novell, jndi, etc...). Fo= r example I create the user in Apache Directory Studio with objectClass &qu= ot;inetOrgPerson" and modify his "cn" or "sn" attr= ibute.

Error while modifying value

[LDAP: error code 80 - OTHER: faile= d for Modify Request
=9A=9A=9A=9A=9A=9A=9A Object: ' 0.9.2342.= 19200300.100.1.1=3Ddddd, 0.9.2342.19200300.100.1.25=3Dfoo, 0.9.2342.1920030= 0.100.1.25=3Dcom '
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Modification [0]
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Operation: replace
=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Modification
=9A=9A=9A cn: fsdfd= sds
: null]

=9A [LDAP: error code 80 - OTHER: failed for Modify = Request
=9A=9A=9A=9A=9A=9A=9A Object: ' 0.9.2342.19200300.100.= 1.1=3Ddddd, 0.9.2342.19200300.100.1.25=3Dfoo, 0.9.2342.19200300.100.1.25=3D= com '
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A Modification [0]
=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A=9A=9A Operation: replace
=9A=9A=9A=9A=9A=9A=9A=9A=9A= =9A=9A=9A=9A=9A=9A Modification
=9A=9A=9A cn: fsdfdsds
: null]
Thank you very much again.


Best Regards,
Mikhail=9ASamadz= elkin
=9A
=9A=9A= =9A=9A

2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
To apply the patch simply:
cd apacheds-oracle
patch -p0 < mar.patc= h
mvn compile
mvn package
...

Andre= a


2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
Ok Mikhail,
= =9A=9A i see the problem: when partition_facade
was introduced the moveA= ndRename operation was not
tested so i have to patch this method. The reason why the
params are dif= ferent is because there was an underlying
modification in the way the partition works with upDns (user provided DN)..= .
In the last version was introduced (as it should be) the storage
of= the DN in the form the user provieded it (DN.UPDN column).
The problem = should only hit this method.

Actually i've a problem on my laptop so i cannot test the patch,that i am going to release by the end of this week (once i tested it), but= you can
apply the patch attached to check if solves your problem now.
Cheers,

Andrea


2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8=C1=C9=CC <samo= delkin.m@tut.by>
I have an ApacheDS 1.5.5 and this version of oracle partition apacheds-oracle.tar.gz

Best Regards,
Mikhail=9ASamadz= elkin

2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>

Of course you have an old version.
I'am going to find you the right = one.
Which release of Apache DS are you using?
Andrea


2009/11/24 =F3=C1=CD=CF=C4=C5=CC=CB=C9=CE =ED=C9=C8= =C1=C9=CC <samodelkin.m@tut.by>

Hello Andrea, Ale= x.

I would like to use your oracle partition for ApacheDS in my appl= ication, search works fine,
but at testing, many errors have got out. For example does not work update = LDAP entry, and throws an exception like (javax.naming. NamingException: [L= DAP: error code 80 - OTHER: failed for Modify Request). And there is not a = conformity in count of parameters in caused from java code PL-SQL=9A proced= ure. For example in class OraclePartition {
...
public void moveAndRename (MoveAndRenameOperationContext ctx)
=9A= =9A=9A=9A=9A=9A=9A throws Exception
=9A=9A=9A {
=9A=9A=9A=9A=9A=9A=9A= executeDml ("begin partition_facade.move_and_rename (?????); end;&quo= t;, new Object [] {
=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A=9A toReversedDn (ctx.= getParent ()), ctx.getNewRdn ().getNormName (), ctx.getParent ().getUpName = (), ctx.getNewRdn ().getUpName (), toReversedDn (ctx.getDn ())
=9A=9A=9A=9A=9A=9A=9A });
=9A=9A=9A }
...
}
in this moveAndRen= ame method, procedure "move_and_rename" takes 5 parametres
but in schema.sql file, this procedure takes 4 parametres

procedur= e move_and_rename (p_parent varchar2, p_rdn varchar2, p_new_updn varchar2, = p_dn varchar2)

Could you tell me please, is it possible i have the old version of a co= de(http://issues.apache.org/jira/browse/DIRSERVER-1345), or th= e code simply was not tested on update?

PS. tested on Oracle 10g, and ApacheDS 1.5.5

Thank you in advanc= e.

Bes= t Regards,
Mikhail=9ASamadz= elkin













--
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/=
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://= mina.apache.org









--001636c927b47eb0fd047996b88f--