import java.util.Date; import org.marketcetera.quickfix.FIXVersion; import org.marketcetera.strategy.java.Strategy; import org.marketcetera.trade.BrokerID; import quickfix.Message; import quickfix.field.TransactTime; /** * Test strategy to send messages via the FIX escape hatch. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: SendMessage.java 16154 2012-07-14 16:34:05Z colin $ * @since 1.0.0 */ public class SendMessage extends Strategy { /* (non-Javadoc) * @see org.marketcetera.strategy.java.Strategy#onStart() */ @Override public void onStart() { doSend(); } /* (non-Javadoc) * @see org.marketcetera.strategy.java.Strategy#onStop() */ @Override public void onStop() { doSend(); } /** * Sends messages according to strategy parameters. */ private void doSend() { long messageDate = Long.parseLong(getParameter("date")); String nullMessage = getParameter("nullMessage"); Message message; if(nullMessage == null) { message = FIXVersion.FIX_SYSTEM.getMessageFactory().newBasicOrder(); message.setField(new TransactTime(new Date(messageDate))); } else { message = null; } String nullBroker = getParameter("nullBroker"); BrokerID broker; if(nullBroker == null) { broker = new BrokerID("some-broker"); } else { broker = null; } sendMessage(message, broker); setProperty("onStart", Long.toString(System.currentTimeMillis())); } }