Example usage for com.liferay.portal.kernel.servlet SessionMessages add

List of usage examples for com.liferay.portal.kernel.servlet SessionMessages add

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.servlet SessionMessages add.

Prototype

public static void add(PortletRequest portletRequest, String key) 

Source Link

Usage

From source file:org.opencps.accountmgt.portlet.ConfigurationImpl.java

License:Open Source License

@Override
public void processAction(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse) throws Exception {
    String businessRegStep = ParamUtil.getString(actionRequest, "businessRegStep");
    String citizenRegStep = ParamUtil.getString(actionRequest, "citizenRegStep");
    String portletResource = ParamUtil.getString(actionRequest, "portletResource");

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
            portletResource);//  www. jav  a 2  s .  c  o m
    preferences.setValue("businessRegStep", businessRegStep);
    preferences.setValue("citizenRegStep", citizenRegStep);
    preferences.store();

    SessionMessages.add(actionRequest, "config-stored");

}

From source file:org.opencps.dashboard.portlet.ConfigurationImpl.java

License:Open Source License

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

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

    String isTypeCfg = ParamUtil.getString(actionRequest, "isTypeCfg");
    String dashBoardCFGType = ParamUtil.getString(actionRequest, "dashBoardCFGType");

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
            portletResource);/*from w  w w  .jav  a 2  s .c o  m*/

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

    if (isTypeCfg.equals("linh_vuc_thu_tuc")) {
        List<DictItem> dictItems = PortletUtil.getDictItemInUseByCode(themeDisplay.getScopeGroupId(),
                PortletPropsValues.DATAMGT_MASTERDATA_SERVICE_DOMAIN,
                PortletConstants.TREE_VIEW_DEFAULT_ITEM_CODE);
        for (DictItem dictItem : dictItems) {
            long plid_cfg = ParamUtil.getLong(actionRequest, dictItem.getItemCode() + "_plid");
            boolean isShow_cfg = ParamUtil.getBoolean(actionRequest, dictItem.getItemCode() + "_isShow");
            long isShowOrder_cfg = ParamUtil.getLong(actionRequest, dictItem.getItemCode() + "_isShowOrder");

            preferences.setValue(dictItem.getItemCode() + "_plid", String.valueOf(plid_cfg));
            preferences.setValue(dictItem.getItemCode() + "_isShow", String.valueOf(isShow_cfg));
            preferences.setValue(dictItem.getItemCode() + "_isShowOrder", String.valueOf(isShowOrder_cfg));
        }
    } else if (isTypeCfg.equals("home_linh_vuc")) {
        for (int i = 0; i < 6; i++) {

            int layout_cfg = ParamUtil.getInteger(actionRequest, "img-home-" + i + "_plid");

            String itemCode_cfg = ParamUtil.getString(actionRequest, "img-home-" + i + "_itemCode");

            preferences.setValue("img-home-" + i + "_plid", String.valueOf(layout_cfg));
            preferences.setValue("img-home-" + i + "_itemCode", String.valueOf(itemCode_cfg));
        }
    }

    preferences.setValue("dashBoardCFGType", dashBoardCFGType);

    //      preferences.setValue("isTypeCfg", isTypeCfg);
    preferences.store();

    SessionMessages.add(actionRequest, "potlet-config-saved");

}

From source file:org.opencps.datamgt.portlet.DataMamagementPortlet.java

License:Open Source License

public void updateDictCollection(ActionRequest actionRequest, ActionResponse actionResponse)
        throws IOException {

    long collectionId = ParamUtil.getLong(actionRequest, DictCollectionDisplayTerms.DICTCOLLECTION_ID, 0L);

    Map<Locale, String> collectionNameMap = LocalizationUtil.getLocalizationMap(actionRequest,
            DictCollectionDisplayTerms.COLLECTION_NAME);
    String collectionCode = ParamUtil.getString(actionRequest, DictCollectionDisplayTerms.COLLECTION_CODE);
    String description = ParamUtil.getString(actionRequest, DictCollectionDisplayTerms.DESCRIPTION);

    String collectionName = collectionNameMap.get(actionRequest.getLocale());

    for (Map.Entry<Locale, String> entry : collectionNameMap.entrySet()) {
        if (entry.getValue().length() > collectionName.length()) {
            collectionName = entry.getValue();
        }//from   w  w  w .j a  va2  s. c om
    }

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

        ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);
        validatetDictCollection(collectionId, collectionName, collectionCode, serviceContext);

        if (collectionId == 0) {
            DictCollectionLocalServiceUtil.addDictCollection(serviceContext.getUserId(), collectionCode,
                    collectionNameMap, description, serviceContext);
            SessionMessages.add(actionRequest, MessageKeys.DATAMGT_ADD_SUCESS);
        } else {
            DictCollectionLocalServiceUtil.updateDictCollection(collectionId, serviceContext.getUserId(),
                    collectionCode, collectionNameMap, description, serviceContext);
            SessionMessages.add(actionRequest, MessageKeys.DATAMGT_UPDATE_SUCESS);
        }
    } catch (Exception e) {
        if (e instanceof OutOfLengthCollectionCodeException) {
            SessionErrors.add(actionRequest, OutOfLengthCollectionCodeException.class);
        } else if (e instanceof OutOfLengthCollectionNameException) {
            SessionErrors.add(actionRequest, OutOfLengthCollectionNameException.class);
        } else if (e instanceof DuplicateCollectionException) {
            SessionErrors.add(actionRequest, DuplicateCollectionException.class);
        } else if (e instanceof NoSuchDictCollectionException) {
            SessionErrors.add(actionRequest, NoSuchDictCollectionException.class);
        } else if (e instanceof EmptyDictCollectionNameException) {
            SessionErrors.add(actionRequest, EmptyDictCollectionNameException.class);
        } else if (e instanceof EmptyCollectionCodeException) {
            SessionErrors.add(actionRequest, EmptyCollectionCodeException.class);
        } else {
            SessionErrors.add(actionRequest, MessageKeys.DATAMGT_SYSTEM_EXCEPTION_OCCURRED);
        }

        redirectURL = returnURL;

    } finally {
        if (Validator.isNotNull(redirectURL)) {
            actionResponse.sendRedirect(redirectURL);
        }
    }

}

From source file:org.opencps.datamgt.portlet.DataMamagementPortlet.java

License:Open Source License

public void updateDictItem(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException {

    long dictItemId = ParamUtil.getLong(actionRequest, DictItemDisplayTerms.DICTITEM_ID, 0L);

    long dictCollectionId = ParamUtil.getLong(actionRequest, DictItemDisplayTerms.DICTCOLLECTION_ID, 0L);

    long dictVersionId = ParamUtil.getLong(actionRequest, DictItemDisplayTerms.DICTVERSION_ID, 0L);

    long parentItemId = ParamUtil.getLong(actionRequest, DictItemDisplayTerms.PARENTITEM_ID, 0L);

    Map<Locale, String> itemNameMap = LocalizationUtil.getLocalizationMap(actionRequest,
            DictItemDisplayTerms.ITEM_NAME);

    String itemCode = ParamUtil.getString(actionRequest, DictItemDisplayTerms.ITEM_CODE);

    String itemName = itemNameMap.get(actionRequest.getLocale());

    for (Map.Entry<Locale, String> entry : itemNameMap.entrySet()) {
        if (entry.getValue().length() > itemName.length()) {
            itemName = entry.getValue();
        }/*  w w  w  .  j  a v a  2  s. com*/
    }

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

        ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);
        validatetDictItem(dictItemId, itemName, itemCode, serviceContext);

        if (dictItemId == 0) {
            if (dictVersionId == 0) {
                DictItemLocalServiceUtil.addDictItem(serviceContext.getUserId(), dictCollectionId, itemCode,
                        itemNameMap, parentItemId, serviceContext);
            } else {
                DictItemLocalServiceUtil.addDictItem(serviceContext.getUserId(), dictCollectionId,
                        dictVersionId, itemCode, itemNameMap, parentItemId, serviceContext);
            }

            SessionMessages.add(actionRequest, MessageKeys.DATAMGT_ADD_SUCESS);
        } else {
            DictItemLocalServiceUtil.updateDictItem(dictItemId, dictCollectionId, dictVersionId, itemCode,
                    itemNameMap, parentItemId, serviceContext);
            SessionMessages.add(actionRequest, MessageKeys.DATAMGT_UPDATE_SUCESS);
        }
    } catch (Exception e) {
        if (e instanceof EmptyItemCodeException) {
            SessionErrors.add(actionRequest, EmptyItemCodeException.class);
        } else if (e instanceof OutOfLengthItemCodeException) {
            SessionErrors.add(actionRequest, OutOfLengthItemCodeException.class);
        } else if (e instanceof EmptyDictItemNameException) {
            SessionErrors.add(actionRequest, EmptyDictItemNameException.class);
        } else if (e instanceof OutOfLengthItemNameException) {
            SessionErrors.add(actionRequest, OutOfLengthItemNameException.class);
        } else if (e instanceof DuplicateItemException) {
            SessionErrors.add(actionRequest, DuplicateItemException.class);
        } else if (e instanceof NoSuchDictItemException) {
            SessionErrors.add(actionRequest, NoSuchDictItemException.class);
        } else {
            SessionErrors.add(actionRequest, MessageKeys.DATAMGT_SYSTEM_EXCEPTION_OCCURRED);
        }

        redirectURL = returnURL;

    } finally {
        if (Validator.isNotNull(redirectURL)) {
            actionResponse.sendRedirect(redirectURL);
        }
    }
}

From source file:org.opencps.dossiermgt.action.ConfigurationActionImpl.java

License:Open Source License

@Override
public void processAction(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse)//from   www .  ja  v a 2 s  .  c o  m

        throws Exception {
    String action = ParamUtil.getString(actionRequest, "action");
    if (action.equals("save")) {
        String portletResource = ParamUtil.getString(actionRequest, "portletResource");
        String servicepage = ParamUtil.getString(actionRequest, "servicepage", "");
        PortletPreferences prefs = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
                portletResource);

        prefs.setValue("servicepage", servicepage);

        prefs.store();

        SessionMessages.add(actionRequest, "config-stored");

        SessionMessages.add(actionRequest,
                portletConfig.getPortletName() + SessionMessages.KEY_SUFFIX_REFRESH_PORTLET, portletResource);
    } else if (action.equals("reindexdossier")) {
        int end = DossierLocalServiceUtil.getDossiersCount();
        List<Dossier> dossiers = DossierLocalServiceUtil.getDossiers(0, end);
        Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(Dossier.class);

        for (Dossier ds : dossiers) {
            try {
                indexer.reindex(ds);
            } catch (SearchException e) {
                SessionErrors.add(actionRequest, "dossier-reindex-error");
            }
        }
        SessionMessages.add(actionRequest, "dossier-reindex");
    } else if (action.equals("reindexdossierfile")) {
        int end = DossierFileLocalServiceUtil.getDossierFilesCount();
        List<DossierFile> dossierFiles = DossierFileLocalServiceUtil.getDossierFiles(0, end);
        Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(DossierFile.class);

        for (DossierFile df : dossierFiles) {
            try {
                indexer.reindex(df);
            } catch (SearchException e) {
                SessionErrors.add(actionRequest, "dossierfile-reindex-error");
            }
        }
        SessionMessages.add(actionRequest, "dossierfile-reindex");
    }
}

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

License:Open Source License

@Override
public void processAction(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse) throws Exception {
    int status = ParamUtil.getInteger(actionRequest, "status");

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

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
            portletResource);/*w w  w  .  ja v  a 2  s  .c  om*/
    preferences.setValue("status", String.valueOf(status));
    preferences.store();

    SessionMessages.add(actionRequest, "potlet-config-saved");

}

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

License:Open Source License

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

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

    PortletURL redirectURL = PortletURLFactoryUtil.create(PortalUtil.getHttpServletRequest(actionRequest),
            WebKeys.PAYMENT_MGT_PORTLET, plid, PortletRequest.RENDER_PHASE);

    redirectURL.setParameter("mvcPath", "/html/portlets/paymentmgt/frontoffice/frontofficeconfirmkeypay.jsp");

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

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
            portletResource);/*from   w  w w. j  a va 2s . c o  m*/

    preferences.setValue("redirectPaymentURL", redirectURL.toString());
    preferences.store();

    SessionMessages.add(actionRequest, "potlet-config-saved");

}

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

License:Open Source License

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

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

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

    long timeToReLoad = ParamUtil.getLong(actionRequest, "timeToReLoad", 0);

    String templatesToDisplay = ParamUtil.getString(actionRequest, "templatesToDisplay", "default");

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    float maxTotalUploadFileSize = ParamUtil.getFloat(actionRequest, "maxTotalUploadFileSize");

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

    float maxUploadFileSize = ParamUtil.getFloat(actionRequest, "maxUploadFileSize");

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

    PortletURL redirectURL = PortletURLFactoryUtil.create(PortalUtil.getHttpServletRequest(actionRequest),
            WebKeys.PAYMENT_MGT_PORTLET, plid, PortletRequest.RENDER_PHASE);

    redirectURL.setParameter("mvcPath", "/html/portlets/paymentmgt/frontoffice/frontofficeconfirmkeypay.jsp");

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

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
            portletResource);/*  ww  w .jav  a  2  s  .co  m*/

    preferences.setValue("plid", String.valueOf(plid));
    preferences.setValue("redirectPaymentURL", redirectURL.toString());
    preferences.setValue("displayDossierNo", String.valueOf(displayDossierNo));
    preferences.setValue("displayRecentlyResultWhenSearch", String.valueOf(displayRecentlyResultWhenSearch));

    preferences.setValue("itemsToDisplay", String.valueOf(itemsToDisplay));
    preferences.setValue("templatesToDisplay", String.valueOf(templatesToDisplay));
    preferences.setValue("timeToReLoad", String.valueOf(timeToReLoad));

    preferences.setValue("showVersionItem", String.valueOf(showVersionItem));

    preferences.setValue("showBackToListButton", String.valueOf(showBackToListButton));

    preferences.setValue("orderFieldDossierFile", orderFieldDossierFile);

    preferences.setValue("dossierStatusConfig", dossierStatusConfig);

    preferences.setValue("orderBydDossierFile", orderBydDossierFile);

    preferences.setValue("showServiceDomainIdTree", String.valueOf(showServiceDomainIdTree));

    preferences.setValue("hideTabDossierFile", String.valueOf(hideTabDossierFile));

    preferences.setValue("showTabDossierResultFirst", String.valueOf(showTabDossierResultFirst));

    preferences.setValue("hiddenTreeNodeEqualNone", String.valueOf(hiddenTreeNodeEqualNone));

    preferences.setValue("allowResultQuickView", String.valueOf(allowResultQuickView));

    preferences.setValue("fileTypes", fileTypes);

    preferences.setValue("maxTotalUploadFileSize", String.valueOf(maxTotalUploadFileSize));

    preferences.setValue("maxTotalUploadFileSizeUnit", maxTotalUploadFileSizeUnit);

    preferences.setValue("maxUploadFileSize", String.valueOf(maxUploadFileSize));

    preferences.setValue("maxUploadFileSizeUnit", maxUploadFileSizeUnit);

    preferences.setValue("allowQuickCreateDossier", String.valueOf(allowQuickCreateDossier));

    preferences.store();

    SessionMessages.add(actionRequest, "potlet-config-saved");

}

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

License:Open Source License

@Override
public void processAction(PortletConfig arg0, ActionRequest actionRequest, ActionResponse actionResponse)
        throws Exception {

    long plid = ParamUtil.getLong(actionRequest, "plid");
    long plidServiceDetail = ParamUtil.getLong(actionRequest, "plidServiceDetail");

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

    PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest,
            portletResource);//  www.ja  va 2  s  .  co  m
    preferences.setValue("plid", String.valueOf(plid));
    preferences.setValue("plidServiceDetail", String.valueOf(plidServiceDetail));
    preferences.store();
    SessionMessages.add(actionRequest, "potlet-config-saved");

}

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

License:Open Source License

/**
 * @param actionRequest/*from  ww  w  .j  ava 2s. com*/
 * @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");
        }

    }
}