aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java5
-rw-r--r--src/main/java/edu/brown/cs/student/term/parsing/Transaction.java12
-rw-r--r--src/main/java/edu/brown/cs/student/term/repl/commands/LoadCommand.java8
-rw-r--r--src/main/java/edu/brown/cs/student/term/trade/Trade.java8
4 files changed, 21 insertions, 12 deletions
diff --git a/src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java b/src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java
index 7e9a184..f4be9b3 100644
--- a/src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java
+++ b/src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java
@@ -79,8 +79,9 @@ public class DatabaseQuerier{
while(rs.next()){
trades.add(new Trade(rs.getInt(1), rs.getString(2),
- rs.getLong(4), rs.getInt(5),
- rs.getInt(6), new Holder(rs.getInt(7), rs.getString(3))));
+ rs.getLong(4), rs.getInt(5),
+ rs.getInt(6), new Holder(rs.getInt(7), rs.getString(3)),
+ rs.getDouble(8)));
}
return trades;
diff --git a/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java b/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java
index 2111048..45441b3 100644
--- a/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java
+++ b/src/main/java/edu/brown/cs/student/term/parsing/Transaction.java
@@ -35,11 +35,9 @@ public class Transaction {
ticker = ticker();
// There are two types of transactions within the xml - derivative and non derivative.
+ // We only look at non-derivative
NodeList nonDerivative = document.getElementsByTagName("nonDerivativeTransaction");
- //NodeList derivative = document.getElementsByTagName("derivativeTransaction");
- // Processing both of their trades into the trades instance var.
processTransactions(nonDerivative);
- //processTransactions(derivative);
}
/**
@@ -58,8 +56,9 @@ public class Transaction {
int numShares = getNumShares(tradeValues);
// TODO: update id? unique for each holder?
Holder holder = new Holder(id, personName);
+ double pricePerShare = getPriceShares(tradeValues);
- Trade trade = new Trade(id, ticker, ts, isBuy, numShares, holder);
+ Trade trade = new Trade(id, ticker, ts, isBuy, numShares, holder, pricePerShare);
trades.add(trade);
}
@@ -124,6 +123,7 @@ public class Transaction {
* @return The number of shares.
*/
public int getNumShares(NodeList values) {
+ // TODO: this might have to be double
return Integer.parseInt(values.item(2).getTextContent());
}
@@ -132,8 +132,8 @@ public class Transaction {
* @param values The value array representing the trade.
* @return The price of each share.
*/
- public int getPriceShares(NodeList values) {
- return Integer.parseInt(values.item(3).getTextContent());
+ public double getPriceShares(NodeList values) {
+ return Double.parseDouble(values.item(3).getTextContent());
}
/**
diff --git a/src/main/java/edu/brown/cs/student/term/repl/commands/LoadCommand.java b/src/main/java/edu/brown/cs/student/term/repl/commands/LoadCommand.java
index a20c23b..09d98d2 100644
--- a/src/main/java/edu/brown/cs/student/term/repl/commands/LoadCommand.java
+++ b/src/main/java/edu/brown/cs/student/term/repl/commands/LoadCommand.java
@@ -59,9 +59,9 @@ public class LoadCommand implements Command {
*/
private static void loadTradeIntoDB(Trade trade) throws SQLException {
PreparedStatement prep = CONN.prepareStatement(
- "INSERT into trades (stock_name, holder_name, trade_timestamp, is_buy, " +
- "number_of_shares, holder_id) " +
- "VALUES (?, ?, ?, ?, ?, ?)");
+ "INSERT INTO trades (stock_name, holder_name, trade_timestamp, is_buy, " +
+ "number_of_shares, holder_id, share_price) " +
+ "VALUES (?, ?, ?, ?, ?, ?, ?)");
prep.setString(1, trade.getStock());
prep.setString(2, trade.getHolder().getName());
@@ -70,7 +70,9 @@ public class LoadCommand implements Command {
prep.setInt(4, trade.isBuy() ? 1 : 0);
prep.setInt(5, trade.getNumShares());
prep.setInt(6, trade.getHolder().getId());
+ prep.setDouble(7, trade.getPrice());
prep.execute();
+ // TODO: close connection - when should we do this
}
} \ No newline at end of file
diff --git a/src/main/java/edu/brown/cs/student/term/trade/Trade.java b/src/main/java/edu/brown/cs/student/term/trade/Trade.java
index 95770e4..353de8d 100644
--- a/src/main/java/edu/brown/cs/student/term/trade/Trade.java
+++ b/src/main/java/edu/brown/cs/student/term/trade/Trade.java
@@ -10,14 +10,16 @@ public class Trade {
private double timestamp;
private Holder holder;
private int numShares;
+ private double price;
- public Trade(int id, String stockName, double ts, int buy, int shares, Holder holder){
+ public Trade(int id, String stockName, double ts, int buy, int shares, Holder holder, double price){
this.id = id;
this.stock = stockName;
this.isBuy = buy;
this.timestamp = ts;
this.holder = holder;
this.numShares = shares;
+ this.price = price;
}
public int getId() {
@@ -48,6 +50,10 @@ public class Trade {
return numShares;
}
+ public double getPrice() {
+ return price;
+ }
+
@Override
public String toString() {
return "Trade{" +