1
22
23 package com.liferay.portlet.tags.util;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.util.StringUtil;
28 import com.liferay.portal.kernel.util.Validator;
29 import com.liferay.portal.util.PortletKeys;
30 import com.liferay.portlet.blogs.model.BlogsEntry;
31 import com.liferay.portlet.bookmarks.model.BookmarksEntry;
32 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
33 import com.liferay.portlet.imagegallery.model.IGImage;
34 import com.liferay.portlet.journal.model.JournalArticle;
35 import com.liferay.portlet.messageboards.model.MBMessage;
36 import com.liferay.portlet.tags.NoSuchEntryException;
37 import com.liferay.portlet.tags.model.TagsEntry;
38 import com.liferay.portlet.tags.model.TagsProperty;
39 import com.liferay.portlet.tags.service.TagsEntryLocalServiceUtil;
40 import com.liferay.portlet.tags.service.TagsPropertyLocalServiceUtil;
41 import com.liferay.portlet.wiki.model.WikiPage;
42
43 import java.util.List;
44
45
51 public class TagsUtil {
52
53 public static final String[] ASSET_TYPE_CLASS_NAMES = {
54 BlogsEntry.class.getName(), BookmarksEntry.class.getName(),
55 DLFileEntry.class.getName(), IGImage.class.getName(),
56 JournalArticle.class.getName(), MBMessage.class.getName(),
57 WikiPage.class.getName()
58 };
59
60 public static final String[] ASSET_TYPE_PORTLET_IDS = {
61 PortletKeys.BLOGS, PortletKeys.BOOKMARKS, PortletKeys.DOCUMENT_LIBRARY,
62 PortletKeys.IMAGE_GALLERY, PortletKeys.JOURNAL,
63 PortletKeys.MESSAGE_BOARDS, PortletKeys.WIKI
64 };
65
66 public static boolean isValidWord(String word) {
67 if (Validator.isNull(word)) {
68 return false;
69 }
70 else {
71 char[] c = word.toCharArray();
72
73 for (int i = 0; i < c.length; i++) {
74 if (!Validator.isChar(c[i]) && !Validator.isDigit(c[i]) &&
75 (c[i] != ' ') && (c[i] != '.') && (c[i] != '-') &&
76 (c[i] != '_') && (c[i] != '(') && (c[i] != ')')) {
77
78 return false;
79 }
80 }
81 }
82
83 return true;
84 }
85
86 public static String substitutePropertyVariables(
87 long companyId, String entryName, String s)
88 throws PortalException, SystemException {
89
90 String result = s;
91
92 TagsEntry entry = null;
93
94 if (entryName != null) {
95 try {
96 entry = TagsEntryLocalServiceUtil.getEntry(
97 companyId, entryName);
98 }
99 catch (NoSuchEntryException nsee) {
100 }
101 }
102
103 if (entry != null) {
104 List<TagsProperty> properties =
105 TagsPropertyLocalServiceUtil.getProperties(entry.getEntryId());
106
107 for (TagsProperty property : properties) {
108 result = StringUtil.replace(
109 result, "[$" + property.getKey() + "$]",
110 property.getValue());
111 }
112 }
113
114 return StringUtil.stripBetween(result, "[$", "$]");
115 }
116
117 }