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.java4
-rw-r--r--src/main/java/edu/brown/cs/student/term/hub/LinkMapper.java39
-rw-r--r--src/main/java/edu/brown/cs/student/term/hub/Person.java12
-rw-r--r--src/main/java/edu/brown/cs/student/term/trade/Trade.java5
-rw-r--r--src/test/java/edu/brown/cs/student/DBQuerierTest.java2
5 files changed, 59 insertions, 3 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 2258d36..79e8e15 100644
--- a/src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java
+++ b/src/main/java/edu/brown/cs/student/term/DatabaseQuerier.java
@@ -6,10 +6,10 @@ import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
-
public class DatabaseQuerier{
private static Connection conn = null;
+ //TODO: Be prepared to overhaul this to account for IDs
/**
* Makes a database querier for a particular sqlite database
* @param filename - String representing filepath of database
@@ -79,7 +79,7 @@ public class DatabaseQuerier{
while(rs.next()){
trades.add(new Trade(rs.getInt(1), rs.getString(2),
rs.getString(3), rs.getLong(4), rs.getInt(5),
- rs.getInt(6)));
+ rs.getInt(6), rs.getInt(7)));
}
return trades;
diff --git a/src/main/java/edu/brown/cs/student/term/hub/LinkMapper.java b/src/main/java/edu/brown/cs/student/term/hub/LinkMapper.java
index 7cb1011..0360bda 100644
--- a/src/main/java/edu/brown/cs/student/term/hub/LinkMapper.java
+++ b/src/main/java/edu/brown/cs/student/term/hub/LinkMapper.java
@@ -1,4 +1,43 @@
package edu.brown.cs.student.term.hub;
+import edu.brown.cs.student.term.trade.Trade;
+
+import java.time.Instant;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
public class LinkMapper {
+
+ //not strictly necessary but may be nice to maintain
+ private Map<String, List<Trade>> personToTradesMap = new HashMap<>();
+ private Map<String, Set<String>> personToFollowers = new HashMap<>();
+
+ public LinkMapper(){}
+
+ /**
+ * Returns the person => trades map as is, does not update it
+ * @return person to trades map
+ */
+ public Map<String, List<Trade>> getPersonToTradesMap() {
+ return personToTradesMap;
+ }
+
+ /**
+ * Returns the person => follower map as is, does not update it
+ * @return person to follower map
+ */
+ public Map<String, Set<String>> getPersonToFollowers() {
+ return personToFollowers;
+ }
+
+ /**
+ * The links between people and their followers who made the same trade
+ * in the same time period
+ * @return the newly updated link map
+ */
+ public Map<String, Set<String>> makeFollowerLinks(Instant start, Instant end){
+ return null;
+ }
}
diff --git a/src/main/java/edu/brown/cs/student/term/hub/Person.java b/src/main/java/edu/brown/cs/student/term/hub/Person.java
new file mode 100644
index 0000000..c3d5cb3
--- /dev/null
+++ b/src/main/java/edu/brown/cs/student/term/hub/Person.java
@@ -0,0 +1,12 @@
+package edu.brown.cs.student.term.hub;
+
+public class Person {
+ private int id;
+ private String name;
+
+ public Person(int id, String name){
+ this.id = id;
+ this.name = name;
+ }
+
+}
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 500cc19..8619ab1 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
@@ -8,14 +8,16 @@ public class Trade {
private double timestamp;
private String holder;
private int numShares;
+ private int holderID;
- public Trade(int id, String stockName, String holderName, double ts, int buy, int shares){
+ public Trade(int id, String stockName, String holderName, double ts, int buy, int shares, int holderID){
this.id = id;
this.stock = stockName;
this.isBuy = buy;
this.timestamp = ts;
this.holder = holderName;
this.numShares = shares;
+ this.holderID = holderID;
}
public int getId() {
@@ -51,6 +53,7 @@ public class Trade {
", timestamp=" + timestamp +
", holder='" + holder + '\'' +
", numShares=" + numShares +
+ ", holderID=" + holderID +
'}';
}
}
diff --git a/src/test/java/edu/brown/cs/student/DBQuerierTest.java b/src/test/java/edu/brown/cs/student/DBQuerierTest.java
index 0d365ec..d813969 100644
--- a/src/test/java/edu/brown/cs/student/DBQuerierTest.java
+++ b/src/test/java/edu/brown/cs/student/DBQuerierTest.java
@@ -15,6 +15,7 @@ import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+//TODO: Write more tests for methods besides stock by name
public class DBQuerierTest {
/** these should span the entire mock dataset */
@@ -77,6 +78,7 @@ public class DBQuerierTest {
setUp();
try{
List<Trade> gmeBuyList = db.getTradeByStock("GME", 1, start, end);
+ System.out.println(gmeBuyList);
assertEquals(gmeBuyList.size(), 6);
assertEquals(gmeBuyList.get(0).getId(), 482);
assertEquals(gmeBuyList.get(3).getId(), 149);