/** * Returns a source root path, or fragment, of the model path. This method * is called by the {@link #getRootPath(PortletDataContext)} method. The * fragment is generated with the source group ID from the portlet data * context. This helper method is useful during the import process. * * <p> * For example, a source root path would resemble the following: * </p> * * <p> * <pre> * <code> * /group/"queried groupId" * </code> * </pre></p> * * @param portletDataContext the context of the current export/import * process * @return a path fragment * @see PortletDataContext#getSourceGroupId() */ public static String getSourceRootPath( PortletDataContext portletDataContext) { return getRootPath( PATH_PREFIX_GROUP, portletDataContext.getSourceGroupId()); }
/** * Returns a root path, or fragment, of the model path based on the scope * group ID from the portlet data context. * * <p> * For example, a root path would resemble the following: * </p> * * <p> * <pre> * <code> * /group/"queried groupId" * </code> * </pre></p> * * @param portletDataContext the context of the current export/import * process * @return a root path, or fragment, of the model path * @see PortletDataContext#getScopeGroupId() * @see #getSourceRootPath(PortletDataContext) */ public static String getRootPath(PortletDataContext portletDataContext) { return getRootPath( PATH_PREFIX_GROUP, portletDataContext.getScopeGroupId()); }
/** * @deprecated As of Wilberforce (7.0.x), replaced by {@link * #getModelPath(StagedModel)} */ @Deprecated public static String getLayoutPath( PortletDataContext portletDataContext, long plid) { StringBundler sb = new StringBundler(6); sb.append(getRootPath(portletDataContext)); sb.append(StringPool.FORWARD_SLASH); sb.append(PATH_PREFIX_LAYOUT); sb.append(StringPool.FORWARD_SLASH); sb.append(plid); sb.append(_FILE_EXTENSION_XML); return sb.toString(); }
protected static String getModelPath( String pathPrefix, long pathPrimaryKey, String className, Serializable primaryKeyObj, String dependentFileName) { StringBundler sb = new StringBundler(7); sb.append(getRootPath(pathPrefix, pathPrimaryKey)); sb.append(StringPool.FORWARD_SLASH); sb.append(className); sb.append(StringPool.FORWARD_SLASH); sb.append(primaryKeyObj.toString()); if (dependentFileName == null) { sb.append(_FILE_EXTENSION_XML); } else { sb.append(StringPool.FORWARD_SLASH); sb.append(dependentFileName); } return sb.toString(); }
/** * Returns a portlet path for the portlet ID. * * <p> * For example, a portlet path would resemble the following: * </p> * * <p> * <pre> * <code> * /group/"queried groupId"/portlet/"portletId" * </code> * </pre></p> * * @param portletDataContext the context of the current export/import * process * @param portletId the portlet ID the path is being generated for * @return a portlet path for the portlet ID */ public static String getPortletPath( PortletDataContext portletDataContext, String portletId) { StringBundler sb = new StringBundler(5); sb.append(getRootPath(portletDataContext)); sb.append(StringPool.FORWARD_SLASH); sb.append(PATH_PREFIX_PORTLET); sb.append(StringPool.FORWARD_SLASH); sb.append(portletId); return sb.toString(); }
public static String getServicePortletPreferencesPath( PortletDataContext portletDataContext, String serviceName, long ownerId, int ownerType) { StringBundler sb = new StringBundler(10); sb.append(getRootPath(portletDataContext)); sb.append(StringPool.FORWARD_SLASH); sb.append(PATH_PREFIX_SERVICE); sb.append(StringPool.FORWARD_SLASH); sb.append(serviceName); sb.append(StringPool.FORWARD_SLASH); sb.append(getOwnerTypePath(ownerType)); sb.append(ownerId); sb.append(CharPool.FORWARD_SLASH); sb.append("portlet-preferences.xml"); return sb.toString(); }
@Override public void exportLocks(PortletDataContext portletDataContext) throws Exception { Document document = SAXReaderUtil.createDocument(); Element rootElement = document.addElement("locks"); Map<String, Lock> locksMap = portletDataContext.getLocks(); for (Map.Entry<String, Lock> entry : locksMap.entrySet()) { Lock lock = entry.getValue(); String entryKey = entry.getKey(); int pos = entryKey.indexOf(CharPool.POUND); String className = entryKey.substring(0, pos); String key = entryKey.substring(pos + 1); String path = getLockPath(portletDataContext, className, key, lock); Element assetElement = rootElement.addElement("asset"); assetElement.addAttribute("path", path); assetElement.addAttribute("class-name", className); assetElement.addAttribute("key", key); portletDataContext.addZipEntry(path, lock); } portletDataContext.addZipEntry( ExportImportPathUtil.getRootPath(portletDataContext) + "/locks.xml", document.formattedString()); }
public void exportDeletionSystemEvents( PortletDataContext portletDataContext) throws Exception { Document document = SAXReaderUtil.createDocument(); Element rootElement = document.addElement("deletion-system-events"); Set<StagedModelType> deletionSystemEventStagedModelTypes = portletDataContext.getDeletionSystemEventStagedModelTypes(); if (!deletionSystemEventStagedModelTypes.isEmpty() && MapUtil.getBoolean( portletDataContext.getParameterMap(), PortletDataHandlerKeys.DELETIONS)) { doExportDeletionSystemEvents( portletDataContext, rootElement, deletionSystemEventStagedModelTypes); } portletDataContext.addZipEntry( ExportImportPathUtil.getRootPath(portletDataContext) + "/deletion-system-events.xml", document.formattedString()); }
ExportImportPathUtil.getRootPath(portletDataContext) + "/portlet-data-permissions.xml", document.formattedString());
ExportImportPathUtil.getRootPath(portletDataContext) + "/expando-tables.xml", document.formattedString());
protected String getLockPath( PortletDataContext portletDataContext, String className, String key, Lock lock) { StringBundler sb = new StringBundler(8); sb.append(ExportImportPathUtil.getRootPath(portletDataContext)); sb.append("/locks/"); sb.append(_portal.getClassNameId(className)); sb.append(CharPool.FORWARD_SLASH); sb.append(key); sb.append(CharPool.FORWARD_SLASH); sb.append(lock.getLockId()); sb.append(".xml"); return sb.toString(); }
@Override public void exportAssetLinks(PortletDataContext portletDataContext) throws Exception { Document document = SAXReaderUtil.createDocument(); Element rootElement = document.addElement("links"); Element exportDataRootElement = portletDataContext.getExportDataRootElement(); try { portletDataContext.setExportDataRootElement(rootElement); List<AssetLink> assetLinks = _assetLinkLocalService.getLinks( portletDataContext.getGroupId(), portletDataContext.getStartDate(), portletDataContext.getEndDate(), QueryUtil.ALL_POS, QueryUtil.ALL_POS); for (AssetLink assetLink : assetLinks) { StagedAssetLink stagedAssetLink = ModelAdapterUtil.adapt( assetLink, AssetLink.class, StagedAssetLink.class); portletDataContext.addClassedModel( portletDataContext.getExportDataElement(stagedAssetLink), ExportImportPathUtil.getModelPath(stagedAssetLink), stagedAssetLink); } } finally { portletDataContext.setExportDataRootElement(exportDataRootElement); } portletDataContext.addZipEntry( ExportImportPathUtil.getRootPath(portletDataContext) + "/links.xml", document.formattedString()); }