Ralf/Stephen
Thank you again - that fixed my problem, and got me thinking more about what
I'm doing - very good...
Ralf said:
> There is no problem asking us to help you out with information that is
> missing in docs. This just reminds us that there are things missing ;-)
> Having said that we would be happy to get doc contributions also from
> your side in form of a howto. If you managed to resolve a problem you
> had there may be others out there with similar problems.
Good point. I'll try and come through on a promise to describe my use case
which is to use castor to assemble the backing beans behind JSF pages. I
need to get it working first though.
I really appreciate your help though.
Tom.
> As far as i understand your OneWayOutputPage class, you offer
> get/setOutputList methods to the list as well as the convinience methods
> add/getOutput. As MappingTool is not able to know that the later ones
> are only to be used by your application and access the same data as the
> first 2 it included them in mapping. The solution is quite simple in
> that case, just remove the field mapping for output. The mapping should
> look like:
>
> <class cst:name="castortest.gamma.OneWayOutputPage">
> <description>
> Default mapping for class castortest.gamma.OneWayOutputPage
> </description>
> <map-to cst:xml="one-way-output-page"/>
> <field cst:name="outputList" cst:type="java.lang.Object"
> cst:collection="arraylist">
> <bind-xml name="output-list" node="element"/>
> </field>
> </class>
>
> Regards
> Ralf
>
>
> Thomas A Hurley schrieb:
> > Hi,
> >
> > I have the following class which I've fed into the MappingTool to
> generate a
> > mapping file. When I attempt to marshal an instance of the java object
> the
> > exception
> >
> > org.exolab.castor.mapping.MappingException: The method getOutput in
> class
> > castortest.gamma.OneWayOutputPage accepting/returning object of type
> > interface java.util.Enumeration was not found
> >
> > is thrown. I don't understand where the 'output' property is coming from
> > though it kind of makes sense when I look at the mapping file. Should I
> just
> > add a method enumerating the contents of the ArrayList?
> >
> > I would be grateful if anyone could direct me to some good castor
> resources
> > with examples on the web as I hate to be bothering you guys so often
> with
> > such basic questions.
> >
> > Thanks in advance.
> >
> > Tom.
> >
> > ===========
> > Java Object
> > ===========
> > public class OneWayOutputPage {
> >
> > private ArrayList<OneWayOutput> outputList = new
> > ArrayList<OneWayOutput>();
> >
> > /**
> > * Creates a new instance of OneWayOutputPage
> > */
> > public OneWayOutputPage() {}
> >
> > public void setOutputList(ArrayList<OneWayOutput> outputList) {
> > this.outputList = outputList;
> > }
> > public ArrayList<OneWayOutput> getOutputList() {
> > return outputList;
> > }
> >
> > public void addOutput(OneWayOutput oneWayOutput) {
> > outputList.add(oneWayOutput);
> > }
> > public OneWayOutput getOutput(int index) {
> > return outputList.get(index);
> > }
> > }
> >
> > ============
> > Mapping File
> > ============
> > <?xml version="1.0" encoding="UTF-8"?>
> > <mapping xmlns="http://castor.exolab.org/"
> > xmlns:cst="http://castor.exolab.org/">
> > <description>Castor generated mapping file</description>
> > <class cst:name="castortest.gamma.OneWayOutputPage">
> > <description>Default mapping for class
> > castortest.gamma.OneWayOutputPage</description>
> > <map-to cst:xml="one-way-output-page"/>
> > <field cst:name="outputList" cst:type="java.lang.Object"
> > cst:collection="arraylist">
> > <bind-xml name="output-list" node="element"/>
> > </field>
> > <field cst:name="output"
> > cst:type="castortest.gamma.OneWayOutput"
> > cst:collection="enumerate">
> > <bind-xml name="output" node="element"/>
> > </field>
> > </class>
> > <class cst:name="castortest.gamma.OneWayOutput">
> > <description>Default mapping for class
> > castortest.gamma.OneWayOutput</description>
> > <map-to cst:xml="one-way-output"/>
> > <field cst:name="columnTotal" cst:type="int">
> > <bind-xml name="column-total" node="attribute"/>
> > </field>
> > <field cst:name="twoWay" cst:type="boolean">
> > <bind-xml name="two-way" node="attribute"/>
> > </field>
> > <field cst:name="oneWay" cst:type="boolean">
> > <bind-xml name="one-way" node="attribute"/>
> > </field>
> > <field cst:name="rows" cst:type="castortest.gamma.ResponseRow"
> > cst:collection="array">
> > <bind-xml name="rows" node="element"/>
> > </field>
> > <field cst:name="questionText" cst:type="java.lang.String">
> > <bind-xml name="question-text" node="element"/>
> > </field>
> > </class>
> > <class cst:name="castortest.gamma.ResponseRow">
> > <description>Default mapping for class
> > castortest.gamma.ResponseRow</description>
> > <map-to cst:xml="response-row"/>
> > <field cst:name="count" cst:type="int">
> > <bind-xml name="count" node="attribute"/>
> > </field>
> > <field cst:name="response" cst:type="java.lang.String">
> > <bind-xml name="response" node="element"/>
> > </field>
> > <field cst:name="width" cst:type="java.lang.String">
> > <bind-xml name="width" node="element"/>
> > </field>
> > <field cst:name="percent" cst:type="java.lang.String">
> > <bind-xml name="percent" node="element"/>
> > </field>
> > </class>
> > </mapping>
> >
> > AnaBus Analytic Business Services, Inc.
> > With better information, we help you make better decisions.
> > Thomas A. Hurley
> > (215) 576-8447 ext.104
> > (215) 576-8452 fax
> > [EMAIL PROTECTED]
> >
> >
> >
> > -------------------------------------------------
> > If you wish to unsubscribe from this list, please
> > send an empty message to the following address:
> >
> > [EMAIL PROTECTED]
> > -------------------------------------------------
>
> -------------------------------------------------
> If you wish to unsubscribe from this list, please
> send an empty message to the following address:
>
> [EMAIL PROTECTED]
> -------------------------------------------------
-------------------------------------------------
If you wish to unsubscribe from this list, please
send an empty message to the following address:
[EMAIL PROTECTED]
-------------------------------------------------