Example usage for com.liferay.portal.kernel.theme ThemeDisplay getLocale

List of usage examples for com.liferay.portal.kernel.theme ThemeDisplay getLocale

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.theme ThemeDisplay getLocale.

Prototype

public Locale getLocale() 

Source Link

Document

Returns the locale used for displaying content.

Usage

From source file:com.liferay.wiki.editor.configuration.internal.WikiAttachmentEditorConfigContributor.java

License:Open Source License

protected ItemSelectorCriterion getUploadItemSelectorCriterion(long wikiPageResourcePrimKey,
        ThemeDisplay themeDisplay, RequestBackedPortletURLFactory requestBackedPortletURLFactory) {

    PortletURL uploadURL = requestBackedPortletURLFactory.createActionURL(WikiPortletKeys.WIKI);

    uploadURL.setParameter(ActionRequest.ACTION_NAME, "/wiki/upload_page_attachment");
    uploadURL.setParameter("resourcePrimKey", String.valueOf(wikiPageResourcePrimKey));

    ItemSelectorCriterion uploadItemSelectorCriterion = new UploadItemSelectorCriterion(uploadURL.toString(),
            LanguageUtil.get(themeDisplay.getLocale(), "page-attachments"));

    List<ItemSelectorReturnType> uploadDesiredItemSelectorReturnTypes = new ArrayList<>();

    uploadDesiredItemSelectorReturnTypes.add(new FileEntryItemSelectorReturnType());

    uploadItemSelectorCriterion.setDesiredItemSelectorReturnTypes(uploadDesiredItemSelectorReturnTypes);

    return uploadItemSelectorCriterion;
}

From source file:com.liferay.wiki.web.internal.display.context.DefaultWikiListPagesDisplayContext.java

License:Open Source License

@Override
public void populateResultsAndTotal(SearchContainer searchContainer) throws PortalException {

    WikiPage page = (WikiPage) _request.getAttribute(WikiWebKeys.WIKI_PAGE);

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

    String navigation = ParamUtil.getString(_request, "navigation", "all-pages");

    String keywords = ParamUtil.getString(_request, "keywords");

    int total = 0;
    List<WikiPage> results = new ArrayList<>();

    if (Validator.isNotNull(keywords)) {
        Indexer<WikiPage> indexer = IndexerRegistryUtil.getIndexer(WikiPage.class);

        SearchContext searchContext = SearchContextFactory.getInstance(_request);

        searchContext.setAttribute("paginationType", "more");
        searchContext.setEnd(searchContainer.getEnd());
        searchContext.setIncludeAttachments(true);
        searchContext.setIncludeDiscussions(true);
        searchContext.setKeywords(keywords);
        searchContext.setNodeIds(new long[] { _wikiNode.getNodeId() });
        searchContext.setStart(searchContainer.getStart());

        Hits hits = indexer.search(searchContext);

        searchContainer.setTotal(hits.getLength());

        List<SearchResult> searchResults = SearchResultUtil.getSearchResults(hits, themeDisplay.getLocale());

        for (SearchResult searchResult : searchResults) {
            WikiPage wikiPage = WikiPageLocalServiceUtil.getPage(searchResult.getClassPK());

            results.add(wikiPage);//from  w w  w  .ja  v  a 2s .co m
        }
    } else if (navigation.equals("all-pages")) {
        total = WikiPageServiceUtil.getPagesCount(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), true,
                themeDisplay.getUserId(), true, WorkflowConstants.STATUS_APPROVED);

        searchContainer.setTotal(total);

        OrderByComparator<WikiPage> obc = WikiPortletUtil
                .getPageOrderByComparator(searchContainer.getOrderByCol(), searchContainer.getOrderByType());

        results = WikiPageServiceUtil.getPages(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), true,
                themeDisplay.getUserId(), true, WorkflowConstants.STATUS_APPROVED, searchContainer.getStart(),
                searchContainer.getEnd(), obc);
    } else if (navigation.equals("categorized-pages") || navigation.equals("tagged-pages")) {

        AssetEntryQuery assetEntryQuery = new AssetEntryQuery(WikiPage.class.getName(), searchContainer);

        assetEntryQuery.setEnablePermissions(true);

        total = AssetEntryServiceUtil.getEntriesCount(assetEntryQuery);

        searchContainer.setTotal(total);

        assetEntryQuery.setEnd(searchContainer.getEnd());
        assetEntryQuery.setStart(searchContainer.getStart());

        List<AssetEntry> assetEntries = AssetEntryServiceUtil.getEntries(assetEntryQuery);

        for (AssetEntry assetEntry : assetEntries) {
            WikiPageResource pageResource = WikiPageResourceLocalServiceUtil
                    .getPageResource(assetEntry.getClassPK());

            WikiPage assetPage = WikiPageLocalServiceUtil.getPage(pageResource.getNodeId(),
                    pageResource.getTitle());

            results.add(assetPage);
        }
    } else if (navigation.equals("draft-pages") || navigation.equals("pending-pages")) {

        long draftUserId = themeDisplay.getUserId();

        PermissionChecker permissionChecker = themeDisplay.getPermissionChecker();

        if (permissionChecker.isContentReviewer(themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId())) {

            draftUserId = 0;
        }

        int status = WorkflowConstants.STATUS_DRAFT;

        if (navigation.equals("pending-pages")) {
            status = WorkflowConstants.STATUS_PENDING;
        }

        total = WikiPageServiceUtil.getPagesCount(themeDisplay.getScopeGroupId(), draftUserId,
                _wikiNode.getNodeId(), status);

        searchContainer.setTotal(total);

        results = WikiPageServiceUtil.getPages(themeDisplay.getScopeGroupId(), draftUserId,
                _wikiNode.getNodeId(), status, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("frontpage")) {
        WikiWebComponentProvider wikiWebComponentProvider = WikiWebComponentProvider
                .getWikiWebComponentProvider();

        WikiGroupServiceConfiguration wikiGroupServiceConfiguration = wikiWebComponentProvider
                .getWikiGroupServiceConfiguration();

        WikiPage wikiPage = WikiPageServiceUtil.getPage(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(),
                wikiGroupServiceConfiguration.frontPageName());

        searchContainer.setTotal(1);

        results.add(wikiPage);
    } else if (navigation.equals("history")) {
        total = WikiPageLocalServiceUtil.getPagesCount(page.getNodeId(), page.getTitle());

        searchContainer.setTotal(total);

        results = WikiPageLocalServiceUtil.getPages(page.getNodeId(), page.getTitle(), QueryUtil.ALL_POS,
                QueryUtil.ALL_POS, new PageVersionComparator());
    } else if (navigation.equals("incoming-links")) {
        List<WikiPage> links = WikiPageLocalServiceUtil.getIncomingLinks(page.getNodeId(), page.getTitle());

        total = links.size();

        searchContainer.setTotal(total);

        results = ListUtil.subList(links, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("orphan-pages")) {
        List<WikiPage> orphans = WikiPageServiceUtil.getOrphans(themeDisplay.getScopeGroupId(),
                _wikiNode.getNodeId());

        total = orphans.size();

        searchContainer.setTotal(total);

        results = ListUtil.subList(orphans, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("outgoing-links")) {
        List<WikiPage> links = WikiPageLocalServiceUtil.getOutgoingLinks(page.getNodeId(), page.getTitle());

        total = links.size();

        searchContainer.setTotal(total);

        results = ListUtil.subList(links, searchContainer.getStart(), searchContainer.getEnd());
    } else if (navigation.equals("recent-changes")) {
        total = WikiPageServiceUtil.getRecentChangesCount(themeDisplay.getScopeGroupId(),
                _wikiNode.getNodeId());

        searchContainer.setTotal(total);

        results = WikiPageServiceUtil.getRecentChanges(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(),
                searchContainer.getStart(), searchContainer.getEnd());
    }

    searchContainer.setResults(results);
}

From source file:com.liferay.wiki.web.internal.portlet.action.EditPageAttachmentsMVCActionCommand.java

License:Open Source License

/**
 * TODO: Remove. This should extend from EditFileEntryAction once it is
 * modularized./*from   w  ww. j a v  a  2s.c o  m*/
 */
protected void handleUploadException(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse, String cmd, Exception e) throws Exception {

    if (e instanceof AssetCategoryException || e instanceof AssetTagException) {

        SessionErrors.add(actionRequest, e.getClass(), e);
    } else if (e instanceof AntivirusScannerException || e instanceof DuplicateFileEntryException
            || e instanceof DuplicateFolderNameException || e instanceof FileExtensionException
            || e instanceof FileMimeTypeException || e instanceof FileNameException
            || e instanceof FileSizeException || e instanceof LiferayFileItemException
            || e instanceof NoSuchFolderException || e instanceof SourceFileNameException
            || e instanceof StorageFieldRequiredException || e instanceof UploadRequestSizeException) {

        if (!cmd.equals(Constants.ADD_DYNAMIC) && !cmd.equals(Constants.ADD_MULTIPLE)
                && !cmd.equals(Constants.ADD_TEMP)) {

            if (e instanceof AntivirusScannerException) {
                SessionErrors.add(actionRequest, e.getClass(), e);
            } else {
                SessionErrors.add(actionRequest, e.getClass());
            }

            return;
        } else if (cmd.equals(Constants.ADD_TEMP)) {
            hideDefaultErrorMessage(actionRequest);
        }

        if (e instanceof AntivirusScannerException || e instanceof DuplicateFileEntryException
                || e instanceof FileExtensionException || e instanceof FileNameException
                || e instanceof FileSizeException || e instanceof UploadRequestSizeException) {

            HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse);

            response.setContentType(ContentTypes.TEXT_HTML);
            response.setStatus(HttpServletResponse.SC_OK);

            String errorMessage = StringPool.BLANK;
            int errorType = 0;

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

            if (e instanceof AntivirusScannerException) {
                AntivirusScannerException ase = (AntivirusScannerException) e;

                errorMessage = themeDisplay.translate(ase.getMessageKey());
                errorType = ServletResponseConstants.SC_FILE_ANTIVIRUS_EXCEPTION;
            }

            if (e instanceof DuplicateFileEntryException) {
                errorMessage = themeDisplay.translate("please-enter-a-unique-document-name");
                errorType = ServletResponseConstants.SC_DUPLICATE_FILE_EXCEPTION;
            } else if (e instanceof FileExtensionException) {
                errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-extension-x", StringUtil
                        .merge(getAllowedFileExtensions(portletConfig, actionRequest, actionResponse)));
                errorType = ServletResponseConstants.SC_FILE_EXTENSION_EXCEPTION;
            } else if (e instanceof FileNameException) {
                errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-file-name");
                errorType = ServletResponseConstants.SC_FILE_NAME_EXCEPTION;
            } else if (e instanceof FileSizeException) {
                long fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.DL_FILE_MAX_SIZE);

                if (fileMaxSize == 0) {
                    fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE);
                }

                errorMessage = themeDisplay.translate(
                        "please-enter-a-file-with-a-valid-file-size-no-larger" + "-than-x",
                        TextFormatter.formatStorageSize(fileMaxSize, themeDisplay.getLocale()));

                errorType = ServletResponseConstants.SC_FILE_SIZE_EXCEPTION;
            }

            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

            jsonObject.put("message", errorMessage);
            jsonObject.put("status", errorType);

            JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
        }

        if (e instanceof AntivirusScannerException) {
            SessionErrors.add(actionRequest, e.getClass(), e);
        } else {
            SessionErrors.add(actionRequest, e.getClass());
        }
    } else if (e instanceof DuplicateLockException || e instanceof InvalidFileVersionException
            || e instanceof NoSuchFileEntryException || e instanceof PrincipalException) {

        if (e instanceof DuplicateLockException) {
            DuplicateLockException dle = (DuplicateLockException) e;

            SessionErrors.add(actionRequest, dle.getClass(), dle.getLock());
        } else {
            SessionErrors.add(actionRequest, e.getClass());
        }

        actionResponse.setRenderParameter("mvcPath", "/html/porltet/document_library/error.jsp");
    } else {
        Throwable cause = e.getCause();

        if (cause instanceof DuplicateFileEntryException) {
            SessionErrors.add(actionRequest, DuplicateFileEntryException.class);
        } else {
            throw e;
        }
    }
}

From source file:com.liferay.wiki.web.internal.portlet.action.RSSAction.java

License:Open Source License

@Override
protected byte[] getRSS(HttpServletRequest request) throws Exception {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    long nodeId = ParamUtil.getLong(request, "nodeId");
    String title = ParamUtil.getString(request, "title");
    int max = ParamUtil.getInteger(request, "max", SearchContainer.DEFAULT_DELTA);
    String type = ParamUtil.getString(request, "type", RSSUtil.FORMAT_DEFAULT);
    double version = ParamUtil.getDouble(request, "version", RSSUtil.VERSION_DEFAULT);
    String displayStyle = ParamUtil.getString(request, "displayStyle", RSSUtil.DISPLAY_STYLE_DEFAULT);

    String layoutFullURL = PortalUtil.getLayoutFullURL(themeDisplay.getScopeGroupId(), WikiPortletKeys.WIKI);

    StringBundler sb = new StringBundler(4);

    sb.append(layoutFullURL);/*from   w ww.j a  v a 2 s  .co m*/
    sb.append(Portal.FRIENDLY_URL_SEPARATOR);
    sb.append("wiki/");
    sb.append(nodeId);

    String feedURL = sb.toString();

    String entryURL = feedURL + StringPool.SLASH + title;

    Locale locale = themeDisplay.getLocale();

    String rss = StringPool.BLANK;

    if (nodeId > 0) {
        String attachmentURLPrefix = WikiUtil.getAttachmentURLPrefix(themeDisplay.getPathMain(),
                themeDisplay.getPlid(), nodeId, title);

        if (Validator.isNotNull(title)) {
            rss = _wikiPageService.getPagesRSS(nodeId, title, max, type, version, displayStyle, feedURL,
                    entryURL, attachmentURLPrefix, locale);
        } else {
            rss = _wikiPageService.getNodePagesRSS(nodeId, max, type, version, displayStyle, feedURL, entryURL,
                    attachmentURLPrefix);
        }
    }

    return rss.getBytes(StringPool.UTF8);
}

From source file:com.slemarchand.quick.sign.up.web.portlet.QuickSignUpPortlet.java

License:Open Source License

protected User addUser(ActionRequest actionRequest, ActionResponse actionResponse, String password)
        throws SystemException, PortalException {

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

    Company company = themeDisplay.getCompany();

    String authType = company.getAuthType();

    boolean autoPassword = false;
    String password1 = null;/*from ww w.ja  v a 2  s  .  c  om*/
    String password2 = null;
    boolean autoScreenName = !authType.equals(CompanyConstants.AUTH_TYPE_SN);
    String screenName = ParamUtil.getString(actionRequest, "screenName");
    String emailAddress = ParamUtil.getString(actionRequest, "emailAddress");
    long facebookId = 0;
    String openId = StringPool.BLANK;
    String firstName = ParamUtil.getString(actionRequest, "firstName");
    String middleName = StringPool.BLANK;
    String lastName = ParamUtil.getString(actionRequest, "lastName");
    int prefixId = 0;
    int suffixId = 0;
    boolean male = ParamUtil.getBoolean(actionRequest, "male", true);
    int birthdayMonth = 1;
    int birthdayDay = 1;
    int birthdayYear = 1970;
    String jobTitle = StringPool.BLANK;
    long[] groupIds = null;
    long[] organizationIds = null;
    long[] roleIds = null;
    long[] userGroupIds = null;
    boolean sendEmail = true;

    ServiceContext serviceContext = ServiceContextFactory.getInstance(User.class.getName(), actionRequest);

    password1 = password;
    password2 = password;

    User user = UserServiceUtil.addUser(company.getCompanyId(), autoPassword, password1, password2,
            autoScreenName, screenName, emailAddress, facebookId, openId, themeDisplay.getLocale(), firstName,
            middleName, lastName, prefixId, suffixId, male, birthdayMonth, birthdayDay, birthdayYear, jobTitle,
            groupIds, organizationIds, roleIds, userGroupIds, sendEmail, serviceContext);

    long userId = user.getUserId();

    user = UserLocalServiceUtil.updatePasswordReset(userId, false);

    PasswordPolicy passwordPolicy = PasswordPolicyLocalServiceUtil.getPasswordPolicyByUserId(userId);
    passwordPolicy.setChangeRequired(false);
    PasswordPolicyLocalServiceUtil.updatePasswordPolicy(passwordPolicy);

    if (_USERS_REMINDER_QUERIES_ENABLED) {
        user = UserLocalServiceUtil.updateReminderQuery(userId, StringPool.DASH, UUID.randomUUID().toString());
    }

    user = UserLocalServiceUtil.updateAgreedToTermsOfUse(userId, true);

    return user;
}

From source file:org.lsug.quota.web.internal.portlet.action.documentlibrary.QuotaEditFileEntryMVCActionCommand.java

License:Open Source License

protected void handleUploadException(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse, String cmd, Exception e) throws Exception {

    Throwable errorThrowable = null;

    if (e instanceof QuotaExceededException) {
        errorThrowable = e;/*w w w .  ja  v  a2 s. co  m*/
    } else if (e.getCause() instanceof QuotaExceededException) {
        errorThrowable = e.getCause();
    }

    if (errorThrowable != null) {

        if (!cmd.equals(Constants.ADD_DYNAMIC)) {
            SessionErrors.add(actionRequest, errorThrowable.getClass());
            return;
        }

        HttpServletResponse response = _portal.getHttpServletResponse(actionResponse);

        response.setContentType(ContentTypes.TEXT_HTML);
        response.setStatus(HttpServletResponse.SC_OK);

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

        ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language",
                themeDisplay.getLocale(), getClass());

        String errorMessage = ResourceBundleUtil.getString(resourceBundle, "quota-exceeded-error");

        int errorType = PortletKeys.SC_QUOTA_EXCEEDED_ERROR_TYPE;

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        jsonObject.put("message", errorMessage);
        jsonObject.put("status", errorType);

        JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);

        SessionErrors.add(actionRequest, errorThrowable.getClass());

    } else {
        throw e;
    }
}

From source file:org.lsug.quota.web.internal.portlet.action.documentlibrary.QuotaUploadMultipleFileEntriesMVCActionCommand.java

License:Open Source License

protected String getAddMultipleFileEntriesErrorMessage(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse, Exception e) throws Exception {

    String errorMessage = null;//from ww w .  j  av a 2s  . c om

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

    if (e instanceof AntivirusScannerException) {
        AntivirusScannerException ase = (AntivirusScannerException) e;

        errorMessage = themeDisplay.translate(ase.getMessageKey());
    } else if (e instanceof AssetCategoryException) {
        AssetCategoryException ace = (AssetCategoryException) e;

        AssetVocabulary assetVocabulary = ace.getVocabulary();

        String vocabularyTitle = StringPool.BLANK;

        if (assetVocabulary != null) {
            vocabularyTitle = assetVocabulary.getTitle(themeDisplay.getLocale());
        }

        if (ace.getType() == AssetCategoryException.AT_LEAST_ONE_CATEGORY) {
            errorMessage = themeDisplay.translate("please-select-at-least-one-category-for-x", vocabularyTitle);
        } else if (ace.getType() == AssetCategoryException.TOO_MANY_CATEGORIES) {

            errorMessage = themeDisplay.translate("you-cannot-select-more-than-one-category-for-x",
                    vocabularyTitle);
        }
    } else if (e instanceof DuplicateFileEntryException) {
        errorMessage = themeDisplay.translate("the-folder-you-selected-already-has-an-entry-with-this-"
                + "name.-please-select-a-different-folder");
    } else if (e instanceof FileExtensionException) {
        errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-extension-x",
                StringUtil.merge(getAllowedFileExtensions(portletConfig, actionRequest, actionResponse)));
    } else if (e instanceof FileNameException) {
        errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-file-name");
    } else if (e instanceof FileSizeException) {
        long fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.DL_FILE_MAX_SIZE);

        if (fileMaxSize == 0) {
            fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE);
        }

        errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-file-size-no-larger-than-x",
                TextFormatter.formatStorageSize(fileMaxSize, themeDisplay.getLocale()));
    } else if (e instanceof InvalidFileEntryTypeException) {
        errorMessage = themeDisplay.translate("the-document-type-you-selected-is-not-valid-for-this-folder");
    } else if (e instanceof InvalidFileEntryTypeException) {
        errorMessage = themeDisplay.translate("the-document-type-you-selected-is-not-valid-for-this-folder");
    } else if (e instanceof QuotaExceededException) {
        ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language",
                themeDisplay.getLocale(), getClass());

        errorMessage = ResourceBundleUtil.getString(resourceBundle, "quota-exceeded-error");
    } else {
        errorMessage = themeDisplay.translate("an-unexpected-error-occurred-while-saving-your-document");
    }

    return errorMessage;
}

From source file:org.lsug.quota.web.internal.portlet.action.documentlibrary.QuotaUploadMultipleFileEntriesMVCActionCommand.java

License:Open Source License

protected void handleUploadException(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse, String cmd, Exception e) throws Exception {

    if (e instanceof QuotaExceededException) {

        if (cmd.equals(Constants.ADD_TEMP)) {
            hideDefaultErrorMessage(actionRequest);
        }//  ww w. jav a  2  s.  com

        HttpServletResponse response = _portal.getHttpServletResponse(actionResponse);

        response.setContentType(ContentTypes.TEXT_HTML);
        response.setStatus(HttpServletResponse.SC_OK);

        String errorMessage = StringPool.BLANK;
        int errorType = PortletKeys.SC_QUOTA_EXCEEDED_ERROR_TYPE;

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

        ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language",
                themeDisplay.getLocale(), getClass());

        errorMessage = ResourceBundleUtil.getString(resourceBundle, "quota-exceeded-error");

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        jsonObject.put("message", errorMessage);
        jsonObject.put("status", errorType);

        JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);

        SessionErrors.add(actionRequest, e.getClass());

    } else {
        throw e;
    }
}

From source file:org.lsug.quota.web.internal.portlet.SitesQuotaWebPortlet.java

License:Open Source License

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

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

    StringBundler sb = new StringBundler(5);

    String type = ParamUtil.getString(resourceRequest, "type", "sites");

    JFreeChart jFreeChart = null;/*w w  w .  jav  a2  s  .  c  o m*/

    DefaultPieDataset pieDataset = new DefaultPieDataset();

    try {
        long[] classNameIds = null;

        if ("sites".equals(type)) {
            classNameIds = new long[] { PortalUtil.getClassNameId(Group.class.getName()),
                    PortalUtil.getClassNameId(Organization.class.getName()) };
        } else {
            classNameIds = new long[] { PortalUtil.getClassNameId(User.class.getName()) };
        }

        // OrderByComparator

        String orderByCol = "quotaUsed";
        String orderByType = "desc";
        OrderByComparator<Quota> orderByComparator = QuotaUtil.getQuotaOrderByComparator(orderByCol,
                orderByType);

        List<Quota> siteQuotas = _quotaLocalService.getQuotaByCompanyIdClassNameIds(themeDisplay.getCompanyId(),
                classNameIds, QueryUtil.ALL_POS, QueryUtil.ALL_POS, orderByComparator);

        for (Quota siteQuota : siteQuotas) {
            if (siteQuota.isEnabled()) {
                Group group = _groupLocalService.getGroup(siteQuota.getClassPK());
                pieDataset.setValue(group.getDescriptiveName(themeDisplay.getLocale()),
                        siteQuota.getQuotaUsed());
            }
        }

        ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language",
                resourceRequest.getLocale(), getClass());

        sb.append(LanguageUtil.get(resourceBundle, "sites-quota-enabled-sites-used-diagram-title"));

        jFreeChart = getCurrentSizeJFreeChart(sb.toString(), pieDataset);

        resourceResponse.setContentType(ContentTypes.IMAGE_PNG);

        OutputStream outputStream = null;

        try {
            outputStream = resourceResponse.getPortletOutputStream();
            ChartUtilities.writeChartAsPNG(outputStream, jFreeChart, 400, 200);
        } finally {
            if (outputStream != null) {
                outputStream.close();
            }
        }

    } catch (Exception e) {
        LOGGER.error(e);
        throw new PortletException(e);
    }
}

From source file:org.lsug.quota.web.internal.upload.QuotaDefaultUploadResponseHandler.java

License:Open Source License

@Override
public JSONObject onFailure(PortletRequest portletRequest, PortalException pe) throws PortalException {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    jsonObject.put("success", Boolean.FALSE);

    String errorMessage = StringPool.BLANK;
    int errorType = PortletKeys.SC_QUOTA_EXCEEDED_ERROR_TYPE;

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

    ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", themeDisplay.getLocale(),
            getClass());/* w  ww. ja va 2 s  . co m*/

    errorMessage = ResourceBundleUtil.getString(resourceBundle, "quota-exceeded-error");

    JSONObject errorJSONObject = JSONFactoryUtil.createJSONObject();

    errorJSONObject.put("errorType", errorType);
    errorJSONObject.put("message", errorMessage);

    jsonObject.put("error", errorJSONObject);

    return jsonObject;
}