@Override
public long publishLayout(
long userId, long plid, long liveGroupId, boolean includeChildren)
throws PortalException {
Map<String, String[]> parameterMap =
_exportImportConfigurationParameterMapFactory.buildParameterMap();
parameterMap.put(
PortletDataHandlerKeys.DELETE_MISSING_LAYOUTS,
new String[] {Boolean.FALSE.toString()});
Layout layout = _layoutLocalService.getLayout(plid);
List<Layout> layouts = new ArrayList<>();
layouts.add(layout);
List<Layout> parentLayouts =
_exportImportHelper.getMissingParentLayouts(layout, liveGroupId);
layouts.addAll(parentLayouts);
if (includeChildren) {
layouts.addAll(layout.getAllChildren());
}
long[] layoutIds = _exportImportHelper.getLayoutIds(layouts);
return publishLayouts(
userId, layout.getGroupId(), liveGroupId, layout.isPrivateLayout(),
layoutIds, parameterMap);
}