Example usage for com.liferay.portal.kernel.util StringPool SLASH

List of usage examples for com.liferay.portal.kernel.util StringPool SLASH

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util StringPool SLASH.

Prototype

String SLASH

To view the source code for com.liferay.portal.kernel.util StringPool SLASH.

Click Source Link

Usage

From source file:org.opencps.dossiermgt.portlet.DossierMgtFrontOfficePortlet.java

License:Open Source License

/**
 * @param actionRequest//  w  ww .ja  va2s.co  m
 * @param actionResponse
 * @throws IOException
 */
public void createReport(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException {

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

    AccountBean accountBean = AccountUtil.getAccountBean(actionRequest);

    long dossierFileId = ParamUtil.getLong(actionRequest, DossierFileDisplayTerms.DOSSIER_FILE_ID);

    String sourceFileName = StringPool.BLANK;

    InputStream inputStream = null;

    File file = null;

    JSONObject responseJSON = JSONFactoryUtil.createJSONObject();

    String fileExportDir = StringPool.BLANK;

    try {
        validateCreateDynamicForm(dossierFileId, accountBean);

        ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);
        serviceContext.setAddGroupPermissions(true);
        serviceContext.setAddGuestPermissions(true);

        // Get dossier file
        DossierFile dossierFile = DossierFileLocalServiceUtil.getDossierFile(dossierFileId);

        // Get dossier part
        DossierPart dossierPart = DossierPartLocalServiceUtil.getDossierPart(dossierFile.getDossierPartId());

        Dossier dossier = DossierLocalServiceUtil.getDossier(dossierFile.getDossierId());

        // Get account folder
        // DLFolder accountForlder = accountBean.getAccountFolder();

        // Get dossier folder
        /*
         * DLFolder dosserFolder = DLFolderUtil.addFolder(
         * themeDisplay.getUserId(), themeDisplay.getScopeGroupId(),
         * themeDisplay.getScopeGroupId(), false,
         * accountForlder.getFolderId(),
         * String.valueOf(dossier.getCounter()), StringPool.BLANK, false,
         * serviceContext);
         */

        String formData = dossierFile.getFormData();
        String jrxmlTemplate = dossierPart.getFormReport();

        // Validate json string

        JSONFactoryUtil.createJSONObject(formData);

        String outputDestination = PortletPropsValues.OPENCPS_FILE_SYSTEM_TEMP_DIR;
        String fileName = System.currentTimeMillis() + StringPool.DASH + dossierFileId + StringPool.DASH
                + dossierPart.getDossierpartId() + ".pdf";

        fileExportDir = exportToPDFFile(jrxmlTemplate, formData, null, outputDestination, fileName);

        if (Validator.isNotNull(fileExportDir)) {

            file = new File(fileExportDir);
            inputStream = new FileInputStream(file);
            if (inputStream != null) {
                sourceFileName = fileExportDir.substring(fileExportDir.lastIndexOf(StringPool.SLASH) + 1,
                        fileExportDir.length());
                String mimeType = MimeTypesUtil.getContentType(file);

                // Add new version
                if (dossierFile.getFileEntryId() > 0) {
                    DossierFileLocalServiceUtil.addDossierFile(dossierFile.getDossierFileId(),
                            dossier.getFolderId(), sourceFileName, mimeType, dossierFile.getDisplayName(),
                            StringPool.BLANK, StringPool.BLANK, inputStream, file.length(), serviceContext);
                } else {
                    // Update version 1
                    DossierFileLocalServiceUtil.updateDossierFile(dossierFileId, dossier.getFolderId(),
                            sourceFileName, mimeType, dossierFile.getDisplayName(), StringPool.BLANK,
                            StringPool.BLANK, inputStream, file.length(), serviceContext);
                }
            }
        }
    } catch (Exception e) {
        if (e instanceof NoSuchDossierFileException) {
            SessionErrors.add(actionRequest, NoSuchDossierFileException.class);
        } else if (e instanceof NoSuchAccountException) {
            SessionErrors.add(actionRequest, NoSuchAccountException.class);
        } else if (e instanceof NoSuchAccountTypeException) {
            SessionErrors.add(actionRequest, NoSuchAccountTypeException.class);
        } else if (e instanceof NoSuchAccountFolderException) {
            SessionErrors.add(actionRequest, NoSuchAccountFolderException.class);
        } else if (e instanceof NoSuchAccountOwnUserIdException) {
            SessionErrors.add(actionRequest, NoSuchAccountOwnUserIdException.class);
        } else if (e instanceof NoSuchAccountOwnOrgIdException) {
            SessionErrors.add(actionRequest, NoSuchAccountOwnOrgIdException.class);
        } else if (e instanceof PermissionDossierException) {
            SessionErrors.add(actionRequest, PermissionDossierException.class);
        } else if (e instanceof DuplicateFileException) {
            SessionErrors.add(actionRequest, DuplicateFileException.class);
        } else {
            SessionErrors.add(actionRequest, PortalException.class);
        }

        _log.error(e);
    } finally {
        responseJSON.put("fileExportDir", fileExportDir);
        PortletUtil.writeJSON(actionRequest, actionResponse, responseJSON);
        if (inputStream != null) {
            inputStream.close();
        }

        if (file.exists()) {
            file.delete();
        }
    }
}

From source file:org.opencps.dossiermgt.portlet.DossierMgtFrontOfficePortlet.java

License:Open Source License

/**
 * @param actionRequest// ww  w. j  a  v a  2 s  . c  o  m
 * @param actionResponse
 * @throws IOException
 */
public void updateDossier(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException {

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

    HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);

    HttpSession session = request.getSession();

    String accountType = GetterUtil.getString(session.getAttribute(WebKeys.ACCOUNT_TYPE));

    Dossier dossier = null;

    long dossierId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.DOSSIER_ID);
    long dossierTemplateId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.DOSSIER_TEMPLATE_ID);
    long serviceInfoId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.SERVICE_INFO_ID);
    long cityId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.CITY_ID);
    long districtId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.DISTRICT_ID);
    long wardId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.WARD_ID);
    long serviceConfigId = ParamUtil.getLong(actionRequest, DossierDisplayTerms.SERVICE_CONFIG_ID);

    long govAgencyOrganizationId = ParamUtil.getLong(actionRequest,
            DossierDisplayTerms.GOVAGENCY_ORGANIZATION_ID);
    /*
     * long ownerUserId =
     * GetterUtil.getLong(session.getAttribute(WebKeys.ACCOUNT_OWNERUSERID
     * ));
     */
    long ownerOrganizationId = GetterUtil.getLong(session.getAttribute(WebKeys.ACCOUNT_OWNERORGANIZATIONID));

    int serviceMode = ParamUtil.getInteger(actionRequest, DossierDisplayTerms.SERVICE_MODE);
    String serviceDomainIndex = ParamUtil.getString(actionRequest, DossierDisplayTerms.SERVICE_DOMAIN_INDEX);

    String govAgencyCode = ParamUtil.getString(actionRequest, DossierDisplayTerms.GOVAGENCY_CODE);
    String govAgencyName = ParamUtil.getString(actionRequest, DossierDisplayTerms.GOVAGENCY_NAME);

    String serviceAdministrationIndex = ParamUtil.getString(actionRequest,
            DossierDisplayTerms.SERVICE_ADMINISTRATION_INDEX);
    String templateFileNo = ParamUtil.getString(actionRequest, DossierDisplayTerms.TEMPLATE_FILE_NO);
    String subjectName = ParamUtil.getString(actionRequest, DossierDisplayTerms.SUBJECT_NAME);
    String subjectId = ParamUtil.getString(actionRequest, DossierDisplayTerms.SUBJECT_ID);
    String address = ParamUtil.getString(actionRequest, DossierDisplayTerms.ADDRESS);
    String contactName = ParamUtil.getString(actionRequest, DossierDisplayTerms.CONTACT_NAME);
    String contactTelNo = ParamUtil.getString(actionRequest, DossierDisplayTerms.CONTACT_TEL_NO);
    String contactEmail = ParamUtil.getString(actionRequest, DossierDisplayTerms.CONTACT_EMAIL);
    String note = ParamUtil.getString(actionRequest, DossierDisplayTerms.NOTE);

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

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

    String redirectPaymentURL = ParamUtil.getString(request, DossierDisplayTerms.REDIRECT_PAYMENT_URL);

    boolean isEditDossier = ParamUtil.getBoolean(request, "isEditDossier");

    boolean update = false;

    try {
        ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);

        serviceContext.setAddGroupPermissions(true);
        serviceContext.setAddGuestPermissions(true);

        if (dossierId > 0) {
            dossier = DossierLocalServiceUtil.getDossier(dossierId);
        }

        String dossierDestinationFolder = StringPool.BLANK;

        /*
         * if
         * (accountType.equals(PortletPropsValues.USERMGT_USERGROUP_NAME_CITIZEN
         * )) { dossierDestinationFolder =
         * PortletUtil.getCitizenDossierDestinationFolder(
         * serviceContext.getScopeGroupId(), ownerUserId); } else if
         * (accountType
         * .equals(PortletPropsValues.USERMGT_USERGROUP_NAME_BUSINESS)) {
         * dossierDestinationFolder =
         * PortletUtil.getBusinessDossierDestinationFolder(
         * serviceContext.getScopeGroupId(), ownerOrganizationId); }
         */

        SplitDate splitDate = PortletUtil.splitDate(new Date());

        dossierDestinationFolder = PortletUtil.getDossierDestinationFolder(serviceContext.getScopeGroupId(),
                splitDate.getYear(), splitDate.getMonth(), splitDate.getDayOfMoth());

        if (dossier != null) {
            dossierDestinationFolder += StringPool.SLASH + dossier.getOid();
        }

        validateDossier(cityId, districtId, wardId, accountType, dossierDestinationFolder, subjectName,
                subjectId, address, contactName, contactTelNo, contactEmail);

        String cityCode = StringPool.BLANK;
        String districtCode = StringPool.BLANK;
        String wardCode = StringPool.BLANK;

        String cityName = StringPool.BLANK;
        String districtName = StringPool.BLANK;
        String wardName = StringPool.BLANK;

        DictItem city = DictItemLocalServiceUtil.getDictItem(cityId);
        DictItem district = DictItemLocalServiceUtil.getDictItem(districtId);
        DictItem ward = DictItemLocalServiceUtil.getDictItem(wardId);

        if (city != null) {
            cityCode = city.getItemCode();
            cityName = city.getItemName(themeDisplay.getLocale());
        }

        if (district != null) {
            districtCode = district.getItemCode();
            districtName = district.getItemName(themeDisplay.getLocale());
        }

        if (ward != null) {
            wardCode = ward.getItemCode();
            wardName = ward.getItemName(themeDisplay.getLocale());
        }

        DLFolder dossierFolder = DLFolderUtil.getTargetFolder(serviceContext.getUserId(),
                serviceContext.getScopeGroupId(), serviceContext.getScopeGroupId(), false, 0,
                dossierDestinationFolder, StringPool.BLANK, false, serviceContext);

        if (dossierId == 0) {
            dossier = DossierLocalServiceUtil.addDossier(serviceContext.getUserId(), ownerOrganizationId,
                    dossierTemplateId, templateFileNo, serviceConfigId, serviceInfoId, serviceDomainIndex,
                    govAgencyOrganizationId, govAgencyCode, govAgencyName, serviceMode,
                    serviceAdministrationIndex, cityCode, cityName, districtCode, districtName, wardName,
                    wardCode, subjectName, subjectId, address, contactName, contactTelNo, contactEmail, note,
                    PortletConstants.DOSSIER_SOURCE_DIRECT, PortletConstants.DOSSIER_STATUS_NEW,
                    dossierFolder.getFolderId(), redirectPaymentURL, serviceContext);

        } else {
            dossier = DossierLocalServiceUtil.updateDossier(dossierId, serviceContext.getUserId(),
                    ownerOrganizationId, dossierTemplateId, templateFileNo, serviceConfigId, serviceInfoId,
                    serviceDomainIndex, govAgencyOrganizationId, govAgencyCode, govAgencyName, serviceMode,
                    serviceAdministrationIndex, cityCode, cityName, districtCode, districtName, wardName,
                    wardCode, subjectName, subjectId, address, contactName, contactTelNo, contactEmail, note,

                    dossierFolder.getFolderId(), serviceContext);
        }

        SessionMessages.add(actionRequest, MessageKeys.DOSSIER_UPDATE_SUCCESS);

        update = true;
    } catch (Exception e) {
        update = false;
        if (e instanceof EmptyDossierCityCodeException || e instanceof EmptyDossierDistrictCodeException
                || e instanceof EmptyDossierWardCodeException || e instanceof InvalidDossierObjectException
                || e instanceof CreateDossierFolderException || e instanceof EmptyDossierSubjectNameException
                || e instanceof OutOfLengthDossierSubjectNameException
                || e instanceof EmptyDossierSubjectIdException
                || e instanceof OutOfLengthDossierSubjectIdException
                || e instanceof EmptyDossierAddressException
                || e instanceof OutOfLengthDossierContactEmailException
                || e instanceof OutOfLengthDossierContactNameException
                || e instanceof OutOfLengthDossierContactTelNoException
                || e instanceof EmptyDossierContactNameException
                || e instanceof OutOfLengthDossierAddressException || e instanceof EmptyDossierFileException
                || e instanceof DuplicateFolderNameException) {

            SessionErrors.add(actionRequest, e.getClass());
        } else {
            SessionErrors.add(actionRequest, MessageKeys.DOSSIER_SYSTEM_EXCEPTION_OCCURRED);
        }

        _log.error(e);

    } finally {
        /*
         * actionRequest .setAttribute(WebKeys.DOSSIER_ENTRY, dossier);
         */

        if (update) {
            if (Validator.isNotNull(redirectURL)) {

                actionResponse.sendRedirect(redirectURL + "&_" + WebKeys.DOSSIER_MGT_PORTLET + "_dossierId="
                        + dossier.getDossierId());

            }
        } else {

            actionResponse.setRenderParameter("backURL", backURL);

            actionResponse.setRenderParameter(DossierDisplayTerms.SERVICE_CONFIG_ID,
                    String.valueOf(serviceConfigId));
            actionResponse.setRenderParameter(DossierDisplayTerms.DOSSIER_ID,
                    String.valueOf(dossier != null ? dossier.getDossierId() : 0));

            actionResponse.setRenderParameter("isEditDossier", String.valueOf(isEditDossier));

            actionResponse.setRenderParameter("mvcPath",
                    "/html/portlets/dossiermgt/frontoffice/edit_dossier.jsp");
        }

    }
}

From source file:org.opencps.dossiermgt.portlet.DossierMgtFrontOfficePortlet.java

License:Open Source License

/**
 * @param actionRequest/*  www . j a v  a 2 s  .  com*/
 * @param actionResponse
 */
public void updateDossierFile(ActionRequest actionRequest, ActionResponse actionResponse) {

    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

    long dossierFileId = ParamUtil.getLong(uploadPortletRequest, DossierFileDisplayTerms.DOSSIER_FILE_ID);

    long dossierPartId = ParamUtil.getLong(uploadPortletRequest, DossierFileDisplayTerms.DOSSIER_PART_ID);

    int index = ParamUtil.getInteger(uploadPortletRequest, DossierFileDisplayTerms.INDEX);

    String groupName = ParamUtil.getString(uploadPortletRequest, DossierFileDisplayTerms.GROUP_NAME);

    String templateFileNo = ParamUtil.getString(uploadPortletRequest, DossierDisplayTerms.TEMPLATE_FILE_NO);

    String fileName = ParamUtil.getString(uploadPortletRequest, DossierFileDisplayTerms.FILE_NAME);

    String redirectURL = ParamUtil.getString(uploadPortletRequest, "redirectURL");

    String displayName = ParamUtil.getString(uploadPortletRequest, DossierFileDisplayTerms.DISPLAY_NAME);

    String dossierFileNo = ParamUtil.getString(uploadPortletRequest, DossierFileDisplayTerms.DOSSIER_FILE_NO);

    String dossierFileDate = ParamUtil.getString(uploadPortletRequest,
            DossierFileDisplayTerms.DOSSIER_FILE_DATE);

    String sourceFileName = uploadPortletRequest.getFileName(DossierFileDisplayTerms.DOSSIER_FILE_UPLOAD);

    sourceFileName = sourceFileName.concat(PortletConstants.TEMP_RANDOM_SUFFIX)
            .concat(StringUtil.randomString());

    String accountType = ParamUtil.getString(uploadPortletRequest, WebKeys.ACCOUNT_TYPE);

    InputStream inputStream = null;

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

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

    try {
        ServiceContext serviceContext = ServiceContextFactory.getInstance(uploadPortletRequest);
        DossierFile dossierFile = DossierFileLocalServiceUtil.getDossierFile(dossierFileId);

        long storeFolderId = 0;

        if (dossierFile != null) {
            long fileEntryId = dossierFile.getFileEntryId();
            if (fileEntryId > 0) {
                FileEntry fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId);
                storeFolderId = fileEntry.getFolderId();
            } else {
                long dossierId = dossierFile.getDossierId();
                Dossier dossier = DossierLocalServiceUtil.getDossier(dossierId);

                int dossierNo = dossier.getCounter();

                String destination = StringPool.BLANK;
                if (accountType.equals(PortletPropsValues.USERMGT_USERGROUP_NAME_CITIZEN)) {
                    destination = PortletUtil.getCitizenDossierDestinationFolder(dossier.getGroupId(),
                            themeDisplay.getUserId()) + StringPool.SLASH + String.valueOf(dossierNo);

                } else if (accountType.equals(PortletPropsValues.USERMGT_USERGROUP_NAME_BUSINESS)) {

                    destination = PortletUtil.getBusinessDossierDestinationFolder(dossier.getGroupId(),
                            dossier.getOwnerOrganizationId()) + StringPool.SLASH + String.valueOf(dossierNo);

                }

                DLFolder storeFolder = DLFolderUtil.getTargetFolder(themeDisplay.getUserId(),
                        themeDisplay.getScopeGroupId(), themeDisplay.getScopeGroupId(), false, 0, destination,
                        StringPool.BLANK, false, serviceContext);

                storeFolderId = storeFolder.getFolderId();
            }
        }

        inputStream = uploadPortletRequest.getFileAsStream(DossierFileDisplayTerms.DOSSIER_FILE_UPLOAD);

        long size = uploadPortletRequest.getSize(DossierFileDisplayTerms.DOSSIER_FILE_UPLOAD);

        String contentType = uploadPortletRequest.getContentType(DossierFileDisplayTerms.DOSSIER_FILE_UPLOAD);

        String mimeType = Validator.isNotNull(contentType) ? MimeTypesUtil.getContentType(contentType)
                : StringPool.BLANK;

        FileEntry fileEntry = DLAppServiceUtil.addFileEntry(serviceContext.getScopeGroupId(), storeFolderId,
                sourceFileName, mimeType, displayName, StringPool.BLANK, StringPool.BLANK, inputStream, size,
                serviceContext);

        jsonObject.put(DossierFileDisplayTerms.DOSSIER_FILE_NO, dossierFileNo);

        jsonObject.put(DossierFileDisplayTerms.DISPLAY_NAME, displayName);

        jsonObject.put(DossierFileDisplayTerms.DOSSIER_FILE_DATE, dossierFileDate);

        jsonObject.put(DossierFileDisplayTerms.FILE_TITLE, fileEntry.getTitle());

        jsonObject.put(DossierFileDisplayTerms.MIME_TYPE, fileEntry.getMimeType());

        jsonObject.put(DossierFileDisplayTerms.FILE_NAME, fileName);

        jsonObject.put(DossierFileDisplayTerms.FILE_ENTRY_ID, fileEntry.getFileEntryId());
        jsonObject.put(DossierFileDisplayTerms.FOLDE_ID, fileEntry.getFolderId());

        jsonObject.put(DossierFileDisplayTerms.DOSSIER_PART_ID, dossierPartId);

        jsonObject.put(DossierFileDisplayTerms.INDEX, index);

        jsonObject.put(DossierFileDisplayTerms.GROUP_NAME, groupName);

        jsonObject.put(DossierFileDisplayTerms.DOSSIER_FILE_ORIGINAL, PortletConstants.DOSSIER_FILE_ORIGINAL);

        jsonObject.put(DossierFileDisplayTerms.DOSSIER_FILE_TYPE, PortletConstants.DOSSIER_FILE_TYPE_INPUT);

        jsonObject.put(DossierDisplayTerms.TEMPLATE_FILE_NO, templateFileNo);

    } catch (Exception e) {
        _log.error(e);
        SessionErrors.add(actionRequest, "upload-error");
    } finally {
        StreamUtil.cleanUp(inputStream);
        HttpServletRequest request = PortalUtil.getHttpServletRequest(actionRequest);
        request.setAttribute(WebKeys.RESPONSE_UPLOAD_TEMP_DOSSIER_FILE, jsonObject);

        if (Validator.isNotNull(redirectURL)) {
            actionResponse.setRenderParameter("jspPage",
                    "/html/portlets/dossiermgt/frontoffice/upload_dossier_file.jsp");
        }
    }
}

From source file:org.opencps.paymentmgt.portlet.PaymentMgtBackOfficePortlet.java

License:Open Source License

/**
 * @param actionRequest/*from   ww w . j  a  v  a2 s.c  om*/
 * 
 * @param actionResponse
 * @throws IOException
 */
public void createReport(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException {

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

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

    AccountBean accountBean = AccountUtil.getAccountBean(actionRequest);
    File file = null;

    InputStream inputStream = null;

    JSONObject responseJSON = JSONFactoryUtil.createJSONObject();

    String fileExportDir = StringPool.BLANK;
    String urlFileDowLoad = StringPool.BLANK;
    try {
        if (paymentFileId > 0) {
            ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);
            serviceContext.setAddGroupPermissions(true);
            serviceContext.setAddGuestPermissions(true);
            // Get PaymentFile
            PaymentFile paymentFile = PaymentFileLocalServiceUtil.fetchPaymentFile(paymentFileId);
            long govAgencyOrganizationId = -1;
            long userId = themeDisplay.getUserId();
            Employee employee = EmployeeLocalServiceUtil
                    .getEmployeeByMappingUserId(themeDisplay.getScopeGroupId(), userId);
            WorkingUnit workingUnit = WorkingUnitLocalServiceUtil.fetchWorkingUnit(employee.getWorkingUnitId());
            govAgencyOrganizationId = workingUnit.getMappingOrganisationId();
            //            govAgencyOrganizationId = 24787;
            PaymentConfig paymentConfig = PaymentConfigLocalServiceUtil
                    .getPaymentConfigByGovAgency(themeDisplay.getScopeGroupId(), govAgencyOrganizationId);
            // Get account folder
            String dossierDestinationFolder = PortletUtil
                    .getEmployeeDestinationFolder(themeDisplay.getScopeGroupId(), userId);
            DLFolder accountForlder = DLFolderUtil.getTargetFolder(themeDisplay.getUserId(),
                    themeDisplay.getScopeGroupId(), themeDisplay.getScopeGroupId(), false, 0,
                    dossierDestinationFolder, StringPool.BLANK, false, serviceContext);
            ;

            // Get dossier folder
            DLFolder paymentFolder = DLFolderUtil.addFolder(themeDisplay.getUserId(),
                    themeDisplay.getScopeGroupId(), themeDisplay.getScopeGroupId(), false,
                    accountForlder.getFolderId(), String.valueOf(paymentConfig.getPaymentConfigId()),
                    StringPool.BLANK, false, serviceContext);

            //TODO
            String formData = StringPool.BLANK;
            JSONObject payloadJSON = JSONFactoryUtil.createJSONObject();
            JSONObject resultJSON = JSONFactoryUtil.createJSONObject();
            payloadJSON.put("paymentFileId", paymentFile.getPaymentFileId());
            payloadJSON.put("dossierId", paymentFile.getDossierId());
            payloadJSON.put("fileGroupId", paymentFile.getFileGroupId());
            payloadJSON.put("ownerUserId", paymentFile.getOwnerUserId());
            payloadJSON.put("ownerOrganizationId", paymentFile.getOwnerOrganizationId());
            //TODO

            Citizen citizen = null;
            if (paymentFile.getOwnerOrganizationId() != 0)
                workingUnit = WorkingUnitLocalServiceUtil.fetchByMappingOrganisationId(
                        themeDisplay.getScopeGroupId(), paymentFile.getOwnerOrganizationId());
            else if (paymentFile.getOwnerUserId() != 0)
                citizen = CitizenLocalServiceUtil.getByMappingUserId(paymentFile.getOwnerUserId());
            if (workingUnit != null) {
                payloadJSON.put("ownerOrganizationName", workingUnit.getName());
                payloadJSON.put("ownerOrganizationAddress", workingUnit.getAddress());
            } else if (citizen != null) {
                payloadJSON.put("ownerOrganizationName", citizen.getFullName());
                payloadJSON.put("ownerOrganizationAddress", citizen.getAddress());
            } else {
                payloadJSON.put("ownerOrganizationName", "");
                payloadJSON.put("ownerOrganizationAddress", "");
            }

            payloadJSON.put("govAgencyOrganizationId", paymentFile.getGovAgencyOrganizationId());
            payloadJSON.put("paymentName", paymentFile.getPaymentName());
            payloadJSON.put("requestDatetime", DateTimeUtil
                    .convertDateToString(paymentFile.getRequestDatetime(), DateTimeUtil._VN_DATE_TIME_FORMAT));
            payloadJSON.put("amount", paymentFile.getAmount());
            //TODO
            payloadJSON.put("amountNumber", paymentFile.getAmount());
            payloadJSON.put("amountString", paymentFile.getAmount());

            payloadJSON.put("requestNote", paymentFile.getRequestNote());
            payloadJSON.put("keypayUrl", paymentFile.getKeypayUrl());
            payloadJSON.put("keypayTransactionId", paymentFile.getKeypayTransactionId());
            payloadJSON.put("keypayGoodCode", paymentFile.getKeypayGoodCode());
            payloadJSON.put("keypayMerchantCode", paymentFile.getKeypayMerchantCode());
            payloadJSON.put("bankInfo", paymentFile.getBankInfo());
            payloadJSON.put("placeInfo", paymentFile.getPlaceInfo());
            payloadJSON.put("paymentStatus",
                    PortletUtil.getPaymentStatusLabel(paymentFile.getPaymentStatus(), Locale.getDefault()));
            payloadJSON.put("paymentMethod",
                    PortletUtil.getPaymentMethodLabel(paymentFile.getPaymentMethod(), Locale.getDefault()));
            //TODO

            payloadJSON.put("confirmDatetime", DateTimeUtil
                    .convertDateToString(paymentFile.getConfirmDatetime(), DateTimeUtil._VN_DATE_TIME_FORMAT));
            payloadJSON.put("confirmFileEntryId", paymentFile.getConfirmFileEntryId());
            payloadJSON.put("approveDatetime", DateTimeUtil
                    .convertDateToString(paymentFile.getApproveDatetime(), DateTimeUtil._VN_DATE_TIME_FORMAT));
            payloadJSON.put("accountUserName", paymentFile.getAccountUserName());
            payloadJSON.put("approveNote", paymentFile.getApproveNote());
            payloadJSON.put("govAgencyTaxNo", paymentFile.getGovAgencyTaxNo());
            payloadJSON.put("invoiceTemplateNo", paymentFile.getInvoiceTemplateNo());
            payloadJSON.put("invoiceIssueNo", paymentFile.getInvoiceIssueNo());
            payloadJSON.put("invoiceNo", paymentFile.getInvoiceNo());

            payloadJSON.put("cf_paymentConfigId", paymentConfig.getPaymentConfigId());
            payloadJSON.put("cf_govAgencyOrganizationId", paymentConfig.getGovAgencyOrganizationId());
            payloadJSON.put("cf_govAgencyName", paymentConfig.getGovAgencyName());
            payloadJSON.put("cf_govAgencyTaxNo", paymentConfig.getGovAgencyTaxNo());
            payloadJSON.put("cf_invoiceTemplateNo", paymentConfig.getInvoiceTemplateNo());
            payloadJSON.put("cf_invoiceIssueNo", paymentConfig.getInvoiceIssueNo());
            payloadJSON.put("cf_invoiceLastNo", paymentConfig.getInvoiceLastNo());
            payloadJSON.put("cf_bankInfo", paymentConfig.getBankInfo());
            payloadJSON.put("cf_placeInfo", paymentConfig.getPlaceInfo());
            payloadJSON.put("cf_keypayDomain", paymentConfig.getKeypayDomain());
            payloadJSON.put("cf_keypayVersion", paymentConfig.getKeypayVersion());
            payloadJSON.put("cf_keypayMerchantCode", paymentConfig.getKeypayMerchantCode());
            payloadJSON.put("cf_keypaySecureKey", paymentConfig.getKeypaySecureKey());
            resultJSON.put("opencps", payloadJSON);
            System.out.println("PaymentMgtBackOfficePortlet.createReport()" + resultJSON.toString());

            String jrxmlTemplate = paymentConfig.getReportTemplate();

            // Validate json string
            formData = resultJSON.toString();
            //            JSONFactoryUtil
            //                .createJSONObject(formData);

            String outputDestination = PortletPropsValues.OPENCPS_FILE_SYSTEM_TEMP_DIR;
            String fileName = System.currentTimeMillis() + StringPool.DASH + paymentConfig.getPaymentConfigId()
                    + StringPool.DASH + paymentFile.getPaymentFileId() + ".pdf";

            fileExportDir = exportToPDFFile(jrxmlTemplate, formData, null, outputDestination, fileName);

            if (Validator.isNotNull(fileExportDir)) {

                file = new File(fileExportDir);
                inputStream = new FileInputStream(file);
                if (inputStream != null) {
                    String sourceFileName = fileExportDir
                            .substring(fileExportDir.lastIndexOf(StringPool.SLASH) + 1, fileExportDir.length());
                    System.out.println(sourceFileName);

                    System.out.println(file.getName());

                    String mimeType = MimeTypesUtil.getContentType(file);

                    FileEntry fileEntry = DLAppServiceUtil.addFileEntry(serviceContext.getScopeGroupId(),
                            paymentFolder.getFolderId(), sourceFileName, mimeType, fileName, StringPool.BLANK,
                            StringPool.BLANK, inputStream, file.length(), serviceContext);
                    fileExportDir = getURL(fileEntry);
                    String tenFileExport = "defaultPDF.pdfs";
                    if (fileExportDir.contains(".pdfs")) {
                        urlFileDowLoad = fileExportDir.replace(".pdfs", ".pdf")
                                + "#view=FitH&scrollbar=0&page=1&toolbar=0&statusbar=0&messages=0&navpanes=0";
                    } else if (fileExportDir.contains(".doc")) {
                        urlFileDowLoad = "https://docs.google.com/viewer?url="
                                + PortalUtil.getPortalURL(actionRequest) + fileExportDir + "&embedded=true";
                    } else {
                        urlFileDowLoad = fileExportDir
                                + "#view=FitH&scrollbar=0&page=1&toolbar=0&statusbar=0&messages=0&navpanes=0";
                    }
                }
            }
        }
    } catch (Exception e) {
        _log.error(e);
    } finally {
        responseJSON.put("fileExportDir", urlFileDowLoad);
        PortletUtil.writeJSON(actionRequest, actionResponse, responseJSON);
        inputStream.close();
        file.delete();

    }
}

From source file:org.opencps.paymentmgt.portlet.PaymentMgtBackOfficePortlet.java

License:Open Source License

private String getURL(FileEntry fileEntry) {
    try {/*from   w ww  .j a va2  s  .  c o m*/
        String url = "/documents/" + fileEntry.getGroupId() + StringPool.SLASH + fileEntry.getFolderId()
                + StringPool.SLASH + fileEntry.getTitle() + "?version=" + fileEntry.getVersion();
        return url;
    } catch (Exception e) {
        _log.error(e);
    }

    return "";
}

From source file:org.opencps.paymentmgt.portlet.PaymentMgtPaymentConfigPortlet.java

License:Open Source License

public void previewReport(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException {
    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    File file = null;/*from  ww  w.  j av  a2s  .c o  m*/

    InputStream inputStream = null;

    JSONObject responseJSON = JSONFactoryUtil.createJSONObject();

    String fileExportDir = StringPool.BLANK;
    String urlFileDowLoad = StringPool.BLANK;
    PortletSession portletSession = actionRequest.getPortletSession();
    String reportTemplate = (String) portletSession.getAttribute(PaymentConfigDisplayTerms.REPORT_TEMPLATE);
    portletSession.removeAttribute(PaymentConfigDisplayTerms.REPORT_TEMPLATE);
    try {
        ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);
        serviceContext.setAddGroupPermissions(true);
        serviceContext.setAddGuestPermissions(true);
        // Get PaymentFile
        long govAgencyOrganizationId = -1;
        long userId = themeDisplay.getUserId();
        long paymentConfigId = ParamUtil.getLong(actionRequest, PaymentConfigDisplayTerms.PAYMENT_CONFIG_ID);
        // Get account folder
        String dossierDestinationFolder = PortletUtil
                .getEmployeeDestinationFolder(themeDisplay.getScopeGroupId(), userId);
        DLFolder accountForlder = DLFolderUtil.getTargetFolder(themeDisplay.getUserId(),
                themeDisplay.getScopeGroupId(), themeDisplay.getScopeGroupId(), false, 0,
                dossierDestinationFolder, StringPool.BLANK, false, serviceContext);
        ;

        // Get user folder
        DLFolder paymentFolder = DLFolderUtil.addFolder(themeDisplay.getUserId(),
                themeDisplay.getScopeGroupId(), themeDisplay.getScopeGroupId(), false,
                accountForlder.getFolderId(), String.valueOf(userId), StringPool.BLANK, false, serviceContext);

        //TODO
        String formData = StringPool.BLANK;
        JSONObject payloadJSON = JSONFactoryUtil.createJSONObject();
        JSONObject resultJSON = JSONFactoryUtil.createJSONObject();
        payloadJSON.put("paymentFileId", "");
        payloadJSON.put("dossierId", "");
        payloadJSON.put("fileGroupId", "");
        payloadJSON.put("ownerUserId", "");
        payloadJSON.put("ownerOrganizationId", "");
        //TODO

        Citizen citizen = null;
        payloadJSON.put("ownerOrganizationName", "");
        payloadJSON.put("ownerOrganizationAddress", "");

        payloadJSON.put("govAgencyOrganizationId", "");
        payloadJSON.put("paymentName", "");
        payloadJSON.put("requestDatetime", "");
        payloadJSON.put("amount", "");
        //TODO
        payloadJSON.put("amountNumber", "");
        payloadJSON.put("amountString", "");

        payloadJSON.put("requestNote", "");
        payloadJSON.put("keypayUrl", "");
        payloadJSON.put("keypayTransactionId", "");
        payloadJSON.put("keypayGoodCode", "");
        payloadJSON.put("keypayMerchantCode", "");
        payloadJSON.put("bankInfo", "");
        payloadJSON.put("placeInfo", "");
        payloadJSON.put("paymentStatus", "");
        payloadJSON.put("paymentMethod", "");
        //TODO

        payloadJSON.put("confirmDatetime", "");
        payloadJSON.put("confirmFileEntryId", "");
        payloadJSON.put("approveDatetime", "");
        payloadJSON.put("accountUserName", "");
        payloadJSON.put("approveNote", "");
        payloadJSON.put("govAgencyTaxNo", "");
        payloadJSON.put("invoiceTemplateNo", "");
        payloadJSON.put("invoiceIssueNo", "");
        payloadJSON.put("invoiceNo", "");

        payloadJSON.put("cf_paymentConfigId", "");
        payloadJSON.put("cf_govAgencyOrganizationId", "");
        payloadJSON.put("cf_govAgencyName", "");
        payloadJSON.put("cf_govAgencyTaxNo", "");
        payloadJSON.put("cf_invoiceTemplateNo", "");
        payloadJSON.put("cf_invoiceIssueNo", "");
        payloadJSON.put("cf_invoiceLastNo", "");
        payloadJSON.put("cf_bankInfo", "");
        payloadJSON.put("cf_placeInfo", "");
        payloadJSON.put("cf_keypayDomain", "");
        payloadJSON.put("cf_keypayVersion", "");
        payloadJSON.put("cf_keypayMerchantCode", "");
        payloadJSON.put("cf_keypaySecureKey", "");
        resultJSON.put("opencps", payloadJSON);
        System.out.println("PaymentMgtBackOfficePortlet.createReport()" + resultJSON.toString());

        String jrxmlTemplate = reportTemplate;

        // Validate json string
        formData = resultJSON.toString();
        //               JSONFactoryUtil
        //                   .createJSONObject(formData);

        String outputDestination = PortletPropsValues.OPENCPS_FILE_SYSTEM_TEMP_DIR;
        String fileName = System.currentTimeMillis() + StringPool.DASH + "preview.pdf";

        fileExportDir = exportToPDFFile(jrxmlTemplate, formData, null, outputDestination, fileName);

        if (Validator.isNotNull(fileExportDir)) {

            file = new File(fileExportDir);
            inputStream = new FileInputStream(file);
            if (inputStream != null) {
                String sourceFileName = fileExportDir.substring(fileExportDir.lastIndexOf(StringPool.SLASH) + 1,
                        fileExportDir.length());
                System.out.println(sourceFileName);

                System.out.println(file.getName());

                String mimeType = MimeTypesUtil.getContentType(file);

                FileEntry fileEntry = DLAppServiceUtil.addFileEntry(serviceContext.getScopeGroupId(),
                        paymentFolder.getFolderId(), sourceFileName, mimeType, fileName, StringPool.BLANK,
                        StringPool.BLANK, inputStream, file.length(), serviceContext);
                fileExportDir = getURL(fileEntry);
                String tenFileExport = "defaultPDF.pdfs";
                if (fileExportDir.contains(".pdfs")) {
                    urlFileDowLoad = fileExportDir.replace(".pdfs", ".pdf")
                            + "#view=FitH&scrollbar=0&page=1&toolbar=0&statusbar=0&messages=0&navpanes=0";
                } else if (fileExportDir.contains(".doc")) {
                    urlFileDowLoad = "https://docs.google.com/viewer?url="
                            + PortalUtil.getPortalURL(actionRequest) + fileExportDir + "&embedded=true";
                } else {
                    urlFileDowLoad = fileExportDir
                            + "#view=FitH&scrollbar=0&page=1&toolbar=0&statusbar=0&messages=0&navpanes=0";
                }
            }
        }
    } catch (Exception e) {
        _log.error(e);
    } finally {
        responseJSON.put("fileExportDir", urlFileDowLoad);
        PortletUtil.writeJSON(actionRequest, actionResponse, responseJSON);
        inputStream.close();
        file.delete();

    }
}

From source file:org.opencps.processmgt.portlet.ProcessOrderPortlet.java

License:Open Source License

/**
 * @param actionRequest/*from  ww  w  .  j ava2s  .co m*/
 * @param actionResponse
 * @throws IOException
 */
public void createReport(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException {

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

    /*AccountBean accountBean =
       AccountUtil.getAccountBeanFromAttribute(actionRequest);*/

    AccountBean accountBean = AccountUtil.getAccountBean(actionRequest);

    long dossierFileId = ParamUtil.getLong(actionRequest, DossierFileDisplayTerms.DOSSIER_FILE_ID);

    String sourceFileName = StringPool.BLANK;

    InputStream inputStream = null;

    File file = null;

    JSONObject responseJSON = JSONFactoryUtil.createJSONObject();

    String fileExportDir = StringPool.BLANK;

    try {
        validateCreateDynamicForm(dossierFileId, accountBean);

        ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);
        serviceContext.setAddGroupPermissions(true);
        serviceContext.setAddGuestPermissions(true);

        // Get dossier file
        DossierFile dossierFile = DossierFileLocalServiceUtil.getDossierFile(dossierFileId);

        // Get dossier part
        DossierPart dossierPart = DossierPartLocalServiceUtil.getDossierPart(dossierFile.getDossierPartId());

        Dossier dossier = DossierLocalServiceUtil.getDossier(dossierFile.getDossierId());

        // Get account folder
        // DLFolder accountForlder = accountBean.getAccountFolder();

        // Get dossier folder
        /*
         * DLFolder dosserFolder = DLFolderUtil.addFolder(
         * themeDisplay.getUserId(), themeDisplay.getScopeGroupId(),
         * themeDisplay.getScopeGroupId(), false,
         * accountForlder.getFolderId(),
         * String.valueOf(dossier.getCounter()), StringPool.BLANK, false,
         * serviceContext);
         */

        String formData = dossierFile.getFormData();
        String jrxmlTemplate = dossierPart.getFormReport();

        // Validate json string

        JSONFactoryUtil.createJSONObject(formData);

        String outputDestination = PortletPropsValues.OPENCPS_FILE_SYSTEM_TEMP_DIR;
        String fileName = System.currentTimeMillis() + StringPool.DASH + dossierFileId + StringPool.DASH
                + dossierPart.getDossierpartId() + ".pdf";

        fileExportDir = exportToPDFFile(jrxmlTemplate, formData, null, outputDestination, fileName);

        if (Validator.isNotNull(fileExportDir)) {

            file = new File(fileExportDir);
            inputStream = new FileInputStream(file);
            if (inputStream != null) {
                sourceFileName = fileExportDir.substring(fileExportDir.lastIndexOf(StringPool.SLASH) + 1,
                        fileExportDir.length());
                String mimeType = MimeTypesUtil.getContentType(file);

                // Add new version
                if (dossierFile.getFileEntryId() > 0) {
                    DossierFileLocalServiceUtil.addDossierFile(dossierFile.getDossierFileId(),
                            dossier.getFolderId(), sourceFileName, mimeType, dossierFile.getDisplayName(),
                            StringPool.BLANK, StringPool.BLANK, inputStream, file.length(), serviceContext);
                } else {
                    // Update version 1
                    DossierFileLocalServiceUtil.updateDossierFile(dossierFileId, dossier.getFolderId(),
                            sourceFileName, mimeType, dossierFile.getDisplayName(), StringPool.BLANK,
                            StringPool.BLANK, inputStream, file.length(), serviceContext);
                }
            }
        }
    } catch (Exception e) {
        if (e instanceof NoSuchDossierFileException) {
            SessionErrors.add(actionRequest, NoSuchDossierFileException.class);
        } else if (e instanceof NoSuchAccountException) {
            SessionErrors.add(actionRequest, NoSuchAccountException.class);
        } else if (e instanceof NoSuchAccountTypeException) {
            SessionErrors.add(actionRequest, NoSuchAccountTypeException.class);
        } else if (e instanceof NoSuchAccountFolderException) {
            SessionErrors.add(actionRequest, NoSuchAccountFolderException.class);
        } else if (e instanceof NoSuchAccountOwnUserIdException) {
            SessionErrors.add(actionRequest, NoSuchAccountOwnUserIdException.class);
        } else if (e instanceof NoSuchAccountOwnOrgIdException) {
            SessionErrors.add(actionRequest, NoSuchAccountOwnOrgIdException.class);
        } else if (e instanceof PermissionDossierException) {
            SessionErrors.add(actionRequest, PermissionDossierException.class);
        } else if (e instanceof DuplicateFileException) {
            SessionErrors.add(actionRequest, DuplicateFileException.class);
        } else if (e instanceof RolePermissionsException) {
            SessionErrors.add(actionRequest, RolePermissionsException.class);
        } else {
            SessionErrors.add(actionRequest, PortalException.class);
        }

        _log.error(e);
    } finally {
        responseJSON.put("fileExportDir", fileExportDir);
        PortletUtil.writeJSON(actionRequest, actionResponse, responseJSON);
        if (inputStream != null) {
            inputStream.close();
        }

        if (file.exists()) {
            file.delete();
        }
    }
}

From source file:org.opencps.util.DLFolderUtil.java

License:Open Source License

public static DLFolder getDossierFolder(long groupId, long userId, int dossierCount,
        ServiceContext serviceContext) {

    DLFolder dlFolder = null;// w  w w.  j  av  a 2  s .co m
    String destination = StringPool.BLANK;
    try {
        Citizen citizen = CitizenLocalServiceUtil.getByMappingUserId(userId);
        if (citizen != null) {
            destination = PortletUtil.getCitizenDossierDestinationFolder(groupId, userId);
        }
    } catch (Exception e) {
    }

    if (Validator.isNull(destination)) {
        try {
            Business business = BusinessLocalServiceUtil.getBusiness(userId);
            if (business != null) {
                destination = PortletUtil.getBusinessDossierDestinationFolder(groupId,
                        business.getMappingOrganizationId());
            }
        } catch (Exception e) {
        }
    }

    if (Validator.isNotNull(destination)) {
        dlFolder = DLFolderUtil.getTargetFolder(serviceContext.getUserId(), serviceContext.getScopeGroupId(),
                serviceContext.getScopeGroupId(), false, 0,
                destination + StringPool.SLASH + String.valueOf(dossierCount), StringPool.BLANK, false,
                serviceContext);
    }

    return dlFolder;
}

From source file:org.opencps.util.PortletUtil.java

License:Open Source License

public static String getCitizenDossierDestinationFolder(long groupId, long userId) {

    return String.valueOf(groupId) + StringPool.SLASH + "opencps/dossierfiles/citizen" + StringPool.SLASH
            + String.valueOf(userId);
}

From source file:org.opencps.util.PortletUtil.java

License:Open Source License

public static String getBusinessDossierDestinationFolder(long groupId, long orgId) {

    return String.valueOf(groupId) + StringPool.SLASH + "opencps/dossierfiles/business" + StringPool.SLASH
            + String.valueOf(orgId);
}