[jboss-cvs] jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay ...
Norman Richards
norman.richards at jboss.com
Tue Oct 9 21:08:20 EDT 2007
User: nrichards
Date: 07/10/09 21:08:20
Modified: examples/seampay/src/org/jboss/seam/example/seampay
Account.java Payment.java PaymentController.java
PaymentProcessor.java
Log:
JBSEAM-2067
Revision Changes Path
1.4 +14 -2 jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/Account.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Account.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/Account.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Account.java 26 Feb 2007 20:57:17 -0000 1.3
+++ Account.java 10 Oct 2007 01:08:20 -0000 1.4
@@ -2,6 +2,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
@@ -16,11 +17,13 @@
public class Account
implements Serializable
{
+ private static final long serialVersionUID = -2246235767373372214L;
+
@Id @GeneratedValue
private Long id;
@NotNull
- BigDecimal balance;
+ BigDecimal balance = BigDecimal.ZERO;
@NotNull
String accountNumber;
@@ -64,4 +67,13 @@
{
return payments;
}
+
+ public void addPayment(Payment payment) {
+ if (payments == null) {
+ payments = new ArrayList<Payment>();
+ }
+
+ payments.add(payment);
+ }
+
}
1.9 +4 -2 jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/Payment.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Payment.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/Payment.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- Payment.java 31 May 2007 22:54:42 -0000 1.8
+++ Payment.java 10 Oct 2007 01:08:20 -0000 1.9
@@ -18,11 +18,13 @@
public class Payment
implements Serializable
{
+ private static final long serialVersionUID = 3467815268074102080L;
+
@Id @GeneratedValue
private Long id;
@NotNull
- @Digits(integerDigits=8,fractionalDigits=2)
+ @Digits(integerDigits=8, fractionalDigits=2)
private BigDecimal amount;
@NotNull @Length(min=1)
@@ -70,7 +72,7 @@
public void setAccount(Account account) {
this.account = account;
- account.getPayments().add(this);
+ account.addPayment(this);
}
public Date getPaymentDate() {
1.10 +11 -10 jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/PaymentController.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PaymentController.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/PaymentController.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- PaymentController.java 25 Jun 2007 23:32:03 -0000 1.9
+++ PaymentController.java 10 Oct 2007 01:08:20 -0000 1.10
@@ -17,6 +17,8 @@
public class PaymentController
extends EntityHome<Payment>
{
+ private static final long serialVersionUID = -1994187524284737182L;
+
@RequestParameter Long paymentId;
@In PaymentProcessor processor;
@@ -32,9 +34,9 @@
Timer timer = processor.schedulePayment(payment.getPaymentDate(),
payment.getPaymentFrequency().getInterval(),
payment);
-
- payment.setTimerHandle( timer.getHandle() );
-
+ if (timer != null) {
+ payment.setTimerHandle(timer.getHandle());
+ }
return result;
}
@@ -51,14 +53,13 @@
payment.setTimerHandle(null);
payment.setActive(false);
- try
- {
+ if (handle != null) {
+ try {
handle.getTimer().cancel();
- }
- catch (NoSuchObjectLocalException nsole)
- {
+ } catch (NoSuchObjectLocalException e) {
FacesMessages.instance().add("Payment already processed");
}
}
+ }
}
1.9 +9 -8 jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/PaymentProcessor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PaymentProcessor.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay/PaymentProcessor.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- PaymentProcessor.java 25 Jun 2007 23:13:52 -0000 1.8
+++ PaymentProcessor.java 10 Oct 2007 01:08:20 -0000 1.9
@@ -1,6 +1,5 @@
package org.jboss.seam.example.seampay;
-import java.math.BigDecimal;
import java.util.Date;
import javax.ejb.Timer;
@@ -17,7 +16,6 @@
import org.jboss.seam.example.seampay.Payment;
import org.jboss.seam.log.Log;
-
@Name("processor")
@AutoCreate
public class PaymentProcessor {
@@ -36,17 +34,20 @@
payment = entityManager.merge(payment);
log.info("[#0] Processing payment #1", System.currentTimeMillis(), payment.getId());
+ processPayment(payment);
+
+ return null;
+ }
+ public void processPayment(Payment payment) {
if (payment.getActive()) {
- BigDecimal balance = payment.getAccount().adjustBalance(payment.getAmount().negate());
- log.info(":: balance is now #0", balance);
+ payment.getAccount().adjustBalance(payment.getAmount().negate());
+
payment.setLastPaid(new Date());
if (payment.getPaymentFrequency().equals(Payment.Frequency.ONCE)) {
payment.setActive(false);
}
}
-
- return null;
}
}
More information about the jboss-cvs-commits
mailing list