diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..dae6ab1 Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index a1c2a23..dcf4d19 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ # Log file *.log +/.idea + # BlueJ files *.ctxt diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..349b6b7 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,6 @@ +# Default ignored files +<<<<<<< HEAD +/workspace.xml +======= +/workspace.xml +>>>>>>> f70fe73316d0f653ce652bcdc1700193e3f2f2f2 diff --git a/.idea/JustCode.iml b/.idea/JustCode.iml new file mode 100644 index 0000000..68ef302 --- /dev/null +++ b/.idea/JustCode.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/March_Madness.iml b/.idea/March_Madness.iml new file mode 100644 index 0000000..99ff255 --- /dev/null +++ b/.idea/March_Madness.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..ca5d3ee --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 0000000..d411041 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_postgresql_postgresql_42_2_11.xml b/.idea/libraries/Maven__org_postgresql_postgresql_42_2_11.xml new file mode 100644 index 0000000..cac4cab --- /dev/null +++ b/.idea/libraries/Maven__org_postgresql_postgresql_42_2_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/mysql_connector_java_8_0_19.xml b/.idea/libraries/mysql_connector_java_8_0_19.xml new file mode 100644 index 0000000..aca512c --- /dev/null +++ b/.idea/libraries/mysql_connector_java_8_0_19.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..ca692b9 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,17 @@ + + + + + + +\ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..9f1523e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JustCode.iml b/JustCode.iml new file mode 100644 index 0000000..a25a774 --- /dev/null +++ b/JustCode.iml @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README_team.md b/README_team.md new file mode 100644 index 0000000..1380575 --- /dev/null +++ b/README_team.md @@ -0,0 +1 @@ +Use SopUI for testing apis... diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..5d17966 --- /dev/null +++ b/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + + + groupId + JustCode + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 1.5.3.RELEASE + + + + + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-jdbc + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + junit + junit + 4.12 + test + + + org.postgresql + postgresql + 42.2.11 + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..f234793 Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/main/.DS_Store b/src/main/.DS_Store new file mode 100644 index 0000000..9aaf253 Binary files /dev/null and b/src/main/.DS_Store differ diff --git a/src/main/java/BracketSelection.java b/src/main/java/BracketSelection.java new file mode 100644 index 0000000..003aff9 --- /dev/null +++ b/src/main/java/BracketSelection.java @@ -0,0 +1,127 @@ +import Models.Region; +import Models.Team; + +import java.util.ArrayList; + +public class BracketSelection { + private Region east; + private Region west; + private Region midwest; + private Region south; + private Team team1; + private Team team2; + + public BracketSelection() { + this.east = new Region("east"); + this.west = new Region("west"); + this.midwest = new Region("midwest"); + this.south = new Region("south"); + } + + public String pickBracketsMessage() { + return + "\n" + + ("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^")+ "\n" + + (" Who Will Win This Matchup? ")+ "\n" + + (" -------------------------------------------- ")+ "\n" + + (" ")+ "\n" + + (" 1. " + team1 + " ")+ "\n" + + (" 2. " + team2 + " ")+ "\n" + + (" ")+ "\n" + + ("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^")+ "\n" + + (" Enter your input :"); + } + + public void pickFirstRoundWinner(Region region) { + region.clearPicks(); + ArrayList winnerList = new ArrayList<>(); + Team winner = new Team(); + int seedCounter = 16; + //below creates round 1 matchups + for(int i = 1; i <=8; i++){ + this.team1 = region.getSeedTeamMap().get(i); + this.team2 = region.getSeedTeamMap().get(seedCounter); + Integer userInput = testConsole.getInteger(pickBracketsMessage()); + if (userInput == 1) { + winner = team1; + winnerList.add(i); + } else { + winner = team2; + winnerList.add(i); + } + seedCounter--; + } + region.setPicks(winnerList); + } + + public void pickSecondRoundWinner(Region region){ + ArrayList winnerList = new ArrayList<>(); + Team winner = new Team(); + int seedCounter = 8; + for (int i = 1; i<=4;i++){ + this.team1 = region.getSeedTeamMap().get(region.getPicks().get(i)); + this.team2 = region.getSeedTeamMap().get(region.getPicks().get(seedCounter)); + Integer userInput = testConsole.getInteger(pickBracketsMessage()); + if (userInput == 1) { + winner = team1; + winnerList.add(i); + } else { + winner = team2; + winnerList.add(i); + } + seedCounter--; + } + region.setPicks(winnerList); + } + + public void pickThirdRoundWinner(Region region){ + ArrayList winnerList = new ArrayList<>(); + Team winner = new Team(); + int seedCounter = 4; + for (int i = 1; i<=2;i++){ + this.team1 = region.getSeedTeamMap().get(region.getPicks().get(i)); + this.team2 = region.getSeedTeamMap().get(region.getPicks().get(seedCounter)); + Integer userInput = testConsole.getInteger(pickBracketsMessage()); + if (userInput == 1) { + winner = team1; + winnerList.add(i); + } else { + winner = team2; + winnerList.add(i); + } + seedCounter--; + } + region.setPicks(winnerList); +} + + public void pickFourthRoundWinner(Region region){ + Team winner = new Team(); + this.team1 = region.getSeedTeamMap().get(region.getPicks().get(1)); + this.team2 = region.getSeedTeamMap().get(region.getPicks().get(2)); + Integer userInput = testConsole.getInteger(pickBracketsMessage()); + if (userInput == 1) { + winner = team1; + region.setChamp(team1); + } else { + winner = team2; + region.setChamp(team2); + } + } + + public void pickRegionWinner(Region region){ + pickFirstRoundWinner(region); + pickSecondRoundWinner(region); + pickThirdRoundWinner(region); + pickFourthRoundWinner(region);} + + public static void main(String[] args) { + // selectedRegion will be either pulled from user input or we can hardcode it + + BracketSelection bs = new BracketSelection(); + bs.pickRegionWinner(bs.east); + bs.pickRegionWinner(bs.west); + bs.pickRegionWinner(bs.midwest); + bs.pickRegionWinner(bs.south); + } + +} \ No newline at end of file diff --git a/src/main/java/Console.java b/src/main/java/Console.java new file mode 100644 index 0000000..ce9f369 --- /dev/null +++ b/src/main/java/Console.java @@ -0,0 +1,158 @@ + +import Models.Region; + +import java.util.HashMap; +import java.util.Scanner; + +public class Console { + + // ******************************************************************************************** Welcome ********** + + public void welcomeMessageRegions() { + + System.out.println("\n"); + System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); + System.out.println("^ Hello Welcome to MARCH MADNESS ^"); + System.out.println("^--------------------------------------------^"); + System.out.println("^ Please select the Models.Region by number ^"); + System.out.println("^ ^"); + System.out.println("^ 1. EAST ^"); + System.out.println("^ 2. WEST ^"); + System.out.println("^ 3. MIDWEST ^"); + System.out.println("^ 4. SOUTH ^"); + System.out.println("^ ^"); + System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); + System.out.println(" Enter your input :"); +// char escCode = 0x1B; +// int row = 10; int column = 10; +// System.out.print(String.format("%c[%d;%df",escCode,row,column)); + } + + + + + // ***************** Getting String input from User ********** + + public Object getUserInput() { + + Object userInput; + Scanner readInput = new Scanner(System.in); +// try { + userInput = readInput.nextLine(); + +// } catch (NumberFormatException ex) { +// System.out.println("Invalid entry. Please enter a number from the menu" + "\n"); +// userInput = Integer.parseInt(readInput.nextLine()); +// return userInput; +// } + return userInput; + } + + // ******************** Main **************** + + public static void main(String[] args) { + +// GUI gui = new GUI(); + + Console region = new Console(); + Boolean invalid = false; + region.welcomeMessageRegions(); + + HashMap response = new HashMap(); + response.put(1, "EAST"); + response.put(2, "WEST"); + response.put(3, "MIDWEST"); + response.put(4, "SOUTH"); +// System.out.println(response.get(1)); +// System.out.println(response.get(2)); +// System.out.println(response.get(3)); +// System.out.println(response.get(4)); +// System.out.println(response.keySet().toArray()[1]); + + + + do { + + Object r = region.getUserInput(); +// System.out.println(r); +// System.out.println(response.get(2)); +// System.out.println(response.keySet().toArray()[1]); + + if ((response.get(1).equalsIgnoreCase((String)r)) || r == response.keySet().toArray()[0]) + { + System.out.println("You selected EAST" + "\n\n"); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + + System.out.println("Redirecting........."); + invalid = false; + Region regionSelected = new Region("east"); + regionSelected.getRegionBracket(); + } + + else if ((response.get(2).equalsIgnoreCase((String)r)) || r == response.keySet().toArray()[1]) { + + System.out.println("You selected WEST" + "\n\n"); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + + System.out.println("Redirecting........."); + invalid = false; + Region regionSelected = new Region("west"); + regionSelected.getRegionBracket(); + } + + else if ((response.get(3).equalsIgnoreCase((String)r)) || r == response.keySet().toArray()[2]) { + + System.out.println("You selected MIDWEST" + "\n\n"); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + + System.out.println("Redirecting........."); + invalid = false; + Region regionSelected = new Region("midwest"); + regionSelected.getRegionBracket(); + } + + else if (((response.get(4).equalsIgnoreCase((String)r))) || r == response.keySet().toArray()[3]) { + System.out.println("You selected SOUTH" + "\n\n"); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + + System.out.println("Redirecting........."); + invalid = false; + Region regionSelected = new Region("south"); + regionSelected.getRegionBracket(); + } + + else { + System.out.println(" Invalid Entry ! Please enter a valid response from the menu "); + invalid = true; + + try { + Thread.sleep(1000); + } + catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + + System.out.println("\n"); + } + + } while (invalid); + } +} + + diff --git a/src/main/java/GUI.java b/src/main/java/GUI.java new file mode 100644 index 0000000..7987e4e --- /dev/null +++ b/src/main/java/GUI.java @@ -0,0 +1,105 @@ +import javax.swing.JFrame; +import java.awt.Graphics; + +public class GUI extends JFrame{ + + /** + * Constructor + * initializes gui window + * + **/ + + public GUI(){ + super("2020 March Madness Models.Bracket"); + this.setSize(this.getToolkit().getScreenSize()); + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.setVisible(true); + } + + /** + * paint + * draws the bracket to the screen + * + * @param g - Graphics object + * + **/ + public void paint(Graphics g){ + drawBracket(g); + } + + /** + * main + * initializes a gui object + * + **/ + + /** + * + * drawBracket + * gets info about the JFrame window to begin drawing the bracket + * + * @param g - Graphics object + * + * + **/ + public void drawBracket(Graphics g){ + int centerShift = 10; + int winHeight = (int)(this.getToolkit().getScreenSize().getHeight()); + int winWidth = (int)(this.getToolkit().getScreenSize().getWidth()); + int centerX = winWidth/2; + int centerY = winHeight/2; + + int horizLineLength = winWidth/12 - 15; + int vertLineLength = winHeight/8 - 5; + int lineStartHeight = centerY; + int lineStartWidth = centerX; + + //draws the 4 regions + drawLines(g, centerY/2 + 25, centerX - 130, horizLineLength, vertLineLength, 5); + drawLines(g, centerY + 195, centerX - 130, horizLineLength, vertLineLength, 5); + drawLines(g, centerY/2 + 25, centerX + 130, -horizLineLength, vertLineLength, 5); + drawLines(g, centerY + 195, centerX + 130, -horizLineLength, vertLineLength, 5); + + //draws the center bracket + g.drawLine(centerX, centerY, centerX - 130, centerY); + g.drawLine(centerX, centerY, centerX + 130, centerY); + g.drawLine(centerX + 130, centerY, centerX + 130, centerY/2+25); + g.drawLine(centerX + 130, centerY, centerX + 130, centerY + 195); + g.drawLine(centerX - 130, centerY, centerX - 130, centerY/2 + 25); + g.drawLine(centerX - 130, centerY, centerX - 130, centerY+195); + + } + + /** + * + * drawLines + * draws the lines of the bracket on the screen recursively + * + * @param g - Graphics object + * @param lineY - the y position of the right-most point of the line + * @param lineX - the x position of the right-most point of the line + * @param horizLineLength - required length of each of the horizontal lines + * @param vertLineLength = required length of each of the vertical lines + * @param counter - the depth of the bracket + * + * @return int; + * + **/ + public void drawLines(Graphics g, int lineY, int lineX, int horizLineLength, int vertLineLength, int counter){ + //base case + if(counter <= 0){ + return; + } + + //draw step + g.drawLine(lineX, lineY, lineX - horizLineLength, lineY); + g.drawLine(lineX - horizLineLength, lineY, lineX - horizLineLength, lineY + vertLineLength); + g.drawLine(lineX - horizLineLength, lineY, lineX - horizLineLength, lineY - vertLineLength); + + //recursive step + drawLines(g, lineY + vertLineLength, lineX - horizLineLength, horizLineLength, vertLineLength/2, counter-1); + drawLines(g, lineY - vertLineLength, lineX - horizLineLength, horizLineLength, vertLineLength/2, counter-1); + + } + +} \ No newline at end of file diff --git a/src/main/java/JDBC.java b/src/main/java/JDBC.java new file mode 100644 index 0000000..d6585b4 --- /dev/null +++ b/src/main/java/JDBC.java @@ -0,0 +1,52 @@ +import java.sql.*; +import java.util.HashMap; + +public class JDBC { + // change this to the remote server + private final String url = "jdbc:postgresql://ec2-18-210-51-239.compute-1.amazonaws.com:5432/ddmgjgkagckgto?user=qsbbjcdcnayhnp&password=e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f"; + private final String user = "qsbbjcdcnayhnp"; + private final String password = "e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f"; + + //connect to postgres database + + public Connection connect(){ + Connection conn = null; + try { + conn = DriverManager.getConnection(url, user, password); + System.out.println("Connected to SQL server."); + + } catch (SQLException e){ + System.out.println(e.getMessage()); + } + return conn; + } + + public String getTeamListFromRegion(String region) { + //String SQL = "SELECT school_name FROM" + region; + //below runs on local database for testing, above is actual query once connected to remote db + String SQL = "SELECT seed FROM ncaa;"; + String teamList = ""; + try (Connection conn = connect(); + Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery(SQL)) { + while (rs.next()){ + //teamList = rs.getString("school_name"); + teamList += rs.getString("seed") + "\n"; + } + } catch (SQLException e) { + System.out.println(e.getMessage()); + } + + return teamList; + } + + // need to make this parse query results + + public String[] parseToStringArray(String queryResults){ + return null; + } + public HashMap mapify(String queryResults){ + return new HashMap(); + } + +} diff --git a/src/main/java/Mappers/PlayerMapper.java b/src/main/java/Mappers/PlayerMapper.java new file mode 100644 index 0000000..25ef191 --- /dev/null +++ b/src/main/java/Mappers/PlayerMapper.java @@ -0,0 +1,33 @@ +package Mappers; + +import Models.Player; +import Models.PlayerEnums.Position; +import org.springframework.jdbc.core.RowMapper; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class PlayerMapper implements RowMapper { + @Override + public Player mapRow(ResultSet rs, int i) throws SQLException { + Player player = new Player(); + player.setName(rs.getString("name")); + player.setPPG(rs.getDouble("pointspergame")); + player.setAPG(rs.getDouble("assistspergame")); + player.setRPG(rs.getDouble("reboundspergame")); + player.setTeamId(rs.getInt("teamid")); + player.setGames(rs.getInt("games")); + switch (rs.getString("position")) { + case "C": + player.setPosition(Position.C); + break; + case "F": + player.setPosition(Position.F); + break; + case "G": + player.setPosition(Position.G); + break; + } + return player; + } +} diff --git a/src/main/java/Mappers/RegionMapper.java b/src/main/java/Mappers/RegionMapper.java new file mode 100644 index 0000000..8bd3742 --- /dev/null +++ b/src/main/java/Mappers/RegionMapper.java @@ -0,0 +1,19 @@ +package Mappers; + +import Models.Region; +import org.springframework.jdbc.core.RowMapper; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class RegionMapper implements RowMapper { + + @Override + public Region mapRow(ResultSet rs, int row) throws SQLException { + return new Region(); +// region. +// ArrayList seedPicks; +// Models.Team champ; + + } +} diff --git a/src/main/java/Mappers/RosterMapper.java b/src/main/java/Mappers/RosterMapper.java new file mode 100644 index 0000000..2d6e43d --- /dev/null +++ b/src/main/java/Mappers/RosterMapper.java @@ -0,0 +1,14 @@ +package Mappers; + +import Models.Roster; +import org.springframework.jdbc.core.RowMapper; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class RosterMapper implements RowMapper { + @Override + public Roster mapRow(ResultSet resultSet, int i) throws SQLException { + return null; + } +} diff --git a/src/main/java/Mappers/TeamMapper.java b/src/main/java/Mappers/TeamMapper.java new file mode 100644 index 0000000..591554c --- /dev/null +++ b/src/main/java/Mappers/TeamMapper.java @@ -0,0 +1,14 @@ +package Mappers; + +import Models.Team; +import org.springframework.jdbc.core.RowMapper; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class TeamMapper implements RowMapper { + @Override + public Team mapRow(ResultSet resultSet, int i) throws SQLException { + return null; + } +} diff --git a/src/main/java/Models/Bracket.java b/src/main/java/Models/Bracket.java new file mode 100644 index 0000000..2834db7 --- /dev/null +++ b/src/main/java/Models/Bracket.java @@ -0,0 +1,6 @@ +package Models; + +public class Bracket { + + +} diff --git a/src/main/java/Models/Player.java b/src/main/java/Models/Player.java new file mode 100644 index 0000000..ca2510a --- /dev/null +++ b/src/main/java/Models/Player.java @@ -0,0 +1,134 @@ +package Models; + +import Models.PlayerEnums.Position; +import Models.PlayerEnums.Year; + +public class Player { + private int teamId; + private String name; + private Double height; + private Double weight; + + private Double PPG; + private Double APG; + private Double RPG; + private int games; + + private Year year; + private Position position; + + public Player(String name, Position position, Double height, Double weight, Double PPG, Double APG, Double RPG, Year year) { + this.name = name; + this.position = position; + this.height = height; + this.weight = weight; + this.PPG = PPG; + this.APG = APG; + this.RPG = RPG; + this.year = year; + + } + + public Player(String name) { + this.name = name; + } + + public Player() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getHeight() { + return height; + } + + public void setHeight(Double height) { + this.height = height; + } + + public Double getWeight() { + return weight; + } + + public void setWeight(Double weight) { + this.weight = weight; + } + + public Double getPPG() { + return PPG; + } + + public void setPPG(Double PPG) { + this.PPG = PPG; + } + + public Double getAPG() { + return APG; + } + + public void setAPG(Double APG) { + this.APG = APG; + } + + public Double getRPG() { + return RPG; + } + + public void setRPG(Double RPG) { + this.RPG = RPG; + } + + public Year getYear() { + return year; + } + + public void setYear(Year year) { + this.year = year; + } + + public Position getPosition() { + return position; + } + + public void setPosition(Position position) { + this.position = position; + } + + public String playerDetails(Player player) { + return player.toString(); + } + + @Override + public String toString() { + return "Name: " + getName() + + "\n Models.PlayerEnums.Position: " + getPosition() + + "\n Height: " + getHeight() + + "\n Weight: " + getWeight() + + "\n PPG: " + getPPG() + + "\n APG: " + getAPG() + + "\n RPG " + getRPG() + + "\n Class: " + getYear(); + } + + public int getTeamId() { + return teamId; + } + + public void setTeamId(int teamId) { + this.teamId = teamId; + } + + public int getGames() { + return games; + } + + public void setGames(int games) { + this.games = games; + } +} diff --git a/src/main/java/Models/PlayerEnums/Position.java b/src/main/java/Models/PlayerEnums/Position.java new file mode 100644 index 0000000..ae58d85 --- /dev/null +++ b/src/main/java/Models/PlayerEnums/Position.java @@ -0,0 +1,14 @@ +package Models.PlayerEnums; + +public enum Position { + G("Guard"), + F("Forward"), + C("Center"); + + private String position; + + Position(String position){ + this.position = position; + } + +} diff --git a/src/main/java/Models/PlayerEnums/Year.java b/src/main/java/Models/PlayerEnums/Year.java new file mode 100644 index 0000000..687b005 --- /dev/null +++ b/src/main/java/Models/PlayerEnums/Year.java @@ -0,0 +1,14 @@ +package Models.PlayerEnums; + +public enum Year { + FM("Freshman"), + S("Sophomore"), + JR("Junior"), + SNR("Senior"); + + private String year; + + Year(String year) { + this.year = year; + } +} diff --git a/src/main/java/Models/Region.java b/src/main/java/Models/Region.java new file mode 100644 index 0000000..28a2037 --- /dev/null +++ b/src/main/java/Models/Region.java @@ -0,0 +1,60 @@ +package Models; + +import java.util.ArrayList; +import java.util.HashMap; + +import static org.springframework.boot.autoconfigure.session.StoreType.JDBC; + + +public class Region{ + private Bracket regionBracket; + private HashMap seedTeamMap; + private ArrayList seedPicks; + private Team champ; + + public Region(String selectedRegion){ + JDBC jdbc = new JDBC(); + //method below will take jdbc query results - need to mapify the query results using selectedRegion + this.seedTeamMap.put(1,new Team()); + this.seedPicks = new ArrayList(); + this.champ = new Team(); + } + + public Region(){} + + public Bracket getRegionBracket(){ + return this.regionBracket; + } + + public void setRegionBracket(Bracket regionBracket) { + this.regionBracket = regionBracket; + } + + public HashMap getSeedTeamMap() { + return seedTeamMap; + } + + public void setSeedTeamMap(HashMap teamSeedMap) { + this.seedTeamMap = teamSeedMap; + } + + public ArrayList getPicks(){return this.seedPicks;}; + + public void setPicks(ArrayList picks){this.seedPicks = picks;}; + + public void clearPicks(){ + this.getPicks().clear(); + } + + public Team getChamp() { + return champ; + } + + public void setChamp(Team champ) { + this.champ = champ; + } + + // methods planned for future use below +// get list of teams and seeds from API +// put them in the hashmap +} diff --git a/src/main/java/Models/Roster.java b/src/main/java/Models/Roster.java new file mode 100644 index 0000000..145a487 --- /dev/null +++ b/src/main/java/Models/Roster.java @@ -0,0 +1,65 @@ +package Models; + +import Models.PlayerEnums.Position; +import Services.PlayerService; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +public class Roster { + private int teamId; + LinkedHashMap roster = new LinkedHashMap<>(); + + public Roster(int teamId) { + this.teamId = teamId; + populateRoster(teamId); + } + + public Roster(){}; + + public void populateRoster(int teamId){ + PlayerService ps = new PlayerService(); + List players = ps.getPlayersByTeamId(teamId); + for(Player player : players){ + roster.put(player, player.getPosition()); + } + } + + public LinkedHashMap getRoster() { + return roster; + } + + public void setRoster(LinkedHashMap roster) { + this.roster = roster; + } + + public void addToRoster(Player player, Position position) { + roster.put(player, position); + } + + public Integer size() { + return roster.size(); + } + + public String listRoster(Roster roster) { + return roster.toString(); + } + + @Override + public String toString() { + StringBuilder result = new StringBuilder(); + for (Map.Entry entry : roster.entrySet()) { + result.append("\n").append(entry.getValue().toString()).append(" ").append(entry.getKey().getName());} + + return result.toString(); + } + + public int getTeamId() { + return teamId; + } + + public void setTeamId(int teamId) { + this.teamId = teamId; + } +} diff --git a/src/main/java/Models/Team.java b/src/main/java/Models/Team.java new file mode 100644 index 0000000..ea7be8f --- /dev/null +++ b/src/main/java/Models/Team.java @@ -0,0 +1,80 @@ +package Models; + +public class Team { + private String teamName; + private Roster teamRoster; + private String records; + private String projections; + private String history; + private String schedule; + + + public Team(String teamName, String records,String projections,String history,String schedule, Roster roster){ + this.teamName = teamName; + this.teamRoster = new Roster(); + this.records = records; + this.projections = projections; + this.history = history; + this.schedule = schedule; + + } + + public Team(){} + + public Roster getTeamRoster() { + return teamRoster; + } + + public void setTeamRoster(Roster teamRoster) { + this.teamRoster = teamRoster; + } + + public String getRecords() { + return records; + } + + public void setRecords(String records) { + this.records = records; + } + + public String getProjections() { + return projections; + } + + public void setProjections(String projections) { + this.projections = projections; + } + + public String getHistory() { + return history; + } + + public void setHistory(String history) { + this.history = history; + } + + public String getSchedule() { + return schedule; + } + + public void setSchedule(String schedule) { + this.schedule = schedule; + } + + + public String getTeamName() { + return teamName; + } + + public void setTeamName(String teamName) { + this.teamName = teamName; + } + +// get roster from API +// records; +// projections; +// history; +// schedule; + + +} diff --git a/src/main/java/Services/PlayerService.java b/src/main/java/Services/PlayerService.java new file mode 100644 index 0000000..148d918 --- /dev/null +++ b/src/main/java/Services/PlayerService.java @@ -0,0 +1,18 @@ +package Services; + +import Mappers.PlayerMapper; +import Models.Player; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DriverManagerDataSource; + +import java.util.List; + +public class PlayerService { + + DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:postgresql://ec2-18-210-51-239.compute-1.amazonaws.com:5432/ddmgjgkagckgto?user=qsbbjcdcnayhnp&password=e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f", "qsbbjcdcnayhnp", "e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f"); + JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); + + public List getPlayersByTeamId(int teamId){ + return jdbcTemplate.query("select * from player_stats_final where teamid = '" + teamId+ "' order by games desc;", new PlayerMapper()); + } +} diff --git a/src/main/java/Services/RegionService.java b/src/main/java/Services/RegionService.java new file mode 100644 index 0000000..73e9829 --- /dev/null +++ b/src/main/java/Services/RegionService.java @@ -0,0 +1,12 @@ +package Services; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DriverManagerDataSource; + +public class RegionService { + + DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:postgresql://ec2-18-210-51-239.compute-1.amazonaws.com:5432/ddmgjgkagckgto?user=qsbbjcdcnayhnp&password=e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f", "qsbbjcdcnayhnp", "e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f"); + JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); + + +} diff --git a/src/main/java/Services/RosterService.java b/src/main/java/Services/RosterService.java new file mode 100644 index 0000000..f480a12 --- /dev/null +++ b/src/main/java/Services/RosterService.java @@ -0,0 +1,10 @@ +package Services; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DriverManagerDataSource; + +public class RosterService { + + DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:postgresql://ec2-18-210-51-239.compute-1.amazonaws.com:5432/ddmgjgkagckgto?user=qsbbjcdcnayhnp&password=e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f", "qsbbjcdcnayhnp", "e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f"); + JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); +} diff --git a/src/main/java/Services/TeamService.java b/src/main/java/Services/TeamService.java new file mode 100644 index 0000000..fac3040 --- /dev/null +++ b/src/main/java/Services/TeamService.java @@ -0,0 +1,10 @@ +package Services; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DriverManagerDataSource; + +public class TeamService { + + DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:postgresql://ec2-18-210-51-239.compute-1.amazonaws.com:5432/ddmgjgkagckgto?user=qsbbjcdcnayhnp&password=e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f", "qsbbjcdcnayhnp", "e902ec9c2d2458dd577f2655c521499e28b90b01bda8728ac907ad9e7db2ea3f"); + JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); +} diff --git a/src/main/java/TextParser.java b/src/main/java/TextParser.java new file mode 100644 index 0000000..d7cb0eb --- /dev/null +++ b/src/main/java/TextParser.java @@ -0,0 +1,19 @@ +import java.util.HashMap; + +public class TextParser { + + public TextParser(){ + + } + + public String loadFile(){ + ClassLoader classLoader = getClass().getClassLoader(); + return null; + } + + public HashMap parseSeeds(){ + return null; + //get logic from hamlet lab + } + +} diff --git a/src/main/java/testConsole.java b/src/main/java/testConsole.java new file mode 100644 index 0000000..52602b7 --- /dev/null +++ b/src/main/java/testConsole.java @@ -0,0 +1,37 @@ + + +import java.util.InputMismatchException; +import java.util.Scanner; + +public class testConsole { + + public static String getStringInput(String prompt) { + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.println(prompt); + try { + String userInput = scanner.nextLine(); + return userInput; + } catch (java.util.InputMismatchException e) { + scanner.nextLine(); + } + } + } + + public static Integer getInteger(String prompt) { + + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.println(prompt); + try { + String userInput = scanner.nextLine(); + return Integer.parseInt(userInput); + } catch (NumberFormatException e) { + System.out.println("Invalid input. Please select one of the options above."); + scanner.nextLine(); + + } + } + + } +} \ No newline at end of file diff --git a/src/main/resources/.DS_Store b/src/main/resources/.DS_Store new file mode 100644 index 0000000..0289582 Binary files /dev/null and b/src/main/resources/.DS_Store differ diff --git a/src/main/resources/regionSeeds/East.txt b/src/main/resources/regionSeeds/East.txt new file mode 100644 index 0000000..f6ea442 --- /dev/null +++ b/src/main/resources/regionSeeds/East.txt @@ -0,0 +1,16 @@ +1 Duke +2 Michigan State +3 LSU +4 Virginia Tech +5 Mississippi State +6 Maryland +7 Louisville +8 VCU +9 UCF +10 Minnesota +11 Belmont +12 Liberty +13 Saint Louis +14 Yale +15 Bradley Missouri Valley +16 North Dakota State diff --git a/src/main/resources/regionSeeds/MidWest.txt b/src/main/resources/regionSeeds/MidWest.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/regionSeeds/South.txt b/src/main/resources/regionSeeds/South.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/regionSeeds/West.txt b/src/main/resources/regionSeeds/West.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/test/java/BracketSelectionTest.java b/src/test/java/BracketSelectionTest.java new file mode 100644 index 0000000..7dc9f8c --- /dev/null +++ b/src/test/java/BracketSelectionTest.java @@ -0,0 +1,34 @@ +import org.junit.Test; + +import static org.junit.Assert.*; + +public class BracketSelectionTest { + + @Test + public void pickBracketsMessage() { + } + + @Test + public void pickFirstRoundWinner() { + } + + @Test + public void pickSecondRoundWinner() { + } + + @Test + public void pickThirdRoundWinner() { + } + + @Test + public void pickFourthRoundWinner() { + } + + @Test + public void pickRegionWinner() { + } + + @Test + public void main() { + } +} \ No newline at end of file diff --git a/src/test/java/JDBCTest.java b/src/test/java/JDBCTest.java new file mode 100644 index 0000000..04e2b61 --- /dev/null +++ b/src/test/java/JDBCTest.java @@ -0,0 +1,21 @@ +import org.junit.Test; + +public class JDBCTest { + JDBC jdbc = new JDBC(); + + @Test + public void connect() {} + + @Test + public void getTeamListFromRegion() { + System.out.println(jdbc.getTeamListFromRegion("east")); + } + + @Test + public void parseToStringArray() { + } + + @Test + public void mapify() { + } +} \ No newline at end of file diff --git a/src/test/java/RegionTest.java b/src/test/java/RegionTest.java new file mode 100644 index 0000000..f5ea0c3 --- /dev/null +++ b/src/test/java/RegionTest.java @@ -0,0 +1,29 @@ +import Models.Bracket; +import Models.Region; +import Models.Team; +import org.junit.Assert; +import org.junit.Test; + +import java.util.HashMap; + +public class RegionTest { + Region testRegion = new Region("East"); + Bracket testBracket = new Bracket(); + HashMap testMap = new HashMap<>(); + + @Test + public void getSetRegionBracket() { + testRegion.setRegionBracket(testBracket); + Bracket expected = testBracket; + Bracket actual = testRegion.getRegionBracket(); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSetTeamSeedMap() { + testRegion.setSeedTeamMap(testMap); + HashMap expected = testMap; + HashMap actual = testRegion.getSeedTeamMap(); + Assert.assertEquals(expected,actual); + } +} \ No newline at end of file diff --git a/src/test/java/TeamTest.java b/src/test/java/TeamTest.java new file mode 100644 index 0000000..427c16a --- /dev/null +++ b/src/test/java/TeamTest.java @@ -0,0 +1,59 @@ +import Models.Roster; +import Models.Team; +import org.junit.Assert; +import org.junit.Test; + +public class TeamTest { + Roster testRoster = new Roster(); + Team testTeam = new Team(); + + @Test + public void getSetTeamRoster() { + testTeam.setTeamRoster(testRoster); + Roster expected = testRoster; + Roster actual = testTeam.getTeamRoster(); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSetRecords() { + testTeam.setRecords("records"); + String expected = "records"; + String actual = testTeam.getRecords(); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSetProjections() { + testTeam.setProjections("proj"); + String expected = "proj"; + String actual = testTeam.getProjections(); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSetHistory() { + testTeam.setHistory("hist"); + String expected = "hist"; + String actual = testTeam.getHistory(); + Assert.assertEquals(expected,actual); + } + + + + @Test + public void getSetSchedule() { + testTeam.setSchedule("schedule"); + String expected = "schedule"; + String actual = testTeam.getSchedule(); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSetTeamName() { + testTeam.setTeamName("Duke"); + String expected = "Duke"; + String actual = testTeam.getTeamName(); + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/src/test/java/TestBracket.java b/src/test/java/TestBracket.java new file mode 100644 index 0000000..d8c0a95 --- /dev/null +++ b/src/test/java/TestBracket.java @@ -0,0 +1,2 @@ +public class TestBracket { +} diff --git a/src/test/java/TestPlayer.java b/src/test/java/TestPlayer.java new file mode 100644 index 0000000..b688db2 --- /dev/null +++ b/src/test/java/TestPlayer.java @@ -0,0 +1,67 @@ +import Models.Player; +import Models.PlayerEnums.Position; +import Models.PlayerEnums.Year; +import org.junit.Assert; +import org.junit.Test; + +import java.util.logging.Logger; + +public class TestPlayer { + private static final Logger LOGGER = Logger.getLogger(TestPlayer.class.getName()); + @Test + public void playerDetailsTest(){ + Player player = new Player("Raheel Uppal",Position.G,6.3,230.5,32.6,8.6,9.2, Year.FM); + String expected = player.playerDetails(player); + String actual ="Name: Raheel Uppal\n" + + " Models.PlayerEnums.Position: G\n" + + " Height: 6.3\n" + + " Weight: 230.5\n" + + " PPG: 32.6\n" + + " APG: 8.6\n" + + " RPG 9.2\n" + + " Class: FM"; + LOGGER.info(player.playerDetails(player)); + Assert.assertEquals(expected, actual); + } + + @Test + public void getSetterTest(){ + Player player = new Player("Raheel Uppal"); + player.setName("Raheel Uppal"); + player.setAPG(8.9); + player.setHeight(6.3); + player.setPosition(Position.G); + player.setWeight(230.5); + player.setPPG(33.6); + player.setRPG(12.2); + player.setYear(Year.FM); + + String nameE = player.getName(); + String nameA = "Raheel Uppal"; + Assert.assertEquals(nameE,nameA); + + Double ppgE = player.getPPG(); + Double ppgA = 33.6; + Assert.assertEquals(ppgE,ppgA); + + Double rpgE = player.getRPG(); + Double rpgA = 12.2; + Assert.assertEquals(rpgE,rpgA); + + Double apgE = player.getAPG(); + Double apgA = 8.9; + Assert.assertEquals(apgE,apgA); + + Double heightE = player.getHeight(); + Double heightA = 6.3; + Assert.assertEquals(heightE,heightA); + + Double weightE = player.getWeight(); + Double weightA = 230.5; + Assert.assertEquals(weightE,weightA); + + Position expected = player.getPosition(); + Position actual = Position.G; + Assert.assertEquals(expected,actual); + } +} diff --git a/src/test/java/TestRoster.java b/src/test/java/TestRoster.java new file mode 100644 index 0000000..16d762d --- /dev/null +++ b/src/test/java/TestRoster.java @@ -0,0 +1,54 @@ +import Models.Player; +import Models.PlayerEnums.Position; +import Models.Roster; +import org.junit.Assert; +import org.junit.Test; + +import java.util.logging.Logger; + +public class TestRoster { + private static final Logger LOGGER = Logger.getLogger(TestRoster.class.getName()); + + @Test + public void sizeTest(){ + Player player1 = new Player("Raheel Uppal"); + Position pg = Position.G; + Player player2 = new Player("David Kelly"); + Position sg = Position.G; + Player player3 = new Player("Sandeep Manglam"); + Position c = Position.F; + Roster roster = new Roster(); + roster.setRoster(roster.getRoster()); + roster.addToRoster(player1,pg); + roster.addToRoster(player2,sg); + roster.addToRoster(player3,c); + + Integer expected = roster.size(); + Integer actual = 3; + + + Assert.assertEquals(expected, actual); + } + + @Test + public void listRosterTest(){ + Player player1 = new Player("Raheel Uppal"); + Position pg = Position.G; + Player player2 = new Player("David Kelly"); + Position sg = Position.G; + Player player3 = new Player("Sandeep Manglam"); + Position sf = Position.F; + Player player4 = new Player("Mat Ascone"); + Position c = Position.C; + + Roster roster = new Roster(); + roster.addToRoster(player1,pg); + roster.addToRoster(player2,sg); + roster.addToRoster(player3,sf); + roster.addToRoster(player4,c); + + LOGGER.info(roster.listRoster(roster)); + + } + +} diff --git a/target/classes/META-INF/JustCode.kotlin_module b/target/classes/META-INF/JustCode.kotlin_module new file mode 100644 index 0000000..a49347a Binary files /dev/null and b/target/classes/META-INF/JustCode.kotlin_module differ diff --git a/target/classes/regionSeeds/East.txt b/target/classes/regionSeeds/East.txt new file mode 100644 index 0000000..f6ea442 --- /dev/null +++ b/target/classes/regionSeeds/East.txt @@ -0,0 +1,16 @@ +1 Duke +2 Michigan State +3 LSU +4 Virginia Tech +5 Mississippi State +6 Maryland +7 Louisville +8 VCU +9 UCF +10 Minnesota +11 Belmont +12 Liberty +13 Saint Louis +14 Yale +15 Bradley Missouri Valley +16 North Dakota State diff --git a/target/classes/regionSeeds/MidWest.txt b/target/classes/regionSeeds/MidWest.txt new file mode 100644 index 0000000..e69de29 diff --git a/target/classes/regionSeeds/South.txt b/target/classes/regionSeeds/South.txt new file mode 100644 index 0000000..e69de29 diff --git a/target/classes/regionSeeds/West.txt b/target/classes/regionSeeds/West.txt new file mode 100644 index 0000000..e69de29