@Override protected void doImportStagedModel( PortletDataContext portletDataContext, Element element, String path, BookmarksFolder folder) throws Exception { long userId = portletDataContext.getUserId(folder.getUserUuid()); Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(BookmarksFolder.class); long parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId()); if ((parentFolderId != BookmarksFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (parentFolderId == folder.getParentFolderId())) { String parentFolderPath = StagedModelPathUtil.getPath( portletDataContext, BookmarksFolder.class.getName(), parentFolderId); BookmarksFolder parentFolder = (BookmarksFolder) portletDataContext.getZipEntryAsObject(parentFolderPath); importStagedModel(portletDataContext, element, parentFolderPath, parentFolder); parentFolderId = MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId()); } ServiceContext serviceContext = portletDataContext.createServiceContext( path, folder, BookmarksPortletDataHandler.NAMESPACE); BookmarksFolder importedFolder = null; if (portletDataContext.isDataStrategyMirror()) { BookmarksFolder existingFolder = BookmarksFolderUtil.fetchByUUID_G(folder.getUuid(), portletDataContext.getScopeGroupId()); if (existingFolder == null) { serviceContext.setUuid(folder.getUuid()); importedFolder = BookmarksFolderLocalServiceUtil.addFolder( userId, parentFolderId, folder.getName(), folder.getDescription(), serviceContext); } else { importedFolder = BookmarksFolderLocalServiceUtil.updateFolder( userId, existingFolder.getFolderId(), parentFolderId, folder.getName(), folder.getDescription(), false, serviceContext); } } else { importedFolder = BookmarksFolderLocalServiceUtil.addFolder( userId, parentFolderId, folder.getName(), folder.getDescription(), serviceContext); } portletDataContext.importClassedModel( folder, importedFolder, BookmarksPortletDataHandler.NAMESPACE); }