Example usage for com.liferay.portal.kernel.xml Element attributeValue

List of usage examples for com.liferay.portal.kernel.xml Element attributeValue

Introduction

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

Prototype

public String attributeValue(String name);

Source Link

Usage

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);
    }
}