[jboss-user] [JBoss Seam] - Re: h:datatable/el not displaying data

paradigmza do-not-reply at jboss.com
Fri Aug 3 08:15:14 EDT 2007


Ok, this is everything... going to be long...

most of it was generated by seam-gen


Web.xml
<?xml version="1.0" ?>
  | <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  |          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  |          version="2.4">
  | 
  |     <!-- Ajax4jsf -->
  |         
  |     <context-param>
  |         <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
  |         <param-value>com.sun.facelets.FaceletViewHandler</param-value>
  |     </context-param>
  |     
  |     <context-param>
  |         <param-name>org.ajax4jsf.SKIN</param-name>
  |         <param-value>blueSky</param-value>
  |     </context-param>
  |     
  |     <context-param>
  | 		<param-name>facelets.LIBRARIES</param-name>
  | 		<param-value>/WEB-INF/tomahawk.taglib.xml</param-value>
  | 	</context-param>
  |  
  |    <!-- Seam -->
  |     
  |    <listener>
  |       <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
  |    </listener>
  |     
  |     <filter>
  |         <filter-name>Seam Filter</filter-name>
  |         <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
  |     </filter>
  | 
  |     <filter-mapping>
  |         <filter-name>Seam Filter</filter-name>
  |         <url-pattern>/*</url-pattern>
  |     </filter-mapping>
  |         
  |    <servlet>
  |       <servlet-name>Seam Resource Servlet</servlet-name>
  |       <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
  |    </servlet>
  |     
  |    <servlet-mapping>
  |       <servlet-name>Seam Resource Servlet</servlet-name>
  |       <url-pattern>/seam/resource/*</url-pattern>
  |    </servlet-mapping>
  |    
  |    <!-- Facelets development mode (disable in production) -->
  |    
  |    <context-param>
  |       <param-name>facelets.DEVELOPMENT</param-name>
  |       <param-value>true</param-value>
  |    </context-param>
  |     
  |    <!-- JSF -->
  |    
  |    <context-param>
  |       <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  |       <param-value>.xhtml</param-value>
  |    </context-param>
  | 
  |    <servlet>
  |       <servlet-name>Faces Servlet</servlet-name>
  |       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  |       <load-on-startup>1</load-on-startup>
  |    </servlet>
  |     
  |    <servlet-mapping>
  |       <servlet-name>Faces Servlet</servlet-name>
  |       <url-pattern>*.seam</url-pattern>
  |    </servlet-mapping>
  |    
  |    <servlet>
  | 		<servlet-name>JustSwipeService</servlet-name>
  | 		<servlet-class>
  | 			coza.healthbridge.justswipe.beans.webservices.JustSwipeService
  | 		</servlet-class>
  | 	</servlet>
  | 	
  | 	<servlet-mapping>
  | 		<servlet-name>JustSwipeService</servlet-name>
  | 		<url-pattern>/JustSwipeService</url-pattern>
  | 	</servlet-mapping>
  | 	
  | 	<filter>
  | 		<filter-name>Seam Servlet Filter</filter-name>
  | 		<filter-class>
  | 			org.jboss.seam.servlet.SeamServletFilter
  | 		</filter-class>
  | 	</filter>
  | 
  | 	<filter-mapping>
  | 		<filter-name>Seam Servlet Filter</filter-name>
  | 		<url-pattern>/JustSwipeService</url-pattern>
  | 	</filter-mapping>
  |                   
  |    <security-constraint> 
  |        <display-name>Restrict raw XHTML Documents</display-name>
  |        <web-resource-collection>
  |            <web-resource-name>XHTML</web-resource-name>
  |            <url-pattern>*.xhtml</url-pattern>
  |        </web-resource-collection>
  |        <auth-constraint>
  |            <role-name>NONE</role-name>
  |        </auth-constraint>
  |    </security-constraint>
  |    
  |    	<!-- MyFaces : Tomahawk extension -->
  | 
  | 	<filter>
  | 		<filter-name>MyFacesExtensionsFilter</filter-name>
  | 		<filter-class>
  | 			org.apache.myfaces.webapp.filter.ExtensionsFilter
  | 		</filter-class>
  | 		<init-param>
  | 			<param-name>maxFileSize</param-name>
  | 			<param-value>20m</param-value>
  | 		</init-param>
  | 	</filter>
  | 
  | 	<filter-mapping>
  | 		<filter-name>MyFacesExtensionsFilter</filter-name>
  | 		<url-pattern>*.seam</url-pattern>
  | 	</filter-mapping>
  |    
  | </web-app>
  | 

components.xml
<?xml version="1.0" encoding="UTF-8"?>
  | <components xmlns="http://jboss.com/products/seam/components"
  |             xmlns:core="http://jboss.com/products/seam/core"
  |             xmlns:persistence="http://jboss.com/products/seam/persistence"
  |             xmlns:drools="http://jboss.com/products/seam/drools"
  |             xmlns:security="http://jboss.com/products/seam/security"
  |             xmlns:mail="http://jboss.com/products/seam/mail"
  |             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |             xsi:schemaLocation=
  |                 "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd 
  |                  http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd 
  |                  http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.0.xsd
  |                  http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
  |                  http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
  |                  http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
  | 
  |    <core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
  |      
  |    <core:manager concurrent-request-timeout="500" 
  |                  conversation-timeout="120000" 
  |                  conversation-id-parameter="cid"/>
  |     
  |    <persistence:managed-persistence-context name="entityManager"
  |                                      auto-create="true"
  |                       persistence-unit-jndi-name="java:/JustSwipeEntityManagerFactory"/>
  | 
  |    <drools:rule-base name="securityRules">
  |        <drools:rule-files>
  |            <value>/security.drl</value>
  |        </drools:rule-files>
  |    </drools:rule-base>
  | 
  |    <security:identity authenticate-method="#{authenticator.authenticate}"
  |                            security-rules="#{securityRules}"/>
  |    
  |    <event type="org.jboss.seam.notLoggedIn">
  |        <action expression="#{redirect.captureCurrentView}"/>
  |    </event>
  |    <event type="org.jboss.seam.postAuthenticate">
  |        <action expression="#{redirect.returnToCapturedView}"/>
  |    </event>
  |    
  |    <mail:mail-session host="hbmisdb1" port="25" username="test" password="test" />
  |         
  |    <!-- For use with jBPM pageflow or process management -->
  |    <!--  
  |    <bpm:jbpm>
  |       <bpm:process-definitions></bpm:process-definitions>
  |       <bpm:pageflow-definitions></bpm:pageflow-definitions>
  |    </bpm:jbpm>
  |    -->
  |       
  | </components>
  | 

QuartzMDBBean.java





package coza.healthbridge.justswipe.beans.services;
  | 
  | import javax.ejb.ActivationConfigProperty;
  | import javax.ejb.EJB;
  | import javax.ejb.MessageDriven;
  | 
  | import org.jboss.annotation.ejb.Depends;
  | import org.jboss.annotation.ejb.ResourceAdapter;
  | import org.quartz.Job;
  | import org.quartz.JobExecutionContext;
  | import org.quartz.JobExecutionException;
  | 
  | import coza.healthbridge.justswipe.beans.session.SendSettlementEmail;
  | 
  | @MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "cronTrigger", propertyValue = "0 0/1 * * * ?") })
  | @ResourceAdapter("quartz-ra.rar")
  | @Depends("jboss.ha:service=HASingletonDeployer,type=Barrier")
  | public class QuartzMDBBean implements Job {
  | 
  | 	@EJB
  | 	SendSettlementEmail email;
  | 
  | 	public void execute(JobExecutionContext jobExecutionContext)
  | 			throws JobExecutionException {
  | 		email.sendEmails();
  | 	}
  | }
  | 

Interface
package coza.healthbridge.justswipe.beans.session;
  | 
  | import javax.ejb.Local;
  | 
  | @Local
  | public interface SendSettlementEmail {
  | 	public void sendEmails();
  | 	
  | }

The Bean
package coza.healthbridge.justswipe.beans.session;
  | 
  | import java.util.Calendar;
  | import java.util.Date;
  | import java.util.GregorianCalendar;
  | import java.util.List;
  | 
  | import javax.ejb.Stateless;
  | 
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Logger;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.faces.Renderer;
  | import org.jboss.seam.log.Log;
  | 
  | import coza.healthbridge.justswipe.beans.entity.Hbclient;
  | import coza.healthbridge.justswipe.beans.entity.HbclientHome;
  | import coza.healthbridge.justswipe.beans.entity.HbclientList;
  | import coza.healthbridge.justswipe.beans.entity.SettlementList;
  | 
  | @Stateless
  | @Name("sendEmailsBean")
  | public class SendSettlementEmailBean implements SendSettlementEmail {
  | 	@In(create = true)
  | 	HbclientList hbclientList;
  | 
  | 	@In(create = true)
  | 	HbclientHome hbclientHome;
  | 
  | 	@In(create = true)
  | 	SettlementList settlementList;
  | 
  | 	@Logger
  | 	Log log;
  | 	
  | 	@In(create = true)
  | 	private Renderer renderer;
  | 
  | 	public void sendEmails() {
  | 		hbclientList.setNoLimit(true);
  | 		List<Hbclient> clientList = hbclientList.getResultList();
  | 		for (Hbclient hbclient : clientList) {
  | 			if (hbclient.getSendSettlementEmail() != null
  | 					&& hbclient.getSendSettlementEmail()) {
  | 				hbclientHome.setInstance(hbclient);
  | 				settlementList.setClientPk(hbclient.getClientPk());
  | 				settlementList.setMinDate(getMinDate());
  | 				settlementList.setMaxDate(getMaxDate());
  | 				sendEmail();
  | 			}
  | 		}
  | 	}
  | 
  | 	private void sendEmail() {
  | 		try {
  | 			renderer.render("/emails/settlementReport.xhtml");
  | 			log.debug("Email Sent");
  | 		} catch (Exception e) {
  | 			log.error("could not EMAIL:", e);
  | 		}
  | 	}
  | 
  | 	private Date getMinDate() {
  | 		Calendar cal = new GregorianCalendar();
  | 		cal.set(Calendar.DATE, 1);
  | 		cal.set(Calendar.HOUR, 0);
  | 		cal.set(Calendar.MINUTE, 0);
  | 		cal.set(Calendar.SECOND, 0);
  | 		cal.set(Calendar.MILLISECOND, 0);
  | 		return cal.getTime();
  | 	}
  | 
  | 	private Date getMaxDate() {
  | 		Calendar cal = new GregorianCalendar();
  | 		cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE));
  | 		cal.set(Calendar.HOUR, 0);
  | 		cal.set(Calendar.MINUTE, 0);
  | 		cal.set(Calendar.SECOND, 0);
  | 		cal.set(Calendar.MILLISECOND, 0);
  | 		return cal.getTime();
  | 	}
  | }
  | 

The email

<m:message xmlns="http://www.w3.org/1999/xhtml"
  | 	xmlns:m="http://jboss.com/products/seam/mail"
  | 	xmlns:p="http://jboss.com/products/seam/pdf"
  | 	xmlns:ui="http://java.sun.com/jsf/facelets"
  | 	xmlns:f="http://java.sun.com/jsf/core"
  | 	xmlns:h="http://java.sun.com/jsf/html">
  | 	<m:from name="Test"
  | 		address="test at healthbridge.co.za" />
  | 	<m:to>#{hbclientHome.instance.email}</m:to>
  | 	<m:subject>Test:  #{settlementList.month}</m:subject>
  | 
  | 	<m:body>
  | 
  | 		<ui:include src="/pages/reports/SettlementData.xhtml" />
  | 
  | 	</m:body>
  | </m:message>
  | 

the Data
<h:panelGroup xmlns="http://www.w3.org/1999/xhtml"
  | 	xmlns:ui="http://java.sun.com/jsf/facelets"
  | 	xmlns:h="http://java.sun.com/jsf/html"
  | 	xmlns:f="http://java.sun.com/jsf/core"
  | 	xmlns:s="http://jboss.com/products/seam/taglib"
  | 	xmlns:rich="http://richfaces.ajax4jsf.org/rich" id="ajaxDropDownArea">
  | 	<h:outputText value="No settlement Data for this month"
  | 		rendered="#{empty settlementList.resultList}" />
  | 	<h:dataTable id="settlementList" var="settlement"
  | 		value="#{settlementList.resultList}"
  | 		rendered="#{not empty settlementList.resultList}" cellpadding="5"
  | 		cellspacing="0" border="1" width="100%"
  | 		style="border-collapse:collapse;border-color=#B2B2B2"
  | 		headerClass="table_header" rowClasses="row1,row2"
  | 		footerClass="boldFont txt_black_12 columnRight hiLight">
  | 
  | 		<h:column rendered="#{merchantNoDropDown.totalBranches > 1}">
  | 			<h:outputText styleClass="txt_black_11"
  | 				value="#{settlement.merchant.friendlyName}" />
  | 			<h:outputText styleClass="txt_black_11"
  | 				value="#{settlement.merchant.merchantNum}"
  | 				rendered="#{settlement.merchant.friendlyName == null}" />
  | 		</h:column>
  | 		<h:column>
  | 			<s:link view="/#{empty from ? '/pages/reports/Swipes' : from}.xhtml"
  | 				id="settlement" propagation="nest" styleClass="link_orange_11">
  | 				<f:param name="settlementSettlementPk"
  | 					value="#{settlement.settlementPk}" />
  | 				<h:outputText value="#{settlement.paymentDate}">
  | 					<f:convertDateTime pattern="dd MMMMM yyyy" timeZone="CAT" />
  | 				</h:outputText>
  | 			</s:link>
  | 		</h:column>
  | 		<h:column>
  | 			<h:outputText styleClass="txt_black_11" value="#{settlement.eftnum}" />
  | 		</h:column>
  | 		<h:column>
  | 			<h:outputText styleClass="txt_black_11"
  | 				value="#{settlement.totalPaymentAmt/100}">
  | 				<f:convertNumber type="currency" currencySymbol="R " />
  | 			</h:outputText>
  | 		</h:column>
  | 		<h:column>
  | 			<h:outputText styleClass="txt_black_11 columnRight"
  | 				value="#{settlement.totalDebitCardAmt/100}">
  | 				<f:convertNumber type="currency" currencySymbol="R " />
  | 			</h:outputText>
  | 		</h:column>
  | 		<h:column>
  | 			<h:outputText styleClass="txt_black_11"
  | 				value="#{settlement.totalCreditCardAmt/100}">
  | 				<f:convertNumber type="currency" currencySymbol="R " />
  | 			</h:outputText>
  | 		</h:column>
  | 	</h:dataTable>
  | </h:panelGroup>
  | 
  | 


The settlementsList


package coza.healthbridge.justswipe.beans.entity;
  | 
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.framework.EntityQuery;
  | 
  | import coza.healthbridge.justswipe.beans.session.InfoSelected;
  | import coza.healthbridge.justswipe.beans.session.InfoSelectedBean;
  | 
  | import java.util.Calendar;
  | import java.util.Date;
  | import java.util.GregorianCalendar;
  | import java.util.List;
  | import java.util.Arrays;
  | 
  | @Name("settlementList")
  | public class SettlementList extends EntityQuery {
  | 
  | 	@In(create = true)
  | 	InfoSelected infoSelected;
  | 
  | 	private static final String[] RESTRICTIONS = {
  | 			"lower(settlement.originalMessageId) like concat(lower(#{settlementList.settlement.originalMessageId}),'%')",
  | 			"lower(settlement.merchant.merchantPk) = #{selectedMerchant.merchantPk}",
  | 			"lower(settlement.merchant.hbclient.clientPk) = #{loggedInClient.clientPk}",
  | 			"lower(settlement.settlementDate) >= #{infoSelected.minDate}",
  | 			"lower(settlement.settlementDate) <= #{infoSelected.maxDate}",
  | 			"lower(settlement.merchant.hbclient.clientPk) = #{settlementList.clientPk}",
  | 			"lower(settlement.settlementDate) >= #{settlementList.minDate}",
  | 			"lower(settlement.settlementDate) <= #{settlementList.maxDate}",
  | 			"lower(settlement.settlementPk) < #{settlementList.lessThanPk}",
  | 			"lower(settlement.settlementPk) > #{settlementList.greaterThanPk}",
  | 			"lower(settlement.eftnum) like concat(lower(#{settlementList.settlement.eftnum}),'%')", };
  | 
  | 	private Settlement settlement = new Settlement();
  | 
  | 	private Integer lessThanPk;
  | 
  | 	private Integer greaterThanPk;
  | 
  | 	private Date minDate;
  | 
  | 	private Date maxDate;
  | 
  | 	private Integer clientPk;
  | 
  | 	private boolean overrideMaxResults;
  | 
  | 	@Override
  | 	public String getEjbql() {
  | 		return "select settlement from Settlement settlement";
  | 	}
  | 	
  | 	@Override
  | 	public Integer getMaxResults() {
  | 		if (overrideMaxResults) {
  | 			return super.getMaxResults();
  | 		}
  | 		return 200;
  | 	}
  | 
  | 	public Settlement getSettlement() {
  | 		return settlement;
  | 	}
  | 
  | 	@Override
  | 	public List<String> getRestrictions() {
  | 		return Arrays.asList(RESTRICTIONS);
  | 	}
  | 
  | 	public int getTotalsTotalPaymentAmount() {
  | 		List<Settlement> results = getResultList();
  | 		int totalSum = 0;
  | 		for (Settlement settlement : results) {
  | 			totalSum += settlement.getTotalPaymentAmt();
  | 		}
  | 		return totalSum;
  | 	}
  | 
  | 	public int getTotalsTotalCreditAmount() {
  | 		List<Settlement> results = getResultList();
  | 		int totalSum = 0;
  | 		for (Settlement settlement : results) {
  | 			totalSum += settlement.getTotalCreditCardAmt();
  | 		}
  | 		return totalSum;
  | 	}
  | 
  | 	public int getTotalsTotalDebitAmount() {
  | 		List<Settlement> results = getResultList();
  | 		int totalSum = 0;
  | 		for (Settlement settlement : results) {
  | 			totalSum += settlement.getTotalDebitCardAmt();
  | 		}
  | 		return totalSum;
  | 	}
  | 
  | 	public Date getLatestSettlementDate() {
  | 		infoSelected.resetDates();
  | 		overrideMaxResults = true;
  | 		setMaxResults(1);
  | 		setOrder("settlement.settlementDate desc");
  | 		List<Settlement> list = getResultList();
  | 		overrideMaxResults = false;
  | 		if (list != null && list.size() == 1) {
  | 			Settlement set = list.get(0);
  | 			return set.getPaymentDate();
  | 		}
  | 		return null;
  | 	}
  | 
  | 	public Date getMonth() {
  | 		List<Settlement> list = getResultList();
  | 		if (list != null && list.size() >= 1) {
  | 			Settlement set = list.get(0);
  | 			return set.getPaymentDate();
  | 		}
  | 		return null;
  | 	}
  | 
  | 	public Date getLastDayOfMonth() {
  | 		overrideMaxResults = true;
  | 		setMaxResults(1);
  | 		setOrder("settlement.settlementDate desc");
  | 		List<Settlement> list = getResultList();
  | 		overrideMaxResults = false;
  | 		if (list != null && list.size() >= 1) {
  | 			Settlement set = list.get(0);
  | 			Date s = set.getPaymentDate();
  | 			Calendar cal = Calendar.getInstance();
  | 			cal.setTimeInMillis(s.getTime());
  | 			cal.set(Calendar.DAY_OF_MONTH, cal
  | 					.getActualMaximum(Calendar.DAY_OF_MONTH));
  | 			return cal.getTime();
  | 		}
  | 		return null;
  | 	}
  | 
  | 	/**
  | 	 * @return the greaterThanPk
  | 	 */
  | 	public Integer getGreaterThanPk() {
  | 		return greaterThanPk;
  | 	}
  | 
  | 	/**
  | 	 * @param greaterThanPk
  | 	 *            the greaterThanPk to set
  | 	 */
  | 	public void setGreaterThanPk(Integer greaterThanPk) {
  | 		this.greaterThanPk = greaterThanPk;
  | 	}
  | 
  | 	/**
  | 	 * @return the lessThanPk
  | 	 */
  | 	public Integer getLessThanPk() {
  | 		return lessThanPk;
  | 	}
  | 
  | 	/**
  | 	 * @param lessThanPk
  | 	 *            the lessThanPk to set
  | 	 */
  | 	public void setLessThanPk(Integer lessThanPk) {
  | 		this.lessThanPk = lessThanPk;
  | 	}
  | 
  | 	/**
  | 	 * @return the clientPk
  | 	 */
  | 	public Integer getClientPk() {
  | 		return clientPk;
  | 	}
  | 
  | 	/**
  | 	 * @param clientPk
  | 	 *            the clientPk to set
  | 	 */
  | 	public void setClientPk(Integer clientPk) {
  | 		this.clientPk = clientPk;
  | 	}
  | 
  | 	/**
  | 	 * @return the maxDate
  | 	 */
  | 	public Date getMaxDate() {
  | 		return maxDate;
  | 	}
  | 
  | 	/**
  | 	 * @param maxDate
  | 	 *            the maxDate to set
  | 	 */
  | 	public void setMaxDate(Date maxDate) {
  | 		this.maxDate = maxDate;
  | 	}
  | 
  | 	/**
  | 	 * @return the minDate
  | 	 */
  | 	public Date getMinDate() {
  | 		return minDate;
  | 	}
  | 
  | 	/**
  | 	 * @param minDate
  | 	 *            the minDate to set
  | 	 */
  | 	public void setMinDate(Date minDate) {
  | 		this.minDate = minDate;
  | 	}
  | 
  | }
  | 


and finally... the entity
package coza.healthbridge.justswipe.beans.entity;
  | // Generated 2007/05/31 10:15:13 by Hibernate Tools 3.2.0.b9
  | 
  | import java.util.Date;
  | import java.util.HashSet;
  | import java.util.Set;
  | 
  | import javax.persistence.Basic;
  | import javax.persistence.CascadeType;
  | import javax.persistence.Column;
  | import javax.persistence.Entity;
  | import javax.persistence.FetchType;
  | import javax.persistence.GeneratedValue;
  | import javax.persistence.Id;
  | import javax.persistence.JoinColumn;
  | import javax.persistence.ManyToOne;
  | import javax.persistence.OneToMany;
  | import javax.persistence.Table;
  | import javax.persistence.Temporal;
  | import javax.persistence.TemporalType;
  | import javax.persistence.UniqueConstraint;
  | import org.hibernate.validator.Length;
  | import org.hibernate.validator.NotNull;
  | 
  | /**
  |  * Settlement generated by hbm2java
  |  */
  | @Entity
  | @Table(name = "settlement", catalog = "justswipe", uniqueConstraints = @UniqueConstraint(columnNames = "OriginalMessageID"))
  | public class Settlement implements java.io.Serializable {
  | 
  | 	private int settlementPk;
  | 	private Settlementtype settlementtype;
  | 	private Merchantbranch merchantbranch;
  | 	private Bank bank;
  | 	private Merchant merchant;
  | 	private String originalMessageId;
  | 	private Date settlementDate;
  | 	private Date paymentDate;
  | 	private int accNum;
  | 	private String eftnum;
  | 	private int totalPaymentAmt;
  | 	private int totalDebitCardAmt;
  | 	private int totalCreditCardAmt;
  | 	private Set<Transaction> transactions = new HashSet<Transaction>(0);
  | 
  | 	public Settlement() {
  | 	}
  | 
  | 	public Settlement(int settlementPk, Settlementtype settlementtype,
  | 			Merchant merchant, String originalMessageId, Date settlementDate,
  | 			int accNum, int totalPaymentAmt, int totalDebitCardAmt,
  | 			int totalCreditCardAmt) {
  | 		this.settlementPk = settlementPk;
  | 		this.settlementtype = settlementtype;
  | 		this.merchant = merchant;
  | 		this.originalMessageId = originalMessageId;
  | 		this.settlementDate = settlementDate;
  | 		this.accNum = accNum;
  | 		this.totalPaymentAmt = totalPaymentAmt;
  | 		this.totalDebitCardAmt = totalDebitCardAmt;
  | 		this.totalCreditCardAmt = totalCreditCardAmt;
  | 	}
  | 	public Settlement(int settlementPk, Settlementtype settlementtype,
  | 			Merchantbranch merchantbranch, Bank bank, Merchant merchant,
  | 			String originalMessageId, Date settlementDate, Date paymentDate,
  | 			int accNum, String eftnum, int totalPaymentAmt,
  | 			int totalDebitCardAmt, int totalCreditCardAmt,
  | 			Set<Transaction> transactions) {
  | 		this.settlementPk = settlementPk;
  | 		this.settlementtype = settlementtype;
  | 		this.merchantbranch = merchantbranch;
  | 		this.bank = bank;
  | 		this.merchant = merchant;
  | 		this.originalMessageId = originalMessageId;
  | 		this.settlementDate = settlementDate;
  | 		this.paymentDate = paymentDate;
  | 		this.accNum = accNum;
  | 		this.eftnum = eftnum;
  | 		this.totalPaymentAmt = totalPaymentAmt;
  | 		this.totalDebitCardAmt = totalDebitCardAmt;
  | 		this.totalCreditCardAmt = totalCreditCardAmt;
  | 		this.transactions = transactions;
  | 	}
  | 
  | 	@Id
  | 	@Column(name = "SettlementPk", unique = true, nullable = false)
  | 	@NotNull
  | 	@GeneratedValue
  | 	public int getSettlementPk() {
  | 		return this.settlementPk;
  | 	}
  | 
  | 	public void setSettlementPk(int settlementPk) {
  | 		this.settlementPk = settlementPk;
  | 	}
  | 	@ManyToOne(fetch = FetchType.LAZY)
  | 	@JoinColumn(name = "SettlementTypeFk", nullable = false)
  | 	@NotNull
  | 	public Settlementtype getSettlementtype() {
  | 		return this.settlementtype;
  | 	}
  | 
  | 	public void setSettlementtype(Settlementtype settlementtype) {
  | 		this.settlementtype = settlementtype;
  | 	}
  | 	@ManyToOne(fetch = FetchType.LAZY)
  | 	@JoinColumn(name = "MerchantBranchFk")
  | 	public Merchantbranch getMerchantbranch() {
  | 		return this.merchantbranch;
  | 	}
  | 
  | 	public void setMerchantbranch(Merchantbranch merchantbranch) {
  | 		this.merchantbranch = merchantbranch;
  | 	}
  | 	@ManyToOne(fetch = FetchType.LAZY)
  | 	@JoinColumn(name = "BankFk")
  | 	public Bank getBank() {
  | 		return this.bank;
  | 	}
  | 
  | 	public void setBank(Bank bank) {
  | 		this.bank = bank;
  | 	}
  | 	@ManyToOne(fetch = FetchType.LAZY)
  | 	@JoinColumn(name = "MerchantFk", nullable = false)
  | 	@NotNull
  | 	public Merchant getMerchant() {
  | 		return this.merchant;
  | 	}
  | 
  | 	public void setMerchant(Merchant merchant) {
  | 		this.merchant = merchant;
  | 	}
  | 
  | 	@Basic
  | 	@Column(name = "OriginalMessageID", unique = true, nullable = false, length = 22,columnDefinition="char")
  | 	@NotNull
  | 	@Length(max = 22)
  | 	public String getOriginalMessageId() {
  | 		return this.originalMessageId;
  | 	}
  | 
  | 	public void setOriginalMessageId(String originalMessageId) {
  | 		this.originalMessageId = originalMessageId;
  | 	}
  | 	@Temporal(TemporalType.TIMESTAMP)
  | 	@Column(name = "SettlementDate", nullable = false, length = 0)
  | 	@NotNull
  | 	public Date getSettlementDate() {
  | 		return this.settlementDate;
  | 	}
  | 
  | 	public void setSettlementDate(Date settlementDate) {
  | 		this.settlementDate = settlementDate;
  | 	}
  | 	@Temporal(TemporalType.TIMESTAMP)
  | 	@Column(name = "PaymentDate", length = 0)
  | 	public Date getPaymentDate() {
  | 		return this.paymentDate;
  | 	}
  | 
  | 	public void setPaymentDate(Date paymentDate) {
  | 		this.paymentDate = paymentDate;
  | 	}
  | 
  | 	@Column(name = "AccNum", nullable = false)
  | 	@NotNull
  | 	public int getAccNum() {
  | 		return this.accNum;
  | 	}
  | 
  | 	public void setAccNum(int accNum) {
  | 		this.accNum = accNum;
  | 	}
  | 
  | 	@Column(name = "EFTNum", length = 40)
  | 	@Length(max = 40)
  | 	public String getEftnum() {
  | 		return this.eftnum;
  | 	}
  | 
  | 	public void setEftnum(String eftnum) {
  | 		this.eftnum = eftnum;
  | 	}
  | 
  | 	@Column(name = "TotalPaymentAmt", nullable = false)
  | 	@NotNull
  | 	public int getTotalPaymentAmt() {
  | 		return this.totalPaymentAmt;
  | 	}
  | 
  | 	public void setTotalPaymentAmt(int totalPaymentAmt) {
  | 		this.totalPaymentAmt = totalPaymentAmt;
  | 	}
  | 
  | 	@Column(name = "TotalDebitCardAmt", nullable = false)
  | 	@NotNull
  | 	public int getTotalDebitCardAmt() {
  | 		return this.totalDebitCardAmt;
  | 	}
  | 
  | 	public void setTotalDebitCardAmt(int totalDebitCardAmt) {
  | 		this.totalDebitCardAmt = totalDebitCardAmt;
  | 	}
  | 
  | 	@Column(name = "TotalCreditCardAmt", nullable = false)
  | 	@NotNull
  | 	public int getTotalCreditCardAmt() {
  | 		return this.totalCreditCardAmt;
  | 	}
  | 
  | 	public void setTotalCreditCardAmt(int totalCreditCardAmt) {
  | 		this.totalCreditCardAmt = totalCreditCardAmt;
  | 	}
  | 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "settlement")
  | 	public Set<Transaction> getTransactions() {
  | 		return this.transactions;
  | 	}
  | 
  | 	public void setTransactions(Set<Transaction> transactions) {
  | 		this.transactions = transactions;
  | 	}
  | 
  | }
  | 


What is confusing me... is that all this code is working perfectly via the front end... it only goes wrong when the Cronjob sends the email.

Thanks.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4070536#4070536

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4070536



More information about the jboss-user mailing list