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.wiki.lar.WikiDisplayPortletDataHandlerImpl.java

License:Open Source License

@Override
protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences, String data) throws Exception {

    portletDataContext.importPermissions("com.liferay.portlet.wiki", portletDataContext.getSourceGroupId(),
            portletDataContext.getScopeGroupId());

    if (Validator.isNull(data)) {
        return null;
    }/*from   w ww .j a  v a2 s.c o m*/

    Document document = SAXReaderUtil.read(data);

    Element rootElement = document.getRootElement();

    Element nodesElement = rootElement.element("nodes");

    for (Element nodeElement : nodesElement.elements("node")) {
        String path = nodeElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        WikiNode node = (WikiNode) portletDataContext.getZipEntryAsObject(path);

        WikiPortletDataHandlerImpl.importNode(portletDataContext, node);
    }

    Element pagesElement = rootElement.element("pages");

    JournalPortletDataHandlerImpl.importReferencedData(portletDataContext, pagesElement);

    for (Element pageElement : pagesElement.elements("page")) {
        String path = pageElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        WikiPage page = (WikiPage) portletDataContext.getZipEntryAsObject(path);

        WikiPortletDataHandlerImpl.importPage(portletDataContext, pageElement, page);
    }

    Map<Long, Long> nodePKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(WikiNode.class);

    for (long nodeId : nodePKs.values()) {
        WikiCacheUtil.clearCache(nodeId);
    }

    long nodeId = GetterUtil.getLong(portletPreferences.getValue("nodeId", StringPool.BLANK));

    if (nodeId > 0) {
        nodeId = MapUtil.getLong(nodePKs, nodeId, nodeId);

        portletPreferences.setValue("nodeId", String.valueOf(nodeId));
    }

    return portletPreferences;
}

From source file:com.liferay.portlet.wiki.lar.WikiPortletDataHandlerImpl.java

License:Open Source License

public static void importPage(PortletDataContext portletDataContext, Element pageElement, WikiPage page)
        throws Exception {

    long userId = portletDataContext.getUserId(page.getUserUuid());

    Map<Long, Long> nodePKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(WikiNode.class);

    long nodeId = MapUtil.getLong(nodePKs, page.getNodeId(), page.getNodeId());

    String content = JournalPortletDataHandlerImpl.importReferencedContent(portletDataContext, pageElement,
            page.getContent());//from  w  w w  .j  a va  2 s .  c  om

    page.setContent(content);

    ServiceContext serviceContext = portletDataContext.createServiceContext(pageElement, page, _NAMESPACE);

    if (page.getStatus() != WorkflowConstants.STATUS_APPROVED) {
        serviceContext.setWorkflowAction(WorkflowConstants.ACTION_SAVE_DRAFT);
    }

    WikiPage importedPage = null;

    WikiPage existingPage = WikiPageUtil.fetchByUUID_G(page.getUuid(), portletDataContext.getScopeGroupId());

    if (existingPage == null) {
        try {
            existingPage = WikiPageLocalServiceUtil.getPage(nodeId, page.getTitle());
        } catch (NoSuchPageException nspe) {
        }
    }

    if (existingPage == null) {
        serviceContext.setUuid(page.getUuid());

        importedPage = WikiPageLocalServiceUtil.addPage(userId, nodeId, page.getTitle(), page.getVersion(),
                page.getContent(), page.getSummary(), page.isMinorEdit(), page.getFormat(), page.getHead(),
                page.getParentTitle(), page.getRedirectTitle(), serviceContext);
    } else {
        importedPage = WikiPageLocalServiceUtil.updatePage(userId, nodeId, existingPage.getTitle(), 0,
                page.getContent(), page.getSummary(), page.isMinorEdit(), page.getFormat(),
                page.getParentTitle(), page.getRedirectTitle(), serviceContext);
    }

    if (portletDataContext.getBooleanParameter(_NAMESPACE, "attachments") && page.isHead()) {

        for (Element attachmentElement : pageElement.elements("attachment")) {

            String name = attachmentElement.attributeValue("name");
            String binPath = attachmentElement.attributeValue("bin-path");

            InputStream inputStream = null;

            try {
                inputStream = portletDataContext.getZipEntryAsInputStream(binPath);

                WikiPageLocalServiceUtil.addPageAttachment(importedPage.getCompanyId(),
                        importedPage.getAttachmentsDir(), importedPage.getModifiedDate(), name, inputStream);
            } finally {
                StreamUtil.cleanUp(inputStream);
            }
        }
    }

    portletDataContext.importClassedModel(page, importedPage, _NAMESPACE);
}

From source file:com.liferay.portlet.wiki.lar.WikiPortletDataHandlerImpl.java

License:Open Source License

@Override
protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences, String data) throws Exception {

    portletDataContext.importPermissions("com.liferay.portlet.wiki", portletDataContext.getSourceGroupId(),
            portletDataContext.getScopeGroupId());

    Document document = SAXReaderUtil.read(data);

    Element rootElement = document.getRootElement();

    Element nodesElement = rootElement.element("nodes");

    for (Element nodeElement : nodesElement.elements("node")) {
        String path = nodeElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }/*w  w  w  . j a v  a  2s  .com*/

        WikiNode node = (WikiNode) portletDataContext.getZipEntryAsObject(path);

        importNode(portletDataContext, node);
    }

    Element pagesElement = rootElement.element("pages");

    JournalPortletDataHandlerImpl.importReferencedData(portletDataContext, pagesElement);

    for (Element pageElement : pagesElement.elements("page")) {
        String path = pageElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        WikiPage page = (WikiPage) portletDataContext.getZipEntryAsObject(path);

        importPage(portletDataContext, pageElement, page);
    }

    Map<Long, Long> nodePKs = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(WikiNode.class);

    for (long nodeId : nodePKs.values()) {
        WikiCacheUtil.clearCache(nodeId);
    }

    return null;
}

From source file:com.liferay.randombibleverse.util.RBVUtil.java

License:Open Source License

private RBVUtil() {
    Document document = null;/*from   w w  w. j a  va2 s.co m*/

    try {
        ClassLoader classLoader = getClass().getClassLoader();

        URL url = classLoader
                .getResource("com/liferay/randombibleverse/dependencies/" + "random_bible_verse.xml");

        document = SAXReaderUtil.read(url);
    } catch (Exception e) {
        _log.error(e, e);
    }

    _bibles = new LinkedHashMap<String, Bible>();
    _verses = new ArrayList<String>();

    Element rootElement = document.getRootElement();

    Element biblesElement = rootElement.element("bibles");

    List<Element> bibleElements = biblesElement.elements("bible");

    for (Element bibleElement : bibleElements) {
        _bibles.put(bibleElement.attributeValue("language"), new Bible(bibleElement.attributeValue("language"),
                bibleElement.attributeValue("language-name"), bibleElement.attributeValue("version-id")));
    }

    _bibles = Collections.unmodifiableMap(_bibles);

    Element versesElement = rootElement.element("verses");

    List<Element> verseElements = versesElement.elements("verse");

    for (Element verseElement : verseElements) {
        _verses.add(verseElement.attributeValue("location"));
    }

    _verses = Collections.unmodifiableList(_verses);
}

From source file:com.liferay.roles.admin.demo.data.creator.internal.BaseRoleDemoDataCreator.java

License:Open Source License

public void addPermissions(Role role, String permissionsXML, int scope, String primKey) throws PortalException {

    try {/*w w  w  .  j  av  a2  s . co  m*/
        Document document = SAXReaderUtil.read(permissionsXML);

        Element rootElement = document.getRootElement();

        List<Element> resources = rootElement.elements("resource");

        for (Element resource : resources) {
            String resourceName = resource.elementText("resource-name");

            List<Element> actionIds = resource.elements("action-id");

            for (Element actionId : actionIds) {
                addResourcePermission(role, resourceName, scope, primKey, actionId.getText());
            }
        }
    } catch (Exception e) {
        throw new PortalException(e);
    }
}

From source file:com.liferay.sample.adt.hook.events.StartupAction.java

License:Open Source License

public List<Element> getSampleTemplateElements() throws Exception {
    Class<?> clazz = getClass();

    String xml = StringUtil.read(clazz.getClassLoader(), _TEMPLATES_CONFIG_PATH, false);

    Document document = SAXReaderUtil.read(xml);

    Element rootElement = document.getRootElement();

    return rootElement.elements("template");
}

From source file:com.liferay.staging.test.StagingImplTest.java

License:Open Source License

protected void doTestInitialPublication() throws Exception {
    LayoutTestUtil.addLayout(_group);//from ww  w . j a v  a 2 s  .  c  o m
    LayoutTestUtil.addLayout(_group, true);

    JournalTestUtil.addArticle(_group.getGroupId(), RandomTestUtil.randomString(),
            RandomTestUtil.randomString());

    enableLocalStaging(false);

    Assert.assertEquals(1, JournalArticleLocalServiceUtil.getArticlesCount(_group.getGroupId()));

    Map<String, String[]> parameterMap = ExportImportConfigurationParameterMapFactory.buildParameterMap();

    String userIdStrategyString = MapUtil.getString(parameterMap, PortletDataHandlerKeys.USER_ID_STRATEGY);

    UserIdStrategy userIdStrategy = ExportImportHelperUtil.getUserIdStrategy(TestPropsValues.getUserId(),
            userIdStrategyString);

    String includePattern = String.valueOf(_group.getGroupId()) + "*.lar";

    String[] larFileNames = FileUtil.find(SystemProperties.get(SystemProperties.TMP_DIR), includePattern, null);

    Arrays.sort(larFileNames);

    File larFile = new File(larFileNames[larFileNames.length - 1]);

    ZipReader zipReader = ZipReaderFactoryUtil.getZipReader(larFile);

    PortletDataContext portletDataContext = PortletDataContextFactoryUtil.createImportPortletDataContext(
            _group.getCompanyId(), _group.getGroupId(), parameterMap, userIdStrategy, zipReader);

    String journalPortletPath = ExportImportPathUtil.getPortletPath(portletDataContext,
            JournalPortletKeys.JOURNAL);

    String portletData = portletDataContext.getZipEntryAsString(
            journalPortletPath + StringPool.SLASH + _group.getGroupId() + "/portlet-data.xml");

    Document document = SAXReaderUtil.read(portletData);

    portletDataContext.setImportDataRootElement(document.getRootElement());

    Element journalElement = portletDataContext.getImportDataGroupElement(JournalArticle.class);

    List<Element> journalStagedModelElements = journalElement.elements("staged-model");

    Assert.assertEquals(journalStagedModelElements.toString(), 0, journalStagedModelElements.size());
}

From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected void checkServiceXMLExceptions(String fileName, Element rootElement) {

    Element exceptionsElement = rootElement.element("exceptions");

    if (exceptionsElement == null) {
        return;/*from   w ww  .  j a  v a2s .  c  o m*/
    }

    List<Element> exceptionElements = exceptionsElement.elements("exception");

    String previousException = StringPool.BLANK;

    for (Element exceptionElement : exceptionElements) {
        String exception = exceptionElement.getStringValue();

        if (Validator.isNotNull(previousException) && (previousException.compareToIgnoreCase(exception) > 0)) {

            processErrorMessage(fileName, "sort: " + fileName + " " + exception);
        }

        previousException = exception;
    }
}

From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected void checkServiceXMLFinders(String fileName, Element entityElement, String entityName)
        throws Exception {

    _columnNames = getColumnNames(fileName, entityName);

    FinderElementComparator finderElementComparator = new FinderElementComparator();

    List<Element> finderElements = entityElement.elements("finder");

    for (int i = 1; i < finderElements.size(); i++) {
        Element finderElement = finderElements.get(i);
        Element previousFinderElement = finderElements.get(i - 1);

        if (finderElementComparator.compare(previousFinderElement, finderElement) > 0) {

            String finderName = finderElement.attributeValue("name");

            processErrorMessage(fileName, "order: " + fileName + " " + entityName + " " + finderName);
        }/*from  w w w . j av  a2  s  .  co  m*/
    }
}

From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected void checkServiceXMLReferences(String fileName, Element entityElement, String entityName) {

    String previousReferenceEntity = StringPool.BLANK;
    String previousReferencePackagePath = StringPool.BLANK;

    List<Element> referenceElements = entityElement.elements("reference");

    for (Element referenceElement : referenceElements) {
        String referenceEntity = referenceElement.attributeValue("entity");
        String referencePackagePath = referenceElement.attributeValue("package-path");

        if (Validator.isNotNull(previousReferencePackagePath)) {
            if ((previousReferencePackagePath.compareToIgnoreCase(referencePackagePath) > 0)
                    || (previousReferencePackagePath.equals(referencePackagePath)
                            && (previousReferenceEntity.compareToIgnoreCase(referenceEntity) > 0))) {

                processErrorMessage(fileName, "sort: " + fileName + " " + entityName + " " + referenceEntity);
            }//w ww.ja v  a  2 s . co  m
        }

        previousReferenceEntity = referenceEntity;
        previousReferencePackagePath = referencePackagePath;
    }
}