Example usage for com.liferay.portal.kernel.xml SAXReaderUtil createDocument

List of usage examples for com.liferay.portal.kernel.xml SAXReaderUtil createDocument

Introduction

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

Prototype

public static Document createDocument() 

Source Link

Usage

From source file:com.liferay.portlet.dynamicdatalists.util.DDLImpl.java

License:Open Source License

public String getTemplateContent(long ddmTemplateId, DDLRecordSet recordSet, ThemeDisplay themeDisplay,
        RenderRequest renderRequest, RenderResponse renderResponse) throws Exception {

    String viewMode = ParamUtil.getString(renderRequest, "viewMode");

    String languageId = LanguageUtil.getLanguageId(renderRequest);

    String xmlRequest = PortletRequestUtil.toXML(renderRequest, renderResponse);

    if (Validator.isNull(xmlRequest)) {
        xmlRequest = "<request />";
    }/*from  ww  w .j  a  v a2s  .  c om*/

    Map<String, String> tokens = JournalUtil.getTokens(recordSet.getGroupId(), themeDisplay, xmlRequest);

    String xml = StringPool.BLANK;

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    Document requestDocument = SAXReaderUtil.read(xmlRequest);

    rootElement.add(requestDocument.getRootElement().createCopy());

    addAllReservedEls(rootElement, tokens, recordSet);

    xml = DDMXMLUtil.formatXML(document);

    DDMTemplate template = DDMTemplateLocalServiceUtil.getTemplate(ddmTemplateId);

    return _transformer.transform(themeDisplay, tokens, viewMode, languageId, xml, template.getScript(),
            template.getLanguage());
}

From source file:com.liferay.portlet.dynamicdatalists.util.DDLXMLExporter.java

License:Open Source License

@Override
protected byte[] doExport(long recordSetId, int status, int start, int end, OrderByComparator orderByComparator)
        throws Exception {

    DDLRecordSet recordSet = DDLRecordSetServiceUtil.getRecordSet(recordSetId);

    DDMStructure ddmStructure = recordSet.getDDMStructure();

    Map<String, Map<String, String>> fieldsMap = ddmStructure.getFieldsMap();

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    List<DDLRecord> records = DDLRecordLocalServiceUtil.getRecords(recordSetId, status, start, end,
            orderByComparator);/*from www .  j a v a  2 s  .  c o  m*/

    for (DDLRecord record : records) {
        Element fieldsElement = rootElement.addElement("fields");

        Fields fields = record.getFields();

        for (Map<String, String> fieldMap : fieldsMap.values()) {
            String label = fieldMap.get(FieldConstants.LABEL);
            String name = fieldMap.get(FieldConstants.NAME);

            Field field = fields.get(name);

            Serializable value = field.getValue();

            addFieldElement(fieldsElement, label, value);
        }
    }

    String xml = document.asXML();

    return xml.getBytes();
}

From source file:com.liferay.portlet.dynamicdatamapping.lar.DDMPortletDataHandlerImpl.java

License:Open Source License

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

    portletDataContext.addPermissions("com.liferay.portlet.dynamicdatamapping",
            portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("ddm-data");

    rootElement.addAttribute("group-id", String.valueOf(portletDataContext.getScopeGroupId()));

    Element structuresElement = rootElement.addElement("structures");

    List<DDMStructure> ddmStructures = DDMStructureUtil.findByGroupId(portletDataContext.getScopeGroupId());

    for (DDMStructure structure : ddmStructures) {
        if (portletDataContext.isWithinDateRange(structure.getModifiedDate())) {

            exportStructure(portletDataContext, structuresElement, structure);
        }//from   ww w.  ja  va 2s. co m
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "templates")) {
        Element templatesElement = rootElement.addElement("templates");

        List<DDMTemplate> templates = DDMTemplateUtil.findByGroupId(portletDataContext.getScopeGroupId());

        for (DDMTemplate template : templates) {
            if (portletDataContext.isWithinDateRange(template.getModifiedDate())) {

                exportTemplate(portletDataContext, templatesElement, template);
            }
        }
    }

    return document.formattedString();
}

From source file:com.liferay.portlet.dynamicdatamapping.storage.XMLStorageAdapter.java

License:Open Source License

@Override
protected long doCreate(long companyId, long ddmStructureId, Fields fields, ServiceContext serviceContext)
        throws Exception {

    long classNameId = PortalUtil.getClassNameId(DDMContent.class.getName());

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    Iterator<Field> itr = fields.iterator();

    while (itr.hasNext()) {
        Field field = itr.next();

        Object value = field.getValue();

        if (value instanceof Date) {
            Date valueDate = (Date) value;

            value = valueDate.getTime();
        }//from w  w w . ja v  a  2s. co  m

        String valueString = String.valueOf(value);

        if (valueString != null) {
            valueString = valueString.trim();
        }

        _appendField(rootElement, field.getName(), valueString);
    }

    DDMContent ddmContent = DDMContentLocalServiceUtil.addContent(serviceContext.getUserId(),
            serviceContext.getScopeGroupId(), DDMStorageLink.class.getName(), null, document.formattedString(),
            serviceContext);

    DDMStorageLinkLocalServiceUtil.addStorageLink(classNameId, ddmContent.getPrimaryKey(), ddmStructureId,
            serviceContext);

    return ddmContent.getPrimaryKey();
}

From source file:com.liferay.portlet.dynamicdatamapping.storage.XMLStorageAdapter.java

License:Open Source License

@Override
protected void doUpdate(long classPK, Fields fields, boolean mergeFields, ServiceContext serviceContext)
        throws Exception {

    DDMContent ddmContent = DDMContentLocalServiceUtil.getContent(classPK);

    Document document = null;/*from   w w  w.  j av  a 2  s .c  om*/

    Element rootElement = null;

    if (mergeFields) {
        document = SAXReaderUtil.read(ddmContent.getXml());

        rootElement = document.getRootElement();
    } else {
        document = SAXReaderUtil.createDocument();

        rootElement = document.addElement("root");
    }

    Iterator<Field> itr = fields.iterator();

    while (itr.hasNext()) {
        Field field = itr.next();

        Object value = field.getValue();

        if (value instanceof Date) {
            Date valueDate = (Date) value;

            value = valueDate.getTime();
        }

        String fieldName = field.getName();
        String fieldValue = String.valueOf(value);

        Element dynamicElementElement = _getElementByName(document, fieldName);

        if (dynamicElementElement == null) {
            _appendField(rootElement, fieldName, fieldValue);
        } else {
            _updateField(dynamicElementElement, fieldName, fieldValue);
        }
    }

    ddmContent.setModifiedDate(serviceContext.getModifiedDate(null));
    ddmContent.setXml(document.formattedString());

    DDMContentLocalServiceUtil.updateContent(ddmContent.getPrimaryKey(), ddmContent.getName(),
            ddmContent.getDescription(), ddmContent.getXml(), serviceContext);
}

From source file:com.liferay.portlet.journal.lar.JournalContentPortletDataHandlerImpl.java

License:Open Source License

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

    portletDataContext.addPermissions("com.liferay.portlet.journal", portletDataContext.getScopeGroupId());

    String articleId = portletPreferences.getValue("articleId", null);

    if (articleId == null) {
        if (_log.isWarnEnabled()) {
            _log.warn("No article id found in preferences of portlet " + portletId);
        }/*from   w  w  w. ja v a2  s. c  om*/

        return StringPool.BLANK;
    }

    long articleGroupId = GetterUtil.getLong(portletPreferences.getValue("groupId", StringPool.BLANK));

    if (articleGroupId <= 0) {
        if (_log.isWarnEnabled()) {
            _log.warn("No group id found in preferences of portlet " + portletId);
        }

        return StringPool.BLANK;
    }

    long previousScopeGroupId = portletDataContext.getScopeGroupId();

    if (articleGroupId != portletDataContext.getScopeGroupId()) {
        portletDataContext.setScopeGroupId(articleGroupId);
    }

    JournalArticle article = null;

    try {
        article = JournalArticleLocalServiceUtil.getLatestArticle(articleGroupId, articleId,
                WorkflowConstants.STATUS_APPROVED);
    } catch (NoSuchArticleException nsae) {
    }

    if (article == null) {
        try {
            article = JournalArticleLocalServiceUtil.getLatestArticle(articleGroupId, articleId,
                    WorkflowConstants.STATUS_EXPIRED);
        } catch (NoSuchArticleException nsae) {
        }
    }

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("journal-content-data");

    if (article == null) {
        portletDataContext.setScopeGroupId(previousScopeGroupId);

        return document.formattedString();
    }

    String path = JournalPortletDataHandlerImpl.getArticlePath(portletDataContext, article);

    Element articleElement = rootElement.addElement("article");

    articleElement.addAttribute("path", path);

    Element dlFileEntryTypesElement = rootElement.addElement("dl-file-entry-types");
    Element dlFoldersElement = rootElement.addElement("dl-folders");
    Element dlFilesElement = rootElement.addElement("dl-file-entries");
    Element dlFileRanksElement = rootElement.addElement("dl-file-ranks");

    JournalPortletDataHandlerImpl.exportArticle(portletDataContext, rootElement, rootElement, rootElement,
            dlFileEntryTypesElement, dlFoldersElement, dlFilesElement, dlFileRanksElement, article, false);

    portletDataContext.setScopeGroupId(previousScopeGroupId);

    return document.formattedString();
}

From source file:com.liferay.portlet.journal.lar.JournalPortletDataHandlerImpl.java

License:Open Source License

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

    portletDataContext.addPermissions("com.liferay.portlet.journal", portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("journal-data");

    rootElement.addAttribute("group-id", String.valueOf(portletDataContext.getScopeGroupId()));

    Element structuresElement = rootElement.addElement("structures");

    List<JournalStructure> structures = JournalStructureUtil.findByGroupId(portletDataContext.getScopeGroupId(),
            QueryUtil.ALL_POS, QueryUtil.ALL_POS, new StructurePKComparator(true));

    //Modification start
    long processedItems = 0, itemsToprocess = 0;

    itemsToprocess += structures.size();

    Element templatesElement = rootElement.addElement("templates");
    Element dlFileEntryTypesElement = rootElement.addElement("dl-file-entry-types");
    Element dlFoldersElement = rootElement.addElement("dl-folders");
    Element dlFilesElement = rootElement.addElement("dl-file-entries");
    Element dlFileRanksElement = rootElement.addElement("dl-file-ranks");
    Element dlRepositoriesElement = rootElement.addElement("dl-repositories");
    Element dlRepositoryEntriesElement = rootElement.addElement("dl-repository-entries");

    List<JournalTemplate> templates = JournalTemplateUtil.findByGroupId(portletDataContext.getScopeGroupId());
    itemsToprocess += templates.size();//from  www  .  j av  a 2  s  .co  m

    Element feedsElement = rootElement.addElement("feeds");
    List<JournalFeed> feeds = JournalFeedUtil.findByGroupId(portletDataContext.getScopeGroupId());
    itemsToprocess += feeds.size();

    List<JournalArticle> articles = new ArrayList<JournalArticle>();
    if (portletDataContext.getBooleanParameter(_NAMESPACE, "web-content")) {
        articles = JournalArticleUtil.findByGroupId(portletDataContext.getScopeGroupId(), QueryUtil.ALL_POS,
                QueryUtil.ALL_POS, new ArticleIDComparator(true));
    }
    itemsToprocess += articles.size();

    StagingProgressUpdaterThreadLocal.getMonitor().getComponent(PublishProcessProgressMonitor.COMPONENT_JOURNAL)
            .setItemsCount(itemsToprocess);

    for (JournalStructure structure : structures) {
        StagingProgressUpdaterThreadLocal.getMonitor()
                .getComponent(PublishProcessProgressMonitor.COMPONENT_JOURNAL)
                .setItemsProcessed(processedItems++);

        if (portletDataContext.isWithinDateRange(structure.getModifiedDate())) {

            exportStructure(portletDataContext, structuresElement, structure);
        }
    }

    for (JournalTemplate template : templates) {
        StagingProgressUpdaterThreadLocal.getMonitor()
                .getComponent(PublishProcessProgressMonitor.COMPONENT_JOURNAL)
                .setItemsProcessed(processedItems++);

        if (portletDataContext.isWithinDateRange(template.getModifiedDate())) {

            exportTemplate(portletDataContext, templatesElement, dlFileEntryTypesElement, dlFoldersElement,
                    dlFilesElement, dlFileRanksElement, dlRepositoriesElement, dlRepositoryEntriesElement,
                    template);
        }
    }

    for (JournalFeed feed : feeds) {
        StagingProgressUpdaterThreadLocal.getMonitor()
                .getComponent(PublishProcessProgressMonitor.COMPONENT_JOURNAL)
                .setItemsProcessed(processedItems++);

        if (portletDataContext.isWithinDateRange(feed.getModifiedDate())) {
            exportFeed(portletDataContext, feedsElement, feed);
        }
    }

    Element articlesElement = rootElement.addElement("articles");

    for (JournalArticle article : articles) {
        StagingProgressUpdaterThreadLocal.getMonitor()
                .getComponent(PublishProcessProgressMonitor.COMPONENT_JOURNAL)
                .setItemsProcessed(processedItems++);

        exportArticle(portletDataContext, articlesElement, structuresElement, templatesElement,
                dlFileEntryTypesElement, dlFoldersElement, dlFilesElement, dlFileRanksElement,
                dlRepositoriesElement, dlRepositoryEntriesElement, article, null, true);
    }
    //Modification end

    return document.formattedString();
}

From source file:com.liferay.portlet.journal.util.JournalConverterImpl.java

License:Open Source License

@Override
public String getContent(DDMStructure ddmStructure, Fields ddmFields) throws Exception {

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    String availableLocales = getAvailableLocales(ddmFields);

    rootElement.addAttribute("available-locales", availableLocales);

    Locale defaultLocale = ddmFields.getDefaultLocale();

    rootElement.addAttribute("default-locale", LocaleUtil.toLanguageId(defaultLocale));

    DDMFieldsCounter ddmFieldsCounter = new DDMFieldsCounter();

    for (String fieldName : ddmStructure.getRootFieldNames()) {
        int repetitions = countFieldRepetition(ddmFields, fieldName, null, -1);
        for (int i = 0; i < repetitions; i++) {
            Element dynamicElementElement = rootElement.addElement("dynamic-element");

            dynamicElementElement.addAttribute("name", fieldName);
            dynamicElementElement.addAttribute("index", String.valueOf(i));
            updateContentDynamicElement(dynamicElementElement, ddmStructure, ddmFields, ddmFieldsCounter);
        }//from www.  j a va 2 s .c  o  m
    }
    return DDMXMLUtil.formatXML(document.asXML());
}

From source file:com.liferay.portlet.layoutsadmin.util.SitemapImpl.java

License:Open Source License

public String getSitemap(long groupId, boolean privateLayout, ThemeDisplay themeDisplay)
        throws PortalException, SystemException {

    Document document = SAXReaderUtil.createDocument();

    document.setXMLEncoding(StringPool.UTF8);

    Element rootElement = document.addElement("urlset", "http://www.google.com/schemas/sitemap/0.84");

    List<Layout> layouts = LayoutLocalServiceUtil.getLayouts(groupId, privateLayout,
            LayoutConstants.DEFAULT_PARENT_LAYOUT_ID);

    visitLayouts(rootElement, layouts, themeDisplay);

    return document.asXML();
}

From source file:com.liferay.portlet.messageboards.lar.MBPortletDataHandlerImpl.java

License:Open Source License

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

    portletDataContext.addPermissions("com.liferay.portlet.messageboards",
            portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("message-boards-data");

    rootElement.addAttribute("group-id", String.valueOf(portletDataContext.getScopeGroupId()));

    Element categoriesElement = rootElement.addElement("categories");
    Element messagesElement = rootElement.addElement("messages");
    Element threadFlagsElement = rootElement.addElement("thread-flags");
    Element userBansElement = rootElement.addElement("user-bans");

    List<MBCategory> categories = MBCategoryUtil.findByGroupId(portletDataContext.getScopeGroupId());

    for (MBCategory category : categories) {
        exportCategory(portletDataContext, categoriesElement, messagesElement, threadFlagsElement, category);
    }//from w  ww .j  a v a  2  s. c o  m

    List<MBMessage> messages = MBMessageUtil.findByG_C(portletDataContext.getScopeGroupId(),
            MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID);

    for (MBMessage message : messages) {
        exportMessage(portletDataContext, categoriesElement, messagesElement, threadFlagsElement, message);
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "user-bans")) {
        List<MBBan> bans = MBBanUtil.findByGroupId(portletDataContext.getScopeGroupId());

        for (MBBan ban : bans) {
            exportBan(portletDataContext, userBansElement, ban);
        }
    }

    return document.formattedString();
}