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

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


Vadim





Reply via email to