You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jb...@apache.org on 2010/04/01 17:14:26 UTC
svn commit: r929997 - in
/incubator/aries/trunk/samples/ariestrader-sample/modules:
ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/
ariestrader-persist-jpa-am/src/main/java/org/apache/aries/samples/ariestrader/...
Author: jbohn
Date: Thu Apr 1 15:14:25 2010
New Revision: 929997
URL: http://svn.apache.org/viewvc?rev=929997&view=rev
Log:
ARIES-275 AriesTrader - update quote ranges on buy/sell activity
Modified:
incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java
incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-am/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/am/TradeJpaAm.java
incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-cm/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/cm/TradeJpaCm.java
Modified: incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java?rev=929997&r1=929996&r2=929997&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java (original)
+++ incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java Thu Apr 1 15:14:25 2010
@@ -1132,8 +1132,12 @@ public class TradeJdbc implements TradeS
}
BigDecimal newPrice = changeFactor.multiply(oldPrice).setScale(2, BigDecimal.ROUND_HALF_UP);
+ BigDecimal low = quoteData.getLow();
+ BigDecimal high= quoteData.getHigh();
+ if (newPrice.compareTo(high) == 1) high = newPrice;
+ else if (newPrice.compareTo(low) == -1) low = newPrice;
- updateQuotePriceVolume(conn, quoteData.getSymbol(), newPrice, newVolume);
+ updateQuotePriceVolume(conn, quoteData.getSymbol(), newPrice, newVolume, low, high);
quoteData = getQuote(conn, symbol);
commit(conn);
@@ -1148,7 +1152,7 @@ public class TradeJdbc implements TradeS
return quoteData;
}
- private void updateQuotePriceVolume(Connection conn, String symbol, BigDecimal newPrice, double newVolume)
+ private void updateQuotePriceVolume(Connection conn, String symbol, BigDecimal newPrice, double newVolume, BigDecimal low, BigDecimal high)
throws Exception {
PreparedStatement stmt = getStatement(conn, updateQuotePriceVolumeSQL);
@@ -1156,7 +1160,9 @@ public class TradeJdbc implements TradeS
stmt.setBigDecimal(1, newPrice);
stmt.setBigDecimal(2, newPrice);
stmt.setDouble(3, newVolume);
- stmt.setString(4, symbol);
+ stmt.setBigDecimal(4, low);
+ stmt.setBigDecimal(5, high);
+ stmt.setString(6, symbol);
stmt.executeUpdate();
stmt.close();
@@ -1549,7 +1555,7 @@ public class TradeJdbc implements TradeS
"update orderejb set " + "holding_holdingID = ? " + "where orderid = ?";
private static final String updateQuotePriceVolumeSQL =
- "update quoteejb set " + "price = ?, change1 = ? - open1, volume = ? " + "where symbol = ?";
+ "update quoteejb set " + "price = ?, change1 = ? - open1, volume = ?, low = ?, high = ? " + "where symbol = ?";
public void init() {
if (initialized)
Modified: incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-am/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/am/TradeJpaAm.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-am/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/am/TradeJpaAm.java?rev=929997&r1=929996&r2=929997&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-am/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/am/TradeJpaAm.java (original)
+++ incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-am/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/am/TradeJpaAm.java Thu Apr 1 15:14:25 2010
@@ -643,6 +643,8 @@ public class TradeJpaAm implements Trade
quote.setPrice(newPrice);
quote.setVolume(quote.getVolume() + sharesTraded);
quote.setChange((newPrice.subtract(quote.getOpen()).doubleValue()));
+ if (newPrice.compareTo(quote.getHigh()) == 1) quote.setHigh(newPrice);
+ else if (newPrice.compareTo(quote.getLow()) == -1) quote.setLow(newPrice);
entityManager.getTransaction().begin();
entityManager.merge(quote);
Modified: incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-cm/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/cm/TradeJpaCm.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-cm/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/cm/TradeJpaCm.java?rev=929997&r1=929996&r2=929997&view=diff
==============================================================================
--- incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-cm/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/cm/TradeJpaCm.java (original)
+++ incubator/aries/trunk/samples/ariestrader-sample/modules/ariestrader-persist-jpa-cm/src/main/java/org/apache/aries/samples/ariestrader/persist/jpa/cm/TradeJpaCm.java Thu Apr 1 15:14:25 2010
@@ -507,6 +507,8 @@ public class TradeJpaCm implements Trade
quote.setPrice(newPrice);
quote.setVolume(quote.getVolume() + sharesTraded);
quote.setChange((newPrice.subtract(quote.getOpen()).doubleValue()));
+ if (newPrice.compareTo(quote.getHigh()) == 1) quote.setHigh(newPrice);
+ else if (newPrice.compareTo(quote.getLow()) == -1) quote.setLow(newPrice);
entityManager.merge(quote);