Hi,
I have a working web-app which uses Castor-0.9.4.3 to marshall Java
Objects to XML.
Jdk: Sun 1.4.2
AppServer: JBoss 3.2.5
Platforms: WinXP [Dev environment] , Solaris8 [Production environment]
In the above environment the Marshalling works.
I have since upgraded the AppServer to JBoss4.0.0 and start getting
NullPointerExceptions during the marshalling.
I do get an incomplete XML document output - so the marshalling partly
works.
Upgrading from Castor-0.9.4.3 to Castor-1.0.3 does not solve my problem.
I have downloaded the source and tried to debug but to no avail
as the line numbers don't seem to match up. ( I am using the Eclispse
remote debugging facilities.)
Any ideas and suggestions as to what may cause this?
//----------- Server Stack Trace -------------------------//
2006-10-26 15:05:44,656 INFO
[za.co.rmb.ETS.web.reports.commands.RequestCommand] ---------->
castorProps <-------
2006-10-26 15:05:44,656 INFO [STDOUT] -- listing properties --
2006-10-26 15:05:44,656 INFO [STDOUT] org.exolab.castor.debug=true
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.serializer=org.exolab.castor.xml.XercesSerializer
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.mapping.collections=org.exolab.castor.mapping.loader.J1Co...
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.parser.validation=true
2006-10-26 15:05:44,656 INFO [STDOUT] org.exolab.castor.indent=true
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.marshalling.validation=true
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.jdo.engines=org.exolab.castor.jdo.drivers.OracleF...
2006-10-26 15:05:44,656 INFO [STDOUT]
org.exolab.castor.builder.type.j2=org.exolab.castor.builder.FieldInfoFa...
2006-10-26 15:05:44,671 INFO [STDOUT]
org.exolab.castor.regexp=org.exolab.castor.util.JakartaRegExpE...
2006-10-26 15:05:44,671 INFO [STDOUT]
org.exolab.castor.builder.type.j1=org.exolab.castor.builder.FieldInfoFa...
2006-10-26 15:05:44,671 INFO [STDOUT]
org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesXMLSerial...
2006-10-26 15:05:44,671 INFO [STDOUT]
org.exolab.castor.parser.namespaces=false
2006-10-26 15:05:44,671 INFO [STDOUT]
org.exolab.castor.jdo.keyGeneratorFactories=org.exolab.castor.jdo.drivers.MaxKeyG...
2006-10-26 15:05:44,671 INFO [STDOUT]
org.exolab.castor.builder.type.odmg=org.exolab.castor.builder.FieldInfoFa...
2006-10-26 15:05:44,671 INFO
[za.co.rmb.ETS.web.reports.commands.RequestCommand]
--------------------------------
2006-10-26 15:07:28,625 INFO [STDOUT] Marshalling
za.co.rmb.ETS.web.reports.selectionCriterias.ReportSelectionObject
2006-10-26 15:16:14,765 ERROR [STDERR] java.lang.NullPointerException
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:672)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:969)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:969)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:969)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:969)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:969)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:973)
2006-10-26 15:16:14,765 ERROR [STDERR] at
org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:540)
2006-10-26 15:16:14,781 ERROR [STDERR] at
za.co.rmb.ETS.web.reports.commands.RequestCommand.doXMLMapping(RequestCommand.java:78)
// ---------- END - Stack Trace -------------------------//
//-------------------------------------------------------------------------//
// Marshalling Code //
ReportSelectionObject selectionObject;
// selectionObject initialised with some values ...
String xmlFILE = selectionObject.getCastorXMLFile();
StringWriter stWriter = new StringWriter();
ClassLoader classLoader = getClass().getClassLoader();
URL mappingURL = getClass().getResource(xmlFILE);
Mapping mapping = new Mapping(classLoader);
mapping.loadMapping(mappingURL);
Properties castorProps =
LocalConfiguration.getInstance().getProperties();
castorProps.setProperty("org.exolab.castor.debug", "true");
castorProps.setProperty("org.exolab.castor.indent", "true");
castorProps.setProperty("org.exolab.castor.marshalling.validation",
"true");
castorProps.setProperty("org.exolab.castor.parser.validation",
"true");
castorProps.setProperty("org.exolab.castor.xml.serializer.factory",
"org.exolab.castor.xml.XercesXMLSerializerFactory");
castorProps.setProperty("org.exolab.castor.serializer",
"org.exolab.castor.xml.XercesSerializer");
log.info("----------> castorProps <-------");
castorProps.list(System.out);
log.info("--------------------------------");
Marshaller marshaller = new Marshaller(stWriter);
marshaller.setDebug(true);
marshaller.setValidation(true);
marshaller.setMapping(mapping);
marshaller.marshal(selectionObject); //NPE during Marshalling
// End Marshalling Code //
//-----------------------------------------------------------------------//
public class ReportSelectionObject
{ private Integer firstColspan = null;
private Integer secondColspan = null;
private Integer thirdColspan = null;
private Integer fourthColspan = null;
private Integer fifthColspan = null;
private Integer reportNumber = null;
..... other fields ...
//constructors - has a default construct
//getters and setters
}
//-------------------------------------------------------------------------//
// Mapping Document
<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version
1.0//EN" "http://castor.exolab.org/mapping.dtd">
<mapping>
<class
name="za.co.rmb.ETS.web.reports.selectionCriterias.ReportSelectionObject">
<map-to xml="SelectionObject"/>
<field name="firstColspan" type="java.lang.Integer">
<bind-xml name="firstColspan"/>
</field>
<field name="secondColspan" type="java.lang.Integer">
<bind-xml name="secondColspan"/>
</field>
<field name="thirdColspan" type="java.lang.Integer">
<bind-xml name="thirdColspan"/>
</field>
<field name="fourthColspan" type="java.lang.Integer">
<bind-xml name="fourthColspan"/>
</field>
<field name="fifthColspan" type="java.lang.Integer">
<bind-xml name="fifthColspan"/>
</field>
<field name="contractsFirstColspan" type="java.lang.Integer">
<bind-xml name="contractsFirstColspan"/>
</field>
<field name="contractsSecondColspan" type="java.lang.Integer">
<bind-xml name="contractsSecondColspan"/>
</field>
<field name="contractsThirdColspan" type="java.lang.Integer">
<bind-xml name="contractsThirdColspan"/>
</field>
<field name="contractsFourthColspan" type="java.lang.Integer">
<bind-xml name="contractsFourthColspan"/>
</field>
<field name="contractsFifthColspan" type="java.lang.Integer">
<bind-xml name="contractsFifthColspan"/>
</field>
<field name="proceedsFirstColspan" type="java.lang.Integer">
<bind-xml name="proceedsFirstColspan"/>
</field>
<field name="proceedsSecondColspan" type="java.lang.Integer">
<bind-xml name="proceedsSecondColspan"/>
</field>
<field name="proceedsThirdColspan" type="java.lang.Integer">
<bind-xml name="proceedsThirdColspan"/>
</field>
<field name="paymentsFirstColspan" type="java.lang.Integer">
<bind-xml name="paymentsFirstColspan"/>
</field>
<field name="paymentsSecondColspan" type="java.lang.Integer">
<bind-xml name="paymentsSecondColspan"/>
</field>
<field name="paymentsThirdColspan" type="java.lang.Integer">
<bind-xml name="paymentsThirdColspan"/>
</field>
<field name="reportNumber" type="java.lang.Integer">
<bind-xml name="reportNumber"/>
</field>
<field name="currentTimeDate" type="java.lang.String">
<bind-xml name="currentTimeDate"/>
</field>
<field name="controller" type="java.lang.String">
<bind-xml name="controller"/>
</field>
<field name="reportType" type="java.lang.String">
<bind-xml name="reportType"/>
</field>
<field name="finalGrandTotal" type="java.lang.String">
<bind-xml name="finalGrandTotal"/>
</field>
<field name="grandTotalsCollection" type="java.lang.String"
collection="vector">
<bind-xml name="grandTotalsCollection"/>
</field>
<field name="finalMTMValueGrandAmount" type="java.lang.String">
<bind-xml name="FinalMTMValueGrandTotal"/>
</field>
<field name="finalNonDisProfitAndLossGrandTotal"
type="java.lang.String">
<bind-xml name="FinalNonDiscProfitAndLossGrandTotal"/>
</field>
<field name="reportTitle" type="java.lang.String">
<bind-xml name="reportTitle"/>
</field>
<field name="selectionFields"
type="za.co.rmb.ETS.web.reports.selectionCriterias.ReportSelectionField"
collection="vector">
<bind-xml name="selectionFields" node="element"/>
</field>
<field name="noSubTotals" type="boolean">
<bind-xml name="noSubTotals"/>
</field>
<field name="noGrandTotals" type="boolean">
<bind-xml name="noGrandTotals"/>
</field>
<field name="noCounterSubTotals" type="boolean">
<bind-xml name="noCounterSubTotals"/>
</field>
<field name="isPaymentProceed" type="boolean">
<bind-xml name="isPaymentProceed"/>
</field>
<field name="noCsvDownload" type="boolean">
<bind-xml name="noCsvDownload"/>
</field>
<field name="subTotalAsDetail" type="boolean">
<bind-xml name="subTotalAsDetail"/>
</field>
<field name="toDisplay" type="boolean">
<bind-xml name="toDisplaySelection"/>
</field> <field name="label1" type="java.lang.String">
<bind-xml name="label1"/>
</field>
<field name="label2" type="java.lang.String">
<bind-xml name="label2"/>
</field>
<field name="label3" type="java.lang.String">
<bind-xml name="label3"/>
</field>
<field name="label4" type="java.lang.String">
<bind-xml name="label4"/>
</field>
<field name="label5" type="java.lang.String">
<bind-xml name="label5"/>
</field>
<field name="label6" type="java.lang.String">
<bind-xml name="label6"/>
</field>
<field name="label7" type="java.lang.String">
<bind-xml name="label7"/>
</field>
<field name="label8" type="java.lang.String">
<bind-xml name="label8"/>
</field>
<field name="label9" type="java.lang.String">
<bind-xml name="label9"/>
</field> <field name="display1"
type="java.lang.String">
<bind-xml name="display1"/>
</field>
<field name="display2" type="java.lang.String">
<bind-xml name="display2"/>
</field>
<field name="display3" type="java.lang.String">
<bind-xml name="display3"/>
</field>
<field name="display4" type="java.lang.String">
<bind-xml name="display4"/>
</field>
<field name="display5" type="java.lang.String">
<bind-xml name="display5"/>
</field>
<field name="display6" type="java.lang.String">
<bind-xml name="display6"/>
</field>
<field name="display7" type="java.lang.String">
<bind-xml name="display7"/>
</field>
<field name="display8" type="java.lang.String">
<bind-xml name="display8"/>
</field>
<field name="display9" type="java.lang.String">
<bind-xml name="display9"/>
</field> <field name="footerCol1Line1"
type="java.lang.String">
<bind-xml name="footerCol1Line1"/>
</field>
<field name="footerCol1Line2" type="java.lang.String">
<bind-xml name="footerCol1Line2"/>
</field>
<field name="footerCol1Line3" type="java.lang.String">
<bind-xml name="footerCol1Line3"/>
</field>
<field name="footerCol1Line4" type="java.lang.String">
<bind-xml name="footerCol1Line4"/>
</field>
<field name="footerCol1Line5" type="java.lang.String">
<bind-xml name="footerCol1Line5"/>
</field>
<field name="footerCol1Line6" type="java.lang.String">
<bind-xml name="footerCol1Line6"/>
</field> <field name="footerCol2Line1"
type="java.lang.String">
<bind-xml name="footerCol2Line1"/>
</field>
<field name="footerCol2Line2" type="java.lang.String">
<bind-xml name="footerCol2Line2"/>
</field>
<field name="footerCol2Line3" type="java.lang.String">
<bind-xml name="footerCol2Line3"/>
</field>
<field name="footerCol2Line4" type="java.lang.String">
<bind-xml name="footerCol2Line4"/>
</field>
<field name="footerCol2Line5" type="java.lang.String">
<bind-xml name="footerCol2Line5"/>
</field>
<field name="footerCol2Line6" type="java.lang.String">
<bind-xml name="footerCol2Line6"/>
</field>
<field name="footerCol3Line1" type="java.lang.String">
<bind-xml name="footerCol3Line1"/>
</field>
<field name="footerCol3Line2" type="java.lang.String">
<bind-xml name="footerCol3Line2"/>
</field>
<field name="footerCol3Line3" type="java.lang.String">
<bind-xml name="footerCol3Line3"/>
</field>
<field name="footerCol3Line4" type="java.lang.String">
<bind-xml name="footerCol3Line4"/>
</field>
<field name="footerCol3Line5" type="java.lang.String">
<bind-xml name="footerCol3Line5"/>
</field>
<field name="footerCol3Line6" type="java.lang.String">
<bind-xml name="footerCol3Line6"/>
</field>
<field name="footerCol4Line1" type="java.lang.String">
<bind-xml name="footerCol4Line1"/>
</field>
<field name="footerCol4Line2" type="java.lang.String">
<bind-xml name="footerCol4Line2"/>
</field>
<field name="footerCol4Line3" type="java.lang.String">
<bind-xml name="footerCol4Line3"/>
</field>
<field name="footerCol4Line4" type="java.lang.String">
<bind-xml name="footerCol4Line4"/>
</field>
<field name="footerCol4Line5" type="java.lang.String">
<bind-xml name="footerCol4Line5"/>
</field>
<field name="footerCol4Line6" type="java.lang.String">
<bind-xml name="footerCol4Line6"/>
</field>
<field name="footerCol5Line1" type="java.lang.String">
<bind-xml name="footerCol5Line1"/>
</field>
<field name="footerCol5Line2" type="java.lang.String">
<bind-xml name="footerCol5Line2"/>
</field>
<field name="footerCol5Line3" type="java.lang.String">
<bind-xml name="footerCol5Line3"/>
</field>
<field name="footerCol5Line4" type="java.lang.String">
<bind-xml name="footerCol5Line4"/>
</field>
<field name="footerCol5Line5" type="java.lang.String">
<bind-xml name="footerCol5Line5"/>
</field>
<field name="footerCol5Line6" type="java.lang.String">
<bind-xml name="footerCol5Line6"/>
</field>
<field name="footerCol6Line1" type="java.lang.String">
<bind-xml name="footerCol6Line1"/>
</field>
<field name="footerCol6Line2" type="java.lang.String">
<bind-xml name="footerCol6Line2"/>
</field>
<field name="footerCol6Line3" type="java.lang.String">
<bind-xml name="footerCol6Line3"/>
</field>
<field name="footerCol6Line4" type="java.lang.String">
<bind-xml name="footerCol6Line4"/>
</field>
<field name="footerCol6Line5" type="java.lang.String">
<bind-xml name="footerCol6Line5"/>
</field>
<field name="footerCol6Line6" type="java.lang.String">
<bind-xml name="footerCol6Line6"/>
</field>
<field name="reportMsgLine1" type="java.lang.String">
<bind-xml name="reportMsgLine1"/>
</field>
<field name="reportMsgLine2" type="java.lang.String">
<bind-xml name="reportMsgLine2"/>
</field>
<field name="reportMsgLine3" type="java.lang.String">
<bind-xml name="reportMsgLine3"/>
</field>
<field name="reportMsgLine4" type="java.lang.String">
<bind-xml name="reportMsgLine4"/>
</field>
<field name="reportMsgLine5" type="java.lang.String">
<bind-xml name="reportMsgLine5"/>
</field>
<field name="reportMsgLine6" type="java.lang.String">
<bind-xml name="reportMsgLine6"/>
</field>
<field name="reportMsgLine7" type="java.lang.String">
<bind-xml name="reportMsgLine7"/>
</field>
<field name="reportMsgLine8" type="java.lang.String">
<bind-xml name="reportMsgLine8"/>
</field>
<field name="reportMsgLine9" type="java.lang.String">
<bind-xml name="reportMsgLine9"/>
</field>
<field name="reportSubTitle" type="java.lang.String">
<bind-xml name="reportSubTitle"/>
</field>
<field name="utiliseSubTotalRequried" type="boolean">
<bind-xml name="utiliseSubTotalRequried"/>
</field>
<field name="balanceSubTotalRequried" type="boolean">
<bind-xml name="balanceSubTotalRequried"/>
</field>
<field name="treasuryBuySellGlossary" type="boolean">
<bind-xml name="treasuryBuySellGlossary"/>
</field>
<field name="clientBuySellGlossary" type="boolean">
<bind-xml name="clientBuySellGlossary"/>
</field>
<field name="transactionTypeGlossary" type="boolean">
<bind-xml name="transactionTypeGlossary"/>
</field>
<field name="settlementDateFrom" type="java.lang.String">
<bind-xml name="settlementDateFrom"/>
</field>
<field name="settlementDateTo" type="java.lang.String">
<bind-xml name="settlementDateTo"/>
</field>
<field name="tradeDateLessOrEqualTo" type="java.lang.String">
<bind-xml name="tradeDateLessOrEqualTo"/>
</field>
<field name="settlementDateGreaterOrEqualTo"
type="java.lang.String">
<bind-xml name="settlementDateGreaterOrEqualTo"/>
</field>
<field name="contracts" type="java.lang.String">
<bind-xml name="contracts"/>
</field>
<field name="proceeds" type="java.lang.String">
<bind-xml name="proceeds"/>
</field>
<field name="payments" type="java.lang.String">
<bind-xml name="payments"/>
</field>
<field name="folderName" type="java.lang.String">
<bind-xml name="folderName"/>
</field>
<field name="portfolioName" type="java.lang.String">
<bind-xml name="portfolioName"/>
</field>
<field name="report4001Details" type="boolean">
<bind-xml name="report4001Details"/>
</field>
<field name="onlySelectionCriteria" type="boolean">
<bind-xml name="onlySelectionCriteria"/>
</field>
<field name="dataGroups"
type="za.co.rmb.ETS.web.reports.groupings.ReportGroup">
<bind-xml name="dataGroups"/>
</field>
<field name="bankContractsData"
type="za.co.rmb.ETS.web.reports.groupings.ReportGroup">
<bind-xml name="bankContractsData"/>
</field>
<field name="proceedsData"
type="za.co.rmb.ETS.web.reports.groupings.ReportGroup">
<bind-xml name="proceedsData"/>
</field>
<field name="paymentsData"
type="za.co.rmb.ETS.web.reports.groupings.ReportGroup">
<bind-xml name="paymentsData"/>
</field>
</class>
<class
name="za.co.rmb.ETS.web.reports.selectionCriterias.ReportSelectionField">
<field name="fieldName" type="java.lang.String">
<bind-xml name="fieldName"/>
</field>
<field name="fieldType" type="java.lang.String">
<bind-xml name="fieldType"/>
</field>
<field name="selectedValue" type="java.lang.String">
<bind-xml name="selectedValue"/>
</field>
<field name="fieldValues" type="java.lang.String"
collection="vector">
<bind-xml name="fieldValues" node="element"/>
</field>
<field name="parameterDisplayName" type="java.lang.String">
<bind-xml name="parameterDisplayName"/>
</field>
</class>
<class name="za.co.rmb.ETS.web.reports.groupings.ReportGroup">
<field name="groupKey" type="java.lang.String">
<bind-xml name="GroupKey"/>
</field>
<field name="subGroups"
type="za.co.rmb.ETS.web.reports.groupings.ReportGroup"
collection="arraylist">
<bind-xml name="SubGroup" node="element"/>
</field>
<field name="columnHeadings" type="java.lang.String"
collection="vector">
<bind-xml name="Headings" node="element"/>
</field>
<field name="tradeData" type="java.lang.String" collection="vector">
<bind-xml name="TradeRecord" node="element"/>
</field>
<field name="paymentProceedData"
type="za.co.rmb.ETS.web.reports.support.PaymentProceedRecord"
collection="vector">
<bind-xml name="PaymentProceedData" node="element"/>
</field>
<field name="dealtSubTotal" type="java.lang.String">
<bind-xml name="DealtSubTotal"/>
</field>
<field name="doubleDealtSubTotal" type="double">
<bind-xml name="DoubleDealtSubTotal"/>
</field>
<field name="creditDebitMsg" type="java.lang.String">
<bind-xml name="CreditDebitMsg"/>
</field>
<field name="counterSubTotal" type="java.lang.String">
<bind-xml name="CounterSubTotal"/>
</field>
<field name="balanceSubTotal" type="java.lang.String">
<bind-xml name="BalanceSubTotal"/>
</field>
<field name="utiliseSubTotal" type="java.lang.String">
<bind-xml name="UtiliseSubTotal"/>
</field>
<field name="mtmValueSubTotal" type="java.lang.String">
<bind-xml name="MTMValueSubTotal"/>
</field>
<field name="nonDiscountedProfitAndLossSubTotal"
type="java.lang.String">
<bind-xml name="NonDiscountedProfitAndLossSubTotal"/>
</field>
</class>
<class name="za.co.rmb.ETS.web.reports.support.PaymentProceedLegRecord">
<map-to xml="PaymentProceedLegRecord"/>
<field name="clientReference" direct="false"
get-method="getValueForClientReference"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="entryReference" direct="false"
get-method="getValueForEntryReference"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="tradeType" direct="false"
get-method="getValueForTradeType"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="amount" direct="false"
get-method="getValueForAmount"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="dateTimeStructure" direct="false"
get-method="getValueForDateTimeStructure"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="balance" direct="false"
get-method="getValueForBalance"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
</class>
<class name="za.co.rmb.ETS.web.reports.support.PaymentProceedRecord">
<map-to xml="PaymentProceedRecord"/>
<field name="activated" direct="false"
get-method="getValueForActivated"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="activationDate" direct="false"
get-method="getValueForActivationDate"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="counterParty" direct="false"
get-method="getValueForCounterParty"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="currencyCode" direct="false"
get-method="getValueForCurrencyCode"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="currentDateTime" direct="false"
get-method="getValueForCurrentDateTime"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="paymentProceedLegs" direct="false"
get-method="getValueForPaymentProceedLegs"
type="za.co.rmb.ETS.web.reports.support.PaymentProceedLegFieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="paymentProceedReference" direct="false"
get-method="getValueForPaymentProceedReference"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="portfolioName" direct="false"
get-method="getValueForPortfolioName"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="spotAmount" direct="false"
get-method="getValueForSpotAmount"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="spotDateTime" direct="false"
get-method="getValueForSpotDateTime"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
<field name="totalAmount" direct="false"
get-method="getValueForTotalAmount"
type="za.co.rmb.ETS.web.reports.support.FieldValue">
<bind-xml name="Field" node="element"/>
</field>
</class>
<class name="za.co.rmb.ETS.web.reports.support.FieldValue">
<field name="fieldName" direct="false" get-method="getFieldName">
<bind-xml name="fieldName" node="attribute"/>
</field>
<field name="value" direct="false" get-method="getValue">
<bind-xml name="Value" node="element"/>
</field>
<field name="position" direct="false" get-method="getPosition"
type="integer">
<bind-xml name="position" node="attribute"/>
</field>
<field name="display" direct="false" get-method="getDisplay"
type="boolean">
<bind-xml name="display" node="attribute"/>
</field>
</class>
<class
name="za.co.rmb.ETS.web.reports.support.PaymentProceedLegFieldValue"
extends="za.co.rmb.ETS.web.reports.support.FieldValue">
<field name="leg" direct="false" get-method="getValueAsVector"
type="za.co.rmb.ETS.web.reports.support.PaymentProceedLegRecord"
collection="vector">
<bind-xml name="Leg" node="element"/>
</field>
</class>
</mapping>
//--------- End of Mapping Files ------------------------------