Ejemplo n.º 1
0
  @Override
  protected void doImportStagedModel(PortletDataContext portletDataContext, JournalFolder folder)
      throws Exception {

    long userId = portletDataContext.getUserId(folder.getUserUuid());

    if (folder.getParentFolderId() != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

      StagedModelDataHandlerUtil.importReferenceStagedModel(
          portletDataContext, folder, JournalFolder.class, folder.getParentFolderId());
    }

    Map<Long, Long> folderIds =
        (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(JournalFolder.class);

    long parentFolderId =
        MapUtil.getLong(folderIds, folder.getParentFolderId(), folder.getParentFolderId());

    ServiceContext serviceContext = portletDataContext.createServiceContext(folder);

    JournalFolder importedFolder = null;

    long groupId = portletDataContext.getScopeGroupId();

    if (portletDataContext.isDataStrategyMirror()) {
      JournalFolder existingFolder =
          JournalFolderLocalServiceUtil.fetchJournalFolderByUuidAndGroupId(
              folder.getUuid(), groupId);

      if (existingFolder == null) {
        serviceContext.setUuid(folder.getUuid());

        importedFolder =
            JournalFolderLocalServiceUtil.addFolder(
                userId,
                groupId,
                parentFolderId,
                folder.getName(),
                folder.getDescription(),
                serviceContext);
      } else {
        importedFolder =
            JournalFolderLocalServiceUtil.updateFolder(
                userId,
                existingFolder.getFolderId(),
                parentFolderId,
                folder.getName(),
                folder.getDescription(),
                false,
                serviceContext);
      }
    } else {
      importedFolder =
          JournalFolderLocalServiceUtil.addFolder(
              userId,
              groupId,
              parentFolderId,
              folder.getName(),
              folder.getDescription(),
              serviceContext);
    }

    portletDataContext.importClassedModel(folder, importedFolder);
  }