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

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

Introduction

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

Prototype

public List<Element> elements(String name);

Source Link

Usage

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