List of usage examples for com.liferay.portal.kernel.xml SAXReaderUtil createDocument
public static Document createDocument()
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(); }