currentStep.setBearbeitungsbenutzer(ben);
}
this.currentStep.setBearbeitungsbeginn(null);
try {
Schritt temp = null;
for (Schritt s : this.currentStep.getProzess().getSchritteList()) {
if (s.getTitel().equals(this.myProblemStep)) {
temp = s;
}
}
if (temp != null) {
temp.setBearbeitungsstatusEnum(StepStatus.OPEN);
temp.setCorrectionStep();
temp.setBearbeitungsende(null);
Schritteigenschaft se = new Schritteigenschaft();
se.setTitel(Helper.getTranslation("Korrektur notwendig"));
se.setWert("[" + this.formatter.format(new Date()) + ", " + ben.getNachVorname() + "] " + this.problemMessage);
se.setType(PropertyType.messageError);
se.setCreationDate(myDate);
se.setSchritt(temp);
String message = Helper.getTranslation("KorrekturFuer") + " " + temp.getTitel() + ": " + this.problemMessage + " ("
+ ben.getNachVorname() + ")";
this.currentStep.getProzess()
.setWikifield(
WikiFieldHelper.getWikiMessage(this.currentStep.getProzess(), this.currentStep.getProzess().getWikifield(), "error",
message));
temp.getEigenschaften().add(se);
this.stepDAO.save(temp);
this.currentStep
.getProzess()
.getHistory()
.add(new HistoryEvent(myDate, temp.getReihenfolge().doubleValue(), temp.getTitel(), HistoryEventType.stepError, temp
.getProzess()));
/*
* alle Schritte zwischen dem aktuellen und dem Korrekturschritt wieder schliessen
*/
@SuppressWarnings("unchecked")
List<Schritt> alleSchritteDazwischen = Helper.getHibernateSession().createCriteria(Schritt.class)
.add(Restrictions.le("reihenfolge", this.currentStep.getReihenfolge()))
.add(Restrictions.gt("reihenfolge", temp.getReihenfolge())).addOrder(Order.asc("reihenfolge")).createCriteria("prozess")
.add(Restrictions.idEq(this.currentStep.getProzess().getId())).list();
for (Iterator<Schritt> iter = alleSchritteDazwischen.iterator(); iter.hasNext();) {
Schritt step = iter.next();
step.setBearbeitungsstatusEnum(StepStatus.LOCKED);
step.setCorrectionStep();
step.setBearbeitungsende(null);
Schritteigenschaft seg = new Schritteigenschaft();
seg.setTitel(Helper.getTranslation("Korrektur notwendig"));
seg.setWert(Helper.getTranslation("KorrekturFuer") + temp.getTitel() + ": " + this.problemMessage);
seg.setSchritt(step);
seg.setType(PropertyType.messageImportant);
seg.setCreationDate(new Date());
step.getEigenschaften().add(seg);
}
}
/*
* den Prozess aktualisieren, so dass der Sortierungshelper gespeichert wird
*/