diff options
Diffstat (limited to 'src/main/java/design/model')
| -rw-r--r-- | src/main/java/design/model/League.java | 12 | ||||
| -rw-r--r-- | src/main/java/design/model/Match.java | 4 | ||||
| -rw-r--r-- | src/main/java/design/model/ScrambleLeague.java | 35 | ||||
| -rw-r--r-- | src/main/java/design/model/StrokeLeague.java | 31 | ||||
| -rw-r--r-- | src/main/java/design/model/Team.java | 12 |
5 files changed, 50 insertions, 44 deletions
diff --git a/src/main/java/design/model/League.java b/src/main/java/design/model/League.java index 2a7366a..44dc83e 100644 --- a/src/main/java/design/model/League.java +++ b/src/main/java/design/model/League.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -104,6 +105,15 @@ public abstract class League { schedule.add(match); } + public Match getCurrentMatch() { + for(Match m : schedule){ + if(m.getStart().isBefore(LocalDateTime.now()) && m.getEnd().isAfter(LocalDateTime.now())){ + return m; + } + } + return null; + } + public void setId(int id) { assert this.id == -1; this.id = id; @@ -130,5 +140,5 @@ public abstract class League { public abstract Map<?, Integer> getResults(); - public abstract void finalizeMatch(Match match); + //public abstract void finalizeMatch(Match match); } diff --git a/src/main/java/design/model/Match.java b/src/main/java/design/model/Match.java index 525f281..3c19230 100644 --- a/src/main/java/design/model/Match.java +++ b/src/main/java/design/model/Match.java @@ -49,6 +49,10 @@ public class Match { return start; } + public LocalDateTime getEnd() { + return end; + } + public int getHoleCount() { return holeCount; } diff --git a/src/main/java/design/model/ScrambleLeague.java b/src/main/java/design/model/ScrambleLeague.java index adf2105..1765d81 100644 --- a/src/main/java/design/model/ScrambleLeague.java +++ b/src/main/java/design/model/ScrambleLeague.java @@ -13,8 +13,8 @@ import java.util.Map; @JsonTypeName("scramble") public class ScrambleLeague extends League { - private List<Team> participants; - private Map<Team, Integer> totalTeamScores; + private final List<Team> participants; + private final Map<Team, Integer> totalTeamScores; @JsonCreator private ScrambleLeague(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner, List<Team> participants, List<Match> schedule) { @@ -31,9 +31,8 @@ public class ScrambleLeague extends League { } public boolean addParticipants(Team t) { - boolean added = participants.add(t); - if(added) totalTeamScores.putIfAbsent(t, 0); - return added; + totalTeamScores.putIfAbsent(t, 0); + return participants.add(t); } public boolean removeParticipants(Team t) { @@ -89,17 +88,17 @@ public class ScrambleLeague extends League { return getTotalTeamScores(); } - @Override - public void finalizeMatch(Match match) { - getCompletedMatches().add(match); - for(int i = 0; i < participants.size(); i++){ - Team team = participants.get(i); - Round round = match.getRoundFor(i); - if(round != null){ - for(Golfer member : team.getMembers()){ - member.addRound(round); - } - } - } - } +// @Override +// public void finalizeMatch(Match match) { +// getCompletedMatches().add(match); +// for(int i = 0; i < participants.size(); i++){ +// Team team = participants.get(i); +// Round round = match.getRoundFor(i); +// if(round != null){ +// for(Golfer member : team.getMembers()){ +// member.addRound(round); +// } +// } +// } +// } } diff --git a/src/main/java/design/model/StrokeLeague.java b/src/main/java/design/model/StrokeLeague.java index 48889b7..57ba1aa 100644 --- a/src/main/java/design/model/StrokeLeague.java +++ b/src/main/java/design/model/StrokeLeague.java @@ -13,8 +13,8 @@ import java.util.Map; @JsonTypeName("stroke") public class StrokeLeague extends League { - private List<Golfer> participants; - private Map<Golfer, Integer> totalStrokes; + private final List<Golfer> participants; + private final Map<Golfer, Integer> totalStrokes; @JsonCreator private StrokeLeague(int id, String name, Date registrationDate, Date startDate, Date endDate, Golfer owner, List<Golfer> participants, List<Match> schedule) { @@ -31,9 +31,8 @@ public class StrokeLeague extends League { } public boolean addParticipants(Golfer g) { - boolean added = participants.add(g); - if(added) totalStrokes.putIfAbsent(g, 0); - return added; + totalStrokes.putIfAbsent(g, 0); + return participants.add(g); } public boolean removeParticipants(Golfer g) { @@ -73,15 +72,15 @@ public class StrokeLeague extends League { return getTotalStrokes(); } - @Override - public void finalizeMatch(Match match) { - getCompletedMatches().add(match); - for(int i = 0; i < participants.size(); i++){ - Golfer player = participants.get(i); - Round round = match.getRoundFor(i); - if(round != null){ - player.addRound(round); - } - } - } +// @Override +// public void finalizeMatch(Match match) { +// getCompletedMatches().add(match); +// for(int i = 0; i < participants.size(); i++){ +// Golfer player = participants.get(i); +// Round round = match.getRoundFor(i); +// if(round != null){ +// player.addRound(round); +// } +// } +// } } diff --git a/src/main/java/design/model/Team.java b/src/main/java/design/model/Team.java index 8f30468..eb04a37 100644 --- a/src/main/java/design/model/Team.java +++ b/src/main/java/design/model/Team.java @@ -10,11 +10,9 @@ public class Team { private String name; private final List<Golfer> members; private final Map<Golfer, Integer> memberBestRounds; - private final Golfer owner; - public Team(String name, Golfer owner) { + public Team(String name) { this.name = name; - this.owner = owner; this.members = new ArrayList<>(); this.memberBestRounds = new HashMap<>(); } @@ -43,10 +41,6 @@ public class Team { return members.remove(g); } - public Golfer getOwner() { - return owner; - } - public void addMemberRound(Golfer g, int strokes){ memberBestRounds.merge(g, strokes, Math::min); } @@ -61,11 +55,11 @@ public class Team { if (this == obj) return true; if (obj == null || getClass() != obj.getClass()) return false; Team other = (Team) obj; - return Objects.equals(name, other.name) && Objects.equals(owner, other.owner); + return Objects.equals(name, other.name); } @Override public int hashCode() { - return Objects.hash(name, owner); + return Objects.hash(name); } } |
