Example usage for com.liferay.portal.kernel.xml Element attributeValue

List of usage examples for com.liferay.portal.kernel.xml Element attributeValue

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.xml Element attributeValue.

Prototype

public String attributeValue(String name);

Source Link

Usage

From source file:com.liferay.portlet.bookmarks.lar.BookmarksPortletDataHandlerImpl.java

License:Open Source License

@Override
protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences, String data) throws Exception {

    portletDataContext.importPermissions("com.liferay.portlet.bookmarks", portletDataContext.getSourceGroupId(),
            portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.read(data);

    Element rootElement = document.getRootElement();

    Element foldersElement = rootElement.element("folders");

    for (Element folderElement : foldersElement.elements("folder")) {
        String path = folderElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }/*  ww  w . ja  v a2s .  co  m*/

        BookmarksFolder folder = (BookmarksFolder) portletDataContext.getZipEntryAsObject(path);

        importFolder(portletDataContext, path, folder);
    }

    Element entriesElement = rootElement.element("entries");

    for (Element entryElement : entriesElement.elements("entry")) {
        String path = entryElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        BookmarksEntry entry = (BookmarksEntry) portletDataContext.getZipEntryAsObject(path);

        importEntry(portletDataContext, entryElement, entry);
    }

    return null;
}

From source file:com.liferay.portlet.calendar.lar.CalendarPortletDataHandlerImpl.java

License:Open Source License

@Override
protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences, String data) throws Exception {

    portletDataContext.importPermissions("com.liferay.portlet.calendar", portletDataContext.getSourceGroupId(),
            portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.read(data);

    Element rootElement = document.getRootElement();

    for (Element eventElement : rootElement.elements("event")) {
        String path = eventElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }//from  w w w .j ava  2 s .c o m

        CalEvent event = (CalEvent) portletDataContext.getZipEntryAsObject(path);

        importEvent(portletDataContext, eventElement, event);
    }

    return null;
}

From source file:com.liferay.portlet.documentlibrary.lar.DLDisplayPortletDataHandlerImpl.java

License:Open Source License

@Override
protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences, String data) throws Exception {

    portletDataContext.importPermissions("com.liferay.portlet.documentlibrary",
            portletDataContext.getSourceGroupId(), portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.read(data);

    Element rootElement = document.getRootElement();

    Element fileEntryTypesElement = rootElement.element("file-entry-types");

    List<Element> fileEntryTypeElements = fileEntryTypesElement.elements("file-entry-type");

    for (Element fileEntryTypeElement : fileEntryTypeElements) {
        DLPortletDataHandlerImpl.importFileEntryType(portletDataContext, fileEntryTypeElement);
    }/*  w  w  w  .  j  a  v a  2 s  . c  om*/

    Element foldersElement = rootElement.element("folders");

    List<Element> folderElements = foldersElement.elements("folder");

    for (Element folderElement : folderElements) {
        DLPortletDataHandlerImpl.importFolder(portletDataContext, folderElement);
    }

    Element fileEntriesElement = rootElement.element("file-entries");

    List<Element> fileEntryElements = fileEntriesElement.elements("file-entry");

    for (Element fileEntryElement : fileEntryElements) {
        DLPortletDataHandlerImpl.importFileEntry(portletDataContext, fileEntryElement);
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "shortcuts")) {
        List<Element> fileShortcutElements = rootElement.element("file-shortcuts").elements("file-shortcut");

        for (Element fileShortcutElement : fileShortcutElements) {
            DLPortletDataHandlerImpl.importFileShortcut(portletDataContext, fileShortcutElement);
        }
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "ranks")) {
        Element fileRanksElement = rootElement.element("file-ranks");

        List<Element> fileRankElements = fileRanksElement.elements("file-rank");

        for (Element fileRankElement : fileRankElements) {
            DLPortletDataHandlerImpl.importFileRank(portletDataContext, fileRankElement);
        }
    }

    long rootFolderId = GetterUtil.getLong(rootElement.attributeValue("root-folder-id"));

    if (rootFolderId > 0) {
        Map<Long, Long> folderPKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Folder.class);

        rootFolderId = MapUtil.getLong(folderPKs, rootFolderId, rootFolderId);

        portletPreferences.setValue("rootFolderId", String.valueOf(rootFolderId));
    }

    return portletPreferences;
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void importFileEntry(PortletDataContext portletDataContext, Element fileEntryElement)
        throws Exception {

    String path = fileEntryElement.attributeValue("path");

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;/* w w  w . j a v a2  s .com*/
    }

    boolean dlProcessorEnabled = DLProcessorThreadLocal.isEnabled();

    try {
        DLProcessorThreadLocal.setEnabled(false);

        importFileEntry(portletDataContext, fileEntryElement, path);
    } finally {
        DLProcessorThreadLocal.setEnabled(dlProcessorEnabled);
    }
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void importFileEntry(PortletDataContext portletDataContext, Element fileEntryElement, String path)
        throws Exception {

    FileEntry fileEntry = (FileEntry) portletDataContext.getZipEntryAsObject(path);

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

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

    long folderId = MapUtil.getLong(folderIds, fileEntry.getFolderId(), fileEntry.getFolderId());

    long[] assetCategoryIds = null;
    String[] assetTagNames = null;

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "categories")) {
        assetCategoryIds = portletDataContext.getAssetCategoryIds(DLFileEntry.class,
                fileEntry.getFileEntryId());
    }/*from w  ww . j  ava 2  s.  c  o m*/

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "tags")) {
        assetTagNames = portletDataContext.getAssetTagNames(DLFileEntry.class, fileEntry.getFileEntryId());
    }

    ServiceContext serviceContext = portletDataContext.createServiceContext(fileEntryElement, fileEntry,
            _NAMESPACE);

    serviceContext.setAttribute("sourceFileName", "A." + fileEntry.getExtension());
    serviceContext.setUserId(userId);

    String binPath = fileEntryElement.attributeValue("bin-path");

    InputStream is = null;

    if (Validator.isNull(binPath) && portletDataContext.isPerformDirectBinaryImport()) {

        try {
            is = FileEntryUtil.getContentStream(fileEntry);
        } catch (NoSuchFileException nsfe) {
        }
    } else {
        is = portletDataContext.getZipEntryAsInputStream(binPath);
    }

    if (is == null) {
        if (_log.isWarnEnabled()) {
            _log.warn("No file found for file entry " + fileEntry.getFileEntryId());
        }

        return;
    }

    if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId == fileEntry.getFolderId())) {

        String folderPath = getImportFolderPath(portletDataContext, folderId);

        Folder folder = (Folder) portletDataContext.getZipEntryAsObject(folderPath);

        Document document = fileEntryElement.getDocument();

        Element rootElement = document.getRootElement();

        Element folderElement = (Element) rootElement
                .selectSingleNode("//folder[@path='".concat(folderPath).concat("']"));

        importFolder(portletDataContext, folderPath, folderElement, folder);

        folderId = MapUtil.getLong(folderIds, fileEntry.getFolderId(), fileEntry.getFolderId());
    }

    importMetaData(portletDataContext, fileEntryElement, serviceContext);

    FileEntry importedFileEntry = null;

    String titleWithExtension = DLUtil.getTitleWithExtension(fileEntry);
    String extension = fileEntry.getExtension();

    String dotExtension = StringPool.PERIOD + extension;

    if (portletDataContext.isDataStrategyMirror()) {
        FileEntry existingFileEntry = FileEntryUtil.fetchByUUID_R(fileEntry.getUuid(),
                portletDataContext.getScopeGroupId());

        FileVersion fileVersion = fileEntry.getFileVersion();

        if (existingFileEntry == null) {
            String fileEntryTitle = fileEntry.getTitle();

            FileEntry existingTitleFileEntry = FileEntryUtil.fetchByR_F_T(portletDataContext.getScopeGroupId(),
                    folderId, fileEntryTitle);

            if (existingTitleFileEntry != null) {
                if ((fileEntry.getGroupId() == portletDataContext.getSourceGroupId())
                        && portletDataContext.isDataStrategyMirrorWithOverwriting()) {

                    DLAppLocalServiceUtil.deleteFileEntry(existingTitleFileEntry.getFileEntryId());
                } else {
                    boolean titleHasExtension = false;

                    if (fileEntryTitle.endsWith(dotExtension)) {
                        fileEntryTitle = FileUtil.stripExtension(fileEntryTitle);

                        titleHasExtension = true;
                    }

                    for (int i = 1;; i++) {
                        fileEntryTitle += StringPool.SPACE + i;

                        titleWithExtension = fileEntryTitle + dotExtension;

                        existingTitleFileEntry = FileEntryUtil.fetchByR_F_T(
                                portletDataContext.getScopeGroupId(), folderId, titleWithExtension);

                        if (existingTitleFileEntry == null) {
                            if (titleHasExtension) {
                                fileEntryTitle += dotExtension;
                            }

                            break;
                        }
                    }
                }
            }

            serviceContext.setAttribute("fileVersionUuid", fileVersion.getUuid());
            serviceContext.setUuid(fileEntry.getUuid());

            // LPS-37869
            if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) {
                titleWithExtension = normalizeFileName(titleWithExtension);
                fileEntryTitle = normalizeFileName(fileEntryTitle);
            }

            importedFileEntry = DLAppLocalServiceUtil.addFileEntry(userId, portletDataContext.getScopeGroupId(),
                    folderId, titleWithExtension, fileEntry.getMimeType(), fileEntryTitle,
                    fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext);
        } else {
            FileVersion latestExistingFileVersion = existingFileEntry.getLatestFileVersion();

            boolean indexEnabled = serviceContext.isIndexingEnabled();

            try {
                serviceContext.setIndexingEnabled(false);

                if (!fileVersion.getUuid().equals(latestExistingFileVersion.getUuid())) {

                    DLFileVersion alreadyExistingFileVersion = DLFileVersionLocalServiceUtil
                            .getFileVersionByUuidAndGroupId(fileVersion.getUuid(),
                                    existingFileEntry.getGroupId());

                    if (alreadyExistingFileVersion != null) {
                        serviceContext.setAttribute("existingDLFileVersionId",
                                alreadyExistingFileVersion.getFileVersionId());
                    }

                    serviceContext.setUuid(fileVersion.getUuid());

                    String fileEntryTitle = fileEntry.getTitle();

                    // LPS-37869
                    if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) {
                        fileEntryTitle = normalizeFileName(fileEntryTitle);
                    }

                    importedFileEntry = DLAppLocalServiceUtil.updateFileEntry(userId,
                            existingFileEntry.getFileEntryId(), fileEntryTitle, fileEntry.getMimeType(),
                            fileEntryTitle, fileEntry.getDescription(), null, false, is, fileEntry.getSize(),
                            serviceContext);

                    /*
                    importedFileEntry =
                       DLAppLocalServiceUtil.updateFileEntry(
                          userId, existingFileEntry.getFileEntryId(),
                          fileEntry.getTitle(), fileEntry.getMimeType(),
                          fileEntry.getTitle(),
                          fileEntry.getDescription(), null, false, is,
                          fileEntry.getSize(), serviceContext);
                     */
                } else {
                    DLAppLocalServiceUtil.updateAsset(userId, existingFileEntry, latestExistingFileVersion,
                            assetCategoryIds, assetTagNames, null);

                    importedFileEntry = existingFileEntry;
                }

                if (importedFileEntry.getFolderId() != folderId) {
                    importedFileEntry = DLAppLocalServiceUtil.moveFileEntry(userId,
                            importedFileEntry.getFileEntryId(), folderId, serviceContext);
                }

                if (importedFileEntry instanceof LiferayFileEntry) {
                    LiferayFileEntry liferayFileEntry = (LiferayFileEntry) importedFileEntry;

                    Indexer indexer = IndexerRegistryUtil.getIndexer(DLFileEntry.class);

                    indexer.reindex(liferayFileEntry.getModel());
                }
            } finally {
                serviceContext.setIndexingEnabled(indexEnabled);
            }
        }
    } else {
        try {

            String fileEntryTitle = fileEntry.getTitle();

            // LPS-37869
            if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) {
                titleWithExtension = normalizeFileName(titleWithExtension);
                fileEntryTitle = normalizeFileName(fileEntryTitle);
            }

            importedFileEntry = DLAppLocalServiceUtil.addFileEntry(userId, portletDataContext.getScopeGroupId(),
                    folderId, titleWithExtension, fileEntry.getMimeType(), fileEntryTitle,
                    fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext);

            /*
            importedFileEntry = DLAppLocalServiceUtil.addFileEntry(
               userId, portletDataContext.getScopeGroupId(), folderId,
               titleWithExtension, fileEntry.getMimeType(),
               fileEntry.getTitle(), fileEntry.getDescription(), null, is,
               fileEntry.getSize(), serviceContext);
            */
        } catch (DuplicateFileException dfe) {
            String title = fileEntry.getTitle();

            // LPS-37869
            if (PropsValuesExt.LAYOUT_IMPORT_DL_FILE_NAME_NORMALIZATION_ENABLED) {
                title = normalizeFileName(title);
            }

            String[] titleParts = title.split("\\.", 2);

            title = titleParts[0] + PwdGenerator.getPassword();

            if (titleParts.length > 1) {
                title += StringPool.PERIOD + titleParts[1];
            }

            if (!title.endsWith(dotExtension)) {
                title += dotExtension;
            }

            importedFileEntry = DLAppLocalServiceUtil.addFileEntry(userId, portletDataContext.getScopeGroupId(),
                    folderId, title, fileEntry.getMimeType(), title, fileEntry.getDescription(), null, is,
                    fileEntry.getSize(), serviceContext);
        }
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "previews-and-thumbnails")) {

        DLProcessorRegistryUtil.importGeneratedFiles(portletDataContext, fileEntry, importedFileEntry,
                fileEntryElement);
    }

    Map<String, String> fileEntryTitles = (Map<String, String>) portletDataContext
            .getNewPrimaryKeysMap(DLFileEntry.class.getName() + ".title");

    fileEntryTitles.put(fileEntry.getTitle(), importedFileEntry.getTitle());

    portletDataContext.importClassedModel(fileEntry, importedFileEntry, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void importFileRank(PortletDataContext portletDataContext, Element fileRankElement)
        throws Exception {

    String path = fileRankElement.attributeValue("path");

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;//from ww w  . ja va  2 s .c o m
    }

    DLFileRank fileRank = (DLFileRank) portletDataContext.getZipEntryAsObject(path);

    String fileEntryUuid = fileRankElement.attributeValue("file-entry-uuid");

    importFileRank(portletDataContext, fileRank, fileEntryUuid);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void importFolder(PortletDataContext portletDataContext, Element folderElement) throws Exception {

    String path = folderElement.attributeValue("path");

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;//  w ww .  j  a  v  a  2  s  . c o  m
    }

    Folder folder = (Folder) portletDataContext.getZipEntryAsObject(path);

    importFolder(portletDataContext, path, folderElement, folder);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void importRepository(PortletDataContext portletDataContext, Element repositoryElement)
        throws Exception {

    String path = repositoryElement.attributeValue("path");

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;//w w  w. j a v  a  2s. c o  m
    }

    Repository repository = (Repository) portletDataContext.getZipEntryAsObject(path);

    long userId = portletDataContext.getUserId(repository.getUserUuid());
    long classNameId = PortalUtil.getClassNameId(repositoryElement.attributeValue("class-name"));

    ServiceContext serviceContext = portletDataContext.createServiceContext(repositoryElement, repository,
            _NAMESPACE);

    long importedRepositoryId = 0;

    try {
        if (portletDataContext.isDataStrategyMirror()) {
            Repository existingRepository = RepositoryUtil.fetchByUUID_G(repository.getUuid(),
                    portletDataContext.getScopeGroupId());

            if (existingRepository == null) {
                serviceContext.setUuid(repository.getUuid());

                importedRepositoryId = RepositoryLocalServiceUtil.addRepository(userId,
                        portletDataContext.getScopeGroupId(), classNameId,
                        DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, repository.getName(),
                        repository.getDescription(), repository.getPortletId(),
                        repository.getTypeSettingsProperties(), serviceContext);
            } else {
                RepositoryLocalServiceUtil.updateRepository(existingRepository.getRepositoryId(),
                        repository.getName(), repository.getDescription());

                importedRepositoryId = existingRepository.getRepositoryId();
            }
        } else {
            importedRepositoryId = RepositoryLocalServiceUtil.addRepository(userId,
                    portletDataContext.getScopeGroupId(), classNameId,
                    DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, repository.getName(),
                    repository.getDescription(), repository.getPortletId(),
                    repository.getTypeSettingsProperties(), serviceContext);
        }
    } catch (Exception e) {
        if (_log.isWarnEnabled()) {
            _log.warn("Unable to connect to repository {name=" + repository.getName() + ", typeSettings="
                    + repository.getTypeSettingsProperties() + "}", e);
        }
    }

    Repository importedRepository = RepositoryLocalServiceUtil.getRepository(importedRepositoryId);

    portletDataContext.importClassedModel(repository, importedRepository, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

public static void importRepositoryEntry(PortletDataContext portletDataContext, Element repositoryEntryElement)
        throws Exception {

    String path = repositoryEntryElement.attributeValue("path");

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;/*from  ww  w.ja v a2  s  . c  o m*/
    }

    RepositoryEntry repositoryEntry = (RepositoryEntry) portletDataContext.getZipEntryAsObject(path);

    Map<Long, Long> repositoryIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Repository.class);

    long repositoryId = MapUtil.getLong(repositoryIds, repositoryEntry.getRepositoryId(),
            repositoryEntry.getRepositoryId());

    ServiceContext serviceContext = portletDataContext.createServiceContext(repositoryEntryElement,
            repositoryEntry, _NAMESPACE);

    RepositoryEntry importedRepositoryEntry = null;

    if (portletDataContext.isDataStrategyMirror()) {
        RepositoryEntry existingRepositoryEntry = RepositoryEntryUtil.fetchByUUID_G(repositoryEntry.getUuid(),
                portletDataContext.getScopeGroupId());

        if (existingRepositoryEntry == null) {
            serviceContext.setUuid(repositoryEntry.getUuid());

            importedRepositoryEntry = RepositoryEntryLocalServiceUtil.addRepositoryEntry(
                    portletDataContext.getScopeGroupId(), repositoryId, repositoryEntry.getMappedId(),
                    serviceContext);
        } else {
            importedRepositoryEntry = RepositoryEntryLocalServiceUtil.updateRepositoryEntry(
                    existingRepositoryEntry.getRepositoryEntryId(), repositoryEntry.getMappedId());
        }
    } else {
        importedRepositoryEntry = RepositoryEntryLocalServiceUtil.addRepositoryEntry(
                portletDataContext.getScopeGroupId(), repositoryId, repositoryEntry.getMappedId(),
                serviceContext);
    }

    portletDataContext.importClassedModel(repositoryEntry, importedRepositoryEntry, _NAMESPACE);
}

From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.java

License:Open Source License

protected static void importFileEntryType(PortletDataContext portletDataContext, Element fileEntryTypeElement)
        throws Exception {

    String path = fileEntryTypeElement.attributeValue("path");

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;/*from   w  w  w  .ja v  a 2  s .c  o  m*/
    }

    DLFileEntryType dlFileEntryType = (DLFileEntryType) portletDataContext.getZipEntryAsObject(path);

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

    String name = getFileEntryTypeName(dlFileEntryType.getUuid(), portletDataContext.getScopeGroupId(),
            dlFileEntryType.getName(), 2);

    List<Element> structureElements = fileEntryTypeElement.elements("structure");

    for (Element structureElement : structureElements) {
        DDMPortletDataHandlerImpl.importStructure(portletDataContext, structureElement);
    }

    String[] ddmStructureUuids = StringUtil.split(fileEntryTypeElement.attributeValue("structureUuids"));

    long[] ddmStrutureIds = new long[ddmStructureUuids.length];

    for (int i = 0; i < ddmStructureUuids.length; i++) {
        DDMStructure existingStructure = DDMStructureUtil.fetchByUUID_G(ddmStructureUuids[i],
                portletDataContext.getScopeGroupId());

        ddmStrutureIds[i] = existingStructure.getStructureId();
    }

    ServiceContext serviceContext = portletDataContext.createServiceContext(path, dlFileEntryType, _NAMESPACE);

    DLFileEntryType importedDLFileEntryType = null;

    if (portletDataContext.isDataStrategyMirror()) {
        DLFileEntryType existingDLFileEntryType = DLFileEntryTypeUtil.fetchByUUID_G(dlFileEntryType.getUuid(),
                portletDataContext.getScopeGroupId());

        if (existingDLFileEntryType == null) {
            serviceContext.setUuid(dlFileEntryType.getUuid());

            importedDLFileEntryType = DLFileEntryTypeLocalServiceUtil.addFileEntryType(userId,
                    portletDataContext.getScopeGroupId(), name, dlFileEntryType.getDescription(),
                    ddmStrutureIds, serviceContext);
        } else {
            DLFileEntryTypeLocalServiceUtil.updateFileEntryType(userId,
                    existingDLFileEntryType.getFileEntryTypeId(), name, dlFileEntryType.getDescription(),
                    ddmStrutureIds, serviceContext);

            importedDLFileEntryType = existingDLFileEntryType;
        }
    } else {
        importedDLFileEntryType = DLFileEntryTypeLocalServiceUtil.addFileEntryType(userId,
                portletDataContext.getScopeGroupId(), name, dlFileEntryType.getDescription(), ddmStrutureIds,
                serviceContext);
    }

    portletDataContext.importClassedModel(dlFileEntryType, importedDLFileEntryType, _NAMESPACE);

    String importedDLFileEntryDDMStructureKey = DLUtil.getDDMStructureKey(importedDLFileEntryType);

    List<DDMStructure> ddmStructures = importedDLFileEntryType.getDDMStructures();

    for (DDMStructure ddmStructure : ddmStructures) {
        String ddmStructureKey = ddmStructure.getStructureKey();

        if (!DLUtil.isAutoGeneratedDLFileEntryTypeDDMStructureKey(ddmStructureKey)) {

            continue;
        }

        if (ddmStructureKey.equals(importedDLFileEntryDDMStructureKey)) {
            continue;
        }

        ddmStructure.setStructureKey(importedDLFileEntryDDMStructureKey);

        DDMStructureLocalServiceUtil.updateDDMStructure(ddmStructure);
    }
}