Example usage for com.liferay.portal.kernel.util Portal FRIENDLY_URL_SEPARATOR

List of usage examples for com.liferay.portal.kernel.util Portal FRIENDLY_URL_SEPARATOR

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util Portal FRIENDLY_URL_SEPARATOR.

Prototype

String FRIENDLY_URL_SEPARATOR

To view the source code for com.liferay.portal.kernel.util Portal FRIENDLY_URL_SEPARATOR.

Click Source Link

Usage

From source file:com.liferay.asset.publisher.web.util.AssetRSSUtil.java

License:Open Source License

protected static String getAssetPublisherURL(PortletRequest portletRequest) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    Layout layout = themeDisplay.getLayout();

    PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

    StringBundler sb = new StringBundler(6);

    String layoutFriendlyURL = GetterUtil.getString(PortalUtil.getLayoutFriendlyURL(layout, themeDisplay));

    if (!layoutFriendlyURL.startsWith(Http.HTTP_WITH_SLASH)
            && !layoutFriendlyURL.startsWith(Http.HTTPS_WITH_SLASH)) {

        sb.append(themeDisplay.getPortalURL());
    }//ww  w. j  a  va2  s .  com

    sb.append(layoutFriendlyURL);
    sb.append(Portal.FRIENDLY_URL_SEPARATOR);
    sb.append("asset_publisher/");
    sb.append(portletDisplay.getInstanceId());
    sb.append(StringPool.SLASH);

    return sb.toString();
}

From source file:com.liferay.blogs.internal.util.PingbackMethodImpl.java

License:Open Source License

protected ServiceContext buildServiceContext(long companyId, long groupId, String urlTitle) throws Exception {

    ServiceContext serviceContext = new ServiceContext();

    String pingbackUserName = LanguageUtil.get(LocaleUtil.getSiteDefault(), "pingback");

    serviceContext.setAttribute("pingbackUserName", pingbackUserName);

    StringBundler sb = new StringBundler(5);

    String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(),
            PortletProvider.Action.VIEW);

    if (Validator.isNull(portletId)) {
        return serviceContext;
    }//from   w w  w.  j ava2  s.c o  m

    String layoutFullURL = PortalUtil.getLayoutFullURL(groupId, portletId);

    sb.append(layoutFullURL);

    sb.append(Portal.FRIENDLY_URL_SEPARATOR);

    Portlet portlet = _portletLocalService.getPortletById(companyId, portletId);

    sb.append(portlet.getFriendlyURLMapping());
    sb.append(StringPool.SLASH);
    sb.append(urlTitle);

    serviceContext.setAttribute("redirect", sb.toString());

    serviceContext.setLayoutFullURL(layoutFullURL);

    return serviceContext;
}

From source file:com.liferay.blogs.internal.util.PingbackMethodImpl.java

License:Open Source License

protected BlogsEntry getBlogsEntry(long companyId) throws Exception {
    BlogsEntry entry = null;/*from   ww w. ja  v  a2s  .  c o m*/

    URL url = new URL(_targetURI);

    String friendlyURL = url.getPath();

    int end = friendlyURL.indexOf(Portal.FRIENDLY_URL_SEPARATOR);

    if (end != -1) {
        friendlyURL = friendlyURL.substring(0, end);
    }

    long plid = PortalUtil.getPlidFromFriendlyURL(companyId, friendlyURL);
    long groupId = PortalUtil.getScopeGroupId(plid);

    Map<String, String[]> params = new HashMap<>();

    FriendlyURLMapperThreadLocal.setPRPIdentifiers(new HashMap<String, String>());

    String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(),
            PortletProvider.Action.VIEW);

    Portlet portlet = _portletLocalService.getPortletById(portletId);

    FriendlyURLMapper friendlyURLMapper = portlet.getFriendlyURLMapperInstance();

    friendlyURL = url.getPath();

    end = friendlyURL.indexOf(Portal.FRIENDLY_URL_SEPARATOR);

    if (end != -1) {
        friendlyURL = friendlyURL.substring(end + Portal.FRIENDLY_URL_SEPARATOR.length() - 1);
    }

    Map<String, Object> requestContext = new HashMap<>();

    friendlyURLMapper.populateParams(friendlyURL, params, requestContext);

    String param = getParam(params, "entryId");

    if (Validator.isNotNull(param)) {
        long entryId = GetterUtil.getLong(param);

        entry = _blogsEntryLocalService.getEntry(entryId);
    } else {
        String urlTitle = getParam(params, "urlTitle");

        entry = _blogsEntryLocalService.getEntry(groupId, urlTitle);
    }

    return entry;
}

From source file:com.liferay.blogs.internal.verify.VerifyBlogsTrackbacks.java

License:Open Source License

private void _verifyPost(BlogsEntry entry, MBMessage mbMessage) throws PortalException {

    String entryURL = Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle();
    String body = mbMessage.getBody();
    String url = null;/*from www  .j a v  a 2  s  .  c  om*/

    int start = body.indexOf("[url=");

    if (start > -1) {
        start += "[url=".length();

        int end = body.indexOf("]", start);

        if (end > -1) {
            url = body.substring(start, end);
        }
    }

    if (Validator.isNotNull(url)) {
        long defaultUserId = _userLocalService.getDefaultUserId(mbMessage.getCompanyId());

        if (mbMessage.getUserId() == defaultUserId) {
            _linkbackConsumer.verifyTrackback(mbMessage.getMessageId(), url, entryURL);
        }
    }
}

From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java

License:Open Source License

protected String getEntryURL(BlogsEntry entry, ServiceContext serviceContext) throws PortalException {

    String entryURL = GetterUtil.getString(serviceContext.getAttribute("entryURL"));

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

    HttpServletRequest request = serviceContext.getRequest();

    if (request == null) {
        return StringPool.BLANK;
    }

    String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(),
            PortletProvider.Action.VIEW);

    if (Validator.isNotNull(portletId)) {
        String layoutURL = LayoutURLUtil.getLayoutURL(entry.getGroupId(), portletId, serviceContext);

        if (Validator.isNotNull(layoutURL)) {
            return layoutURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs" + StringPool.SLASH + entry.getEntryId();
        }
    }

    portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(), PortletProvider.Action.MANAGE);

    if (Validator.isNull(portletId)) {
        return StringPool.BLANK;
    }

    PortletURL portletURL = PortalUtil.getControlPanelPortletURL(request, portletId,
            PortletRequest.RENDER_PHASE);

    portletURL.setParameter("mvcRenderCommandName", "/blogs/view_entry");
    portletURL.setParameter("entryId", String.valueOf(entry.getEntryId()));

    return portletURL.toString();
}

From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java

License:Open Source License

protected void pingGoogle(BlogsEntry entry, ServiceContext serviceContext) throws PortalException {

    if (!PropsValues.BLOGS_PING_GOOGLE_ENABLED || !entry.isApproved()) {
        return;/*from  www.j  a v  a 2  s.com*/
    }

    String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(),
            PortletProvider.Action.MANAGE);

    if (Validator.isNull(portletId)) {
        if (_log.isDebugEnabled()) {
            _log.debug("Not pinging Google because there is no blogs portlet " + "provider");
        }

        return;
    }

    String layoutFullURL = PortalUtil.getLayoutFullURL(serviceContext.getScopeGroupId(), portletId);

    if (Validator.isNull(layoutFullURL)) {
        return;
    }

    if (layoutFullURL.contains("://localhost")) {
        if (_log.isDebugEnabled()) {
            _log.debug("Not pinging Google because of localhost URL " + layoutFullURL);
        }

        return;
    }

    Group group = groupPersistence.findByPrimaryKey(entry.getGroupId());

    StringBundler sb = new StringBundler(6);

    String name = group.getDescriptiveName();
    String url = layoutFullURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs";
    String changesURL = serviceContext.getPathMain() + "/blogs/rss";

    sb.append("http://blogsearch.google.com/ping?name=");
    sb.append(HttpUtil.encodeURL(name));
    sb.append("&url=");
    sb.append(HttpUtil.encodeURL(url));
    sb.append("&changesURL=");
    sb.append(HttpUtil.encodeURL(changesURL));

    String location = sb.toString();

    if (_log.isInfoEnabled()) {
        _log.info("Pinging Google at " + location);
    }

    try {
        String response = HttpUtil.URLtoString(sb.toString());

        if (_log.isInfoEnabled()) {
            _log.info("Google ping response: " + response);
        }
    } catch (IOException ioe) {
        _log.error("Unable to ping Google at " + location, ioe);
    }
}

From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java

License:Open Source License

protected void pingPingback(BlogsEntry entry, ServiceContext serviceContext) throws PortalException {

    if (!PropsValues.BLOGS_PINGBACK_ENABLED || !entry.isAllowPingbacks() || !entry.isApproved()) {

        return;/*w  w  w  . j  a  v  a  2s . c  o m*/
    }

    HttpServletRequest request = serviceContext.getRequest();

    if (request == null) {
        return;
    }

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    String layoutFullURL = PortalUtil.getLayoutFullURL(themeDisplay);

    if (Validator.isNull(layoutFullURL)) {
        return;
    }

    String sourceUri = layoutFullURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle();

    Source source = new Source(entry.getContent());

    List<StartTag> tags = source.getAllStartTags("a");

    for (StartTag tag : tags) {
        String targetUri = tag.getAttributeValue("href");

        if (Validator.isNotNull(targetUri)) {
            try {
                LinkbackProducerUtil.sendPingback(sourceUri, targetUri);
            } catch (Exception e) {
                _log.error("Error while sending pingback " + targetUri, e);
            }
        }
    }
}

From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java

License:Open Source License

protected void pingTrackbacks(BlogsEntry entry, String[] trackbacks, boolean pingOldTrackbacks,
        ServiceContext serviceContext) throws PortalException {

    if (!PropsValues.BLOGS_TRACKBACK_ENABLED || !entry.isAllowTrackbacks() || !entry.isApproved()) {

        return;/*from   ww w  . ja v a  2  s  . com*/
    }

    HttpServletRequest request = serviceContext.getRequest();

    if (request == null) {
        return;
    }

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    String layoutFullURL = PortalUtil.getLayoutFullURL(themeDisplay);

    if (Validator.isNull(layoutFullURL)) {
        return;
    }

    Map<String, String> parts = new HashMap<>();

    String excerpt = StringUtil.shorten(HtmlUtil.extractText(entry.getContent()),
            PropsValues.BLOGS_LINKBACK_EXCERPT_LENGTH);
    String url = layoutFullURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle();

    parts.put("title", entry.getTitle());
    parts.put("excerpt", excerpt);
    parts.put("url", url);
    parts.put("blog_name", entry.getUserName());

    Set<String> trackbacksSet = null;

    if (ArrayUtil.isNotEmpty(trackbacks)) {
        trackbacksSet = SetUtil.fromArray(trackbacks);
    } else {
        trackbacksSet = new HashSet<>();
    }

    if (pingOldTrackbacks) {
        trackbacksSet.addAll(SetUtil.fromArray(StringUtil.split(entry.getTrackbacks())));

        entry.setTrackbacks(StringPool.BLANK);

        blogsEntryPersistence.update(entry);
    }

    Set<String> oldTrackbacks = SetUtil.fromArray(StringUtil.split(entry.getTrackbacks()));

    Set<String> validTrackbacks = new HashSet<>();

    for (String trackback : trackbacksSet) {
        if (oldTrackbacks.contains(trackback)) {
            continue;
        }

        try {
            if (LinkbackProducerUtil.sendTrackback(trackback, parts)) {
                validTrackbacks.add(trackback);
            }
        } catch (Exception e) {
            _log.error("Error while sending trackback at " + trackback, e);
        }
    }

    if (!validTrackbacks.isEmpty()) {
        String newTrackbacks = StringUtil.merge(validTrackbacks);

        if (Validator.isNotNull(entry.getTrackbacks())) {
            newTrackbacks += StringPool.COMMA + entry.getTrackbacks();
        }

        entry.setTrackbacks(newTrackbacks);

        blogsEntryPersistence.update(entry);
    }
}

From source file:com.liferay.blogs.verify.VerifyBlogsTrackbacks.java

License:Open Source License

private void _verifyPost(BlogsEntry entry, MBMessage mbMessage) throws PortalException {

    String entryURL = Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle();
    String body = mbMessage.getBody();
    String url = null;//ww w  .  ja  v  a2 s . c  o  m

    int start = body.indexOf("[url=");

    if (start > -1) {
        start += "[url=".length();

        int end = body.indexOf("]", start);

        if (end > -1) {
            url = body.substring(start, end);
        }
    }

    if (Validator.isNotNull(url)) {
        long defaultUserId = _userLocalService.getDefaultUserId(mbMessage.getCompanyId());

        if (mbMessage.getUserId() == defaultUserId) {
            LinkbackConsumerUtil.verifyTrackback(mbMessage.getMessageId(), url, entryURL);
        }
    }
}

From source file:com.liferay.blogs.web.internal.trackback.Trackback.java

License:Open Source License

protected String buildEntryURL(BlogsEntry entry, ThemeDisplay themeDisplay) throws PortalException {

    StringBundler sb = new StringBundler(4);

    sb.append(_portal.getLayoutFullURL(themeDisplay));
    sb.append(Portal.FRIENDLY_URL_SEPARATOR);
    sb.append("blogs/");
    sb.append(entry.getUrlTitle());/*from   w w  w  . j  av  a  2 s . c o  m*/

    return sb.toString();
}