Example usage for com.liferay.portal.kernel.json JSONObject putException

List of usage examples for com.liferay.portal.kernel.json JSONObject putException

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.json JSONObject putException.

Prototype

public JSONObject putException(Exception exception);

Source Link

Usage

From source file:com.liferay.bbb.meetings.portlet.MeetingsPortlet.java

License:Open Source License

public void joinBBBMeeting(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    long bbbMeetingId = ParamUtil.getLong(actionRequest, "bbbMeetingId");

    if (bbbMeetingId > 0) {
        ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

        User user = themeDisplay.getUser();

        BBBParticipant bbbParticipant = BBBParticipantLocalServiceUtil.fetchBBBParticipant(bbbMeetingId,
                user.getEmailAddress());

        ServiceContext serviceContext = ServiceContextFactory.getInstance(BBBMeeting.class.getName(),
                actionRequest);/*from  www .  java2 s  .c  o m*/

        if (bbbParticipant == null) {
            bbbParticipant = BBBParticipantLocalServiceUtil.addBBBParticipant(user.getUserId(),
                    themeDisplay.getScopeGroupId(), bbbMeetingId, user.getFirstName(), user.getEmailAddress(),
                    BBBParticipantConstants.TYPE_MODERATOR, BBBParticipantConstants.STATUS_INVITED,
                    serviceContext);
        }

        actionResponse.sendRedirect(BBBUtil.getInvitationURL(bbbParticipant, serviceContext.getRequest()));
    } else {
        long bbbParticipantId = ParamUtil.getLong(actionRequest, "bbbParticipantId");
        String hash = ParamUtil.getString(actionRequest, "hash");
        String name = ParamUtil.getString(actionRequest, "name");
        boolean recordMeeting = ParamUtil.getBoolean(actionRequest, "recordMeeting");

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        BBBParticipant bbbParticipant = BBBParticipantLocalServiceUtil.getBBBParticipant(bbbParticipantId);

        if (!hash.equals(BBBUtil.getHash(bbbParticipant))) {
            jsonObject.put("success", Boolean.FALSE);

            writeJSON(actionRequest, actionResponse, jsonObject);

            return;
        }

        BBBMeeting bbbMeeting = BBBMeetingLocalServiceUtil.getBBBMeeting(bbbParticipant.getBbbMeetingId());

        try {
            if ((bbbMeeting.getBbbServerId() == BBBMeetingConstants.BBB_SERVER_ID_DEFAULT)
                    && (bbbParticipant.getType() != BBBParticipantConstants.TYPE_MODERATOR)) {

                jsonObject.put("retry", Boolean.TRUE);
            } else {
                if ((bbbParticipant.getType() == BBBParticipantConstants.TYPE_MODERATOR)
                        && !BBBAPIUtil.isMeetingRunning(bbbParticipant.getBbbMeetingId())) {

                    BBBAPIUtil.startMeeting(bbbParticipant.getBbbMeetingId(), recordMeeting);
                }

                String joinURL = BBBAPIUtil.getJoinURL(bbbParticipant, name);

                jsonObject.put("joinURL", joinURL);
                jsonObject.put("success", Boolean.TRUE);
            }
        } catch (Exception e) {
            jsonObject.putException(e);
        }

        writeJSON(actionRequest, actionResponse, jsonObject);
    }
}

From source file:com.liferay.comment.taglib.internal.struts.EditDiscussionStrutsAction.java

License:Open Source License

@Override
public String execute(HttpServletRequest request, HttpServletResponse response) throws Exception {

    AuthTokenUtil.checkCSRFToken(request, EditDiscussionStrutsAction.class.getName());

    String namespace = ParamUtil.getString(request, "namespace");

    HttpServletRequest namespacedRequest = new NamespaceServletRequest(request, StringPool.BLANK, namespace);

    String cmd = ParamUtil.getString(namespacedRequest, Constants.CMD);

    try {/*from   w  w w .  jav  a 2  s. c  om*/
        String redirect = _portal.escapeRedirect(ParamUtil.getString(request, "redirect"));

        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {
            long commentId = updateComment(namespacedRequest);

            boolean ajax = ParamUtil.getBoolean(request, "ajax", true);

            if (ajax) {
                String randomNamespace = ParamUtil.getString(namespacedRequest, "randomNamespace");

                JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

                jsonObject.put("commentId", commentId);
                jsonObject.put("randomNamespace", randomNamespace);

                writeJSON(namespacedRequest, response, jsonObject);

                return null;
            }
        } else if (cmd.equals(Constants.DELETE)) {
            deleteComment(namespacedRequest);
        } else if (cmd.equals(Constants.SUBSCRIBE_TO_COMMENTS)) {
            subscribeToComments(namespacedRequest, true);
        } else if (cmd.equals(Constants.UNSUBSCRIBE_FROM_COMMENTS)) {
            subscribeToComments(namespacedRequest, false);
        }

        if (Validator.isNotNull(redirect)) {
            response.sendRedirect(redirect);
        }
    } catch (DiscussionMaxCommentsException | MessageBodyException | NoSuchMessageException | PrincipalException
            | RequiredMessageException e) {

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        jsonObject.putException(e);

        writeJSON(namespacedRequest, response, jsonObject);
    }

    return null;
}

From source file:com.liferay.login.web.internal.portlet.action.CreateAnonymousAccountMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    PortletConfig portletConfig = (PortletConfig) actionRequest
            .getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG);

    String portletName = portletConfig.getPortletName();

    if (!portletName.equals(LoginPortletKeys.FAST_LOGIN)) {
        throw new PrincipalException("Unable to create anonymous account");
    }/*from  w ww .j a v  a2s.c  om*/

    if (actionRequest.getRemoteUser() != null) {
        actionResponse.sendRedirect(themeDisplay.getPathMain());

        return;
    }

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    String emailAddress = ParamUtil.getString(actionRequest, "emailAddress");

    PortletURL portletURL = PortletURLFactoryUtil.create(actionRequest, LoginPortletKeys.FAST_LOGIN,
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/login/login_redirect");
    portletURL.setParameter("emailAddress", emailAddress);
    portletURL.setParameter("anonymousUser", Boolean.TRUE.toString());
    portletURL.setWindowState(LiferayWindowState.POP_UP);

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    try {
        if (cmd.equals(Constants.ADD)) {
            addAnonymousUser(actionRequest, actionResponse);

            sendRedirect(actionRequest, actionResponse, portletURL.toString());
        } else if (cmd.equals(Constants.UPDATE)) {
            Company company = themeDisplay.getCompany();

            if (!company.isStrangers()) {
                throw new PrincipalException.MustBeEnabled(company.getCompanyId(),
                        PropsKeys.COMPANY_SECURITY_STRANGERS);
            }

            jsonObject = updateIncompleteUser(actionRequest, actionResponse);

            JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
        }
    } catch (Exception e) {
        if (cmd.equals(Constants.UPDATE)) {
            jsonObject.putException(e);

            JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
        } else if (e instanceof UserEmailAddressException.MustNotBeDuplicate) {

            User user = _userLocalService.getUserByEmailAddress(themeDisplay.getCompanyId(), emailAddress);

            if (user.getStatus() != WorkflowConstants.STATUS_INCOMPLETE) {
                SessionErrors.add(actionRequest, e.getClass());
            } else {
                sendRedirect(actionRequest, actionResponse, portletURL.toString());
            }
        } else if (e instanceof CaptchaConfigurationException || e instanceof CaptchaTextException
                || e instanceof CompanyMaxUsersException || e instanceof ContactNameException
                || e instanceof EmailAddressException || e instanceof GroupFriendlyURLException
                || e instanceof UserEmailAddressException) {

            SessionErrors.add(actionRequest, e.getClass(), e);
        } else {
            _log.error("Unable to create anonymous account", e);

            _portal.sendError(e, actionRequest, actionResponse);
        }
    }
}

From source file:com.liferay.portlet.assetcategoryadmin.action.EditCategoryAction.java

License:Open Source License

@Override
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    try {//from  w  w w .j  a  v  a  2 s  .c  o m
        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {
            jsonObject = updateCategory(actionRequest);
        } else if (cmd.equals(Constants.MOVE)) {
            jsonObject = moveCategory(actionRequest);
        }
    } catch (Exception e) {
        jsonObject.putException(e);
    }

    writeJSON(actionRequest, actionResponse, jsonObject);
}

From source file:com.liferay.portlet.assetcategoryadmin.action.EditVocabularyAction.java

License:Open Source License

@Override
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    try {/*from www . j  av  a2  s.  c  o  m*/
        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {
            jsonObject = updateVocabulary(actionRequest);
        }
    } catch (Exception e) {
        jsonObject.putException(e);
    }

    writeJSON(actionRequest, actionResponse, jsonObject);
}

From source file:com.liferay.portlet.assettagadmin.action.EditTagAction.java

License:Open Source License

@Override
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    try {//from ww  w . j  ava 2s  .  c  om
        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {
            jsonObject = updateTag(actionRequest);
        } else if (cmd.equals(Constants.MERGE)) {
            jsonObject = mergeTag(actionRequest);
        }
    } catch (Exception e) {
        jsonObject.putException(e);
    }

    writeJSON(actionRequest, actionResponse, jsonObject);
}

From source file:com.liferay.portlet.login.action.CreateAnonymousAccountAction.java

License:Open Source License

@Override
public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    if (actionRequest.getRemoteUser() != null) {
        actionResponse.sendRedirect(themeDisplay.getPathMain());

        return;/*w  ww. j  a v  a  2s .c o m*/
    }

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    String emailAddress = ParamUtil.getString(actionRequest, "emailAddress");

    PortletURL portletURL = PortletURLFactoryUtil.create(actionRequest, PortletKeys.LOGIN,
            themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);

    portletURL.setWindowState(LiferayWindowState.POP_UP);

    portletURL.setParameter("struts_action", "/login/login_redirect");
    portletURL.setParameter("emailAddress", emailAddress);
    portletURL.setParameter("anonymousUser", Boolean.TRUE.toString());

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    try {
        if (cmd.equals(Constants.ADD)) {
            addAnonymousUser(actionRequest, actionResponse);

            sendRedirect(actionRequest, actionResponse, portletURL.toString());
        } else if (cmd.equals(Constants.UPDATE)) {
            jsonObject = updateIncompleteUser(actionRequest, actionResponse);

            writeJSON(actionRequest, actionResponse, jsonObject);
        }
    } catch (Exception e) {
        if (cmd.equals(Constants.UPDATE)) {
            jsonObject.putException(e);

            writeJSON(actionRequest, actionResponse, jsonObject);
        } else if (e instanceof DuplicateUserEmailAddressException) {
            User user = UserLocalServiceUtil.getUserByEmailAddress(themeDisplay.getCompanyId(), emailAddress);

            if (user.getStatus() != WorkflowConstants.STATUS_INCOMPLETE) {
                SessionErrors.add(actionRequest, e.getClass().getName());
            } else {
                sendRedirect(actionRequest, actionResponse, portletURL.toString());
            }
        } else if (e instanceof CaptchaTextException || e instanceof CompanyMaxUsersException
                || e instanceof ContactFirstNameException || e instanceof ContactFullNameException
                || e instanceof ContactLastNameException || e instanceof EmailAddressException
                || e instanceof GroupFriendlyURLException || e instanceof ReservedUserEmailAddressException
                || e instanceof UserEmailAddressException) {

            SessionErrors.add(actionRequest, e.getClass().getName(), e);
        } else {
            _log.error("Unable to create anonymous account", e);

            PortalUtil.sendError(e, actionRequest, actionResponse);
        }
    }
}

From source file:com.liferay.portlet.messageboards.action.EditDiscussionAction.java

License:Open Source License

@Override
public void processAction(ActionMapping actionMapping, ActionForm actionForm, PortletConfig portletConfig,
        ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    try {//  ww w.  j  a  v  a2  s. c om
        String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect"));

        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {
            MBMessage message = updateMessage(actionRequest);

            boolean ajax = ParamUtil.getBoolean(actionRequest, "ajax");

            if (ajax) {
                String randomNamespace = ParamUtil.getString(actionRequest, "randomNamespace");

                JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

                jsonObject.put("messageId", message.getMessageId());
                jsonObject.put("randomNamespace", randomNamespace);

                writeJSON(actionRequest, actionResponse, jsonObject);

                return;
            }
        } else if (cmd.equals(Constants.DELETE)) {
            deleteMessage(actionRequest);
        } else if (cmd.equals(Constants.SUBSCRIBE_TO_COMMENTS)) {
            subscribeToComments(actionRequest, true);
        } else if (cmd.equals(Constants.UNSUBSCRIBE_FROM_COMMENTS)) {
            subscribeToComments(actionRequest, false);
        }

        sendRedirect(actionRequest, actionResponse, redirect);
    } catch (Exception e) {
        if (e instanceof MessageBodyException || e instanceof NoSuchMessageException
                || e instanceof PrincipalException || e instanceof RequiredMessageException) {

            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

            jsonObject.putException(e);

            writeJSON(actionRequest, actionResponse, jsonObject);
        } else {
            throw e;
        }
    }
}

From source file:com.liferay.timemanagement.timetracking.portlet.TimeTrackingPortlet.java

License:Open Source License

@Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
        throws IOException, PortletException {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

    try {//from   w  w  w .java  2  s. c o  m
        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {
            updateActivity(actionRequest, actionResponse, jsonObject);
        } else if (cmd.equals("start_activity")) {
            startActivity(actionRequest, actionResponse, jsonObject);
        }
    } catch (Exception e) {
        jsonObject.putException(e);
    }

    writeJSON(actionRequest, actionResponse, jsonObject);
}

From source file:com.liferay.timemanagement.timetracking.portlet.TimeTrackingPortlet.java

License:Open Source License

@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws IOException, PortletException {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    try {// w  w  w .j a v a2  s.c o  m
        String resourceID = resourceRequest.getResourceID();

        if (resourceID.equals("getActivities")) {
            getActivities(resourceRequest, resourceResponse, jsonObject);
        } else if (resourceID.equals("getTodayActivitySessions")) {
            getTodayActivitySessions(resourceRequest, resourceResponse, jsonObject);
        }
    } catch (Exception e) {
        jsonObject.putException(e);
    }

    writeJSON(resourceRequest, resourceResponse, jsonObject);
}