/** * A yet unknown Internet user registers as a new organization at the platform. * * @return the logical outcome. * @throws NonUniqueBusinessKeyException Thrown if the organizationId is not unique * @throws ValidationException Thrown if the validation in the service layer failed * @throws ObjectNotFoundException Thrown if the organization contains a supplierId which doesn't * exist in the database * @throws MailOperationException * @throws RegistrationException Thrown if no supplier is specified or in case the specified * organization is not a supplier. */ public String register() throws NonUniqueBusinessKeyException, ValidationException, ObjectNotFoundException, MailOperationException, RegistrationException { if (logger.isDebugLoggingEnabled()) {} String mId = getMarketplaceId(); String parameter = getRequest().getParameter(Constants.REQ_PARAM_SERVICE_KEY); String outcome = BaseBean.OUTCOME_SUCCESS; Long serviceKey = null; if (parameter != null && parameter.trim().length() > 0) { serviceKey = Long.valueOf(parameter); } // FIXME: Must be fixed in identity service. if (!isInternalMode()) { // A confirmation mail must be send, not a user created mail. // If no password is given it will be generated password = ""; } try { organization = getAccountingService() .registerCustomer( getOrganization(), user.getVOUserDetails(), password, serviceKey, mId, getSupplierId()); } catch (NonUniqueBusinessKeyException ex) { if (isInternalMode()) { throw ex; } ex.setMessageKey(BaseBean.ERROR_USER_ALREADY_EXIST); ExceptionHandler.execute(ex, true); return BaseBean.OUTCOME_ERROR; } if (logger.isDebugLoggingEnabled()) {} return outcome; }
private void handleServletException( HttpServletRequest httpRequest, HttpServletResponse httpResponse, ServletException e) throws IOException, ServletException { EJBException ejbEx = ExceptionHandler.getEJBException(e); if (ejbEx != null && ejbEx.getCause() instanceof Exception && ejbEx.getCausedByException() instanceof AccessException) { String forwardErrorPage; if (BesServletRequestReader.isMarketplaceRequest(httpRequest)) { forwardErrorPage = Marketplace.MARKETPLACE_ROOT + Constants.INSUFFICIENT_AUTHORITIES_URI; } else { forwardErrorPage = Constants.INSUFFICIENT_AUTHORITIES_URI; } JSFUtils.sendRedirect(httpResponse, httpRequest.getContextPath() + forwardErrorPage); } else { // make sure we do not catch exceptions cause by // ViewExpiredException here, they'll be handled directly in the // doFilter() throw e; } }