Package ch.bfh.egov.internetapps.common

Examples of ch.bfh.egov.internetapps.common.AutoGrowingList


   * @param index                der Index ist sozusagen die Zeilennummer des Formulars
   * @return                     eine einzelne Zeile des Fragebogens
   */
  public NaOpNuLine getNk(int index) {
    if (naOpNuLines == null) {
      naOpNuLines = new AutoGrowingList(NaOpNuLine.class);
    }
    logger.debug(index);
    return (NaOpNuLine) naOpNuLines.get(index);
  }
View Full Code Here


    if (kriterien.size() == 0) {
      return false;
    }
   
    // Formulardaten wieder abf�llen (bei gescheiterter Validierung)
    AutoGrowingList list = form.getNutzenkriteriumLine();
    if (list != null) {
     
      // Formulardaten zum Abgleich in eine HashMap stellen
      Iterator it = list.iterator();
      HashMap<Integer, String> formData = new HashMap<Integer, String>();
      while (it.hasNext()) {
        NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
        formData.put(nl.getNutzenkriteriumId(), nl.getFrage());
      }
View Full Code Here

    n.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
    n.setMandantId(mandantId);
    List<Nutzenkriterium> kriterien = dao.getAssignments(n);
   
    // Formulardaten wieder abf�llen (bei gescheiterter Validierung)
    AutoGrowingList list = form.getNutzenkriteriumLine();
    if (list != null) {
     
      // Formulardaten zum Abgleich in eine HashMap stellen
      Iterator it = list.iterator();
      HashMap<Integer, Double[]> formData = new HashMap<Integer, Double[]>();
      while (it.hasNext()) {
        NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
        Double kategorieGewichtung = 0.0;
        Double gewichtung = 0.0;
View Full Code Here

   */
  public boolean saveFragen(
      HttpServletRequest request,
      FragenForm form,
      ActionMessages errors) {
    AutoGrowingList list = form.getNutzenkriteriumLine();
    if (list == null) {
      return false;
    }
   
    // Fragen �berpr�fen
    Iterator it = list.iterator();
    while (it.hasNext()) {
      NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
      String frage = nl.getFrage();
      if (frage == null || frage.length() == 0) {
        errors.add("nutzenkriterium_" + nl.getNutzenkriteriumId(),
            new ActionMessage("errors.required", "Frage"));
        return false;
      }
    }
   
    // Ben�tigte ids holen
    HttpSession session = request.getSession();
    Integer customizingId =
      (Integer) session.getAttribute(Constants.CUSTOMIZING_ID);
    Integer naOpNuId = cService.getNaOpNuId(request, customizingId);
   
    // Fragen speichern
    it = list.iterator();
    while (it.hasNext()) {
      NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
      Nutzenkriterium n = new Nutzenkriterium();
      n.setNutzenkriteriumId(nl.getNutzenkriteriumId());
      n.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
View Full Code Here

      HttpServletRequest request,
      FragenForm form,
      ActionMessages errors) {
   
    // Formulardaten holen
    AutoGrowingList list = form.getNutzenkriteriumLine();
    if (list == null) {
      return false;
    }
   
    // Gewichtungen �berpr�fen
    Double gewichtung = 0.0;
    Iterator it = list.iterator()
    while (it.hasNext()) {
      NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
      Integer nutzenkriteriumId = nl.getNutzenkriteriumId();
      logger.debug("nutzenkrtieriumId=" + nutzenkriteriumId);
      String g = nl.getGewichtung();
      logger.debug("Gewichtung: " + g);
      try {
        gewichtung += new Double(g);
      } catch (Exception e) {}
    }
   
    logger.debug("Total gewichtungen: " + gewichtung);
    if (gewichtung < 99.999 || gewichtung > 100.0001) {
      errors.add(ActionMessages.GLOBAL_MESSAGE,
          new ActionMessage("errors.gewichtung.failure"));
      return false;
    }
   
    /*
    // Gewichtungen �berpr�fen
    Iterator it = list.iterator();
    ArrayList<Double> gewichtungsListe = new ArrayList<Double>();
    HashMap<Integer, ArrayList<Double>> gewichtungen = new HashMap<Integer, ArrayList<Double>>();
    Double kategorieGewichtung = 0.0;
    boolean isFirst = true;
    Integer tmpKategorieId = null;
    while (it.hasNext()) {
      NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
      Integer kategorieId = nl.getKategorieId();
      Integer nutzenkriteriumId = nl.getNutzenkriteriumId();
      logger.debug("kategorieId=" + kategorieId);
      logger.debug("nutzenkrtieriumId=" + nutzenkriteriumId);
     
      // Gewichtung (muss pro Kategorie 100% ergeben)
      String g = nl.getGewichtung();
      logger.debug("Gewichtung: " + g);
     
     
      // Gewichtung f�r die selbe Kategorie in eine Liste stellen
      if (isFirst || kategorieId == null) {
        isFirst = false;
        tmpKategorieId = kategorieId;
        try {
          gewichtungsListe.add(new Double(g));
        } catch (Exception e) {}
      }
     
      // N�chste Kategorie
      else {
        gewichtungen.put(tmpKategorieId, gewichtungsListe);
        gewichtungsListe = new ArrayList<Double>();
        tmpKategorieId = kategorieId;
        try {
          gewichtungsListe.add(new Double(g));
        } catch (Exception e) {}
      }
     
      // kategorieGewichtung
      String kg = nl.getKategorieGewichtung();
      logger.debug("Gewichtung Kategorie: " + kg);
      try {
        kategorieGewichtung += new Double(kg);
      } catch (Exception e) {}
    }
   
    it = gewichtungen.keySet().iterator();
    while (it.hasNext()) {
      Integer key = (Integer) it.next();
      gewichtungsListe = gewichtungen.get(key);
      Double gewichtung = 0.0;
      for (Double d : gewichtungsListe) {
        gewichtung += d;
      }
     
      logger.debug("Total gewichtungen: " + gewichtung);
      if (gewichtung < 99.999 || gewichtung > 100) {
        errors.add(ActionMessages.GLOBAL_MESSAGE,
            new ActionMessage("errors.gewichtung.failure"));
        return false;
      }
    }
    logger.debug("Total gewichtungen Kategorie: " + kategorieGewichtung);
    if (kategorieGewichtung < 99.999 || kategorieGewichtung > 100) {
      errors.add(ActionMessages.GLOBAL_MESSAGE,
          new ActionMessage("errors.gewichtung.failure"));
      return false;
    }*/
   
    // Ben�tigte ids holen
    HttpSession session = request.getSession();
    Integer customizingId =
      (Integer) session.getAttribute(Constants.CUSTOMIZING_ID);
    Integer naOpNuId = cService.getNaOpNuId(request, customizingId);
   
    // Allf�llige indirekte Gewichtungen l�schen
    Auswahlfeld a = new Auswahlfeld();
    a.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
    aService.deleteGewichtungen(a);
   
    // Gewichtung speichern
    it = list.iterator();
    while (it.hasNext()) {
      NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
      Nutzenkriterium n = new Nutzenkriterium();
      n.setNutzenkriteriumId(nl.getNutzenkriteriumId());
      n.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
View Full Code Here

   * @param index                der Index ist sozusagen die Zeilennummer des Formulars
   * @return                     ein einzelnes Nutzenkriterium
   */
  public NutzenkriteriumLine getNutzenkriterium(int index) {
    if (nutzenkriteriumLine == null) {
      nutzenkriteriumLine = new AutoGrowingList(NutzenkriteriumLine.class);
    }
    logger.debug(index);
    return (NutzenkriteriumLine) nutzenkriteriumLine.get(index);
  }
View Full Code Here

    Integer stufen = form.getStufen();
    logger.debug("Anzahl stufen: " + stufen);
    Integer gewichtungsstufen = form.getGewichtungsstufen();
    logger.debug("Anzahl gewichtungsstufen: " + gewichtungsstufen);

    AutoGrowingList l = form.getNaOpNuLines();
    Iterator it = l.iterator();
    Double values = 0.0;
    boolean fragebogenGewichtung = false;
    while (it.hasNext()) {
      NaOpNuLine line = (NaOpNuLine) it.next();
      if (line != null) {
        Integer nId = line.getNutzenkriteriumId();
        logger.debug("nutzenkriteriumId=" + nId);

        // Level der Abstufung holen
        Integer levelAbstufung = line.getAbstufung();
        logger.debug("Level der Abstufung: " + levelAbstufung);
        Double valueAbstufung = Constants.NA_OP_NU_MATRIX[stufen - 2][levelAbstufung - 1];
        logger.debug("Constants.NA_OP_NU_MATRIX["
            + (stufen - 2) + "][" + (levelAbstufung - 1) + "] = "
            + valueAbstufung);

        // Level der Gewichtung holen
        Integer levelGewichtung = line.getGewichtung();
        logger.debug("Level der Gewichtung: " + levelGewichtung);

        // Bei Gewichtung �ber Fragebogen
        if (levelGewichtung != null) {
          fragebogenGewichtung = true;
          Double valueGewichtung = Constants.NA_OP_NU_MATRIX[stufen - 2][levelAbstufung - 1];
          logger.debug("Constants.NA_OP_NU_MATRIX["
              + (stufen - 2) + "][" + (levelAbstufung - 1) + "] = "
              + valueGewichtung);
          values += valueAbstufung * valueGewichtung / 3;
        }

        // Bei direkter Gewichtung
        else {
          logger.debug("Direkte Gewichtung");

          // Nutzenkriterium holen
          Nutzenkriterium n = new Nutzenkriterium();
          n.setNutzenkriteriumId(nId);
          n.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
          n.setMandantId(mandantId);
          n = nService.getAssignmentById(n);
          Double gewichtung = null;
          if (n == null) {
            logger.error("Nutzenkriterium null!");
            return;
          }
          else if ((gewichtung = n.getGewichtung()) == null) {
            logger.error("Direkte Gewichtung null!");
            return;
          }
          else {
            // direkte Gewichtung berechnen
            Double kategorieGewichtung = n.getKategorieGewichtung() / 100;
            logger.debug("kategorieGewichtung=" + kategorieGewichtung);
            logger.debug("gewichtung=" + gewichtung);
            Double value = valueAbstufung * (gewichtung * kategorieGewichtung / 100);
            values += value;
            logger.debug("Berechnung: " + valueAbstufung
                + " * " + "(" + gewichtung + " * " + kategorieGewichtung +
                " / " + 100 + ") = " + value);
          }
        }
      }
    }

    // Arithmetisches Mittel bei Gewichtung �ber Fragebogen
    if (fragebogenGewichtung)
      values = values / l.size();

    // Resultat speichern
    naOpNu.setResultat(values);
    dao.insertNaOpNuResultat(naOpNu);
  }
View Full Code Here

TOP

Related Classes of ch.bfh.egov.internetapps.common.AutoGrowingList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.