Esempio n. 1
0
  public UserVO createUser(UserVO vo) throws MSMApplicationException {
    UserVO newUser = null;
    NdgUser userPending = findNdgUserByName(vo.getUsername());
    UserVO userByEmail = getUserByEmail(vo.getEmail());

    if (userPending != null) {
      throw new UserAlreadyExistException();
    } else if (userByEmail != null) {
      throw new EmailAlreadyExistException();
    } else {
      userPending = new NdgUser();
      try {
        userPending.setPassword(MD5.createMD5(vo.getPassword()));
      } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
      }
      userPending.setUsername(vo.getUsername());
      userPending.setFirstName(vo.getFirstName());
      userPending.setLastName(vo.getLastName());
      userPending.setEmail(vo.getEmail());

      userPending.setPhoneNumber(vo.getPhoneNumber());
      userPending.setAreaCode(vo.getAreaCode());
      userPending.setCountryCode(vo.getCountryCode());

      NdgRole role = findNdgRoleByName(vo.getRole().getName());
      if (role != null) {
        userPending.setRole(role);
      }
      NdgUser userAdmin = findNdgUserByName(vo.getUserAdmin());
      if (userPending != null) {
        userPending.setUserAdmin(userAdmin.getUsername());
        userPending.setCompany(userAdmin.getCompany());
        userPending.setEmailPreferences(userAdmin.getEmailPreferences());
        userPending.setWhoUseIt(userAdmin.getWhoUseIt());
      }

      userPending.setValidationKey(generateValidationKey(vo.getEmail()));
      userPending.setHasFullPermissions(vo.getHasFullPermissions());
      userPending.setUserValidated('Y');
      userPending.setHowDoYouPlanUseNdg("");
      userPending.setFirstTimeUse('Y');

      manager.persist(userPending);

      newUser = userPojoToVo(userPending);
    }

    return newUser;
  }