src/main/java/de/uapcore/lightpit/entities/IssueSummary.java

changeset 86
0a658e53177c
child 116
d24354f21df5
--- /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;
+        }
+    }
+}

mercurial