Good day.
I did a cursory search of the archives and didn't find anything directly
related to my query.
That is not to say it isn't out there and I missed it, however, I am new
to Castor and in need of a little assistance.
I have the following binding file:
<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Ojbect Mapping DTD Version
1.0//EN"
"http://castor.exolab.org/mapping.dtd">
<mapping>
<class name="com.xxxx.rdcc.application.RepairOrder">
<map-to xml="repairOrder" />
<field name="_jobs" type="OutboundJob" collection="vector">
<bind-xml name="job" />
</field>
<field name="_equipment" type="Equipment" required="true">
<bind-xml name="equipment" />
</field>
<field name="_repairOrderStartDate" type="string" required="true">
<bind-xml name="repairOrderStartDate" />
</field>
<field name="_deviceID" type="string" required="true">
<bind-xml name="serialNumber" />
</field>
<field name="_lastUpdateTime" type="string" required="true">
<bind-xml name="lastUpdateTime" />
</field>
</class>
<class name="com.xxxxx.rdcc.application.Shed">
<field name="_equipment" type="Equipment" collection="vector">
<bind-xml name="equipment" />
</field>
</class>
<!-- Only unmarshalling from the equipment xml -->
<class name="com.xxxxx.rdcc.application.Equipment">
<field name="_equipmentID" type="string" required="true">
<bind-xml name="equipmentId" />
</field>
<field name="_equipmentSpec" type="string" required="true">
<bind-xml name="equipmentSpec" />
</field>
<field name="_equipmentUnitNumber" type="string" required="true">
<bind-xml name="equipmentUnitNumber" />
</field>
<field name="_equipmentUnitPrefix" type="string" required="true">
<bind-xml name="equipmentUnitPrefix" />
</field>
<field name="_equipmentType" type="string" required="true">
<bind-xml name="equipmentType" />
</field>
<field name="_equipmentStatus" type="string" required="true">
<bind-xml name="equipmentStatus" />
</field>
</class>
<class name="com.xxxx.rdcc.application.FilingCabinet">
<field name="_currentJobs" type="OutboundJob" collection="vector">
<bind-xml name="job" />
</field>
</class>
<class name="com.xxxx.rdcc.application.OutboundJob">
<map-to xml="job" />
<field name="_rdccTime" type="RDCCJobTime" collection="vector">
<bind-xml name="time" />
</field>
<field name="_parts" type="Part" collection="vector">
<bind-xml name="part" />
</field>
<field name="_picture" type="Picture" collection="vector">
<bind-xml name="picture" />
</field>
<field name="_jobStatus" type="string" required="true">
<bind-xml name="jobStatus" />
</field>
<field name="_jobID" type="string" required="true">
<bind-xml name="jobID" />
</field>
<field name="_jobType" type="string" required="true">
<bind-xml name="jobType" />
</field>
<field name="_technicianID" type="string" required="true">
<bind-xml name="technicianID" />
</field>
<field name="_equipmentNumber" type="string" required="true">
<bind-xml name="equipmentNumber" />
</field>
<field name="_equipmentPrefix" type="string" required="true">
<bind-xml name="equipmentPrefix" />
</field>
<field name="_inventoryLocation" type="string">
<bind-xml name="inventoryLocation" />
</field>
<field name="_inspectionRepairLocation" type="string">
<bind-xml name="inspectionRepairLocation" />
</field>
<field name="_accountCode" type="string">
<bind-xml name="accountCode" />
</field>
<field name="_jobCode" type="string">
<bind-xml name="jobCode" />
</field>
<field name="_cause" type="string">
<bind-xml name="cause" />
</field>
<field name="_jobPosition" type="string">
<bind-xml name="jobPosition" />
</field>
<field name="_damagePosition" type="string">
<bind-xml name="damagePosition" />
</field>
<field name="_damagedArea" type="string">
<bind-xml name="damagedArea" />
</field>
<field name="_correctionCode" type="string">
<bind-xml name="correctionCode" />
</field>
<field name="_condition" type="string">
<bind-xml name="condition" />
</field>
<field name="_workPerformed" type="string">
<bind-xml name="workPerformed" />
</field>
</class>
<class name="com.xxx.rdcc.application.RDCCJobTime">
<field name="_technicianNumber" type="string" required="true">
<bind-xml name="techncianID" />
</field>
<field name="_startTime" type="string" required="true">
<bind-xml name="startTime" />
</field>
<field name="_startDate" type="string" required="true">
<bind-xml name="startDate" />
</field>
<field name="_endTime" type="string" required="true">
<bind-xml name="endTime" />
</field>
<field name="_endDate" type="string" required="true">
<bind-xml name="endDate" />
</field>
</class>
<class name="com.xxxx.rdcc.application.Part">
<field name="_partNumber" type="string" required="true">
<bind-xml name="partNumber" />
</field>
<field name="_partQuantity" type="string" required="true">
<bind-xml name="partQuantity" />
</field>
<field name="_tirePartRemoved" type="string">
<bind-xml name="tirePartRemoved" />
</field>
<field name="_tireTreadDepthRemoved" type="string">
<bind-xml name="tireTreadDepthRemoved" />
</field>
<field name="_tirePartInstalled" type="string">
<bind-xml name="tirePartInstalled" />
</field>
<field name="_tireTreadDepthInstalled" type="string">
<bind-xml name="tireTreadDepthInstalled" />
</field>
</class>
<class name="com.xxxxx.rdcc.application.Picture">
<field name="_filename" type="string">
<bind-xml name="before" />
</field>
<field name="_filename" type="string">
<bind-xml name="after" />
</field>
</class>
<!-- only unmarshalling the spec not writing to it -->
<class name="com.xxxxx.rdcc.application.Spec">
<field name="_specID" type="string" required="true">
<bind-xml name="specId" />
</field>
<field name="_jobNumber" type="string" required="true">
<bind-xml name="jobNumber" />
</field>
<field name="_jobPosition" type="string" required="true">
<bind-xml name="jobPosition" />
</field>
<field name="_partNumber" type="string" required="true">
<bind-xml name="partNumber" />
</field>
<field name="_minQuantity" type="string" required="true">
<bind-xml name="minQuantity" />
</field>
<field name="_maxQuantity" type="string" required="true">
<bind-xml name="maxQuantity" />
</field>
<field name="_status" type="string" required="true">
<bind-xml name="status" />
</field>
</class>
</mapping>
I am attempting to write out a java object with this code
Mapping _mapping = new Mapping();
_mapping.loadMapping(RDCCProperties.ROOT_DIR + "castorBinding.xml")
public void writeTempData(OutboundJob job)
{
String technicianNumber = job.getTechnicianID();
System.out.println("tech id is " + technicianNumber);
try
{
Marshaller marshaller = new Marshaller(new
java.io.OutputStreamWriter(new
java.io.FileOutputStream(RDCCProperties.TEMP_DATA_STORE +
technicianNumber + ".xml")));
marshaller.setMapping(_mapping);
marshaller.marshal(job);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
I will not post the code, but I have verified that all fields match
correctly.
I have this method to test marshalling
public void writeTempData(OutboundJob job)
{
String technicianNumber = job.getTechnicianID();
System.out.println("tech id is " + technicianNumber);
try
{
Marshaller marshaller = new Marshaller(new
java.io.OutputStreamWriter(new
java.io.FileOutputStream(RDCCProperties.TEMP_DATA_STORE +
technicianNumber + ".xml")));
marshaller.setMapping(_mapping);
marshaller.marshal(job);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
As soon as this method is executed I simply get
java.lang.StackOverflowError
Any thoughts?
Thanks in advance
Damon
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user