[jboss-cvs] jboss-seam/examples/seampay/src/org/jboss/seam/example/seampay ...
Norman Richards
norman.richards at jboss.com
Sun Oct 22 15:40:02 EDT 2006
User: nrichards
Date: 06/10/22 15:40:02
Modified: examples/seampay/src/org/jboss/seam/example/seampay
Payment.java PaymentController.java
PaymentProcessor.java
Log:
add recurring payments
Revision Changes Path
1.3 +14 -5 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.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- Payment.java 21 Oct 2006 22:23:45 -0000 1.2
+++ Payment.java 22 Oct 2006 19:40:02 -0000 1.3
@@ -1,18 +1,17 @@
package org.jboss.seam.example.seampay;
+import javax.ejb.*;
import javax.persistence.*;
-import org.hibernate.validator.*;
import java.io.Serializable;
import java.util.*;
+import org.hibernate.validator.*;
+
@Entity
public class Payment
implements Serializable
{
-
-
-
@Id @GeneratedValue
private Long id;
@@ -34,6 +33,8 @@
private Frequency paymentFrequency = Frequency.DAILY;
+ @Lob
+ private TimerHandle timerHandle;
public Long getId() {
return id;
@@ -108,6 +109,14 @@
return result;
}
+ public TimerHandle getTimerHandle() {
+ return timerHandle;
+ }
+ public void setTimerHandle(TimerHandle timerHandle) {
+ this.timerHandle = timerHandle;
+ }
+
+
public enum Frequency {
ONCE(0),
EVERY_MINUTE(60*1000),
1.3 +25 -7 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.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- PaymentController.java 21 Oct 2006 22:23:45 -0000 1.2
+++ PaymentController.java 22 Oct 2006 19:40:02 -0000 1.3
@@ -3,19 +3,19 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.timer.*;
import org.jboss.seam.framework.*;
-import org.jboss.seam.core.Expressions;
-import org.jboss.seam.core.Expressions.ValueBinding;
+import org.jboss.seam.core.*;
import org.jboss.seam.log.Log;
import javax.persistence.*;
import java.util.Date;
-import javax.ejb.Timer;
+import javax.ejb.*;
public class PaymentController
extends EntityHome<Payment>
{
+ @RequestParameter Long paymentId;
@In(create=true) PaymentProcessor processor;
@Logger Log log;
@@ -27,12 +27,30 @@
Payment payment = getInstance();
log.info("scheduling instance #0", payment);
- processor.schedulePayment(payment.getPaymentDate(),
+ Timer timer = processor.schedulePayment(payment.getPaymentDate(),
payment.getPaymentFrequency().getInterval(),
payment);
+ TimerHandle handle = Dispatcher.instance().getHandle(timer);
+ payment.setTimerHandle(handle);
+
return result;
}
+ public Object getId() {
+ return paymentId;
+ }
+
+ public void cancel() {
+ Payment payment = getInstance();
+
+ TimerHandle handle = payment.getTimerHandle();
+ payment.setTimerHandle(null);
+
+ Timer timer = Dispatcher.instance().getTimer(handle);
+ Dispatcher.instance().cancel(timer);
+
+ payment.setTimerHandle(null);
+ }
}
1.3 +2 -1 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.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- PaymentProcessor.java 21 Oct 2006 22:23:45 -0000 1.2
+++ PaymentProcessor.java 22 Oct 2006 19:40:02 -0000 1.3
@@ -24,6 +24,7 @@
payment = entityManager.merge(payment);
log.info("[#0] Processing payment #1", System.currentTimeMillis(), payment.getId());
+ log.info("Timer handle is #0", payment.getTimerHandle());
if (payment.getActive()) {
float balance = payment.getAccount().adjustBalance(-payment.getAmount());
More information about the jboss-cvs-commits
mailing list