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.ProductBarcodeScannedEvent;
008 import org.cocome.tradingsystem.systests.interfaces.IBarcodeScanner;
009
010 /**
011 * Glue code for the barcode scanner.
012 *
013 * @author Benjamin Hummel
014 * @author $Author: hummel $
015 * @version $Rev: 63 $
016 * @levd.rating GREEN Rev: 63
017 */
018 public class BarcodeScanner implements IBarcodeScanner {
019
020 /** Publisher for sending events. */
021 private final TopicPublisher publisher;
022
023 /** Session used for creating object messages. */
024 private final TopicSession session;
025
026 /** Constructor. */
027 public BarcodeScanner(TopicPublisher publisher, TopicSession session) {
028 this.publisher = publisher;
029 this.session = session;
030 }
031
032 /** {@inheritDoc} */
033 public void sendBarcode(int barcode) throws JMSException {
034 publisher.publish(session
035 .createObjectMessage(new ProductBarcodeScannedEvent(barcode)));
036 }
037 }