I'm using the castor-0.9.3.9.jar file.

I'll try downloading the CVS version and building it and try that....

Here's what I'm doing:

package rm.castor;

import java.util.Date;
import java.util.*;
import java.sql.Timestamp;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import org.exolab.castor.xml.*;
//import TestObject;
import rm.ejb.database.WorkRequest;
import org.xml.sax.ContentHandler;
import org.apache.xml.serialize.*;
import org.exolab.castor.mapping.Mapping;
import org.exolab.castor.mapping.MappingException;


class Castor extends Frame {

        public Castor() {
                addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent e) {
                                dispose();
                                System.exit(0);
                        }
                });
        }

        public static void main(String args[]) {
                System.out.println("Starting Castor...");
                Castor mainFrame = new Castor();
                mainFrame.setSize(400, 400);
                mainFrame.setTitle("Castor");
                mainFrame.setVisible(true);
    WorkRequest[] wrs = new WorkRequest[3];

    try {
      wrs[0] = new WorkRequest();
      wrs[0].setSrcNm("ETMS");
                wrs[0].setAdrCityNm("Colorado Springs");
                wrs[0].setAdrCountyNm("El Paso");
                wrs[0].setAdrDirections("Turn Left at Rte. 83");
                wrs[0].setAdrPostalCd("80919");
                wrs[0].setAdrStateCd("CO");
                wrs[0].setAdrStreet1("1900 Longview Rd.");
                wrs[0].setDispatcherNm("TOMMY");
                //wrs[0].setDispatchRequired(false);
                wrs[0].setDispatchRequiredFlg("N");
                wrs[0].setId(Long.parseLong("999999912312321"));
                wrs[0].setInterfaceCreatedFlg("N");
      wrs[0].setLstUpdDt(new Timestamp(System.currentTimeMillis()));
      wrs[0].setSrcActDueDt("10/2/2002 08:00 AM"); // mm/dd/yy hh:mm tt"
      wrs[0].setSrcOrdDueDt("10/1/2002 09:00 AM");
      wrs[0].setLastUpdateEmpDt(new Timestamp(System.currentTimeMillis()));
                wrs[0].setLastUpdateEmpId("MSELLERS");
                wrs[0].setLocCdCsite("CSITE");
                wrs[0].setRmActNm("E2E");
                wrs[0].setRmPriorityCd("1");
                wrs[0].setRmSiteCd("X12345");
                wrs[0].setSrcActCd("E2E");
                wrs[0].setSrcCustNm("Toys R Us");
                wrs[0].setStatusNm("Received");
                wrs[0].setStatusReasonNm("REDIRECTED");

                wrs[1] = new WorkRequest();
      wrs[1].setSrcNm("TCOMS");
      wrs[1].setAdrCityNm("Denver");
      wrs[1].setAdrCountyNm("Littletone");
      wrs[1].setAdrDirections("Tech Center");
      wrs[1].setAdrPostalCd("80900");
      wrs[1].setAdrStateCd("CO");
      wrs[1].setAdrStreet1("One Marriott Plaza");
      wrs[1].setDispatcherNm("SUSIE");
      //wrs[1].setDispatchRequired(false);
      wrs[1].setDispatchRequiredFlg("Y");
      wrs[1].setId(Long.parseLong("200212312321"));
      wrs[1].setInterfaceCreatedFlg("Y");
      wrs[1].setLstUpdDt(new Timestamp(System.currentTimeMillis()));
      wrs[1].setSrcActDueDt("11/2/2002 08:00 AM"); // mm/dd/yy hh:mm tt"
      wrs[1].setSrcOrdDueDt("11/1/2002 09:00 AM");
      wrs[1].setLastUpdateEmpDt(new Timestamp(System.currentTimeMillis()));
      wrs[1].setLastUpdateEmpId("DROEDA");
      wrs[1].setLocCdCsite("cssxx");
      wrs[1].setRmActNm("FIN");
      wrs[1].setRmPriorityCd("1");
      wrs[1].setRmSiteCd("FOG.LUE");
      wrs[1].setSrcActCd("FIN");
      wrs[1].setSrcCustNm("MicroWarehouse");
      wrs[1].setStatusNm("Sent");
      wrs[1].setStatusReasonNm("CANCELED");

      wrs[2] = new WorkRequest();
      wrs[2].setSrcNm("FANDE");
      wrs[2].setAdrCityNm("Longmount");
      wrs[2].setAdrCountyNm("Teller");
      wrs[2].setAdrDirections("Just down past Joe's house");
      wrs[2].setAdrPostalCd("80800");
      wrs[2].setAdrStateCd("CO");
      wrs[2].setAdrStreet1("1715 Lazy Lane");
      wrs[2].setDispatcherNm("JRODE");
      //wrs[2].setDispatchRequired(false);
      wrs[2].setDispatchRequiredFlg("Y");
      wrs[2].setId(Long.parseLong("200210000320"));
      wrs[2].setInterfaceCreatedFlg("Y");
      wrs[2].setLstUpdDt(new Timestamp(System.currentTimeMillis()));
      wrs[2].setSrcActDueDt("12/2/2002 08:00 AM"); // mm/dd/yy hh:mm tt"
      wrs[2].setSrcOrdDueDt("12/1/2002 09:00 AM");
      wrs[2].setLastUpdateEmpDt(new Timestamp(System.currentTimeMillis()));
      wrs[2].setLastUpdateEmpId("SCBECKER");
      wrs[2].setLocCdCsite("BCANF");
      wrs[2].setRmActNm("CPP");
      wrs[2].setRmPriorityCd("3");
      wrs[2].setRmSiteCd("XXX.JER");
      wrs[2].setSrcActCd("CPP");
      wrs[2].setSrcCustNm("Mack Trucks");
      wrs[2].setStatusNm("Acknowldgd");
      wrs[2].setStatusReasonNm("");


        } catch (Exception e) {
         System.err.println("Exception setting WorkRequest methods: " +
e.toString());
    }

    //LoginData cc = new LoginData();
    //cc.setUserid("MSELLERS");
    //cc.setPassword("PassWord7132");
    //cc.setDateOfBirth(new Date());

    ///*
    Mapping mapping = new Mapping();

                try {
                  mapping.loadMapping( "C:\\Castor\\workrequest_map.xml" );
                } catch (Exception me ) {
                  System.err.println("Error loading mapper");
                }
                //*/

                try {
                  FileWriter writer = new FileWriter("C:\\Castor\\cc.xml");
                  Marshaller mm = new Marshaller(writer);
                  //mm.setMapping( mapping );

      mm.setNamespaceMapping("-//EXOLAB/Castor Object Mapping Schema Version
1.0//EN","http://castor.exolab.org/mapping.xsd";);
      mm.setMarshalAsDocument(true);
                  mm.setValidation(false);
                  mm.setNSPrefixAtRoot(true);

                  mm.marshal(wrs, writer);

                  System.err.println("finished marshalling...");

    } catch (java.io.IOException ioe) {
        System.err.println(ioe.toString());
    } catch ( org.exolab.castor.xml.MarshalException me ) {
        System.err.println(me.toString());
    } catch ( org.exolab.castor.xml.ValidationException ve ) {
        System.err.println(ve.toString());
    } //catch ( org.exolab.castor.mapping.MappingException mpe ) {
      //  System.err.println(mpe.toString());
    //}
  }
}

Here's the Exception:

Exception in thread "main" java.lang.NullPointerException
        at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:672)
        at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:540)
        at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:460)
        at rm.castor.Castor.main(Castor.java:160)


Thanks.

Mark Sellers

> -----Original Message-----
> From: Keith Visco [mailto:[EMAIL PROTECTED]]
> Sent: Monday, April 22, 2002 3:09 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [castor-dev] How do I marshall a collection of my class
> objects?
>
>
>
> Hi Mark.
>
> Which version of Castor are you using?
>
> The CVS version works fine for me with respect to collections.
>
> If you are using the CVS version, and you are still having problems,
> please send an "as-short-as-possible" example that reproduces the issue
> so that I can take a look into it.
>
> Thanks,
>
> --Keith
>
> "Mark A. Sellers" wrote:
> >
> > I'm able to marshall one instance of my own class object
> (WorkRequest), but
> > if I've got a collection of them  (WorkRequest[]), how do I marshall the
> > whole collection in order to produce ONE XML file which contains all the
> > data from all the classes?
> >
> > I tried just marshalling the collection object, but it throws a
> > NullPOinterException...
> >
> > Mark A. Sellers
> > Worldcom, Inc.
> > Resource Manager Development
> > Dept/Loc:1780/117
> > http://www.worldcom.com
> >
> > -----------------------------------------------------------
> > If you wish to unsubscribe from this mailing, send mail to
> > [EMAIL PROTECTED] with a subject of:
> >         unsubscribe castor-dev
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>       unsubscribe castor-dev
>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to