Vadim Gritsenko wrote:

Here is 2.1.6 showstopper. I guess this appeared after syncing
treeprocessor implementation - I've not seen it before:

Apparently, any internal redirect failing (including ones from the sitemap). Test case:


http://localhost:8888/samples/test/redirect/redirect-to-internal-from-sitemap


java.lang.ClassCastException:
org/apache/cocoon/components/treeprocessor/TreeProcessor incompatible
with org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.ClassCastException.<init>(ClassCastException.java:53)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.handleCocoonRedirect(ConcreteTreeProcessor.java:296)


at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.access$000(ConcreteTreeProcessor.java:49)


at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor$TreeProcessorRedirector.cocoonRedirect(ConcreteTreeProcessor.java)


at
org.apache.cocoon.environment.ForwardRedirector.redirect(ForwardRedirector.java:58)


at
gov.dc.octo.hsmp.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:56)




For some reason ConcreteTreeProcessor attempts to cast TreeProcessor
into ConcreteTreeProcessor:

    // Get the processor that should process this request
    ConcreteTreeProcessor processor;
    if (newEnv.getRootContext() == newEnv.getContext()) {
*       processor = (ConcreteTreeProcessor)getRootProcessor();
    } else {
        processor = this;
    }


Anybody have a clue?

PS Reverting the change fixes ClassCast:
    svn up -r 37173 src/java/org/apache/cocoon/components/treeprocessor

Found out that older version also fails - under some other conditions... No luck...


Vadim



Reply via email to