List of usage examples for com.liferay.portal.kernel.xml Element elementText
public String elementText(String name);
From source file:com.liferay.portlet.wiki.importers.mediawiki.MediaWikiImporter.java
License:Open Source License
protected void processRegularPages(long userId, WikiNode node, Element rootElement, List<String> specialNamespaces, Map<String, String> usersMap, InputStream imagesInputStream, Map<String, String[]> options) { boolean importLatestVersion = MapUtil.getBoolean(options, WikiImporterKeys.OPTIONS_IMPORT_LATEST_VERSION); boolean strictImportMode = MapUtil.getBoolean(options, WikiImporterKeys.OPTIONS_STRICT_IMPORT_MODE); ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker(); int count = 0; int percentage = 10; int maxPercentage = 50; if (imagesInputStream == null) { maxPercentage = 99;// www. j av a2 s .c o m } List<Element> pageElements = rootElement.elements("page"); for (int i = 0; i < pageElements.size(); i++) { Element pageElement = pageElements.get(i); String title = pageElement.elementText("title"); if (isSpecialMediaWikiPage(title, specialNamespaces)) { continue; } title = normalizeTitle(title); percentage = Math.min(10 + (i * (maxPercentage - percentage)) / pageElements.size(), maxPercentage); progressTracker.setPercent(percentage); List<Element> revisionElements = pageElement.elements("revision"); if (importLatestVersion) { Element lastRevisionElement = revisionElements.get(revisionElements.size() - 1); revisionElements = new ArrayList<Element>(); revisionElements.add(lastRevisionElement); } for (Element revisionElement : revisionElements) { Element contributorElement = revisionElement.element("contributor"); String author = contributorElement.elementText("username"); String content = revisionElement.elementText("text"); String summary = revisionElement.elementText("comment"); try { importPage(userId, author, node, title, content, summary, usersMap, strictImportMode); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Page with title " + title + " could not be imported", e); } } } count++; } if (_log.isInfoEnabled()) { _log.info("Imported " + count + " pages into " + node.getName()); } }
From source file:com.liferay.portlet.wiki.importers.mediawiki.MediaWikiImporter.java
License:Open Source License
protected void processSpecialPages(long userId, WikiNode node, Element rootElement, List<String> specialNamespaces) throws PortalException { ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker(); List<Element> pageElements = rootElement.elements("page"); for (int i = 0; i < pageElements.size(); i++) { Element pageElement = pageElements.get(i); String title = pageElement.elementText("title"); if (!title.startsWith("Category:")) { if (isSpecialMediaWikiPage(title, specialNamespaces)) { rootElement.remove(pageElement); }//from w w w. j ava 2 s .c o m continue; } String categoryName = title.substring("Category:".length()); categoryName = normalize(categoryName, 75); Element revisionElement = pageElement.element("revision"); String description = revisionElement.elementText("text"); description = normalizeDescription(description); try { AssetTag assetTag = null; try { assetTag = AssetTagLocalServiceUtil.getTag(node.getGroupId(), categoryName); } catch (NoSuchTagException nste) { ServiceContext serviceContext = new ServiceContext(); serviceContext.setAddGroupPermissions(true); serviceContext.setAddGuestPermissions(true); serviceContext.setScopeGroupId(node.getGroupId()); assetTag = AssetTagLocalServiceUtil.addTag(userId, categoryName, null, serviceContext); if (PropsValues.ASSET_TAG_PROPERTIES_ENABLED && Validator.isNotNull(description)) { AssetTagPropertyLocalServiceUtil.addTagProperty(userId, assetTag.getTagId(), "description", description); } } } catch (SystemException se) { _log.error(se, se); } if ((i % 5) == 0) { progressTracker.setPercent((i * 10) / pageElements.size()); } } }
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 {//from w ww. j ava2 s .c o 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
protected void addDDMTemplates(long companyId) throws Exception { ServiceContext serviceContext = new ServiceContext(); Group group = GroupLocalServiceUtil.getCompanyGroup(companyId); serviceContext.setScopeGroupId(group.getGroupId()); long defaultUserId = UserLocalServiceUtil.getDefaultUserId(companyId); serviceContext.setUserId(defaultUserId); List<Element> templateElements = getSampleTemplateElements(); for (Element templateElement : templateElements) { String className = templateElement.elementText("class-name"); String templateKey = templateElement.elementText("template-key"); long classNameId = PortalUtil.getClassNameId(className); DDMTemplate ddmTemplate = DDMTemplateLocalServiceUtil.fetchTemplate(group.getGroupId(), classNameId, templateKey);//from w ww . j a v a 2 s. c om if (ddmTemplate != null) { continue; } String name = templateElement.elementText("name"); String description = templateElement.elementText("description"); String language = templateElement.elementText("language"); String scriptFileName = templateElement.elementText("script-file"); boolean cacheable = GetterUtil.getBoolean(templateElement.elementText("cacheable")); addDDMTemplate(defaultUserId, group.getGroupId(), classNameId, templateKey, name, description, language, scriptFileName, cacheable, serviceContext); } }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected String formatFriendlyURLRoutesXML(String absolutePath, String content) throws Exception { if (isExcluded(_friendlyUrlRoutesSortExclusions, absolutePath)) { return content; }/*from w w w .j a v a2s .c om*/ Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); List<ComparableRoute> comparableRoutes = new ArrayList<ComparableRoute>(); for (Element routeElement : rootElement.elements("route")) { String pattern = routeElement.elementText("pattern"); ComparableRoute comparableRoute = new ComparableRoute(pattern); for (Element generatedParameterElement : routeElement.elements("generated-parameter")) { String name = generatedParameterElement.attributeValue("name"); String value = generatedParameterElement.getText(); comparableRoute.addGeneratedParameter(name, value); } for (Element ignoredParameterElement : routeElement.elements("ignored-parameter")) { String name = ignoredParameterElement.attributeValue("name"); comparableRoute.addIgnoredParameter(name); } for (Element implicitParameterElement : routeElement.elements("implicit-parameter")) { String name = implicitParameterElement.attributeValue("name"); String value = implicitParameterElement.getText(); comparableRoute.addImplicitParameter(name, value); } for (Element overriddenParameterElement : routeElement.elements("overridden-parameter")) { String name = overriddenParameterElement.attributeValue("name"); String value = overriddenParameterElement.getText(); comparableRoute.addOverriddenParameter(name, value); } comparableRoutes.add(comparableRoute); } Collections.sort(comparableRoutes); String mainReleaseVersion = getMainReleaseVersion(); StringBundler sb = new StringBundler(); sb.append("<?xml version=\"1.0\"?>\n"); sb.append("<!DOCTYPE routes PUBLIC \"-//Liferay//DTD Friendly URL "); sb.append("Routes "); sb.append(mainReleaseVersion); sb.append("//EN\" \"http://www.liferay.com/dtd/"); sb.append("liferay-friendly-url-routes_"); sb.append(StringUtil.replace(mainReleaseVersion, StringPool.PERIOD, StringPool.UNDERLINE)); sb.append(".dtd\">\n\n<routes>\n"); for (ComparableRoute comparableRoute : comparableRoutes) { sb.append("\t<route>\n"); sb.append("\t\t<pattern>"); sb.append(comparableRoute.getPattern()); sb.append("</pattern>\n"); Map<String, String> generatedParameters = comparableRoute.getGeneratedParameters(); for (Map.Entry<String, String> entry : generatedParameters.entrySet()) { sb.append("\t\t<generated-parameter name=\""); sb.append(entry.getKey()); sb.append("\">"); sb.append(entry.getValue()); sb.append("</generated-parameter>\n"); } Set<String> ignoredParameters = comparableRoute.getIgnoredParameters(); for (String entry : ignoredParameters) { sb.append("\t\t<ignored-parameter name=\""); sb.append(entry); sb.append("\" />\n"); } Map<String, String> implicitParameters = comparableRoute.getImplicitParameters(); for (Map.Entry<String, String> entry : implicitParameters.entrySet()) { sb.append("\t\t<implicit-parameter name=\""); sb.append(entry.getKey()); sb.append("\">"); sb.append(entry.getValue()); sb.append("</implicit-parameter>\n"); } Map<String, String> overriddenParameters = comparableRoute.getOverriddenParameters(); for (Map.Entry<String, String> entry : overriddenParameters.entrySet()) { sb.append("\t\t<overridden-parameter name=\""); sb.append(entry.getKey()); sb.append("\">"); sb.append(entry.getValue()); sb.append("</overridden-parameter>\n"); } sb.append("\t</route>\n"); } sb.append("</routes>"); return sb.toString(); }
From source file:com.liferay.web.extender.internal.webbundle.WebBundleProcessor.java
License:Open Source License
protected void processPortletXML(String webContextpath) throws IOException { File portletXMLFile = new File(_deployedAppFolder, "WEB-INF/" + Portal.PORTLET_XML_FILE_NAME_STANDARD); if (!portletXMLFile.exists()) { return;//from w w w . j av a 2 s . c o m } String content = FileUtil.read(portletXMLFile); Document document = null; try { document = SAXReaderUtil.read(content); } catch (DocumentException de) { throw new IOException(de); } Element rootElement = document.getRootElement(); List<Element> portletElements = rootElement.elements("portlet"); for (Element portletElement : portletElements) { String portletName = portletElement.elementText("portlet-name"); String invokerPortletName = "osgi".concat(webContextpath).concat(StringPool.SLASH).concat(portletName); XPath xPath = SAXReaderUtil.createXPath(_INVOKER_PORTLET_NAME_XPATH); Element invokerPortletNameEl = (Element) xPath.selectSingleNode(portletElement); if (invokerPortletNameEl == null) { Element portletClassElement = portletElement.element("portlet-class"); List<Node> children = portletElement.content(); int pos = children.indexOf(portletClassElement); QName qName = rootElement.getQName(); Element initParamElement = SAXReaderUtil .createElement(SAXReaderUtil.createQName("init-param", qName.getNamespace())); initParamElement.addElement("name").setText("com.liferay.portal.invokerPortletName"); initParamElement.addElement("value").setText(invokerPortletName); children.add(pos + 1, initParamElement); } else { Element valueElement = invokerPortletNameEl.element("value"); invokerPortletName = valueElement.getTextTrim(); if (!invokerPortletName.startsWith(StringPool.SLASH)) { invokerPortletName = StringPool.SLASH.concat(invokerPortletName); } invokerPortletName = "osgi".concat(webContextpath).concat(invokerPortletName); valueElement.setText(invokerPortletName); } } content = DDMXMLUtil.formatXML(document); FileUtil.write(portletXMLFile, content); }
From source file:com.liferay.westminstercatechism.util.WCUtil.java
License:Open Source License
private WCUtil() { Document document = null;//from w w w . ja v a 2 s. c om try { ClassLoader classLoader = getClass().getClassLoader(); URL url = classLoader .getResource("com/liferay/westminstercatechism/dependencies/" + "westminster_catechmism.xml"); document = SAXReaderUtil.read(url); } catch (DocumentException de) { _log.error(de, de); } _shorter = new ArrayList<WCEntry>(); Element rootElement = document.getRootElement(); Element shorterElement = rootElement.element("shorter"); List<Element> entryElements = shorterElement.elements("entry"); for (Element entryElement : entryElements) { List<String[]> proofs = new ArrayList<String[]>(); Element proofsElement = entryElement.element("proofs"); List<Element> scripturesElements = proofsElement.elements("scriptures"); for (Element scripturesElement : scripturesElements) { proofs.add(StringUtil.split(scripturesElement.getText(), StringPool.SEMICOLON)); } _shorter.add(new WCEntry(entryElement.elementText("question"), entryElement.elementText("answer"), proofs.toArray(new String[0][0]))); } _shorter = Collections.unmodifiableList(_shorter); _larger = new ArrayList<WCEntry>(); Element largerElement = rootElement.element("larger"); entryElements = largerElement.elements("entry"); for (Element entry : entryElements) { List<String[]> proofs = new ArrayList<String[]>(); Element proofsElement = entry.element("proofs"); List<Element> scripturesElements = proofsElement.elements("scriptures"); for (Element scriptures : scripturesElements) { proofs.add(StringUtil.split(scriptures.getText(), StringPool.SEMICOLON)); } _larger.add(new WCEntry(entry.elementText("question"), entry.elementText("answer"), proofs.toArray(new String[0][0]))); } _larger = Collections.unmodifiableList(_larger); }
From source file:com.liferay.wiki.importer.impl.mediawiki.MediaWikiImporter.java
License:Open Source License
protected void processRegularPages(long userId, WikiNode node, Element rootElement, List<String> specialNamespaces, Map<String, String> usersMap, InputStream imagesInputStream, Map<String, String[]> options) { boolean importLatestVersion = MapUtil.getBoolean(options, WikiImporterKeys.OPTIONS_IMPORT_LATEST_VERSION); boolean strictImportMode = MapUtil.getBoolean(options, WikiImporterKeys.OPTIONS_STRICT_IMPORT_MODE); ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker(); int count = 0; int percentage = 10; int maxPercentage = 50; if (imagesInputStream == null) { maxPercentage = 99;/*from w w w. j av a2s . com*/ } List<Element> pageElements = rootElement.elements("page"); for (int i = 0; i < pageElements.size(); i++) { Element pageElement = pageElements.get(i); String title = pageElement.elementText("title"); if (isSpecialMediaWikiPage(title, specialNamespaces)) { continue; } title = _wikiPageTitleValidator.normalize(title); percentage = Math.min(10 + (i * (maxPercentage - percentage)) / pageElements.size(), maxPercentage); progressTracker.setPercent(percentage); List<Element> revisionElements = pageElement.elements("revision"); if (importLatestVersion) { Element lastRevisionElement = revisionElements.get(revisionElements.size() - 1); revisionElements = new ArrayList<>(); revisionElements.add(lastRevisionElement); } for (Element revisionElement : revisionElements) { Element contributorElement = revisionElement.element("contributor"); String author = contributorElement.elementText("username"); String content = revisionElement.elementText("text"); String summary = revisionElement.elementText("comment"); try { importPage(userId, author, node, title, content, summary, usersMap, strictImportMode); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Page with title " + title + " could not be imported", e); } } } count++; } if (_log.isInfoEnabled()) { _log.info("Imported " + count + " pages into " + node.getName()); } }
From source file:com.liferay.wiki.importer.impl.mediawiki.MediaWikiImporter.java
License:Open Source License
protected void processSpecialPages(long userId, WikiNode node, Element rootElement, List<String> specialNamespaces) throws PortalException { ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker(); List<Element> pageElements = rootElement.elements("page"); for (int i = 0; i < pageElements.size(); i++) { Element pageElement = pageElements.get(i); String title = pageElement.elementText("title"); if (!title.startsWith("Category:")) { if (isSpecialMediaWikiPage(title, specialNamespaces)) { rootElement.remove(pageElement); }// www. j av a 2 s . c om continue; } String categoryName = title.substring("Category:".length()); categoryName = normalize(categoryName, 75); _assetTagLocalService.checkTags(userId, node.getGroupId(), new String[] { categoryName }); if ((i % 5) == 0) { progressTracker.setPercent((i * 10) / pageElements.size()); } } }
From source file:com.slemarchand.peoplepublisher.util.PeoplePublisherImpl.java
License:Open Source License
@Override public List<User> getUsers(PortletRequest portletRequest, PortletPreferences portletPreferences, String[] userXmls, boolean deleteMissingUsers) throws Exception { long companyId = PortalUtil.getCompanyId(portletRequest); List<User> users = new ArrayList<User>(); List<String> missingUserScreenNames = new ArrayList<String>(); for (String userXml : userXmls) { Document document = SAXReaderUtil.read(userXml); Element rootElement = document.getRootElement(); String screenName = rootElement.elementText("screen-name"); User user = null;// w w w.ja va 2 s . c o m user = UserLocalServiceUtil.getUserByScreenName(companyId, screenName); if (user == null) { if (deleteMissingUsers) { missingUserScreenNames.add(screenName); } continue; } users.add(user); } if (deleteMissingUsers) { removeAndStoreSelection(missingUserScreenNames, portletPreferences); if (!missingUserScreenNames.isEmpty()) { SessionMessages.add(portletRequest, "deletedMissingUsers", missingUserScreenNames); } } return users; }