List of usage examples for com.liferay.portal.kernel.xml Element elements
public List<Element> elements(String name);
From source file:com.liferay.document.library.internal.instance.lifecycle.AddDefaultDocumentLibraryStructuresPortalInstanceLifecycleListener.java
License:Open Source License
protected void addDLRawMetadataStructures(long userId, long groupId, ServiceContext serviceContext) throws Exception { Locale locale = _portal.getSiteDefaultLocale(groupId); String xsd = buildDLRawMetadataXML(RawMetadataProcessorUtil.getFields(), locale); Document document = UnsecureSAXReaderUtil.read(new StringReader(xsd)); Element rootElement = document.getRootElement(); List<Element> structureElements = rootElement.elements("structure"); for (Element structureElement : structureElements) { String name = structureElement.elementText("name"); String description = structureElement.elementText("description"); Element structureElementRootElement = structureElement.element("root"); String structureElementRootXML = structureElementRootElement.asXML(); DDMStructure ddmStructure = _ddmStructureLocalService.fetchStructure(groupId, _portal.getClassNameId(RawMetadataProcessor.class), name); DDMForm ddmForm = _ddmFormXSDDeserializer.deserialize(structureElementRootXML); if (ddmStructure != null) { ddmStructure.setDDMForm(ddmForm); _ddmStructureLocalService.updateDDMStructure(ddmStructure); } else {/*from w w w . j a v a 2 s . c o m*/ Map<Locale, String> nameMap = new HashMap<>(); nameMap.put(locale, name); Map<Locale, String> descriptionMap = new HashMap<>(); descriptionMap.put(locale, description); DDMFormLayout ddmFormLayout = _ddm.getDefaultDDMFormLayout(ddmForm); _ddmStructureLocalService.addStructure(userId, groupId, DDMStructureConstants.DEFAULT_PARENT_STRUCTURE_ID, _portal.getClassNameId(RawMetadataProcessor.class), name, nameMap, descriptionMap, ddmForm, ddmFormLayout, StorageType.JSON.toString(), DDMStructureConstants.TYPE_DEFAULT, serviceContext); } } }
From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMappingTest.java
License:Open Source License
protected Map<String, Map<String, List<String>>> toDataMap(Document document) { Element rootElement = document.getRootElement(); Map<String, Map<String, List<String>>> dataMap = new HashMap<>(); for (Element dynamicElementElement : rootElement.elements("dynamic-element")) { String name = dynamicElementElement.attributeValue("name"); Map<String, List<String>> localizedDataMap = getLocalizedDataMap(dynamicElementElement); dataMap.put(name, localizedDataMap); }/*from www .ja v a 2 s. c o m*/ return dataMap; }
From source file:com.liferay.dynamic.data.mapping.internal.util.DDMXMLImpl.java
License:Open Source License
@Override public Fields getFields(DDMStructure structure, XPath xPath, String xml, List<String> fieldNames) throws PortalException { Document document = null;/*from w w w. ja v a 2 s. c o m*/ try { document = _saxReader.read(xml); } catch (DocumentException de) { if (_log.isDebugEnabled()) { _log.debug(de.getMessage(), de); } return null; } if ((xPath != null) && !xPath.booleanValueOf(document)) { return null; } Fields fields = new Fields(); Element rootElement = document.getRootElement(); List<Element> dynamicElementElements = rootElement.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { String fieldName = dynamicElementElement.attributeValue("name"); if (!structure.hasField(fieldName) || ((fieldNames != null) && !fieldNames.contains(fieldName))) { continue; } String fieldDataType = structure.getFieldDataType(fieldName); List<Element> dynamicContentElements = dynamicElementElement.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String fieldValue = dynamicContentElement.getText(); String languageId = dynamicContentElement.attributeValue("language-id"); Locale locale = LocaleUtil.fromLanguageId(languageId); Serializable fieldValueSerializable = FieldConstants.getSerializable(fieldDataType, fieldValue); Field field = fields.get(fieldName); if (field == null) { field = new Field(); String defaultLanguageId = dynamicElementElement.attributeValue("default-language-id"); if (Validator.isNull(defaultLanguageId)) { defaultLanguageId = rootElement.attributeValue("default-locale"); } Locale defaultLocale = LocaleUtil.fromLanguageId(defaultLanguageId); field.setDefaultLocale(defaultLocale); field.setDDMStructureId(structure.getStructureId()); field.setName(fieldName); field.setValue(locale, fieldValueSerializable); fields.put(field); } else { field.addValue(locale, fieldValueSerializable); } } } return fields; }
From source file:com.liferay.dynamic.data.mapping.internal.util.DefaultDDMStructureHelperImpl.java
License:Open Source License
protected List<Element> getDDMStructures(ClassLoader classLoader, String fileName, Locale locale) throws Exception { String xml = StringUtil.read(classLoader, fileName); xml = StringUtil.replace(xml, "[$LOCALE_DEFAULT$]", locale.toString()); Document document = UnsecureSAXReaderUtil.read(xml); Element rootElement = document.getRootElement(); return rootElement.elements("structure"); }
From source file:com.liferay.dynamic.data.mapping.io.internal.DDMFormXSDDeserializerImpl.java
License:Open Source License
protected void addOptionValueLabels(Element dynamicElementElement, DDMFormFieldOptions ddmFormFieldOptions, String optionValue) {//ww w. ja va 2 s. com List<Element> metadataElements = dynamicElementElement.elements("meta-data"); for (Element metadataElement : metadataElements) { String languageId = metadataElement.attributeValue("locale"); Locale locale = LocaleUtil.fromLanguageId(languageId); Element labelElement = fetchMetadataEntry(metadataElement, "label"); ddmFormFieldOptions.addOptionLabel(optionValue, locale, labelElement.getText()); } }
From source file:com.liferay.dynamic.data.mapping.io.internal.DDMFormXSDDeserializerImpl.java
License:Open Source License
protected DDMFormField getDDMFormField(Element dynamicElementElement) { String name = dynamicElementElement.attributeValue("name"); String type = dynamicElementElement.attributeValue("type"); DDMFormField ddmFormField = new DDMFormField(name, type); setDDMFormFieldDataType(dynamicElementElement, ddmFormField); setDDMFormFieldIndexType(dynamicElementElement, ddmFormField); setDDMFormFieldLocalizable(dynamicElementElement, ddmFormField); setDDMFormFieldMultiple(dynamicElementElement, ddmFormField); setDDMFormFieldNamespace(dynamicElementElement, ddmFormField); setDDMFormFieldReadOnly(dynamicElementElement, ddmFormField); setDDMFormFieldRepeatable(dynamicElementElement, ddmFormField); setDDMFormFieldRequired(dynamicElementElement, ddmFormField); setDDMFormFieldShowLabel(dynamicElementElement, ddmFormField); List<Element> metadataElements = dynamicElementElement.elements("meta-data"); for (Element metadataElement : metadataElements) { setDDMFormFieldMetadata(metadataElement, ddmFormField); }//from w w w.j a va 2 s . c o m if (type.equals("radio") || type.equals("select")) { setDDMFormFieldOptions(dynamicElementElement, ddmFormField); } else { setNestedDDMFormField(dynamicElementElement, ddmFormField); } return ddmFormField; }
From source file:com.liferay.dynamic.data.mapping.io.internal.DDMFormXSDDeserializerImpl.java
License:Open Source License
protected List<DDMFormField> getDDMFormFields(Element rootElement) { List<DDMFormField> ddmFormFields = new ArrayList<>(); for (Element dynamicElement : rootElement.elements("dynamic-element")) { DDMFormField ddmFormField = getDDMFormField(dynamicElement); ddmFormFields.add(ddmFormField); }/* ww w. jav a2 s .c o m*/ return ddmFormFields; }
From source file:com.liferay.dynamic.data.mapping.io.internal.DDMFormXSDDeserializerImpl.java
License:Open Source License
protected void setDDMFormFieldOptions(Element dynamicElementElement, DDMFormField ddmFormField) { DDMFormFieldOptions ddmFormFieldOptions = getDDMFormFieldOptions( dynamicElementElement.elements("dynamic-element")); ddmFormField.setDDMFormFieldOptions(ddmFormFieldOptions); }
From source file:com.liferay.dynamic.data.mapping.test.util.DDMStructureTestUtil.java
License:Open Source License
protected static Map<String, String> getElementMap(Element element) { Map<String, String> elementMap = new HashMap<>(); // Attributes for (Attribute attribute : element.attributes()) { elementMap.put(attribute.getName(), attribute.getValue()); }/*w w w. ja v a2s.co m*/ // Metadata for (Element metadadataElement : element.elements("meta-data")) { String metadataLanguageId = metadadataElement.attributeValue("locale"); for (Element entryElement : metadadataElement.elements("entry")) { String entryName = entryElement.attributeValue("name"); elementMap.put(entryName.concat(metadataLanguageId), entryElement.getText()); } } return elementMap; }
From source file:com.liferay.exportimport.controller.LayoutImportController.java
License:Open Source License
protected List<Element> fetchPortletElements(Element rootElement) { List<Element> portletElements = new ArrayList<>(); // Site portlets Element sitePortletsElement = rootElement.element("site-portlets"); // LAR compatibility if (sitePortletsElement == null) { sitePortletsElement = rootElement.element("portlets"); }//www .ja v a 2s. c om portletElements.addAll(sitePortletsElement.elements("portlet")); // Layout portlets XPath xPath = SAXReaderUtil.createXPath("staged-model/portlets/portlet"); Element layoutsElement = rootElement.element(Layout.class.getSimpleName()); List<Node> nodes = xPath.selectNodes(layoutsElement); Stream<Node> nodesStream = nodes.stream(); nodesStream.map(node -> (Element) node).forEach(portletElements::add); return portletElements; }