1
14
15 package com.liferay.portlet.wiki.engines.mediawiki.matchers;
16
17 import com.liferay.portal.kernel.portlet.LiferayPortletURL;
18 import com.liferay.portal.kernel.util.CallbackMatcher;
19 import com.liferay.portal.kernel.util.CharPool;
20
21 import java.util.regex.MatchResult;
22
23 import javax.portlet.PortletURL;
24
25
31 public class PortletURLMatcher extends CallbackMatcher {
32
33 public PortletURLMatcher(PortletURL portletURL) {
34 _portletURL = portletURL;
35
36 LiferayPortletURL liferayPortletURL = (LiferayPortletURL)portletURL;
37
38 liferayPortletURL.setParameter("title", _TITLE_PLACEHOLDER, false);
39 }
40
41 public String replaceMatches(CharSequence charSequence) {
42 return replaceMatches(charSequence, _callBack);
43 }
44
45 private static final String _TITLE_PLACEHOLDER = "__TITLE_PLACEHOLDER__";
46
47 private Callback _callBack = new Callback() {
48
49 public String foundMatch(MatchResult matchResult) {
50 String portletURLString = _portletURL.toString();
51
52 String title = matchResult.group(1);
53
54 title = title.replace(CharPool.UNDERLINE, CharPool.PLUS);
55
56 String url = portletURLString.replace(_TITLE_PLACEHOLDER, title);
57
58 return "<a href=\"" + url + "\"";
59 }
60
61 };
62
63 private PortletURL _portletURL;
64
65 }