directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrea Gariboldi <andrea.garibo...@gmail.com>
Subject Re: ApacheDS oracle partition.
Date Sat, 28 Nov 2009 01:07:16 GMT
Ok Mikhail,
  this is what you should do to patch your site:

1. sqlplus <apacheds user>/<apacheds pwd>@<your db> @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(patch
for your plsql)

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

cheers,
Andrea

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

> 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 Самоделкин Михаил <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 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 times.
>> For example if i have to modify attribute "city" for entry with
>> distinguished name  "uid=user1, ou=Users, dc=example, dc=com" first time
>> call of modify method obtain "*ModifyOperationContext ctx*" and its
>> toString() value looks like:
>>
>> * ModifyContext for DN ' uid=user1, ou=Users, dc=example, dc=com ',
>> 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 "*ModifyOperationContext
>> ctx*" with toString() value witch looks like:
>>
>>  *ModifyContext for DN ' uid=user1, ou=Users, dc=example, dc=com ',
>> modifications:
>>    Modification: replace
>>    attribute: modifiersName: 0.9.2342.19200300.100.1.1=admin,
>> 2.5.4.11=system
>>
>>    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 <andrea.gariboldi@gmail.com>
>>
>> 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 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
>>> 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 Самоделкин Михаил <samodelkin.m@tut.by>
>>>
>>>> Andrea, Hi again.
>>>>
>>>> Сейчас я перекомпилировал все заново с использованием maven, и с учетом
>>>> нового кода
>>>>  in OracleEntryCursorAdaptor.java
>>>> and in OraclePartition.java
>>>> и получил следующий 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.modify(OraclePartition.java:372)
>>>> .....
>>>>
>>>>
>>>> 2009/11/26 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>
>>>> Hello Andrea,
>>>>> I did not modify anything else in java code, except what are 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 ()),
>>>>> + 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<https://issues.apache.org/jira/secure/attachment/12404683/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] - Failed
>>>>> on null.init (InstallationLayout, String [])
>>>>> org.springframework.beans.factory. BeanDefinitionStoreException: *Unrecognized
>>>>> 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.registerBeanDefinitions
>>>>> (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.
>>>>> <init> (FileSystemXmlApplicationContext.java:149)
>>>>>  at org.apache.xbean.spring.context. FileSystemXmlApplicationContext.
>>>>> <init> (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 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 apacheds-oracle.tar.gz<https://issues.apache.org/jira/secure/attachment/12404683/apacheds-oracle.tar.gz>(\apacheds-oracle\target\)
>>>>>
>>>>> apacheds-oracle-1.5.5-test.jar contains compiled code with taken into
>>>>> 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 ноября 2009 г. 18:08 пользователь Andrea Gariboldi <
>>>>> andrea.gariboldi@gmail.com> написал:
>>>>>
>>>>>  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 <akarasulu@gmail.com>
>>>>>>
>>>>>> Hey this is great Andrea!  Thanks for helping out.  But guys this
>>>>>>> should all be going onto the dev mailing list.  Can you please forward these
>>>>>>> to the dev list so everyone can see this good interaction?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Alex
>>>>>>>
>>>>>>>
>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>
>>>>>>>> Could you please attach you OraclePartition.java?
>>>>>>>>
>>>>>>>> Andrea
>>>>>>>>
>>>>>>>> 2009/11/24 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>>>>>
>>>>>>>>> The key part of log below. And full log in attachment. This trace
>>>>>>>>> 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=dddd,0.9.2342.19200300.100.1.25=supplyon,0.9.2342.19200300.100.1.25=com'
>>>>>>>>>
>>>>>>>>>             Modification[0]
>>>>>>>>>                 Operation :  replace
>>>>>>>>>                 Modification
>>>>>>>>>      cn: ssssssss
>>>>>>>>> : null
>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:248)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$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$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:273)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:565)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:403)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$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$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:146)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain.modify(InterceptorChain.java:821)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:829)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:815)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:56)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:39)
>>>>>>>>>     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)
>>>>>>>>> [18:00:36] DEBUG
>>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixTransformer] - Transforming
>>>>>>>>> message type MODIFY_RESPONSE
>>>>>>>>> [18:00:36] DEBUG
>>>>>>>>> [org.apache.directory.shared.ldap.codec.TwixTransformer] - Transformed
>>>>>>>>> message : LdapMessage
>>>>>>>>>     message Id : 23
>>>>>>>>>     Modify Response
>>>>>>>>>         Ldap Result
>>>>>>>>>             Result code : (OTHER) other
>>>>>>>>>             Matched DN : ''
>>>>>>>>>             Error message : 'OTHER: failed for     Modify Request
>>>>>>>>>         Object :
>>>>>>>>> '0.9.2342.19200300.100.1.1=dddd,0.9.2342.19200300.100.1.25=supplyon,0.9.2342.19200300.100.1.25=com'
>>>>>>>>>
>>>>>>>>>             Modification[0]
>>>>>>>>>                 Operation :  replace
>>>>>>>>>                 Modification
>>>>>>>>>     cn: ssssssss
>>>>>>>>> : null:
>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:248)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$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$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:273)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:565)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:403)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$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$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:146)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain.modify(InterceptorChain.java:821)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:829)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:815)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:56)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:39)
>>>>>>>>>     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)
>>>>>>>>> '
>>>>>>>>>
>>>>>>>>> [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 Request
>>>>>>>>>         Object :
>>>>>>>>> '0.9.2342.19200300.100.1.1=dddd,0.9.2342.19200300.100.1.25=supplyon,0.9.2342.19200300.100.1.25=com'
>>>>>>>>>
>>>>>>>>>             Modification[0]
>>>>>>>>>                 Operation :  replace
>>>>>>>>>                 Modification
>>>>>>>>>     cn: ssssssss
>>>>>>>>> : null:
>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.partition.impl.oracle.OraclePartition.modify(OraclePartition.java:321)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:248)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$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$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:273)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:565)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:403)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$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$Entry$1.modify(InterceptorChain.java:1216)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:146)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.interceptor.InterceptorChain.modify(InterceptorChain.java:821)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:829)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:815)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:56)
>>>>>>>>>     at
>>>>>>>>> org.apache.directory.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:39)
>>>>>>>>>     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)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Best Regards,
>>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>>
>>>>>>>>>> Can you check the apacheds server log files for exceptions?
>>>>>>>>>> I cannot reproduce the error in my env..
>>>>>>>>>>
>>>>>>>>>> Andrea
>>>>>>>>>>
>>>>>>>>>> 2009/11/24 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>>>>>>>
>>>>>>>>>>>  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. Server
>>>>>>>>>>> throw an exception, about which I wrote in the first letter (javax.naming.
>>>>>>>>>>> NamingException: [LDAP: error code 80 - OTHER: failed for Modify 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 (novell, jndi, etc...).
>>>>>>>>>>> For example I create the user in Apache Directory Studio with objectClass
>>>>>>>>>>> "inetOrgPerson" and modify his "cn" or "sn" attribute.
>>>>>>>>>>>
>>>>>>>>>>> Error while modifying value
>>>>>>>>>>>
>>>>>>>>>>> [LDAP: error code 80 - OTHER: failed for Modify Request
>>>>>>>>>>>         Object: ' 0.9.2342.19200300.100.1.1=dddd,
>>>>>>>>>>> 0.9.2342.19200300.100.1.25=foo, 0.9.2342.19200300.100.1.25=com '
>>>>>>>>>>>             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=dddd,
>>>>>>>>>>> 0.9.2342.19200300.100.1.25=foo, 0.9.2342.19200300.100.1.25=com '
>>>>>>>>>>>             Modification [0]
>>>>>>>>>>>                 Operation: replace
>>>>>>>>>>>                 Modification
>>>>>>>>>>>     cn: fsdfdsds
>>>>>>>>>>> : null]
>>>>>>>>>>>
>>>>>>>>>>> Thank you very much again.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Best Regards,
>>>>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>>>>
>>>>>>>>>>>> To apply the patch simply:
>>>>>>>>>>>> cd apacheds-oracle
>>>>>>>>>>>> patch -p0 < mar.patch
>>>>>>>>>>>> mvn compile
>>>>>>>>>>>> mvn package
>>>>>>>>>>>> ...
>>>>>>>>>>>>
>>>>>>>>>>>> Andrea
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2009/11/24 Andrea Gariboldi <andrea.gariboldi@gmail.com>
>>>>>>>>>>>>
>>>>>>>>>>>>> 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 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have an ApacheDS 1.5.5<http://directory.apache.org/apacheds/1.5/downloads.html>and this
>>>>>>>>>>>>>> version of oracle partition apacheds-oracle.tar.gz<https://issues.apache.org/jira/secure/attachment/12404683/apacheds-oracle.tar.gz>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>> *Mikhail Samadzelkin*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 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 Самоделкин Михаил <samodelkin.m@tut.by>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 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 does
>>>>>>>>>>>>>>>> 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 caused from java
>>>>>>>>>>>>>>>> code PL-SQL  procedure. For example in class OraclePartition {
>>>>>>>>>>>>>>>> ...
>>>>>>>>>>>>>>>> public void moveAndRename (MoveAndRenameOperationContext
>>>>>>>>>>>>>>>> ctx)
>>>>>>>>>>>>>>>>         throws Exception
>>>>>>>>>>>>>>>>     {
>>>>>>>>>>>>>>>>         executeDml ("begin partition_facade.move_and_rename
>>>>>>>>>>>>>>>> (?????); end;", new Object [] {
>>>>>>>>>>>>>>>>             toReversedDn (ctx.getParent ()), ctx.getNewRdn
>>>>>>>>>>>>>>>> ().getNormName (), ctx.getParent ().getUpName (), ctx.getNewRdn ().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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message