001 package org.cocome.tradingsystem.testdriver;
002
003 import javax.jms.JMSException;
004 import javax.jms.TopicPublisher;
005 import javax.jms.TopicSession;
006
007 import org.cocome.tradingsystem.cashdeskline.events.CreditCardScannedEvent;
008 import org.cocome.tradingsystem.cashdeskline.events.PINEnteredEvent;
009 import org.cocome.tradingsystem.systests.interfaces.ICardReader;
010
011 /**
012 * Glue code for the card reader.
013 *
014 * @author Benjamin Hummel
015 * @author $Author: hummel $
016 * @version $Rev: 63 $
017 * @levd.rating GREEN Rev: 63
018 */
019 public class CardReader implements ICardReader {
020
021 /** Publisher for sending events. */
022 private final TopicPublisher publisher;
023
024 /** Session used for creating object messages. */
025 private final TopicSession session;
026
027 /** Constructor. */
028 public CardReader(TopicPublisher publisher, TopicSession session) {
029 this.publisher = publisher;
030 this.session = session;
031 }
032
033 /** {@inheritDoc} */
034 public void enterCard(int cardNumber) throws JMSException {
035 publisher
036 .publish(session
037 .createObjectMessage(new CreditCardScannedEvent(""
038 + cardNumber)));
039 }
040
041 /** {@inheritDoc} */
042 public void enterPin(int pin) throws JMSException {
043 publisher
044 .publish(session.createObjectMessage(new PINEnteredEvent(pin)));
045 }
046
047 }