/**
* @see TradeServices#getMarketSummary()
*/
public MarketSummaryDataBean getMarketSummary() throws Exception {
MarketSummaryDataBean marketSummaryData = null;
Connection conn = null;
try {
if (Log.doTrace())
Log.trace("TradeJdbc:getMarketSummary - inSession(" + this.inSession + ")");
conn = getConn();
PreparedStatement stmt =
getStatement(conn, getTSIAQuotesOrderByChangeSQL, ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ArrayList topGainersData = new ArrayList(5);
ArrayList topLosersData = new ArrayList(5);
ResultSet rs = stmt.executeQuery();
int count = 0;
while (rs.next() && (count++ < 5)) {
QuoteDataBean quoteData = getQuoteDataFromResultSet(rs);
topLosersData.add(quoteData);
}
stmt.close();
stmt =
getStatement(conn, "select * from quoteejb q where q.symbol like 's:1__' order by q.change1 DESC",
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery();
count = 0;
while (rs.next() && (count++ < 5)) {
QuoteDataBean quoteData = getQuoteDataFromResultSet(rs);
topGainersData.add(quoteData);
}
stmt.close();
BigDecimal TSIA = ZERO;
BigDecimal openTSIA = ZERO;
double volume = 0.0;
if ((topGainersData.size() > 0) || (topLosersData.size() > 0)) {
stmt = getStatement(conn, getTSIASQL);
rs = stmt.executeQuery();
if (!rs.next())
Log.error("TradeJdbc:getMarketSummary -- error w/ getTSIASQL -- no results");
else
TSIA = rs.getBigDecimal("TSIA");
stmt.close();
stmt = getStatement(conn, getOpenTSIASQL);
rs = stmt.executeQuery();
if (!rs.next())
Log.error("TradeJdbc:getMarketSummary -- error w/ getOpenTSIASQL -- no results");
else
openTSIA = rs.getBigDecimal("openTSIA");
stmt.close();
stmt = getStatement(conn, getTSIATotalVolumeSQL);
rs = stmt.executeQuery();
if (!rs.next())
Log.error("TradeJdbc:getMarketSummary -- error w/ getTSIATotalVolumeSQL -- no results");
else
volume = rs.getDouble("totalVolume");
stmt.close();
}
commit(conn);
marketSummaryData = new MarketSummaryDataBean(TSIA, openTSIA, volume, topGainersData, topLosersData);
}
catch (Exception e) {
Log.error("TradeJdbc:getMarketSummary -- error getting summary", e);