class JdbcTradeDao implements TradeDao {

	private final Log log = LogFactory.getLog(JdbcTradeDao.class);

	/**
	 * template for inserting a row
	 */
	private static final String INSERT_TRADE_RECORD = "INSERT INTO TRADE (id, version, isin, quantity, price, customer) VALUES (?, 0, ?, ? ,?, ?)";

	/**
	 * handles the processing of SQL query
	 */
	private JdbcOperations jdbcTemplate;

	/**
	 * database is not expected to be setup for auto increment
	 */
	private DataFieldMaxValueIncrementer incrementer;

	/**
	 * @see TradeDao
	 */
	@Override
	public void writeTrade(Trade trade) {<FILL_FUNCTION_BODY>}

	public void setDataSource(DataSource dataSource) {
		this.jdbcTemplate = new JdbcTemplate(dataSource);
	}

	public void setIncrementer(DataFieldMaxValueIncrementer incrementer) {
		this.incrementer = incrementer;
	}

}

		Long id = incrementer.nextLongValue();
		if (log.isDebugEnabled()) {
			log.debug("Processing: " + trade);
		}
		jdbcTemplate.update(INSERT_TRADE_RECORD, id, trade.getIsin(), trade.getQuantity(), trade.getPrice(),
				trade.getCustomer());
	
<no_super_class>