Beispiel #1
0
  @Log
  private Person createPerson(PersonDTO personDTO)
      throws DuplicateException, NullArgumentException {
    Person user = null;
    if (personDTO != null) {
      if (personDTO.getEmail() != null && personDTO.getPassword() != null) {
        try {
          user =
              em.createNamedQuery("Person.findByEmail", Person.class)
                  .setParameter("email", personDTO.getEmail())
                  .getSingleResult();
        } catch (NoResultException e) {
        }

        if (user == null) {
          Person persontemp = new Person(personDTO.getEmail());
          persontemp.setName(personDTO.getFirstname());
          persontemp.setSurname(personDTO.getSurname());
          persontemp.setSsn(personDTO.getSsn());
          persontemp.setPassword(getEncryptedPassword(personDTO.getPassword()));
          em.persist(persontemp);
          return persontemp;
        } else {
          throw new DuplicateException("Person already exists");
        }
      } else {
        throw new NullArgumentException("Null argument for email or password");
      }
    }
    return user;
  }