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.journal.exportimport.data.handler.JournalArticleStagedModelDataHandler.java

License:Open Source License

@Override
protected void doRestoreStagedModel(PortletDataContext portletDataContext, JournalArticle article)
        throws Exception {

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

    Element articleElement = portletDataContext.getImportDataStagedModelElement(article);

    String articleResourceUuid = articleElement.attributeValue("article-resource-uuid");

    boolean preloaded = GetterUtil.getBoolean(articleElement.attributeValue("preloaded"));

    JournalArticle existingArticle = fetchExistingArticle(article.getUuid(), articleResourceUuid,
            portletDataContext.getScopeGroupId(), article.getArticleId(), article.getArticleId(),
            article.getVersion(), preloaded);

    if ((existingArticle == null) || !existingArticle.isInTrash()) {
        return;// w  w w.ja  va2s . com
    }

    TrashHandler trashHandler = existingArticle.getTrashHandler();

    if (trashHandler.isRestorable(existingArticle.getResourcePrimKey())) {
        trashHandler.restoreTrashEntry(userId, existingArticle.getResourcePrimKey());
    }
}

From source file:com.liferay.journal.exportimport.data.handler.JournalFolderStagedModelDataHandler.java

License:Open Source License

protected void importFolderDDMStructures(PortletDataContext portletDataContext, JournalFolder folder,
        JournalFolder importedFolder) throws Exception {

    List<Long> currentFolderDDMStructureIds = new ArrayList<>();

    List<Element> referenceElements = portletDataContext.getReferenceElements(folder, DDMStructure.class);

    for (Element referenceElement : referenceElements) {
        long referenceDDMStructureId = GetterUtil.getLong(referenceElement.attributeValue("class-pk"));

        Map<Long, Long> ddmStructureIds = (Map<Long, Long>) portletDataContext
                .getNewPrimaryKeysMap(DDMStructure.class);

        long ddmStructureId = MapUtil.getLong(ddmStructureIds, referenceDDMStructureId,
                referenceDDMStructureId);

        DDMStructure existingDDMStructure = _ddmStructureLocalService.fetchDDMStructure(ddmStructureId);

        if (existingDDMStructure == null) {
            continue;
        }/*from w w  w .j  a  v  a2  s  .c  o m*/

        currentFolderDDMStructureIds.add(existingDDMStructure.getStructureId());
    }

    if (!currentFolderDDMStructureIds.isEmpty()) {
        importedFolder.setRestrictionType(JournalFolderConstants.RESTRICTION_TYPE_DDM_STRUCTURES_AND_WORKFLOW);

        _journalFolderLocalService.updateJournalFolder(importedFolder);

        _journalFolderLocalService.updateFolderDDMStructures(importedFolder,
                ArrayUtil.toLongArray(currentFolderDDMStructureIds));
    }
}

From source file:com.liferay.journal.exportimport.data.handler.JournalPortletDataHandler.java

License:Open Source License

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

    portletDataContext.importPortletPermissions(JournalPermission.RESOURCE_NAME);

    if (portletDataContext.getBooleanParameter(NAMESPACE, "feeds")) {
        Element feedsElement = portletDataContext.getImportDataGroupElement(JournalFeed.class);

        List<Element> feedElements = feedsElement.elements();

        for (Element feedElement : feedElements) {
            StagedModelDataHandlerUtil.importStagedModel(portletDataContext, feedElement);
        }/*  w ww .j  av a 2  s .c o  m*/
    }

    if (portletDataContext.getBooleanParameter(NAMESPACE, "folders")) {
        Element foldersElement = portletDataContext.getImportDataGroupElement(JournalFolder.class);

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

        for (Element folderElement : folderElements) {
            StagedModelDataHandlerUtil.importStagedModel(portletDataContext, folderElement);
        }
    }

    Element articlesElement = portletDataContext.getImportDataGroupElement(JournalArticle.class);

    List<Element> articleElements = articlesElement.elements();

    if (portletDataContext.getBooleanParameter(NAMESPACE, "structures")) {
        Element ddmStructuresElement = portletDataContext.getImportDataGroupElement(DDMStructure.class);

        List<Element> ddmStructureElements = ddmStructuresElement.elements();

        for (Element ddmStructureElement : ddmStructureElements) {
            StagedModelDataHandlerUtil.importStagedModel(portletDataContext, ddmStructureElement);
        }

        // Importing DDM structure default values

        for (Element articleElement : articleElements) {
            String className = articleElement.attributeValue("class-name");

            if (Validator.isNotNull(className) && className.equals(DDMStructure.class.getName())) {

                StagedModelDataHandlerUtil.importStagedModel(portletDataContext, articleElement);
            }
        }
    }

    if (portletDataContext.getBooleanParameter(NAMESPACE, "templates")) {
        Element ddmTemplatesElement = portletDataContext.getImportDataGroupElement(DDMTemplate.class);

        List<Element> ddmTemplateElements = ddmTemplatesElement.elements();

        for (Element ddmTemplateElement : ddmTemplateElements) {
            StagedModelDataHandlerUtil.importStagedModel(portletDataContext, ddmTemplateElement);
        }
    }

    if (portletDataContext.getBooleanParameter(NAMESPACE, "web-content")) {
        for (Element articleElement : articleElements) {
            StagedModelDataHandlerUtil.importStagedModel(portletDataContext, articleElement);
        }

        _journalContent.clearCache();
    }

    return portletPreferences;
}

From source file:com.liferay.journal.internal.exportimport.content.processor.JournalArticleArticleExportImportContentProcessor.java

License:Open Source License

protected String replaceImportJournalArticleReferences(PortletDataContext portletDataContext,
        JournalArticle article, String content) throws Exception {

    List<Element> referenceElements = portletDataContext.getReferenceElements(article, JournalArticle.class);

    for (Element referenceElement : referenceElements) {
        long classPK = GetterUtil.getLong(referenceElement.attributeValue("class-pk"));

        Map<Long, Long> articlePrimaryKeys = (Map<Long, Long>) portletDataContext
                .getNewPrimaryKeysMap(JournalArticle.class + ".primaryKey");

        long articlePrimaryKey = MapUtil.getLong(articlePrimaryKeys, classPK, classPK);

        JournalArticle journalArticle = _journalArticleLocalService.fetchJournalArticle(articlePrimaryKey);

        if (journalArticle == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to get journal article with primary key " + articlePrimaryKey);
            }/*from ww  w  . j  a  va2 s  .  co  m*/

            throw new NoSuchArticleException(
                    "No JournalArticle exists with the key {id= " + articlePrimaryKey + "}");
        } else {
            String journalArticleReference = "[$journal-article-reference=" + classPK + "$]";

            JSONObject jsonObject = _jsonFactory.createJSONObject();

            jsonObject.put("className", JournalArticle.class.getName());
            jsonObject.put("classPK", journalArticle.getResourcePrimKey());

            content = StringUtil.replace(content, journalArticleReference, jsonObject.toString());
        }
    }

    return content;
}

From source file:com.liferay.journal.internal.exportimport.content.processor.JournalArticleExportImportContentProcessor.java

License:Open Source License

protected String replaceImportJournalArticleReferences(PortletDataContext portletDataContext,
        StagedModel stagedModel, String content) throws Exception {

    List<Element> referenceElements = portletDataContext.getReferenceElements(stagedModel,
            JournalArticle.class);

    for (Element referenceElement : referenceElements) {
        long classPK = GetterUtil.getLong(referenceElement.attributeValue("class-pk"));

        Map<Long, Long> articlePrimaryKeys = (Map<Long, Long>) portletDataContext
                .getNewPrimaryKeysMap(JournalArticle.class + ".primaryKey");

        long articlePrimaryKey = MapUtil.getLong(articlePrimaryKeys, classPK, classPK);

        JournalArticle journalArticle = _journalArticleLocalService.fetchJournalArticle(articlePrimaryKey);

        if (journalArticle == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to get journal article with primary key " + articlePrimaryKey);
            }//w ww . j  a  va 2  s  . c o  m

            throw new NoSuchArticleException(
                    "No JournalArticle exists with the key {id= " + articlePrimaryKey + "}");
        } else {
            String journalArticleReference = "[$journal-article-reference=" + classPK + "$]";

            JSONObject jsonObject = _jsonFactory.createJSONObject();

            jsonObject.put("className", JournalArticle.class.getName());
            jsonObject.put("classPK", journalArticle.getResourcePrimKey());

            content = StringUtil.replace(content, journalArticleReference, jsonObject.toString());
        }
    }

    return content;
}

From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java

License:Open Source License

protected String convertStaticContentToDynamic(String content) throws Exception {

    Document document = SAXReaderUtil.read(content);

    Document newDocument = SAXReaderUtil.createDocument();

    Element rootElement = document.getRootElement();

    String availableLocales = GetterUtil.getString(rootElement.attributeValue("available-locales"),
            _getDefaultLanguageId());/*from   w  w w  .ja v  a 2  s.c  o  m*/
    String defaultLocale = GetterUtil.getString(rootElement.attributeValue("default-locale"),
            _getDefaultLanguageId());

    Element newRootElement = SAXReaderUtil.createElement("root");

    newRootElement.addAttribute("available-locales", availableLocales);
    newRootElement.addAttribute("default-locale", defaultLocale);

    newDocument.add(newRootElement);

    Element dynamicElementElement = SAXReaderUtil.createElement("dynamic-element");

    dynamicElementElement.addAttribute("name", "content");
    dynamicElementElement.addAttribute("type", "text_area");
    dynamicElementElement.addAttribute("index-type", "text");
    dynamicElementElement.addAttribute("index", String.valueOf(0));

    newRootElement.add(dynamicElementElement);

    List<Element> staticContentElements = rootElement.elements("static-content");

    for (Element staticContentElement : staticContentElements) {
        String languageId = GetterUtil.getString(staticContentElement.attributeValue("language-id"),
                _getDefaultLanguageId());
        String text = staticContentElement.getText();

        Element dynamicContentElement = SAXReaderUtil.createElement("dynamic-content");

        dynamicContentElement.addAttribute("language-id", languageId);
        dynamicContentElement.addCDATA(text);

        dynamicElementElement.add(dynamicContentElement);
    }

    return XMLUtil.formatXML(newDocument);
}

From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java

License:Open Source License

protected Set<String> getArticleDynamicElements(Element rootElement) {
    List<String> dynamicElementNames = new ArrayList<>();

    List<Element> dynamicElementElements = rootElement.elements("dynamic-element");

    for (Element element : dynamicElementElements) {
        dynamicElementNames.add(element.attributeValue("name"));

        dynamicElementNames.addAll(getArticleDynamicElements(element));
    }/* w  ww .  j a  v a  2s  . co m*/

    return SetUtil.fromList(dynamicElementNames);
}

From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java

License:Open Source License

protected void transformDateFieldValues(List<Element> dynamicElementElements) {

    if ((dynamicElementElements == null) || dynamicElementElements.isEmpty()) {

        return;/*from  w  ww  .j  av a  2  s .co m*/
    }

    for (Element dynamicElementElement : dynamicElementElements) {
        String type = GetterUtil.getString(dynamicElementElement.attributeValue("type"));

        if (type.equals("ddm-date")) {
            List<Element> dynamicContentElements = dynamicElementElement.elements("dynamic-content");

            for (Element dynamicContentElement : dynamicContentElements) {
                transformDateFieldValue(dynamicContentElement);
            }
        }

        List<Element> childDynamicElementElements = dynamicElementElement.elements("dynamic-element");

        transformDateFieldValues(childDynamicElementElements);
    }
}

From source file:com.liferay.journal.internal.upgrade.v0_0_6.UpgradeImageTypeContentAttributes.java

License:Open Source License

protected String addImageContentAttributes(String content) throws Exception {

    Document contentDocument = SAXReaderUtil.read(content);

    contentDocument = contentDocument.clone();

    XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='image']");

    List<Node> imageNodes = xPath.selectNodes(contentDocument);

    for (Node imageNode : imageNodes) {
        Element imageEl = (Element) imageNode;

        List<Element> dynamicContentEls = imageEl.elements("dynamic-content");

        String id = null;// www  .ja  v a2  s. c  o m

        for (Element dynamicContentEl : dynamicContentEls) {
            id = dynamicContentEl.attributeValue("id");

            dynamicContentEl.addAttribute("alt", StringPool.BLANK);
            dynamicContentEl.addAttribute("name", id);
            dynamicContentEl.addAttribute("title", id);
            dynamicContentEl.addAttribute("type", "journal");
        }

        if (Validator.isNotNull(id)) {
            imageEl.addAttribute("instance-id", getImageInstanceId(id));
        }
    }

    return contentDocument.formattedString();
}

From source file:com.liferay.journal.internal.upgrade.v1_0_0.UpgradeImageTypeContentAttributes.java

License:Open Source License

protected String addImageContentAttributes(String content) throws Exception {

    Document contentDocument = SAXReaderUtil.read(content);

    contentDocument = contentDocument.clone();

    XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='image']");

    List<Node> imageNodes = xPath.selectNodes(contentDocument);

    for (Node imageNode : imageNodes) {
        Element imageEl = (Element) imageNode;

        List<Element> dynamicContentEls = imageEl.elements("dynamic-content");

        for (Element dynamicContentEl : dynamicContentEls) {
            String id = dynamicContentEl.attributeValue("id");

            dynamicContentEl.addAttribute("alt", StringPool.BLANK);
            dynamicContentEl.addAttribute("name", id);
            dynamicContentEl.addAttribute("title", id);
            dynamicContentEl.addAttribute("type", "journal");
        }/*from  w w  w. j a  v a  2s  .c  om*/
    }

    return contentDocument.formattedString();
}