Hi Tom,

we are sorry but there are no better docs available yet then at:

http://castor.codehaus.org/

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.

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]
-------------------------------------------------

Reply via email to