Example usage for com.liferay.portal.kernel.util PortletKeys PREFS_OWNER_ID_DEFAULT

List of usage examples for com.liferay.portal.kernel.util PortletKeys PREFS_OWNER_ID_DEFAULT

Introduction

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

Prototype

long PREFS_OWNER_ID_DEFAULT

To view the source code for com.liferay.portal.kernel.util PortletKeys PREFS_OWNER_ID_DEFAULT.

Click Source Link

Usage

From source file:com.liferay.asset.publisher.web.AssetPublisherPortletLayoutListener.java

License:Open Source License

@Override
public void onRemoveFromLayout(String portletId, long plid) throws PortletLayoutListenerException {

    try {//from  w  w w.j  a va 2  s .c  o  m
        Layout layout = _layoutLocalService.getLayout(plid);

        if (_assetPublisherWebUtil.isDefaultAssetPublisher(layout, portletId, StringPool.BLANK)) {

            _journalArticleLocalService.deleteLayoutArticleReferences(layout.getGroupId(), layout.getUuid());
        }

        long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT;
        int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT;

        if (PortletIdCodec.hasUserId(portletId)) {
            ownerType = PortletKeys.PREFS_OWNER_TYPE_USER;
            ownerId = PortletIdCodec.decodeUserId(portletId);
        }

        _subscriptionLocalService.deleteSubscriptions(layout.getCompanyId(), PortletPreferences.class.getName(),
                _assetPublisherWebUtil.getSubscriptionClassPK(ownerId, ownerType, plid, portletId));
    } catch (Exception e) {
        throw new PortletLayoutListenerException(e);
    }
}

From source file:com.liferay.asset.publisher.web.internal.util.AssetPublisherWebUtil.java

License:Open Source License

public long getSubscriptionClassPK(long plid, String portletId) throws PortalException {

    return getSubscriptionClassPK(PortletKeys.PREFS_OWNER_ID_DEFAULT, PortletKeys.PREFS_OWNER_TYPE_LAYOUT, plid,
            portletId);/* www  . ja v a2s .c o  m*/
}

From source file:com.liferay.asset.publisher.web.util.AssetPublisherUtil.java

License:Open Source License

public static long getSubscriptionClassPK(long plid, String portletId) throws PortalException {

    return getSubscriptionClassPK(PortletKeys.PREFS_OWNER_ID_DEFAULT, PortletKeys.PREFS_OWNER_TYPE_LAYOUT, plid,
            portletId);// ww  w  .  j  a  va 2 s .  c  om
}

From source file:com.liferay.exportimport.controller.PortletExportController.java

License:Open Source License

public void exportPortlet(PortletDataContext portletDataContext, long plid, Element parentElement,
        boolean exportPermissions, boolean exportPortletArchivedSetups, boolean exportPortletData,
        boolean exportPortletSetup, boolean exportPortletUserPreferences) throws Exception {

    long layoutId = LayoutConstants.DEFAULT_PARENT_LAYOUT_ID;

    Layout layout = _layoutLocalService.fetchLayout(plid);

    if (layout != null) {
        layoutId = layout.getLayoutId();
    }//w  ww .  ja v  a 2  s.  c  o  m

    Portlet portlet = _portletLocalService.getPortletById(portletDataContext.getCompanyId(),
            portletDataContext.getPortletId());

    if ((portlet == null) || portlet.isUndeployedPortlet()) {
        if (_log.isDebugEnabled()) {
            _log.debug("Do not export portlet " + portletDataContext.getPortletId()
                    + " because the portlet is not deployed");
        }

        return;
    }

    if (!portlet.isInstanceable() && !portlet.isPreferencesUniquePerLayout()
            && portletDataContext.hasNotUniquePerLayout(portletDataContext.getPortletId())) {

        return;
    }

    if (BackgroundTaskThreadLocal.hasBackgroundTask()) {
        PortletDataContext clonedPortletDataContext = _portletDataContextFactory
                .clonePortletDataContext(portletDataContext);

        ManifestSummary manifestSummary = clonedPortletDataContext.getManifestSummary();

        manifestSummary.resetCounters();

        PortletDataHandler portletDataHandler = portlet.getPortletDataHandlerInstance();

        portletDataHandler.prepareManifestSummary(clonedPortletDataContext);

        _portletDataHandlerStatusMessageSender.sendStatusMessage("portlet", portletDataContext.getPortletId(),
                manifestSummary);
    }

    Document document = SAXReaderUtil.createDocument();

    Element portletElement = document.addElement("portlet");

    portletElement.addAttribute("portlet-id", portletDataContext.getPortletId());
    portletElement.addAttribute("root-portlet-id", portletDataContext.getRootPortletId());
    portletElement.addAttribute("old-plid", String.valueOf(plid));
    portletElement.addAttribute("scope-group-id", String.valueOf(portletDataContext.getScopeGroupId()));
    portletElement.addAttribute("scope-layout-type", portletDataContext.getScopeType());
    portletElement.addAttribute("scope-layout-uuid", portletDataContext.getScopeLayoutUuid());
    portletElement.addAttribute("private-layout", String.valueOf(portletDataContext.isPrivateLayout()));

    // Data

    if (exportPortletData) {
        javax.portlet.PortletPreferences jxPortletPreferences = null;

        if (ExportImportThreadLocal.isInitialLayoutStagingInProcess()) {
            if (layout != null) {
                Group liveGroup = layout.getGroup();

                Group stagingGroup = liveGroup.getStagingGroup();

                layout.setGroupId(stagingGroup.getGroupId());

                jxPortletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(layout,
                        portletDataContext.getPortletId());

                layout.setGroupId(liveGroup.getGroupId());
            } else {
                Group liveGroup = _groupLocalService.getGroup(portletDataContext.getGroupId());

                Group stagingGroup = liveGroup.getStagingGroup();

                jxPortletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(
                        portletDataContext.getCompanyId(), stagingGroup.getGroupId(),
                        portletDataContext.getPortletId());
            }
        } else {
            if (layout != null) {
                jxPortletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(layout,
                        portletDataContext.getPortletId());
            } else {
                jxPortletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(
                        portletDataContext.getCompanyId(), portletDataContext.getGroupId(),
                        portletDataContext.getPortletId());
            }
        }

        if (!portlet.isPreferencesUniquePerLayout()) {
            StringBundler sb = new StringBundler(5);

            sb.append(portletDataContext.getPortletId());
            sb.append(StringPool.AT);
            sb.append(portletDataContext.getScopeType());
            sb.append(StringPool.AT);
            sb.append(portletDataContext.getScopeLayoutUuid());

            String dataKey = sb.toString();

            if (!portletDataContext.hasNotUniquePerLayout(dataKey)) {
                portletDataContext.putNotUniquePerLayout(dataKey);

                exportPortletData(portletDataContext, portlet, layout, jxPortletPreferences, portletElement);
            }
        } else {
            exportPortletData(portletDataContext, portlet, layout, jxPortletPreferences, portletElement);
        }
    }

    // Portlet preferences

    if (exportPortletSetup) {

        // Company

        exportPortletPreferences(portletDataContext, portletDataContext.getCompanyId(),
                PortletKeys.PREFS_OWNER_TYPE_COMPANY, false, layout, plid, portlet.getRootPortletId(),
                portletElement);

        // Group

        exportPortletPreferences(portletDataContext, portletDataContext.getScopeGroupId(),
                PortletKeys.PREFS_OWNER_TYPE_GROUP, false, layout, PortletKeys.PREFS_PLID_SHARED,
                portlet.getRootPortletId(), portletElement);

        // Group embedded portlets

        exportPortletPreferences(portletDataContext, portletDataContext.getScopeGroupId(),
                PortletKeys.PREFS_OWNER_TYPE_LAYOUT, false, layout, PortletKeys.PREFS_PLID_SHARED,
                portlet.getPortletId(), portletElement);

        // Layout

        exportPortletPreferences(portletDataContext, PortletKeys.PREFS_OWNER_ID_DEFAULT,
                PortletKeys.PREFS_OWNER_TYPE_LAYOUT, false, layout, plid, portletDataContext.getPortletId(),
                portletElement);
    }

    // Portlet user preferences

    if (exportPortletUserPreferences) {
        List<PortletPreferences> portletPreferencesList = _portletPreferencesLocalService.getPortletPreferences(
                PortletKeys.PREFS_OWNER_TYPE_USER, plid, portletDataContext.getPortletId());

        for (PortletPreferences portletPreferences : portletPreferencesList) {

            boolean defaultUser = false;

            if (portletPreferences.getOwnerId() == PortletKeys.PREFS_OWNER_ID_DEFAULT) {

                defaultUser = true;
            }

            exportPortletPreferences(portletDataContext, portletPreferences.getOwnerId(),
                    PortletKeys.PREFS_OWNER_TYPE_USER, defaultUser, layout, plid,
                    portletDataContext.getPortletId(), portletElement);
        }

        try {
            PortletPreferences groupPortletPreferences = _portletPreferencesLocalService.getPortletPreferences(
                    portletDataContext.getScopeGroupId(), PortletKeys.PREFS_OWNER_TYPE_GROUP,
                    PortletKeys.PREFS_PLID_SHARED, portlet.getRootPortletId());

            exportPortletPreference(portletDataContext, portletDataContext.getScopeGroupId(),
                    PortletKeys.PREFS_OWNER_TYPE_GROUP, false, groupPortletPreferences,
                    portlet.getRootPortletId(), PortletKeys.PREFS_PLID_SHARED, portletElement);
        } catch (NoSuchPortletPreferencesException nsppe) {

            // LPS-52675

            if (_log.isDebugEnabled()) {
                _log.debug(nsppe, nsppe);
            }
        }
    }

    // Archived setups

    if (exportPortletArchivedSetups) {
        List<PortletItem> portletItems = _portletItemLocalService.getPortletItems(
                portletDataContext.getGroupId(), portletDataContext.getRootPortletId(),
                PortletPreferences.class.getName());

        for (PortletItem portletItem : portletItems) {
            exportPortletPreferences(portletDataContext, portletItem.getPortletItemId(),
                    PortletKeys.PREFS_OWNER_TYPE_ARCHIVED, false, null, plid, portletItem.getPortletId(),
                    portletElement);
        }
    }

    // Permissions

    if (exportPermissions) {
        _permissionExporter.exportPortletPermissions(portletDataContext, portletDataContext.getPortletId(),
                layout, portletElement);
    }

    // Zip

    StringBundler pathSB = new StringBundler(4);

    pathSB.append(ExportImportPathUtil.getPortletPath(portletDataContext));
    pathSB.append(StringPool.SLASH);
    pathSB.append(plid);
    pathSB.append("/portlet.xml");

    String path = pathSB.toString();

    Element element = parentElement.addElement("portlet");

    element.addAttribute("portlet-id", portletDataContext.getPortletId());
    element.addAttribute("layout-id", String.valueOf(layoutId));
    element.addAttribute("path", path);
    element.addAttribute("portlet-data", String.valueOf(exportPortletData));

    PortletDataHandler portletDataHandler = portlet.getPortletDataHandlerInstance();

    element.addAttribute("schema-version", portletDataHandler.getSchemaVersion());

    StringBundler configurationOptionsSB = new StringBundler(6);

    if (exportPortletSetup) {
        configurationOptionsSB.append("setup");
        configurationOptionsSB.append(StringPool.COMMA);
    }

    if (exportPortletArchivedSetups) {
        configurationOptionsSB.append("archived-setups");
        configurationOptionsSB.append(StringPool.COMMA);
    }

    if (exportPortletUserPreferences) {
        configurationOptionsSB.append("user-preferences");
        configurationOptionsSB.append(StringPool.COMMA);
    }

    if (configurationOptionsSB.index() > 0) {
        configurationOptionsSB.setIndex(configurationOptionsSB.index() - 1);
    }

    element.addAttribute("portlet-configuration", configurationOptionsSB.toString());

    try {
        portletDataContext.addZipEntry(path, document.formattedString());
    } catch (IOException ioe) {
        if (_log.isWarnEnabled()) {
            _log.warn(ioe.getMessage());
        }
    }
}

From source file:com.liferay.exportimport.controller.PortletImportController.java

License:Open Source License

public void importPortletData(PortletDataContext portletDataContext, Element portletDataElement)
        throws Exception {

    long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT;
    int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT;

    javax.portlet.PortletPreferences portletPreferences = _portletPreferencesLocalService.fetchPreferences(
            portletDataContext.getCompanyId(), ownerId, ownerType, portletDataContext.getPlid(),
            portletDataContext.getPortletId());

    if (portletPreferences == null) {
        portletPreferences = new PortletPreferencesImpl();
    }/*from  ww  w.  j av  a  2 s.  co m*/

    String xml = importPortletData(portletDataContext, portletPreferences, portletDataElement);

    if (Validator.isNotNull(xml)) {
        _portletPreferencesLocalService.updatePreferences(ownerId, ownerType, portletDataContext.getPlid(),
                portletDataContext.getPortletId(), xml);
    }
}

From source file:com.liferay.exportimport.controller.PortletImportController.java

License:Open Source License

public void importPortletPreferences(PortletDataContext portletDataContext, long companyId, long groupId,
        Layout layout, Element parentElement, boolean preserveScopeLayoutId,
        boolean importPortletArchivedSetups, boolean importPortletData, boolean importPortletSetup,
        boolean importPortletUserPreferences) throws Exception {

    long plid = LayoutConstants.DEFAULT_PLID;
    String scopeType = StringPool.BLANK;
    String scopeLayoutUuid = StringPool.BLANK;

    if (layout != null) {
        plid = layout.getPlid();/*from  w  ww.j a  v a  2s  .  co  m*/

        if (preserveScopeLayoutId) {
            javax.portlet.PortletPreferences jxPortletPreferences = PortletPreferencesFactoryUtil
                    .getLayoutPortletSetup(layout, portletDataContext.getPortletId());

            scopeType = GetterUtil.getString(jxPortletPreferences.getValue("lfrScopeType", null));
            scopeLayoutUuid = GetterUtil.getString(jxPortletPreferences.getValue("lfrScopeLayoutUuid", null));

            portletDataContext.setScopeType(scopeType);
            portletDataContext.setScopeLayoutUuid(scopeLayoutUuid);
        }
    }

    List<Element> portletPreferencesElements = parentElement.elements("portlet-preferences");

    for (Element portletPreferencesElement : portletPreferencesElements) {
        String path = portletPreferencesElement.attributeValue("path");

        if (portletDataContext.isPathNotProcessed(path)) {
            String xml = null;

            Element element = null;

            try {
                xml = portletDataContext.getZipEntryAsString(path);

                Document preferencesDocument = SAXReaderUtil.read(xml);

                element = preferencesDocument.getRootElement();
            } catch (DocumentException de) {
                throw new SystemException(
                        "Unable to parse XML portlet preferences for portlet "
                                + portletDataContext.getPortletId() + " while importing portlet preferences",
                        de);
            }

            long ownerId = GetterUtil.getLong(element.attributeValue("owner-id"));
            int ownerType = GetterUtil.getInteger(element.attributeValue("owner-type"));

            if ((ownerType == PortletKeys.PREFS_OWNER_TYPE_COMPANY) || !importPortletSetup) {

                continue;
            }

            if ((ownerType == PortletKeys.PREFS_OWNER_TYPE_ARCHIVED) && !importPortletArchivedSetups) {

                continue;
            }

            if ((ownerType == PortletKeys.PREFS_OWNER_TYPE_USER)
                    && (ownerId != PortletKeys.PREFS_OWNER_ID_DEFAULT) && !importPortletUserPreferences) {

                continue;
            }

            long curPlid = plid;
            String curPortletId = portletDataContext.getPortletId();

            if (ownerType == PortletKeys.PREFS_OWNER_TYPE_GROUP) {
                curPlid = PortletKeys.PREFS_PLID_SHARED;
                curPortletId = portletDataContext.getRootPortletId();
                ownerId = portletDataContext.getScopeGroupId();
            }

            long elementPlid = GetterUtil.getLong(element.attributeValue("plid"));

            if ((ownerType == PortletKeys.PREFS_OWNER_TYPE_LAYOUT)
                    && (ownerId != PortletKeys.PREFS_OWNER_ID_DEFAULT)
                    && (elementPlid == PortletKeys.PREFS_PLID_SHARED)) {

                curPlid = PortletKeys.PREFS_PLID_SHARED;
                ownerId = portletDataContext.getScopeGroupId();
            }

            if (ownerType == PortletKeys.PREFS_OWNER_TYPE_ARCHIVED) {
                String userUuid = element.attributeValue("archive-user-uuid");

                long userId = portletDataContext.getUserId(userUuid);

                String name = element.attributeValue("archive-name");

                curPortletId = portletDataContext.getRootPortletId();

                PortletItem portletItem = _portletItemLocalService.updatePortletItem(userId, groupId, name,
                        curPortletId, PortletPreferences.class.getName());

                curPlid = LayoutConstants.DEFAULT_PLID;
                ownerId = portletItem.getPortletItemId();
            }

            if (ownerType == PortletKeys.PREFS_OWNER_TYPE_USER) {
                String userUuid = element.attributeValue("user-uuid");

                ownerId = portletDataContext.getUserId(userUuid);
            }

            boolean defaultUser = GetterUtil.getBoolean(element.attributeValue("default-user"));

            if (defaultUser) {
                ownerId = _userLocalService.getDefaultUserId(companyId);
            }

            javax.portlet.PortletPreferences jxPortletPreferences = PortletPreferencesFactoryUtil
                    .fromXML(companyId, ownerId, ownerType, curPlid, curPortletId, xml);

            Element importDataRootElement = portletDataContext.getImportDataRootElement();

            try {
                Element preferenceDataElement = portletPreferencesElement.element("preference-data");

                if (preferenceDataElement != null) {
                    portletDataContext.setImportDataRootElement(preferenceDataElement);
                }

                ExportImportPortletPreferencesProcessor exportImportPortletPreferencesProcessor = ExportImportPortletPreferencesProcessorRegistryUtil
                        .getExportImportPortletPreferencesProcessor(
                                PortletIdCodec.decodePortletName(curPortletId));

                if (exportImportPortletPreferencesProcessor != null) {
                    List<Capability> importCapabilities = exportImportPortletPreferencesProcessor
                            .getImportCapabilities();

                    if (ListUtil.isNotEmpty(importCapabilities)) {
                        for (Capability importCapability : importCapabilities) {

                            importCapability.process(portletDataContext, jxPortletPreferences);
                        }
                    }

                    exportImportPortletPreferencesProcessor.processImportPortletPreferences(portletDataContext,
                            jxPortletPreferences);
                } else {
                    PortletDataHandler portletDataHandler = _portletDataHandlerProvider
                            .provide(portletDataContext.getCompanyId(), curPortletId);

                    if (portletDataHandler != null) {
                        jxPortletPreferences = portletDataHandler.processImportPortletPreferences(
                                portletDataContext, curPortletId, jxPortletPreferences);
                    }
                }
            } finally {
                portletDataContext.setImportDataRootElement(importDataRootElement);
            }

            updatePortletPreferences(portletDataContext, ownerId, ownerType, curPlid, curPortletId,
                    PortletPreferencesFactoryUtil.toXML(jxPortletPreferences), importPortletData);
        }
    }

    if (preserveScopeLayoutId && (layout != null)) {
        javax.portlet.PortletPreferences jxPortletPreferences = PortletPreferencesFactoryUtil
                .getLayoutPortletSetup(layout, portletDataContext.getPortletId());

        try {
            jxPortletPreferences.setValue("lfrScopeType", scopeType);
            jxPortletPreferences.setValue("lfrScopeLayoutUuid", scopeLayoutUuid);

            jxPortletPreferences.store();
        } finally {
            portletDataContext.setScopeType(scopeType);
            portletDataContext.setScopeLayoutUuid(scopeLayoutUuid);
        }
    }
}

From source file:com.liferay.exportimport.controller.PortletImportController.java

License:Open Source License

protected void deletePortletData(PortletDataContext portletDataContext) throws Exception {

    long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT;
    int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT;

    javax.portlet.PortletPreferences portletPreferences = _portletPreferencesLocalService.fetchPreferences(
            portletDataContext.getCompanyId(), ownerId, ownerType, portletDataContext.getPlid(),
            portletDataContext.getPortletId());

    if (portletPreferences == null) {
        portletPreferences = new PortletPreferencesImpl();
    }/*from w  w  w  .  j  a  v a2  s  .  c  om*/

    String xml = deletePortletData(portletDataContext, portletPreferences);

    if (xml != null) {
        _portletPreferencesLocalService.updatePreferences(ownerId, ownerType, portletDataContext.getPlid(),
                portletDataContext.getPortletId(), xml);
    }
}

From source file:com.liferay.exportimport.controller.test.PortletImportControllerTest.java

License:Open Source License

@Test
public void testUdatePortletPreferencesPlid0NotNull() throws Exception {
    Date lastPublishDate = new Date(System.currentTimeMillis());

    PortletPreferencesImpl portletPreferencesImpl = setLastPublishDate(group, lastPublishDate, null);

    Assert.assertEquals(PortletKeys.PREFS_OWNER_ID_DEFAULT, portletPreferencesImpl.getOwnerId());
    Assert.assertEquals(PortletKeys.PREFS_OWNER_TYPE_LAYOUT, portletPreferencesImpl.getOwnerType());
    Assert.assertEquals(LayoutConstants.DEFAULT_PLID, portletPreferencesImpl.getPlid());

    exportLayouts(new long[] { layout.getLayoutId() }, getExportParameterMap());

    importLayouts(getImportParameterMap());

    PortletPreferences portletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(
            importedGroup.getCompanyId(), importedGroup.getGroupId(), BookmarksPortletKeys.BOOKMARKS);

    Assert.assertEquals(Long.valueOf(lastPublishDate.getTime()),
            Long.valueOf(portletPreferences.getValue("last-publish-date", null)));
}

From source file:com.liferay.exportimport.controller.test.PortletImportControllerTest.java

License:Open Source License

@Test
public void testUdatePortletPreferencesPlid1NotNullNotNull() throws Exception {

    Date lastPublishDate1 = new Date(System.currentTimeMillis() - 1);
    Date lastPublishDate2 = new Date(System.currentTimeMillis());

    PortletPreferencesImpl portletPreferencesImpl1 = setLastPublishDate(group, lastPublishDate1, layout);

    Assert.assertEquals(PortletKeys.PREFS_OWNER_ID_DEFAULT, portletPreferencesImpl1.getOwnerId());
    Assert.assertEquals(PortletKeys.PREFS_OWNER_TYPE_LAYOUT, portletPreferencesImpl1.getOwnerType());
    Assert.assertEquals(layout.getPlid(), portletPreferencesImpl1.getPlid());

    PortletPreferencesImpl portletPreferencesImpl2 = setLastPublishDate(importedGroup, lastPublishDate2,
            importedGroupLayout);//from  w  ww . jav a  2 s.  com

    Assert.assertEquals(PortletKeys.PREFS_OWNER_ID_DEFAULT, portletPreferencesImpl2.getOwnerId());
    Assert.assertEquals(PortletKeys.PREFS_OWNER_TYPE_LAYOUT, portletPreferencesImpl2.getOwnerType());
    Assert.assertEquals(importedGroupLayout.getPlid(), portletPreferencesImpl2.getPlid());

    exportLayouts(new long[] { layout.getLayoutId() }, getExportParameterMap());

    importLayouts(getImportParameterMap());

    PortletPreferences portletPreferences = PortletPreferencesFactoryUtil
            .getStrictPortletSetup(importedGroupLayout, BookmarksPortletKeys.BOOKMARKS);

    Assert.assertEquals(Long.valueOf(lastPublishDate2.getTime()),
            Long.valueOf(portletPreferences.getValue("last-publish-date", null)));
}

From source file:com.liferay.exportimport.controller.test.PortletImportControllerTest.java

License:Open Source License

@Test
public void testUdatePortletPreferencesPlid1NotNullNull() throws Exception {
    Date lastPublishDate = new Date(System.currentTimeMillis());

    PortletPreferencesImpl portletPreferencesImpl = setLastPublishDate(group, lastPublishDate, layout);

    Assert.assertEquals(PortletKeys.PREFS_OWNER_ID_DEFAULT, portletPreferencesImpl.getOwnerId());
    Assert.assertEquals(PortletKeys.PREFS_OWNER_TYPE_LAYOUT, portletPreferencesImpl.getOwnerType());
    Assert.assertEquals(layout.getPlid(), portletPreferencesImpl.getPlid());

    exportLayouts(new long[] { layout.getLayoutId() }, getExportParameterMap());

    importLayouts(getImportParameterMap());

    PortletPreferences portletPreferences = PortletPreferencesFactoryUtil
            .getStrictPortletSetup(importedGroupLayout, BookmarksPortletKeys.BOOKMARKS);

    Assert.assertNull(portletPreferences.getValue("last-publish-date", null));
}