private void checkAllSelectedGefaehrdungen() {
    List<Gefaehrdung> toCheck = new ArrayList<Gefaehrdung>();
    for (GefaehrdungsUmsetzung associatedGefaehrdung : wizard.getAssociatedGefaehrdungen()) {
      for (Gefaehrdung gefaehrdung : wizard.getAllGefaehrdungen()) {
        if (gefaehrdung.getId().equals(associatedGefaehrdung.getId())) {
          toCheck.add(gefaehrdung);
        }
      }
    }

    Gefaehrdung[] checkarray = toCheck.toArray(new Gefaehrdung[toCheck.size()]);
    viewer.setCheckedElements(checkarray);
  }
  /** Marks all checkboxes of Gefaehrdungen associated to the selected Baustein. */
  private void assignBausteinGefaehrdungen() {
    try {
      LoadAssociatedGefaehrdungen command = new LoadAssociatedGefaehrdungen(wizard.getCnaElement());
      command = ServiceFactory.lookupCommandService().executeCommand(command);
      List<GefaehrdungsUmsetzung> list = command.getAssociatedGefaehrdungen();

      for (GefaehrdungsUmsetzung selectedGefaehrdung : list) {
        for (Gefaehrdung gefaehrdung : wizard.getAllGefaehrdungen()) {
          if (gefaehrdung.getId().equals(selectedGefaehrdung.getId())) {
            associateGefaehrdung(gefaehrdung, true);
          }
        }
      }
    } catch (CommandException e) {
      ExceptionUtil.log(e, ""); // $NON-NLS-1$
    }
  }
Ejemplo n.º 3
0
  /**
   * @param dao
   * @param finishedRiskLists
   */
  public static void hydrateElement(
      IBaseDao<FinishedRiskAnalysisLists, Serializable> dao,
      FinishedRiskAnalysisLists finishedRiskLists) {
    if (finishedRiskLists != null) {
      List<GefaehrdungsUmsetzung> list = finishedRiskLists.getAllGefaehrdungsUmsetzungen();
      for (GefaehrdungsUmsetzung gefaehrdungsUmsetzung : list) {
        hydrateEntity(dao, gefaehrdungsUmsetzung.getEntity());
      }

      List<GefaehrdungsUmsetzung> list2 = finishedRiskLists.getAssociatedGefaehrdungen();
      dao.initialize(list2);
      for (GefaehrdungsUmsetzung gefaehrdungsUmsetzung : list2) {
        hydrateEntity(dao, gefaehrdungsUmsetzung.getEntity());
      }

      List<GefaehrdungsUmsetzung> list3 = finishedRiskLists.getNotOKGefaehrdungsUmsetzungen();
      dao.initialize(list3);
      for (GefaehrdungsUmsetzung gefaehrdungsUmsetzung : list3) {
        hydrateEntity(dao, gefaehrdungsUmsetzung.getEntity());
        RetrieveInfo ri = new RetrieveInfo();
        ri.setChildren(true);
        hydrateElement(dao, gefaehrdungsUmsetzung, ri);

        Set<CnATreeElement> children = gefaehrdungsUmsetzung.getChildren();
        for (CnATreeElement child : children) {
          if (child instanceof MassnahmenUmsetzung) {
            MassnahmenUmsetzung mn = (MassnahmenUmsetzung) child;
            hydrateElement(dao, mn, null);
          }
        }
      }
    }
  }
  /*
   * (non-Javadoc)
   *
   * @see sernet.gs.ui.rcp.main.service.commands.ICommand#execute()
   */
  @Override
  public void execute() {
    FinishedRiskAnalysis riskAnalysis =
        getDaoFactory().getDAO(FinishedRiskAnalysis.class).findById(riskAnalysisDbId);
    finishedRiskLists = getDaoFactory().getDAO(FinishedRiskAnalysisLists.class).findById(listDbId);

    gefaehrdungsUmsetzung = GefaehrdungsUmsetzungFactory.build(null, currentGefaehrdung, language);
    getDaoFactory().getDAO(GefaehrdungsUmsetzung.class).saveOrUpdate(gefaehrdungsUmsetzung);

    if (authService.isPermissionHandlingNeeded()) {
      gefaehrdungsUmsetzung.setPermissions(
          Permission.clonePermissionSet(gefaehrdungsUmsetzung, riskAnalysis.getPermissions()));
    }

    finishedRiskLists.getAssociatedGefaehrdungen().add(gefaehrdungsUmsetzung);
  }