In what package are these implementation classes? On Feb 1, 2008 1:53 AM, Moritz Gmelin <[EMAIL PROTECTED]> wrote: > P.P.S. > > If I just hit reload after the exception has occured, the EditPage > loads as expected. > > M. > > Am 01.02.2008 um 10:03 schrieb Moritz Gmelin: > > > > P.S. this happens with T 5.0.9 > > > > Am 01.02.2008 um 10:02 schrieb Moritz Gmelin: > > > >> Hi, > >> > >> I have an Editing page that I would like to use to edit different > >> object implementing the same class. If I switch the object I want > >> to edit I get a ClassCastException in the > >> CoercingPropertyConduitWrapper (see below). > >> > >> I have created a simple scenario to reproduce this. > >> > >> First there is a Base Page CoercTest that hast 2 ActionLinks that > >> lead to the ObjectEditPage > >> > >> ----------------------------- > >> > >> public class CoercTest { > >> > >> @InjectPage > >> private ObjectEditPage editPage; > >> > >> @OnEvent(component="typeTO1") > >> public ObjectEditPage onTypeTO1() { > >> editPage.setTestObject(new TO1()); > >> return editPage; > >> > >> } > >> > >> @OnEvent(component="typeTO2") > >> public ObjectEditPage onTypeTO2() { > >> editPage.setTestObject(new TO2()); > >> return editPage; > >> > >> } > >> > >> } > >> > >> ---------------------------------- > >> > >> TO1 and TO2 both implement TestInterface > >> > >> This is what ObjectEditPage looks like > >> > >> ------------------- > >> > >> @Persist > >> private TestInterface testObject; > >> > >> public TestInterface getTestObject() { > >> return testObject; > >> } > >> > >> public void setTestObject(TestInterface to) { > >> this.testObject = to; > >> } > >> > >> public Object onSuccess() { > >> testObject = null; > >> return CoercTest.class; > >> } > >> > >> ------------------------ > >> > >> the tml contains just a BeanForm to edit the "testObject" > >> > >> > >> Now if the user hits the first ActionLink on the CoercTest page, > >> and submits the form everything looks OK. But as soons as he then > >> hits the 2. ActionLink to edit an Object of the other SubType of > >> TestInterface he gets the following Exception > >> > >> ------------------------ > >> > >> java.lang.ClassCastException > >> de.avetana.app.pages.test.TO2 > >> Stack trace > >> • > >> org > >> .apache > >> .tapestry > >> .internal > >> .services > >> .CoercingPropertyConduitWrapper > >> .get(CoercingPropertyConduitWrapper.java:36) > >> • org.apache.tapestry.corelib.components.PropertyEditor > >> $1.getPropertyValue(PropertyEditor.java:151) > >> • > >> org > >> .apache.tapestry.internal.bindings.PropBinding.get(PropBinding.java: > >> 54) > >> • > >> org > >> .apache > >> .tapestry > >> .internal > >> .structure > >> .InternalComponentResourcesImpl > >> .readParameter(InternalComponentResourcesImpl.java:209) > >> • > >> org > >> .apache > >> .tapestry > >> .internal > >> .structure > >> .InternalComponentResourcesImpl > >> .readParameter(InternalComponentResourcesImpl.java:224) > >> • org.apache.tapestry.corelib.base.AbstractTextField._ > >> $read_parameter_value(AbstractTextField.java) > >> • > >> org > >> .apache > >> .tapestry > >> .corelib.base.AbstractTextField.begin(AbstractTextField.java:154) > >> • > >> org > >> .apache > >> .tapestry > >> .corelib.base.AbstractTextField.beginRender(AbstractTextField.java) > >> • > >> org.apache.tapestry.internal.structure.ComponentPageElementImpl > >> $10$1.run(ComponentPageElementImpl.java:327) > >> • > >> org > >> .apache > >> .tapestry > >> .internal > >> .structure > >> .ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:869) > >> • > >> org > >> .apache.tapestry.internal.structure.ComponentPageElementImpl.access > >> $100(ComponentPageElementImpl.java:53) > >> • > >> org.apache.tapestry.internal.structure.ComponentPageElementImpl > >> $10.render(ComponentPageElementImpl.java:331) > >> • > >> org > >> .apache > >> .tapestry > >> .internal.services.RenderQueueImpl.run(RenderQueueImpl.java:58) > >> • > >> org > >> .apache > >> .tapestry > >> .internal > >> .services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:63) > >> • org.apache.tapestry.services.TapestryModule > >> $19.renderMarkup(TapestryModule.java:1291) > >> • org.apache.tapestry.services.TapestryModule > >> $23.renderMarkup(TapestryModule.java:1399) > >> • org.apache.tapestry.services.TapestryModule > >> $22.renderMarkup(TapestryModule.java:1380) > >> > >> ---------------------------- > >> > >> > >> > >> > >> Is there anything one can do to have EditingPages that can handle > >> more than one object type? > >> > >> M. > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
-- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]