@Override public void addRollenTypToEinheitArt(RollenTyp rollenTyp, EinheitArt einheitArt) throws RollenTypException { // check rolenTyp if (rollenTyp == null) { throw new RollenTypException("rollenTyp == null"); } JpaRollenTyp jpaRollenTyp = jpaRollenTyp4oid(rollenTyp.getOid()); if (jpaRollenTyp == null) { throw new RollenTypException("unknown rollenTyp: " + rollenTyp.getOid()); } // check einheitArt if (einheitArt == null) { throw new RollenTypException("einheitArt == null"); } // check duplicate JpaRollenTypZuordnung jpaRollenTypZuordnung = jpaRollenTypZuordnung4RollenTypAndEinheitArt(rollenTyp.getOid(), einheitArt); // no duplicate -> insert if (jpaRollenTypZuordnung == null) { jpaRollenTypZuordnung = new JpaRollenTypZuordnung(); jpaRollenTypZuordnung.setOid(UUID.randomUUID().toString()); jpaRollenTypZuordnung.setRollenTypOid(rollenTyp.getOid()); jpaRollenTypZuordnung.setEinheitArt(einheitArt); em.persist(jpaRollenTypZuordnung); } }
@Override public void removeRollenTypFromEinheitArt(RollenTyp rollenTyp, EinheitArt einheitArt) throws RollenTypException { // check rolenTyp if (rollenTyp == null) { throw new RollenTypException("rollenTyp == null"); } JpaRollenTyp jpaRollenTyp = jpaRollenTyp4oid(rollenTyp.getOid()); if (jpaRollenTyp == null) { throw new RollenTypException("unknown rollenTyp: " + rollenTyp.getOid()); } // check einheitArt if (einheitArt == null) { throw new RollenTypException("einheitArt == null"); } // check existence JpaRollenTypZuordnung jpaRollenTypZuordnung = jpaRollenTypZuordnung4RollenTypAndEinheitArt(rollenTyp.getOid(), einheitArt); if (jpaRollenTypZuordnung == null) { throw new RollenTypException( "RollenTypZuordnung does not exist: " + rollenTyp.getOid() + ", " + einheitArt); } // remove from DB em.remove(jpaRollenTypZuordnung); }
@Override public void rollenTypLoeschen(RollenTyp rollenTyp) throws RollenTypException { // check params if (rollenTyp == null) { throw new RollenTypException("rollenTyp == null"); } // lookup in DB JpaRollenTyp jpaRollenTyp = jpaRollenTyp4oid(rollenTyp.getOid()); // delete from DB em.remove(jpaRollenTyp); // notify listener rollenTypListenerApi.rollenTypGeloescht(rollenTyp); }