@TransactionAttribute(REQUIRED) public String update() { auth.preserveLogin(); if (!geaendertArtikel || artikel == null) { return JSF_INDEX; } LOGGER.tracef("Aktualisierter artikel: %s", artikel); try { artikel = as.updateArtikel(artikel); } catch (BezeichnungExistsException | InvalidArtikelException | OptimisticLockException e) { final String outcome = updateErrorMsg(e, artikel.getClass()); return outcome; } // Push-Event fuer Webbrowser updateArtikelEvent.fire(String.valueOf(artikel.getAId())); // ValueChangeListener zuruecksetzen geaendertArtikel = false; // Aufbereitung fuer viewKunde.xhtml artikelId = artikel.getAId(); artikel = null; return JSF_LIST_ARTIKEL + JSF_REDIRECT_SUFFIX; }