public URI getUriArtikel(Artikel artikel, UriInfo uriInfo) {
   final UriBuilder ub =
       uriInfo
           .getBaseUriBuilder()
           .path(ArtikelResource.class)
           .path(ArtikelResource.class, "findArtikelById");
   final URI uri = ub.build(artikel.getId());
   return uri;
 }
  @TransactionAttribute(REQUIRED)
  public String update() {

    if (!geaendertArtikel || alterArtikel == null) {
      return JSF_INDEX;
    }

    alterArtikel = as.updateArtikel(alterArtikel, locale);

    // Push-Event fuer Webbrowser
    updateArtikelEvent.fire(String.valueOf(alterArtikel.getId()));

    // ValueChangeListener zuruecksetzen
    geaendertArtikel = false;

    // Aufbereitung fuer viewKunde.xhtml
    id = alterArtikel.getId();

    return JSF_UPDATE_ARTIKEL + JSF_REDIRECT_SUFFIX;
  }
 @Override
 public String toString() {
   final Long artikelId = artikel == null ? null : artikel.getId();
   return "Bestellposition [id="
       + id
       + ", artikel="
       + artikelId
       + ", artikelUri="
       + artikelUri
       + ", anzahl="
       + anzahl
       + "]";
 }
  @TransactionAttribute(REQUIRED)
  public String createArtikel() {

    neuerArtikel = (Artikel) as.createArtikel(neuerArtikel, locale);

    // Push-Event fuer Webbrowser
    // neuerArtikelEvent.fire(String.valueOf(neuerArtikel.getId()));

    // Aufbereitung fuer viewKunde.xhtml
    id = neuerArtikel.getId();
    alterArtikel = neuerArtikel;
    neuerArtikel = null; // zuruecksetzen

    return JSF_LIST_ARTIKEL + JSF_REDIRECT_SUFFIX;
  }
Beispiel #5
0
  public <T extends Artikel> T updateArtikel(T artikel) {
    if (artikel == null) {
      return null;
    }

    // kunde vom EntityManager trennen, weil anschliessend z.B. nach Id und Email gesucht wird
    em.detach(artikel);

    // Gibt es ein anderes Objekt mit gleicher Email-Adresse?
    final List<Artikel> tmp = findArtikelByBezeichnung(artikel.getBezeichnung());
    for (Artikel a : tmp) {
      em.detach(a);
      if (a.getId().longValue() != artikel.getId().longValue())
        throw new BezeichnungExistsException(artikel.getBezeichnung());
    }

    artikel = em.merge(artikel); // OptimisticLockException

    return artikel;
  }