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.(Throwable.java)
at java.lang.Throwable.(Throwable.java)
at java.lang.ClassCastException.(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