Thanks. It's really weird because the RSS example in the sample code works fine and my code is almost identical.

Matt


Jason Wood wrote:

I'm afraid I miss understood your original question and am not sure what the
best approach is.

Sorry
J

-----Original Message-----
From: Matt Goodwin [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 13, 2005 5:12 PM
To: Jakarta Commons Users List
Subject: Re: [betwixt] Collection property question


public void testReadBean() {
try {
File file = new File(FILE1);
BeanReader beanReader = new BeanReader();
beanReader.registerBeanClass(AgentStatement.class);
AgentStatement statement = (AgentStatement)beanReader.parse(file);
} catch(Exception e) {
fail(e.getMessage());
} }


xml file:
<AgentStatementVO>
 <StatementDate>2004/10/08</StatementDate>
 <AgentInfoVO>
   <FirstName/>
   <Name>xxxx</Name>
   <AgentId>xxxx</AgentId>
   <Address1>xxxx</Address1>
   <Address2>xxxx</Address2>
   <City>xxxx</City>
   <State>xx</State>
   <Zip>xxxxx</Zip>
   <AgentType>xxxx</AgentType>
   <DisbursementSource>xxxx</DisbursementSource>
 </AgentInfoVO>
 <AgentStatementLineVO>
   <AgentNumber>xxxx</AgentNumber>
   <ProductType>xxxx</ProductType>
   <FirstName>xxxx</FirstName>
   <Name>xxxx</Name>
   <EffectiveDate>2004/10/04</EffectiveDate>
   <ProcessDate>2004/10/05</ProcessDate>
   <OwnerName>xxxx</OwnerName>
   <PolicyNumber>0</PolicyNumber>
   <InitialPremium>0</InitialPremium>
   <CommissionRate>0.0</CommissionRate>
   <CommissionPremium>0</CommissionPremium>
   <Type>xxxx</Type>
   <AmountDue>0</AmountDue>
 </AgentStatementLineVO>
 <AgentStatementLineVO>
   <AgentNumber>xxxx</AgentNumber>
   <ProductType>xxxx</ProductType>
   <FirstName>xxxx</FirstName>
   <Name>xxxx</Name>
   <EffectiveDate>2004/10/04</EffectiveDate>
   <ProcessDate>2004/10/05</ProcessDate>
   <OwnerName>xxxx</OwnerName>
   <PolicyNumber>0</PolicyNumber>
   <InitialPremium>0</InitialPremium>
   <CommissionRate>0.0</CommissionRate>
   <CommissionPremium>0</CommissionPremium>
   <Type>xxxx</Type>
   <AmountDue>0</AmountDue>
 </AgentStatementLineVO>
 <AgentEarningsVO>
     <TaxableIncome>0.0</TaxableIncome>
     <TaxableIncomeYTD>0.0</TaxableIncomeYTD>
     <PositivePolicyEarnings>0</PositivePolicyEarnings>
     <NegativePolicyEarnings>0</NegativePolicyEarnings>
     <NetPolicyEarnings>0</NetPolicyEarnings>
 </AgentEarningsVO>
</AgentStatementVO>

reads all non-plural elements fine. when i change AgentStatementLineVO to non-plural (regular getter/setter for the object) it works fine as well.

Thanks,

Matt
Tim O'Brien wrote:



Could you send the complete code you are using to read with?

Tim


-----Original Message----- From: Matt Goodwin [mailto:[EMAIL PROTECTED] Sent: Thu 1/13/2005 2:58 PM To: Jakarta Commons Users List Subject: Re: [betwixt] Collection property question

I have that set. It appears that my class is not being recognized in the parse process. My add method on my class is never called.

Matt


Jason Wood wrote:





I think you want this ...

IntrospectionConfiguration.setWrapCollectionsInElement(false)

Jason

-----Original Message-----
From: Matt Goodwin [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 13, 2005 11:02 AM
To: Jakarta Commons Users List
Subject: [betwixt] Collection property question


I have xml I need to map to my bean. It is very similar to the CustomerBean example, except I am using Collection instead of and array of objects (i.e. Order[]). Here is a sample of the xml, followed by my class, followed by my .betwixt file. The problem I am having is the List is always null. How do you map objects in the .betwixt file if the collection has no surrounding element tag (i.e. <orders></order></order></orders>)?


Example xml:
<AgentStatementVO>
<StatementDate>2004/10/08</StatementDate>
<AgentInfoVO>...</AgentInfoVO>
<AgentStatementLineVO>...</AgentStatementLineVO>
<AgentStatementLineVO>...</AgentStatementLineVO>
<AgentEarningsVO>...</AgentEarningsVO>
</AgentStatementVO>

Class:
public class AgentStatement implements java.io.Serializable {
private Date statementDate;
private AgentInfo agentInfo;
private Collection agentStatementDetails = new java.util.ArrayList();
private AgentEarning agentEarning;
/* .. snip non-relevant getters/setters */
public Collection getAgentStatementDetails() {
return agentStatementDetails;
}
public void setAgentStatementDetails(Collection agentStatementDetails)


{


this.agentStatementDetails = agentStatementDetails;
}
public void addAgentStatementDetail(AgentStatementDetail agentStatementDetail) {
this.agentStatementDetails.add(agentStatementDetail);
}
}


Betwixt file:
<?xml version='1.0' ?>
<info>
<element name='AgentStatementVO'>
<element name='StatementDate' property='statementDate'/>
<element name='AgentInfoVO' property='agentInfo'/>
<element name='AgentStatementLineVO' property='agentStatementDetails' class='com.equitrust.commissionloader.beans.AgentStatementDetail'/>
<element name='AgentEarningsVO' property='agentEarning'/>
</element>
</info>


Everything except the agentStatementDetails are populated correctly.

Thanks,

Matt









------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







-- Matt Goodwin [EMAIL PROTECTED] (515)708-0114 Metalexis "Transcending the Ordinary"


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to