Example usage for com.liferay.portal.kernel.portlet JSONPortletResponseUtil writeJSON

List of usage examples for com.liferay.portal.kernel.portlet JSONPortletResponseUtil writeJSON

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portlet JSONPortletResponseUtil writeJSON.

Prototype

public static void writeJSON(PortletRequest portletRequest, PortletResponse portletResponse, Object jsonObj)
            throws IOException 

Source Link

Usage

From source file:com.liferay.adaptive.media.web.internal.portlet.action.AdaptedImagesPercentageMVCResourceCommand.java

License:Open Source License

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

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

    long companyId = themeDisplay.getCompanyId();

    String entryUuid = ParamUtil.getString(resourceRequest, "entryUuid");

    int entriesCount = _adaptiveMediaImageEntryLocalService.getAdaptiveMediaImageEntriesCount(companyId,
            entryUuid);//w w w .j a va  2  s .com

    int expectedEntriesCount = _adaptiveMediaImageEntryLocalService
            .getExpectedAdaptiveMediaImageEntriesCount(companyId);

    jsonObject.put("adaptedImages", String.valueOf(entriesCount));

    jsonObject.put("totalImages", String.valueOf(expectedEntriesCount));

    JSONPortletResponseUtil.writeJSON(resourceRequest, resourceResponse, jsonObject);
}

From source file:com.liferay.adaptive.media.web.internal.portlet.action.OptimizedImagesPercentageMVCResourceCommand.java

License:Open Source License

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

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

    String entryUuid = ParamUtil.getString(resourceRequest, "entryUuid");

    int percentage = _imageEntryLocalService.getPercentage(themeDisplay.getCompanyId(), entryUuid);

    jsonObject.put("percentage", String.valueOf(percentage));

    JSONPortletResponseUtil.writeJSON(resourceRequest, resourceResponse, jsonObject);
}

From source file:com.liferay.blogs.web.internal.portlet.action.EditEntryMVCActionCommand.java

License:Open Source License

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

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

    try {/*ww  w .  j  av a2 s . c om*/
        BlogsEntry entry = null;
        List<BlogsEntryAttachmentFileEntryReference> blogsEntryAttachmentFileEntryReferences = null;

        UploadException uploadException = (UploadException) actionRequest
                .getAttribute(WebKeys.UPLOAD_EXCEPTION);

        if (uploadException != null) {
            Throwable cause = uploadException.getCause();

            if (uploadException.isExceededFileSizeLimit()) {
                throw new FileSizeException(cause);
            }

            if (uploadException.isExceededLiferayFileItemSizeLimit()) {
                throw new LiferayFileItemException(cause);
            }

            if (uploadException.isExceededUploadRequestSizeLimit()) {
                throw new UploadRequestSizeException(cause);
            }

            throw new PortalException(cause);
        } else if (cmd.equals(Constants.ADD) || cmd.equals(Constants.UPDATE)) {

            Callable<Object[]> updateEntryCallable = new UpdateEntryCallable(actionRequest);

            Object[] returnValue = TransactionInvokerUtil.invoke(_transactionConfig, updateEntryCallable);

            entry = (BlogsEntry) returnValue[0];
            blogsEntryAttachmentFileEntryReferences = (List<BlogsEntryAttachmentFileEntryReference>) returnValue[1];
        } else if (cmd.equals(Constants.DELETE)) {
            deleteEntries(actionRequest, false);
        } else if (cmd.equals(Constants.MOVE_TO_TRASH)) {
            deleteEntries(actionRequest, true);
        } else if (cmd.equals(Constants.RESTORE)) {
            restoreTrashEntries(actionRequest);
        } else if (cmd.equals(Constants.SUBSCRIBE)) {
            subscribe(actionRequest);
        } else if (cmd.equals(Constants.UNSUBSCRIBE)) {
            unsubscribe(actionRequest);
        }

        String redirect = ParamUtil.getString(actionRequest, "redirect");
        String portletId = HttpUtil.getParameter(redirect, "p_p_id", false);

        int workflowAction = ParamUtil.getInteger(actionRequest, "workflowAction",
                WorkflowConstants.ACTION_SAVE_DRAFT);

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

        if (ajax) {
            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

            JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

            for (BlogsEntryAttachmentFileEntryReference blogsEntryAttachmentFileEntryReference : blogsEntryAttachmentFileEntryReferences) {

                JSONObject blogsEntryFileEntryReferencesJSONObject = JSONFactoryUtil.createJSONObject();

                blogsEntryFileEntryReferencesJSONObject.put("attributeDataImageId",
                        EditorConstants.ATTRIBUTE_DATA_IMAGE_ID);
                blogsEntryFileEntryReferencesJSONObject.put("fileEntryId", String.valueOf(
                        blogsEntryAttachmentFileEntryReference.getTempBlogsEntryAttachmentFileEntryId()));
                blogsEntryFileEntryReferencesJSONObject.put("fileEntryUrl",
                        PortletFileRepositoryUtil.getPortletFileEntryURL(null,
                                blogsEntryAttachmentFileEntryReference.getBlogsEntryAttachmentFileEntry(),
                                StringPool.BLANK));

                jsonArray.put(blogsEntryFileEntryReferencesJSONObject);
            }

            jsonObject.put("blogsEntryAttachmentReferences", jsonArray);
            jsonObject.put("coverImageFileEntryId", entry.getCoverImageFileEntryId());
            jsonObject.put("entryId", entry.getEntryId());
            jsonObject.put("redirect", redirect);

            JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);

            return;
        }

        if ((entry != null) && (workflowAction == WorkflowConstants.ACTION_SAVE_DRAFT)) {

            redirect = getSaveAndContinueRedirect(actionRequest, entry, redirect);

            sendRedirect(actionRequest, actionResponse, redirect);
        } else {
            WindowState windowState = actionRequest.getWindowState();

            if (!windowState.equals(LiferayWindowState.POP_UP)) {
                sendRedirect(actionRequest, actionResponse, redirect);
            } else {
                redirect = PortalUtil.escapeRedirect(redirect);

                if (Validator.isNotNull(redirect)) {
                    if (cmd.equals(Constants.ADD) && (entry != null)) {
                        String namespace = PortalUtil.getPortletNamespace(portletId);

                        redirect = HttpUtil.addParameter(redirect, namespace + "className",
                                BlogsEntry.class.getName());
                        redirect = HttpUtil.addParameter(redirect, namespace + "classPK", entry.getEntryId());
                    }

                    actionRequest.setAttribute(WebKeys.REDIRECT, redirect);
                }
            }
        }
    } catch (AssetCategoryException | AssetTagException e) {
        SessionErrors.add(actionRequest, e.getClass(), e);

        actionResponse.setRenderParameter("mvcRenderCommandName", "/blogs/edit_entry");

        hideDefaultSuccessMessage(actionRequest);
    } catch (EntryContentException | EntryCoverImageCropException | EntryDescriptionException
            | EntryDisplayDateException | EntrySmallImageNameException | EntrySmallImageScaleException
            | EntryTitleException | EntryUrlTitleException | FileSizeException | LiferayFileItemException
            | SanitizerException | UploadRequestSizeException e) {

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

        actionResponse.setRenderParameter("mvcRenderCommandName", "/blogs/edit_entry");

        hideDefaultSuccessMessage(actionRequest);
    } catch (NoSuchEntryException | PrincipalException e) {
        SessionErrors.add(actionRequest, e.getClass());

        actionResponse.setRenderParameter("mvcPath", "/blogs/error.jsp");

        hideDefaultSuccessMessage(actionRequest);
    } catch (Throwable t) {
        _log.error(t, t);

        actionResponse.setRenderParameter("mvcPath", "/blogs/error.jsp");

        hideDefaultSuccessMessage(actionRequest);
    }
}

From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

protected void addMultipleFileEntries(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse) throws Exception {

    List<KeyValuePair> validFileNameKVPs = new ArrayList<>();
    List<KeyValuePair> invalidFileNameKVPs = new ArrayList<>();

    String[] selectedFileNames = ParamUtil.getParameterValues(actionRequest, "selectedFileName", new String[0],
            false);/*from w w  w. j  a  v  a 2s .c o  m*/

    for (String selectedFileName : selectedFileNames) {
        addMultipleFileEntries(portletConfig, actionRequest, actionResponse, selectedFileName,
                validFileNameKVPs, invalidFileNameKVPs);
    }

    JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

    for (KeyValuePair validFileNameKVP : validFileNameKVPs) {
        String fileName = validFileNameKVP.getKey();
        String originalFileName = validFileNameKVP.getValue();

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        jsonObject.put("added", Boolean.TRUE);
        jsonObject.put("fileName", fileName);
        jsonObject.put("originalFileName", originalFileName);

        jsonArray.put(jsonObject);
    }

    for (KeyValuePair invalidFileNameKVP : invalidFileNameKVPs) {
        String fileName = invalidFileNameKVP.getKey();
        String errorMessage = invalidFileNameKVP.getValue();

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        jsonObject.put("added", Boolean.FALSE);
        jsonObject.put("errorMessage", errorMessage);
        jsonObject.put("fileName", fileName);
        jsonObject.put("originalFileName", fileName);

        jsonArray.put(jsonObject);
    }

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

From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

protected void addTempFileEntry(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(actionRequest);

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

    long folderId = ParamUtil.getLong(uploadPortletRequest, "folderId");
    String sourceFileName = uploadPortletRequest.getFileName("file");

    InputStream inputStream = null;

    try {/*  ww w. j ava2 s  .co  m*/
        String tempFileName = TempFileEntryUtil.getTempFileName(sourceFileName);

        inputStream = uploadPortletRequest.getFileAsStream("file");

        String mimeType = uploadPortletRequest.getContentType("file");

        FileEntry fileEntry = _dlAppService.addTempFileEntry(themeDisplay.getScopeGroupId(), folderId,
                TEMP_FOLDER_NAME, tempFileName, inputStream, mimeType);

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        jsonObject.put("groupId", fileEntry.getGroupId());
        jsonObject.put("name", fileEntry.getTitle());
        jsonObject.put("title", sourceFileName);
        jsonObject.put("uuid", fileEntry.getUuid());

        JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
    } finally {
        StreamUtil.cleanUp(inputStream);
    }
}

From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

protected void deleteTempFileEntry(ActionRequest actionRequest, ActionResponse actionResponse)
        throws Exception {

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

    long folderId = ParamUtil.getLong(actionRequest, "folderId");
    String fileName = ParamUtil.getString(actionRequest, "fileName");

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    try {//from   w w w . ja v  a2  s. c  o m
        _dlAppService.deleteTempFileEntry(themeDisplay.getScopeGroupId(), folderId, TEMP_FOLDER_NAME, fileName);

        jsonObject.put("deleted", Boolean.TRUE);
    } catch (Exception e) {
        String errorMessage = themeDisplay.translate("an-unexpected-error-occurred-while-deleting-the-file");

        jsonObject.put("deleted", Boolean.FALSE);
        jsonObject.put("errorMessage", errorMessage);
    }

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

From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

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());
            }/*from   ww w  .  ja  v a  2s .c o m*/

            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 = _portal.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 FileEntryLockException.MustOwnLock
            || 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", "/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.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

protected FileEntry updateFileEntry(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse) throws Exception {

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(actionRequest);

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

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

    long fileEntryId = ParamUtil.getLong(uploadPortletRequest, "fileEntryId");

    long repositoryId = ParamUtil.getLong(uploadPortletRequest, "repositoryId");
    long folderId = ParamUtil.getLong(uploadPortletRequest, "folderId");
    String sourceFileName = uploadPortletRequest.getFileName("file");
    String title = ParamUtil.getString(uploadPortletRequest, "title");
    String description = ParamUtil.getString(uploadPortletRequest, "description");
    String changeLog = ParamUtil.getString(uploadPortletRequest, "changeLog");
    boolean majorVersion = ParamUtil.getBoolean(uploadPortletRequest, "majorVersion");

    if (folderId > 0) {
        Folder folder = _dlAppService.getFolder(folderId);

        if (folder.getGroupId() != themeDisplay.getScopeGroupId()) {
            throw new NoSuchFolderException("{folderId=" + folderId + "}");
        }/*from   w  w w . j av  a 2  s .c o  m*/
    }

    InputStream inputStream = null;

    if (cmd.equals(Constants.ADD_DYNAMIC)) {
        title = uploadPortletRequest.getFileName("file");
    }

    try {
        String contentType = uploadPortletRequest.getContentType("file");
        long size = uploadPortletRequest.getSize("file");

        if ((cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)) && (size == 0)) {

            contentType = MimeTypesUtil.getContentType(title);
        }

        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC) || (size > 0)) {

            String portletName = portletConfig.getPortletName();

            if (portletName.equals(DLPortletKeys.MEDIA_GALLERY_DISPLAY)) {
                PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

                DLPortletInstanceSettings dlPortletInstanceSettings = DLPortletInstanceSettings
                        .getInstance(themeDisplay.getLayout(), portletDisplay.getId());

                String[] mimeTypes = dlPortletInstanceSettings.getMimeTypes();

                if (Arrays.binarySearch(mimeTypes, contentType) < 0) {
                    throw new FileMimeTypeException(contentType);
                }
            }
        }

        inputStream = uploadPortletRequest.getFileAsStream("file");

        ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
                uploadPortletRequest);

        FileEntry fileEntry = null;

        if (cmd.equals(Constants.ADD) || cmd.equals(Constants.ADD_DYNAMIC)) {

            // Add file entry

            fileEntry = _dlAppService.addFileEntry(repositoryId, folderId, sourceFileName, contentType, title,
                    description, changeLog, inputStream, size, serviceContext);

            if (cmd.equals(Constants.ADD_DYNAMIC)) {
                JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

                jsonObject.put("fileEntryId", fileEntry.getFileEntryId());

                JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
            }
        } else if (cmd.equals(Constants.UPDATE_AND_CHECKIN)) {

            // Update file entry and checkin

            fileEntry = _dlAppService.updateFileEntryAndCheckIn(fileEntryId, sourceFileName, contentType, title,
                    description, changeLog, majorVersion, inputStream, size, serviceContext);
        } else {

            // Update file entry

            fileEntry = _dlAppService.updateFileEntry(fileEntryId, sourceFileName, contentType, title,
                    description, changeLog, majorVersion, inputStream, size, serviceContext);
        }

        return fileEntry;
    } finally {
        StreamUtil.cleanUp(inputStream);
    }
}

From source file:com.liferay.dynamic.data.lists.form.web.internal.portlet.action.GetDataProviderInstancesMVCResourceCommand.java

License:Open Source License

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

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

    Locale locale = themeDisplay.getLocale();
    long[] groupIds = _portal.getCurrentAndAncestorSiteGroupIds(themeDisplay.getScopeGroupId());

    int start = ParamUtil.getInteger(resourceRequest, "start", QueryUtil.ALL_POS);
    int end = ParamUtil.getInteger(resourceRequest, "end", QueryUtil.ALL_POS);

    DataProviderInstanceNameComparator dataProviderInstanceNameComparator = new DataProviderInstanceNameComparator(
            true);//from ww w .  j ava2  s . c o m

    List<DDMDataProviderInstance> ddmDataProviderInstances = _ddmDataProviderInstanceLocalService
            .getDataProviderInstances(groupIds, start, end, dataProviderInstanceNameComparator);

    JSONArray dataProviderInstancesJSONArray = _jsonFactory.createJSONArray();

    for (DDMDataProviderInstance ddmDataProviderInstance : ddmDataProviderInstances) {

        JSONObject dataProviderInstanceJSONObject = _jsonFactory.createJSONObject();

        dataProviderInstanceJSONObject.put("id", ddmDataProviderInstance.getDataProviderInstanceId());
        dataProviderInstanceJSONObject.put("name", ddmDataProviderInstance.getName(locale));
        dataProviderInstanceJSONObject.put("uuid", ddmDataProviderInstance.getUuid());

        dataProviderInstancesJSONArray.put(dataProviderInstanceJSONObject);
    }

    JSONPortletResponseUtil.writeJSON(resourceRequest, resourceResponse, dataProviderInstancesJSONArray);
}

From source file:com.liferay.dynamic.data.lists.form.web.internal.portlet.action.GetDataProviderParametersSettingsMVCResourceCommand.java

License:Open Source License

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    DDMDataProviderInstance ddmDataProviderInstance = getDDMDataProviderInstance(resourceRequest);

    DDMDataProvider ddmDataProvider = _ddmDataProviderTracker
            .getDDMDataProvider(ddmDataProviderInstance.getType());

    DDMFormValues ddmFormValues = getDataProviderFormValues(ddmDataProvider, ddmDataProviderInstance);

    JSONObject parametersJSONObject = createParametersJSONObject(ddmDataProvider, ddmFormValues);

    JSONPortletResponseUtil.writeJSON(resourceRequest, resourceResponse, parametersJSONObject);
}