List of usage examples for com.liferay.portal.kernel.xml Element attributeValue
public String attributeValue(String name);
From source file:com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.java
License:Open Source License
protected void importFolderFileEntryTypes(PortletDataContext portletDataContext, Element folderElement, Folder folder, Folder importedFolder, ServiceContext serviceContext) throws Exception { if (!folder.isDefaultRepository()) { return;/*from ww w . j av a 2 s . c om*/ } List<Long> currentFolderFileEntryTypeIds = new ArrayList<>(); String defaultFileEntryTypeUuid = GetterUtil .getString(folderElement.attributeValue("defaultFileEntryTypeUuid")); long defaultFileEntryTypeId = 0; List<Element> referenceElements = portletDataContext.getReferenceElements(folder, DLFileEntryType.class); for (Element referenceElement : referenceElements) { long referenceDLFileEntryTypeId = GetterUtil.getLong(referenceElement.attributeValue("class-pk")); String referenceDLFileEntryTypeUuid = referenceElement.attributeValue("uuid"); Map<Long, Long> dlFileEntryTypeIds = (Map<Long, Long>) portletDataContext .getNewPrimaryKeysMap(DLFileEntryType.class); long dlFileEntryTypeId = MapUtil.getLong(dlFileEntryTypeIds, referenceDLFileEntryTypeId, referenceDLFileEntryTypeId); DLFileEntryType existingDLFileEntryType = _dlFileEntryTypeLocalService .fetchDLFileEntryType(dlFileEntryTypeId); if (existingDLFileEntryType == null) { continue; } currentFolderFileEntryTypeIds.add(existingDLFileEntryType.getFileEntryTypeId()); if (defaultFileEntryTypeUuid.equals(referenceDLFileEntryTypeUuid)) { defaultFileEntryTypeId = existingDLFileEntryType.getFileEntryTypeId(); } } if (GetterUtil.getBoolean(folderElement.attributeValue("basic-document"))) { currentFolderFileEntryTypeIds.add(DLFileEntryTypeConstants.FILE_ENTRY_TYPE_ID_BASIC_DOCUMENT); } if (!currentFolderFileEntryTypeIds.isEmpty()) { DLFolder dlFolder = (DLFolder) importedFolder.getModel(); dlFolder.setDefaultFileEntryTypeId(defaultFileEntryTypeId); dlFolder.setRestrictionType(DLFolderConstants.RESTRICTION_TYPE_FILE_ENTRY_TYPES_AND_WORKFLOW); _dlFolderLocalService.updateDLFolder(dlFolder); _dlFileEntryTypeLocalService.updateFolderFileEntryTypes(dlFolder, currentFolderFileEntryTypeIds, defaultFileEntryTypeId, serviceContext); } }
From source file:com.liferay.document.library.internal.exportimport.data.handler.RepositoryStagedModelDataHandler.java
License:Open Source License
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, Repository repository) throws Exception { long userId = portletDataContext.getUserId(repository.getUserUuid()); ServiceContext serviceContext = portletDataContext.createServiceContext(repository); Repository importedRepository = null; Element repositoryElement = portletDataContext.getImportDataStagedModelElement(repository); try {// ww w . j a va 2 s . c om boolean hidden = GetterUtil.getBoolean(repositoryElement.attributeValue("hidden")); if (portletDataContext.isDataStrategyMirror()) { Repository existingRepository = fetchStagedModelByUuidAndGroupId(repository.getUuid(), portletDataContext.getScopeGroupId()); if (existingRepository == null) { existingRepository = _repositoryLocalService .fetchRepository(portletDataContext.getScopeGroupId(), repository.getName()); } if (existingRepository == null) { serviceContext.setUuid(repository.getUuid()); importedRepository = _repositoryLocalService.addRepository(userId, portletDataContext.getScopeGroupId(), repository.getClassNameId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, repository.getName(), repository.getDescription(), repository.getPortletId(), repository.getTypeSettingsProperties(), hidden, serviceContext); } else { _repositoryLocalService.updateRepository(existingRepository.getRepositoryId(), repository.getName(), repository.getDescription()); importedRepository = existingRepository; } } else { importedRepository = _repositoryLocalService.addRepository(userId, portletDataContext.getScopeGroupId(), repository.getClassNameId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, repository.getName(), repository.getDescription(), repository.getPortletId(), repository.getTypeSettingsProperties(), hidden, serviceContext); } } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Unable to connect to repository {name=" + repository.getName() + ", typeSettings=" + repository.getTypeSettingsProperties() + "}", e); } } portletDataContext.importClassedModel(repository, importedRepository); StagedModelDataHandlerUtil.importReferenceStagedModels(portletDataContext, repository, RepositoryEntry.class); }
From source file:com.liferay.dynamic.data.lists.internal.exportimport.data.handler.DDLRecordSetStagedModelDataHandler.java
License:Open Source License
protected DDMFormValues getImportRecordSetSettings(PortletDataContext portletDataContext, Element recordSetElement) throws Exception { DDMForm ddmForm = DDMFormFactory.create(DDLRecordSetSettings.class); String settingsDDMFormValuesPath = recordSetElement.attributeValue("settings-ddm-form-values-path"); String serializedSettingsDDMFormValues = portletDataContext.getZipEntryAsString(settingsDDMFormValuesPath); return _ddmFormValuesJSONDeserializer.deserialize(ddmForm, serializedSettingsDDMFormValues); }
From source file:com.liferay.dynamic.data.lists.internal.exportimport.data.handler.DDLRecordStagedModelDataHandler.java
License:Open Source License
protected DDMFormValues getImportDDMFormValues(PortletDataContext portletDataContext, Element recordElement, long recordSetId) throws Exception { DDLRecordSet recordSet = _ddlRecordSetLocalService.getRecordSet(recordSetId); DDMStructure ddmStructure = recordSet.getDDMStructure(); String ddmFormValuesPath = recordElement.attributeValue("ddm-form-values-path"); String serializedDDMFormValues = portletDataContext.getZipEntryAsString(ddmFormValuesPath); DDMFormValues ddmFormValues = _ddmFormValuesJSONDeserializer.deserialize(ddmStructure.getDDMForm(), serializedDDMFormValues);/*w w w . ja va2s .c om*/ return _ddmFormValuesExportImportContentProcessor.replaceImportContentReferences(portletDataContext, ddmStructure, ddmFormValues); }
From source file:com.liferay.dynamic.data.mapping.internal.exportimport.data.handler.DDMFormInstanceRecordStagedModelDataHandler.java
License:Open Source License
protected DDMFormValues getImportDDMFormValues(PortletDataContext portletDataContext, Element recordElement, long ddmFormInstanceId) throws Exception { DDMFormInstance recordSet = _ddmFormInstanceLocalService.getFormInstance(ddmFormInstanceId); DDMStructure ddmStructure = recordSet.getStructure(); String ddmFormValuesPath = recordElement.attributeValue("ddm-form-values-path"); String serializedDDMFormValues = portletDataContext.getZipEntryAsString(ddmFormValuesPath); DDMFormValues ddmFormValues = _ddmFormValuesJSONDeserializer.deserialize(ddmStructure.getDDMForm(), serializedDDMFormValues);/* w ww . j av a 2 s . c o m*/ return _ddmFormValuesExportImportContentProcessor.replaceImportContentReferences(portletDataContext, ddmStructure, ddmFormValues); }
From source file:com.liferay.dynamic.data.mapping.internal.exportimport.data.handler.DDMFormInstanceStagedModelDataHandler.java
License:Open Source License
protected DDMFormValues getImportFormInstanceSettings(PortletDataContext portletDataContext, Element formInstanceElement) throws Exception { DDMForm ddmForm = DDMFormFactory.create(DDMFormInstanceSettings.class); String settingsDDMFormValuesPath = formInstanceElement.attributeValue("settings-ddm-form-values-path"); String serializedSettingsDDMFormValues = portletDataContext.getZipEntryAsString(settingsDDMFormValuesPath); return _ddmFormValuesJSONDeserializer.deserialize(ddmForm, serializedSettingsDDMFormValues); }
From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMappingTest.java
License:Open Source License
protected Map<String, List<String>> getLocalizedDataMap(Element dynamicElementElement) { Map<String, List<String>> localizedDataMap = new HashMap<>(); for (Element dynamicContentElement : dynamicElementElement.elements()) { String languageId = dynamicContentElement.attributeValue("language-id"); append(localizedDataMap, languageId, dynamicContentElement.getText()); }/* w ww . j av a 2s.co m*/ return localizedDataMap; }
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 w w w .ja v a 2 s .co 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;// w w w. j a va 2 s.c om 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.DDMXMLImpl.java
License:Open Source License
protected void validate(Document document) throws Exception { XPath xPathSelector = _saxReader.createXPath("//dynamic-element"); List<Node> nodes = xPathSelector.selectNodes(document); Set<String> elementNames = new HashSet<>(); for (Node node : nodes) { Element element = (Element) node; String name = StringUtil.toLowerCase(element.attributeValue("name")); if (Validator.isNull(name)) { throw new StructureDefinitionException( "Element must have a name attribute " + element.formattedString()); }/* w w w . j av a2 s . c o m*/ if (name.startsWith(DDMStructureConstants.XSD_NAME_RESERVED)) { throw new StructureDefinitionException("Element name " + name + " is reserved"); } if (elementNames.contains(name)) { throw new StructureDuplicateElementException("Element with name " + name + " already exists"); } elementNames.add(name); } }