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.exportimport.portlet.preferences.processor.capability.ReferencedStagedModelImporterCapability.java

License:Open Source License

@Override
public PortletPreferences process(PortletDataContext portletDataContext, PortletPreferences portletPreferences)
        throws PortletDataException {

    Element importDataRootElement = portletDataContext.getImportDataRootElement();

    Element referencesElement = importDataRootElement.element("references");

    if (referencesElement == null) {
        return portletPreferences;
    }//from w w  w  .  java 2s .c o  m

    List<Element> referenceElements = referencesElement.elements();

    long originalScopeGroupId = portletDataContext.getScopeGroupId();

    for (Element referenceElement : referenceElements) {
        try {
            String className = referenceElement.attributeValue("class-name");
            long classPK = GetterUtil.getLong(referenceElement.attributeValue("class-pk"));

            String scopeLayoutUuid = GetterUtil.getString(referenceElement.attributeValue("scope-layout-uuid"));

            if (Validator.isNotNull(scopeLayoutUuid)) {
                try {
                    Layout scopeLayout = _layoutLocalService.getLayoutByUuidAndGroupId(scopeLayoutUuid,
                            portletDataContext.getGroupId(), portletDataContext.isPrivateLayout());

                    Group scopeGroup = _groupLocalService.checkScopeGroup(scopeLayout,
                            portletDataContext.getUserId(null));

                    portletDataContext.setScopeGroupId(scopeGroup.getGroupId());
                } catch (PortalException pe) {
                    StringBundler sb = new StringBundler(9);

                    sb.append("Unable to import the layout scoped ");
                    sb.append("element with class name ");
                    sb.append(className);
                    sb.append(" and class primary key ");
                    sb.append(classPK);
                    sb.append(" because the layout with UUID ");
                    sb.append(scopeLayoutUuid);
                    sb.append(" is missing from group ");
                    sb.append(portletDataContext.getGroupId());

                    if (_log.isDebugEnabled()) {
                        _log.debug(sb.toString(), pe);
                    }

                    if (pe instanceof NoSuchLayoutException) {
                        continue;
                    }

                    throw new PortletDataException(sb.toString(), pe);
                }
            }

            StagedModelDataHandlerUtil.importReferenceStagedModel(portletDataContext, className, classPK);
        } finally {
            portletDataContext.setScopeGroupId(originalScopeGroupId);
        }
    }

    return portletPreferences;
}

From source file:com.liferay.exportimport.staging.StagingImpl.java

License:Open Source License

@Override
public void updateLastImportSettings(Element layoutElement, Layout layout,
        PortletDataContext portletDataContext) {

    Map<String, String[]> parameterMap = portletDataContext.getParameterMap();

    String cmd = MapUtil.getString(parameterMap, Constants.CMD);

    if (!cmd.equals(Constants.PUBLISH_TO_LIVE) && !cmd.equals("schedule_publish_to_live")) {

        return;/* ww w . j a v  a  2 s  .co  m*/
    }

    UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties();

    typeSettingsProperties.setProperty("last-import-date", String.valueOf(System.currentTimeMillis()));

    String layoutRevisionId = GetterUtil.getString(layoutElement.attributeValue("layout-revision-id"));

    typeSettingsProperties.setProperty("last-import-layout-revision-id", layoutRevisionId);

    String layoutSetBranchId = MapUtil.getString(parameterMap, "layoutSetBranchId");

    typeSettingsProperties.setProperty("last-import-layout-set-branch-id", layoutSetBranchId);

    String layoutSetBranchName = MapUtil.getString(parameterMap, "layoutSetBranchName");

    typeSettingsProperties.setProperty("last-import-layout-set-branch-name", layoutSetBranchName);

    String lastImportUserName = MapUtil.getString(parameterMap, "lastImportUserName");

    typeSettingsProperties.setProperty("last-import-user-name", lastImportUserName);

    String lastImportUserUuid = MapUtil.getString(parameterMap, "lastImportUserUuid");

    typeSettingsProperties.setProperty("last-import-user-uuid", lastImportUserUuid);

    String layoutBranchId = GetterUtil.getString(layoutElement.attributeValue("layout-branch-id"));

    typeSettingsProperties.setProperty("last-import-layout-branch-id", layoutBranchId);

    String layoutBranchName = GetterUtil.getString(layoutElement.attributeValue("layout-branch-name"));

    typeSettingsProperties.setProperty("last-import-layout-branch-name", layoutBranchName);

    layout.setTypeSettingsProperties(typeSettingsProperties);
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Test
public void testCleanUpMissingReferences() throws Exception {
    _portletDataContext.setPortletId(JournalContentPortletKeys.JOURNAL_CONTENT);

    Portlet portlet = PortletLocalServiceUtil.getPortletById(JournalContentPortletKeys.JOURNAL_CONTENT);

    AssetVocabulary assetVocabulary = AssetTestUtil.addVocabulary(_group.getGroupId());

    AssetCategory assetCategory = AssetTestUtil.addCategory(_group.getGroupId(),
            assetVocabulary.getVocabularyId());

    _portletDataContext.addReferenceElement(portlet, _portletDataContext.getExportDataRootElement(),
            assetCategory, PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);

    Element missingReferencesElement = _portletDataContext.getMissingReferencesElement();

    List<Element> missingReferenceElements = missingReferencesElement.elements();

    Assert.assertFalse(missingReferenceElements.toString(), missingReferenceElements.isEmpty());
    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    StagedModelDataHandlerUtil.exportStagedModel(_portletDataContext, assetCategory);

    missingReferenceElements = missingReferencesElement.elements();

    Assert.assertFalse(missingReferenceElements.toString(), missingReferenceElements.isEmpty());
    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    Element missingReferenceElement = missingReferenceElements.get(0);

    Assert.assertNull(missingReferenceElement.attribute("missing"));
    Assert.assertFalse(Validator.isBlank(missingReferenceElement.attributeValue("element-path")));
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Test
public void testMissingNotMissingReference() throws Exception {
    _portletDataContext.setPortletId(BookmarksPortletKeys.BOOKMARKS);

    Element bookmarksEntryElement = _portletDataContext.getExportDataElement(_bookmarksEntry);

    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_PARENT, true);
    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_PARENT, false);

    Element missingReferencesElement = _portletDataContext.getMissingReferencesElement();

    List<Element> missingReferenceElements = missingReferencesElement.elements();

    Assert.assertFalse(missingReferenceElements.toString(), missingReferenceElements.isEmpty());
    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    Element missingReferenceElement = missingReferenceElements.get(0);

    Assert.assertNull(missingReferenceElement.attribute("missing"));
    Assert.assertFalse(Validator.isBlank(missingReferenceElement.attributeValue("element-path")));
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Test
public void testMissingReference() throws Exception {
    Element bookmarksEntryElement = _portletDataContext.getExportDataElement(_bookmarksEntry);

    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_PARENT, true);

    Element missingReferencesElement = _portletDataContext.getMissingReferencesElement();

    List<Element> missingReferenceElements = missingReferencesElement.elements();

    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    Element missingReferenceElement = missingReferenceElements.get(0);

    Assert.assertEquals(_bookmarksFolder.getModelClassName(),
            missingReferenceElement.attributeValue("class-name"));
    Assert.assertEquals(String.valueOf(_bookmarksFolder.getPrimaryKeyObj()),
            missingReferenceElement.attributeValue("class-pk"));
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Test
public void testMultipleMissingNotMissingReference() throws Exception {
    _portletDataContext.setPortletId(BookmarksPortletKeys.BOOKMARKS);

    Element bookmarksEntryElement1 = _portletDataContext.getExportDataElement(_bookmarksEntry);

    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement1, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_PARENT, true);
    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement1, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_PARENT, false);

    BookmarksEntry bookmarksEntry = BookmarksTestUtil.addEntry(_bookmarksFolder.getFolderId(), true,
            _serviceContext);//  ww w.jav a 2  s.  c  o  m

    Element bookmarksEntryElement2 = _portletDataContext.getExportDataElement(bookmarksEntry);

    _portletDataContext.addReferenceElement(bookmarksEntry, bookmarksEntryElement2, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_PARENT, true);

    Element missingReferencesElement = _portletDataContext.getMissingReferencesElement();

    List<Element> missingReferenceElements = missingReferencesElement.elements();

    Assert.assertFalse(missingReferenceElements.toString(), missingReferenceElements.isEmpty());
    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    Element missingReferenceElement = missingReferenceElements.get(0);

    Assert.assertNull(missingReferenceElement.attribute("missing"));
    Assert.assertFalse(Validator.isBlank(missingReferenceElement.attributeValue("element-path")));
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Test
public void testMultipleMissingReferences() throws Exception {
    Portlet portlet = PortletLocalServiceUtil.getPortletById(JournalContentPortletKeys.JOURNAL_CONTENT);

    _portletDataContext.addReferenceElement(portlet, _portletDataContext.getExportDataRootElement(),
            _bookmarksEntry, PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);
    _portletDataContext.addReferenceElement(portlet, _portletDataContext.getExportDataRootElement(),
            _bookmarksEntry, PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);

    Element missingReferencesElement = _portletDataContext.getMissingReferencesElement();

    List<Element> missingReferenceElements = missingReferencesElement.elements();

    Assert.assertFalse(missingReferenceElements.toString(), missingReferenceElements.isEmpty());
    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    Element missingReferenceElement = missingReferenceElements.get(0);

    Assert.assertEquals(BookmarksEntry.class.getName(), missingReferenceElement.attributeValue("class-name"));
    Assert.assertEquals(String.valueOf(_bookmarksEntry.getPrimaryKeyObj()),
            missingReferenceElement.attributeValue("class-pk"));
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Test
public void testSameMissingReferenceMultipleTimes() throws Exception {
    Element bookmarksEntryElement = _portletDataContext.getExportDataElement(_bookmarksEntry);

    bookmarksEntryElement.addAttribute("path", ExportImportPathUtil.getModelPath(_bookmarksEntry));

    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);
    _portletDataContext.addReferenceElement(_bookmarksEntry, bookmarksEntryElement, _bookmarksFolder,
            PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);

    Element missingReferencesElement = _portletDataContext.getMissingReferencesElement();

    List<Element> missingReferenceElements = missingReferencesElement.elements();

    Assert.assertEquals(missingReferenceElements.toString(), 1, missingReferenceElements.size());

    List<Element> referencesElements = _portletDataContext.getReferenceElements(_bookmarksEntry,
            BookmarksFolder.class);

    Assert.assertEquals(referencesElements.toString(), 2, referencesElements.size());

    for (Element referenceElement : referencesElements) {
        Assert.assertTrue(GetterUtil.getBoolean(referenceElement.attributeValue("missing")));
    }// w  w w. j a  v a  2  s . c om
}

From source file:com.liferay.exportimport.test.util.lar.BaseStagedModelDataHandlerTestCase.java

License:Open Source License

protected void validateExport(PortletDataContext portletDataContext, StagedModel stagedModel,
        Map<String, List<StagedModel>> dependentStagedModelsMap) throws Exception {

    Element rootElement = portletDataContext.getExportDataRootElement();

    List<Element> stagedModelGroupElements = new ArrayList<>();

    Class<?> stagedModelClass = getStagedModelClass();

    String stagedModelClassSimpleName = stagedModelClass.getSimpleName();

    stagedModelGroupElements.addAll(rootElement.elements(stagedModelClassSimpleName));

    for (String dependentStagedModelClassSimpleName : dependentStagedModelsMap.keySet()) {

        stagedModelGroupElements.addAll(rootElement.elements(dependentStagedModelClassSimpleName));
    }/*w  ww  .j ava  2s .  co m*/

    for (Element stagedModelGroupElement : stagedModelGroupElements) {
        String className = stagedModelGroupElement.getName();

        if (className.equals("missing-references")) {
            continue;
        }

        List<StagedModel> dependentStagedModels = dependentStagedModelsMap.get(className);

        if (dependentStagedModels == null) {
            dependentStagedModels = new ArrayList<>();
        } else {
            dependentStagedModels = ListUtil.copy(dependentStagedModels);
        }

        if (className.equals(stagedModelClassSimpleName)) {
            dependentStagedModels.add(stagedModel);
        }

        List<Element> elements = stagedModelGroupElement.elements();

        Assert.assertEquals(elements.toString(), dependentStagedModels.size(), elements.size());

        for (Element element : elements) {
            String path = element.attributeValue("path");

            Assert.assertNotNull(path);

            Iterator<StagedModel> iterator = dependentStagedModels.iterator();

            while (iterator.hasNext()) {
                StagedModel dependentStagedModel = iterator.next();

                String dependentStagedModelPath = ExportImportPathUtil.getModelPath(dependentStagedModel);

                if (path.equals(dependentStagedModelPath)) {
                    iterator.remove();
                }
            }
        }

        Assert.assertTrue("There is more than one element exported with the same path",
                dependentStagedModels.isEmpty());
    }
}

From source file:com.liferay.google.apps.connector.GetNextItems.java

License:Open Source License

public GetNextItems(String url, Element atomFeedElement) throws GoogleAppsException {

    List<Element> atomLinkElements = atomFeedElement.elements(GHelperUtil.getAtomQName("link"));

    for (Element atomLinkElement : atomLinkElements) {
        String rel = atomLinkElement.attributeValue("rel");

        if (rel.equals("next")) {
            String href = atomLinkElement.attributeValue("href");

            if (!href.equals(url)) {
                getNextItems(href);//w w  w.j  av  a  2s. co  m
            }

            break;
        }
    }
}