List of usage examples for com.liferay.portal.kernel.xml Element elements
public List<Element> elements(String name);
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 av a 2 s .co 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); }//from w w w . java 2 s .c o m 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
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 va2 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); } }
From source file:com.liferay.portlet.documentlibrary.lar.DLPortletDataHandlerImpl.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 repositoriesElement = rootElement.element("repositories"); if (repositoriesElement != null) { List<Element> repositoryElements = repositoriesElement.elements("repository"); for (Element repositoryElement : repositoryElements) { importRepository(portletDataContext, repositoryElement); }/*w w w . j a va 2 s. com*/ } Element repositoryEntriesElement = rootElement.element("repository-entries"); List<Element> repositoryEntryElements = repositoryEntriesElement.elements("repository-entry"); for (Element repositoryEntryElement : repositoryEntryElements) { importRepositoryEntry(portletDataContext, repositoryEntryElement); } Element fileEntryTypesElement = rootElement.element("file-entry-types"); List<Element> fileEntryTypeElements = fileEntryTypesElement.elements("file-entry-type"); for (Element fileEntryTypeElement : fileEntryTypeElements) { importFileEntryType(portletDataContext, fileEntryTypeElement); } Element foldersElement = rootElement.element("folders"); List<Element> folderElements = foldersElement.elements("folder"); for (Element folderElement : folderElements) { importFolder(portletDataContext, folderElement); } Element fileEntriesElement = rootElement.element("file-entries"); List<Element> fileEntryElements = fileEntriesElement.elements("file-entry"); for (Element fileEntryElement : fileEntryElements) { importFileEntry(portletDataContext, fileEntryElement); } if (portletDataContext.getBooleanParameter(_NAMESPACE, "shortcuts")) { List<Element> fileShortcutElements = rootElement.element("file-shortcuts").elements("file-shortcut"); for (Element fileShortcutElement : fileShortcutElements) { 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) { importFileRank(portletDataContext, fileRankElement); } } long rootFolderId = GetterUtil.getLong(rootElement.attributeValue("root-folder-id")); if (rootFolderId > 0) { Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DLFolder.class); rootFolderId = MapUtil.getLong(folderIds, rootFolderId, rootFolderId); portletPreferences.setValue("rootFolderId", String.valueOf(rootFolderId)); } return portletPreferences; }
From source file:com.liferay.portlet.dynamicdatamapping.lar.DDMPortletDataHandlerImpl.java
License:Open Source License
@Override protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId, PortletPreferences portletPreferences, String data) throws Exception { portletDataContext.importPermissions("com.liferay.portlet.dynamicdatamapping", portletDataContext.getSourceGroupId(), portletDataContext.getScopeGroupId()); Document document = SAXReaderUtil.read(data); Element rootElement = document.getRootElement(); Element structuresElement = rootElement.element("structures"); List<Element> structureElements = structuresElement.elements("structure"); for (Element structureElement : structureElements) { importStructure(portletDataContext, structureElement); }/*from ww w . j a v a 2 s . com*/ if (portletDataContext.getBooleanParameter(_NAMESPACE, "templates")) { Element templatesElement = rootElement.element("templates"); List<Element> templateElements = templatesElement.elements("template"); for (Element templateElement : templateElements) { importTemplate(portletDataContext, templateElement); } } return portletPreferences; }
From source file:com.liferay.portlet.dynamicdatamapping.service.impl.DDMStructureLocalServiceImpl.java
License:Open Source License
protected void syncStructureTemplatesFields(DDMTemplate template, Element templateElement) throws PortalException, SystemException { DDMStructure structure = template.getStructure(); List<Element> dynamicElementElements = templateElement.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { String dataType = dynamicElementElement.attributeValue("dataType"); String fieldName = dynamicElementElement.attributeValue("name"); if (Validator.isNull(dataType)) { continue; }//from w w w . j ava 2 s . c o m if (!structure.hasField(fieldName)) { templateElement.remove(dynamicElementElement); continue; } String mode = template.getMode(); if (mode.equals(DDMTemplateConstants.TEMPLATE_MODE_CREATE)) { boolean fieldRequired = structure.getFieldRequired(fieldName); List<Element> metadataElements = dynamicElementElement.elements("meta-data"); for (Element metadataElement : metadataElements) { for (Element metadataEntryElement : metadataElement.elements()) { String attributeName = metadataEntryElement.attributeValue("name"); if (fieldRequired && attributeName.equals("required")) { metadataEntryElement.setText("true"); } } } } syncStructureTemplatesFields(template, dynamicElementElement); } }
From source file:com.liferay.portlet.dynamicdatamapping.storage.XMLStorageAdapter.java
License:Open Source License
private List<Fields> _doQuery(long ddmStructureId, long[] classPKs, List<String> fieldNames, Condition condition, OrderByComparator orderByComparator) throws Exception { List<Fields> fieldsList = new ArrayList<Fields>(); XPath conditionXPath = null;/* w ww. ja va2 s . c om*/ if (condition != null) { conditionXPath = _parseCondition(condition); } DDMStructure ddmStructure = DDMStructureLocalServiceUtil.getDDMStructure(ddmStructureId); for (long classPK : classPKs) { DDMContent ddmContent = DDMContentLocalServiceUtil.getContent(classPK); Document document = SAXReaderUtil.read(ddmContent.getXml()); if ((conditionXPath != null) && !conditionXPath.booleanValueOf(document)) { continue; } Fields fields = new Fields(); Element rootElement = document.getRootElement(); List<Element> dynamicElementElements = rootElement.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { String fieldName = dynamicElementElement.attributeValue("name"); String fieldValue = dynamicElementElement.elementText("dynamic-content"); if (!ddmStructure.hasField(fieldName) || ((fieldNames != null) && !fieldNames.contains(fieldName))) { continue; } String fieldDataType = ddmStructure.getFieldDataType(fieldName); Serializable fieldValueSerializable = FieldConstants.getSerializable(fieldDataType, fieldValue); Field field = new Field(ddmStructureId, fieldName, fieldValueSerializable); fields.put(field); } fieldsList.add(fields); } if (orderByComparator != null) { Collections.sort(fieldsList, orderByComparator); } return fieldsList; }
From source file:com.liferay.portlet.dynamicdatamapping.util.DDMXSDImpl.java
License:Open Source License
public String getHTML(PageContext pageContext, Element element, Fields fields, String namespace, String mode, boolean readOnly, Locale locale) throws Exception { StringBundler sb = new StringBundler(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); String portletId = PortalUtil.getPortletId(request); String portletNamespace = PortalUtil.getPortletNamespace(portletId); List<Element> dynamicElementElements = element.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { FreeMarkerContext freeMarkerContext = getFreeMarkerContext(dynamicElementElement, locale); freeMarkerContext.put("portletNamespace", portletNamespace); freeMarkerContext.put("namespace", namespace); if (fields != null) { freeMarkerContext.put("fields", fields); }// w w w.j a va 2 s . c o m Map<String, Object> field = (Map<String, Object>) freeMarkerContext.get("fieldStructure"); String childrenHTML = getHTML(pageContext, dynamicElementElement, fields, namespace, mode, readOnly, locale); field.put("children", childrenHTML); String fieldNamespace = dynamicElementElement.attributeValue("fieldNamespace", _DEFAULT_NAMESPACE); String defaultResourcePath = _TPL_DEFAULT_PATH; boolean fieldReadOnly = GetterUtil.getBoolean(field.get("readOnly")); if ((fieldReadOnly && Validator.isNotNull(mode) && mode.equalsIgnoreCase(DDMTemplateConstants.TEMPLATE_MODE_EDIT)) || readOnly) { fieldNamespace = _DEFAULT_READ_ONLY_NAMESPACE; defaultResourcePath = _TPL_DEFAULT_READ_ONLY_PATH; } String type = dynamicElementElement.attributeValue("type"); String templateName = StringUtil.replaceFirst(type, fieldNamespace.concat(StringPool.DASH), StringPool.BLANK); StringBundler resourcePath = new StringBundler(5); resourcePath.append(_TPL_PATH); resourcePath.append(fieldNamespace.toLowerCase()); resourcePath.append(CharPool.SLASH); resourcePath.append(templateName); resourcePath.append(_TPL_EXT); sb.append(processFTL(pageContext, freeMarkerContext, resourcePath.toString(), defaultResourcePath)); } return sb.toString(); }
From source file:com.liferay.portlet.journal.lar.JournalPortletDataHandlerImpl.java
License:Open Source License
public static void importReferencedData(PortletDataContext portletDataContext, Element entityElement) throws Exception { Element dlRepositoriesElement = entityElement.element("dl-repositories"); List<Element> dlRepositoryElements = Collections.emptyList(); if (dlRepositoriesElement != null) { dlRepositoryElements = dlRepositoriesElement.elements("repository"); }/* w ww. j a va 2 s. c om*/ for (Element repositoryElement : dlRepositoryElements) { DLPortletDataHandlerImpl.importRepository(portletDataContext, repositoryElement); } Element dlRepositoryEntriesElement = entityElement.element("dl-repository-entries"); List<Element> dlRepositoryEntryElements = Collections.emptyList(); if (dlRepositoryEntriesElement != null) { dlRepositoryEntryElements = dlRepositoryEntriesElement.elements("repository-entry"); } for (Element repositoryEntryElement : dlRepositoryEntryElements) { DLPortletDataHandlerImpl.importRepositoryEntry(portletDataContext, repositoryEntryElement); } Element dlFoldersElement = entityElement.element("dl-folders"); List<Element> dlFolderElements = Collections.emptyList(); if (dlFoldersElement != null) { dlFolderElements = dlFoldersElement.elements("folder"); } for (Element folderElement : dlFolderElements) { DLPortletDataHandlerImpl.importFolder(portletDataContext, folderElement); } Element dlFileEntriesElement = entityElement.element("dl-file-entries"); List<Element> dlFileEntryElements = Collections.emptyList(); if (dlFileEntriesElement != null) { dlFileEntryElements = dlFileEntriesElement.elements("file-entry"); } for (Element fileEntryElement : dlFileEntryElements) { DLPortletDataHandlerImpl.importFileEntry(portletDataContext, fileEntryElement); } Element dlFileRanksElement = entityElement.element("dl-file-ranks"); List<Element> dlFileRankElements = Collections.emptyList(); if (dlFileRanksElement != null) { dlFileRankElements = dlFileRanksElement.elements("file-rank"); } for (Element fileRankElement : dlFileRankElements) { DLPortletDataHandlerImpl.importFileRank(portletDataContext, fileRankElement); } }
From source file:com.liferay.portlet.journal.lar.JournalPortletDataHandlerImpl.java
License:Open Source License
protected static String importDLFileEntries(PortletDataContext portletDataContext, Element parentElement, String content) throws Exception { List<Element> dlReferenceElements = parentElement.elements("dl-reference"); for (Element dlReferenceElement : dlReferenceElements) { String dlReferencePath = dlReferenceElement.attributeValue("path"); String fileEntryUUID = null; try {/*from ww w . j a va2s . co m*/ Object zipEntryObject = portletDataContext.getZipEntryAsObject(dlReferencePath); if (zipEntryObject == null) { if (_log.isWarnEnabled()) { _log.warn("Unable to reference " + dlReferencePath); } continue; } boolean defaultRepository = GetterUtil .getBoolean(dlReferenceElement.attributeValue("default-repository")); if (defaultRepository) { FileEntry fileEntry = (FileEntry) zipEntryObject; fileEntryUUID = fileEntry.getUuid(); } else { RepositoryEntry repositoryEntry = (RepositoryEntry) zipEntryObject; fileEntryUUID = repositoryEntry.getUuid(); } } catch (Exception e) { if (_log.isDebugEnabled()) { _log.debug(e, e); } else if (_log.isWarnEnabled()) { _log.warn(e.getMessage()); } } if (fileEntryUUID == null) { continue; } FileEntry fileEntry = DLAppLocalServiceUtil.getFileEntryByUuidAndGroupId(fileEntryUUID, portletDataContext.getGroupId()); if (fileEntry == null) { continue; } String dlReference = "[$dl-reference=" + dlReferencePath + "$]"; String url = DLUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), null, StringPool.BLANK, false, false); content = StringUtil.replace(content, dlReference, url); } return content; }