On Dec 8, 2007 10:47 AM, Alex Karasulu <akarasulu@apache.org> wrote:

I am trying to get reverts working with SP code.  There are some tricky things here however these are different points.  What I need to know from you is why I get this stack trace here when trying to revert the changes of this test:


Here's the tail end of the trace:

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring (String.java:1938)
    at org.apache.directory.server.core.sp.StoredProcUtils.extractStoredProcUnitName(StoredProcUtils.java:47)
    at org.apache.directory.server.core.sp.StoredProcExecutionManager.findStoredProcUnit (StoredProcExecutionManager.java:76)
    at org.apache.directory.server.core.trigger.TriggerInterceptor.executeProcedure(TriggerInterceptor.java:591)
    at org.apache.directory.server.core.trigger.TriggerInterceptor.executeTrigger (TriggerInterceptor.java:578)
    at org.apache.directory.server.core.trigger.TriggerInterceptor.executeTriggers(TriggerInterceptor.java:558)
    at org.apache.directory.server.core.trigger.TriggerInterceptor.delete (TriggerInterceptor.java:310)
    at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.delete(InterceptorChain.java:1134)
    ... 60 more

The problem seems to stem from trying to extract the class name from this spec: " LogUtils.logDelete".  Looks like this code tries to get the name of the class by finding the index of a ':' colon instead of a '.'  -  Why is that?

Because that's the SP syntax.  Fully Qualified Stored Procedure Name = Stored Procedure Unit : Stored Procedure

I'll try to look further into the pb.

Here's the LDIF operation that causes this exception:

   Entry : cn=marked,ou=configuration,ou=system
    Change type is DELETE


Ersin Er