1.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/VysledekHlasovani.java Tue Jan 11 15:27:51 2011 +0100
1.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/VysledekHlasovani.java Wed Jan 12 16:15:37 2011 +0100
1.3 @@ -1,5 +1,8 @@
1.4 package cz.frantovo.nekurak.dto;
1.5
1.6 +import java.util.logging.Level;
1.7 +import java.util.logging.Logger;
1.8 +
1.9 /**
1.10 * Agregovaný výsledek hlasování o tom,
1.11 * zda se má v daném (jednom) podniku kouřit nebo ne.
1.12 @@ -7,8 +10,15 @@
1.13 */
1.14 public class VysledekHlasovani {
1.15
1.16 + private static final Logger log = Logger.getLogger(VysledekHlasovani.class.getSimpleName());
1.17 +
1.18 private int hlasuAno;
1.19 private int hlasuNe;
1.20 + private Podnik podnik;
1.21 +
1.22 + public VysledekHlasovani(Podnik podnik) {
1.23 + this.podnik = podnik;
1.24 + }
1.25
1.26 /**
1.27 * @return počet hlasů pro kuřácký podnik
1.28 @@ -31,4 +41,26 @@
1.29 public void setHlasuNe(int pocet) {
1.30 this.hlasuNe = pocet;
1.31 }
1.32 +
1.33 + public Boolean getSpokojenost() {
1.34 + int k = podnik.getKurackost().getId();
1.35 +
1.36 + if (k == 0) {
1.37 + /** neznámý stav → neznámá spokojenost */
1.38 + return null;
1.39 + } else if (k == 1 || k == 4) {
1.40 + /** zakouřený podnik */
1.41 + return hlasuAno > hlasuNe;
1.42 + } else if (k == 2) {
1.43 + /** nekuřácký podnik */
1.44 + return hlasuAno < hlasuNe;
1.45 + } else if (k == 3) {
1.46 + /** důkladně oddělené části → pokud hlasování vyšlo mezi 35% a 65% bude spokojenost */
1.47 + int soucet = hlasuAno + hlasuNe;
1.48 + return hlasuAno > 0.35 * soucet && hlasuAno < 0.65 * soucet;
1.49 + } else {
1.50 + log.log(Level.SEVERE, "Neznámá hodnota kuřáckosti: {0} u podniku: {1}", new Integer[] {k, podnik.getId()});
1.51 + return null;
1.52 + }
1.53 + }
1.54 }