diff -r 3d16ad54b3dc -r 0a658e53177c src/main/java/de/uapcore/lightpit/entities/IssueSummary.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/uapcore/lightpit/entities/IssueSummary.java Mon Jun 01 14:46:58 2020 +0200 @@ -0,0 +1,67 @@ +package de.uapcore.lightpit.entities; + +public class IssueSummary { + private int open = 0; + private int active = 0; + private int done = 0; + + public int getOpen() { + return open; + } + + public void setOpen(int open) { + this.open = open; + } + + public int getActive() { + return active; + } + + public void setActive(int active) { + this.active = active; + } + + public int getDone() { + return done; + } + + public void setDone(int done) { + this.done = done; + } + + public int getTotal() { + return open+active+done; + } + + public int getOpenPercent() { + return 100-getActivePercent()-getDonePercent(); + } + + public int getActivePercent() { + int total = getTotal(); + return total > 0 ? 100*active/total : 0; + } + + public int getDonePercent() { + int total = getTotal(); + return total > 0 ? 100*done/total : 0; + } + + /** + * Adds the specified issue to the summary by increming the respective counter. + * @param issue the issue + */ + public void add(Issue issue) { + switch (issue.getStatus().getPhase()) { + case 0: + open++; + break; + case 1: + active++; + break; + case 2: + done++; + break; + } + } +}