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 }