1
14
15 package com.liferay.portal.plugin;
16
17 import com.liferay.portal.kernel.plugin.License;
18 import com.liferay.portal.kernel.plugin.PluginPackage;
19 import com.liferay.portal.kernel.plugin.RemotePluginPackageRepository;
20 import com.liferay.portal.kernel.plugin.Screenshot;
21 import com.liferay.portal.kernel.util.GetterUtil;
22 import com.liferay.portal.kernel.util.StringBundler;
23 import com.liferay.portal.kernel.util.StringPool;
24 import com.liferay.portal.kernel.util.Validator;
25
26 import java.io.Serializable;
27
28 import java.util.ArrayList;
29 import java.util.Date;
30 import java.util.List;
31 import java.util.Properties;
32
33 import org.apache.commons.lang.builder.EqualsBuilder;
34 import org.apache.commons.lang.builder.HashCodeBuilder;
35
36
41 public class PluginPackageImpl
42 implements Comparable<PluginPackage>, PluginPackage, Serializable {
43
44 public static final String STATUS_ALL = "all";
45
46 public static final String STATUS_INSTALLATION_IN_PROCESS =
47 "installationInProcess";
48
49 public static final String STATUS_NEWER_VERSION_INSTALLED =
50 "newerVersionInstalled";
51
52 public static final String STATUS_NOT_INSTALLED = "notInstalled";
53
54 public static final String STATUS_NOT_INSTALLED_OR_OLDER_VERSION_INSTALLED =
55 "notInstalledOrOlderVersionInstalled";
56
57 public static final String STATUS_OLDER_VERSION_INSTALLED =
58 "olderVersionInstalled";
59
60 public static final String STATUS_SAME_VERSION_INSTALLED =
61 "sameVersionInstalled";
62
63 public PluginPackageImpl(String moduleId) {
64 _moduleId = ModuleId.getInstance(moduleId);
65 }
66
67 public int compareTo(PluginPackage pluginPackage) {
68 return getName().compareTo(pluginPackage.getName());
69 }
70
71 public boolean equals(Object obj) {
72 if (!(obj instanceof PluginPackage)) {
73 return false;
74 }
75
76 PluginPackage pluginPackage = (PluginPackage)obj;
77
78 EqualsBuilder equalsBuilder = new EqualsBuilder();
79
80 equalsBuilder.append(getModuleId(), pluginPackage.getModuleId());
81 equalsBuilder.append(
82 getRepositoryURL(), pluginPackage.getRepositoryURL());
83
84 return equalsBuilder.isEquals();
85 }
86
87 public String getArtifactId() {
88 return _moduleId.getArtifactId();
89 }
90
91 public String getArtifactURL() {
92 return getRepositoryURL() + _moduleId.getArtifactPath();
93 }
94
95 public String getAuthor() {
96 return _author;
97 }
98
99 public String getChangeLog() {
100 return _changeLog;
101 }
102
103 public String getContext() {
104 return _context;
105 }
106
107 public Properties getDeploymentSettings() {
108 return _deploymentSettings;
109 }
110
111 public String getDownloadURL() {
112 String useDownloadURL = getRepository().getSettings().getProperty(
113 RemotePluginPackageRepository.SETTING_USE_DOWNLOAD_URL);
114
115 if (!GetterUtil.getBoolean(useDownloadURL, true)) {
116 return getArtifactURL();
117 }
118
119 if (Validator.isNotNull(_downloadURL)) {
120 return _downloadURL;
121 }
122
123 return getArtifactURL();
124 }
125
126 public String getGroupId() {
127 return _moduleId.getGroupId();
128 }
129
130 public List<License> getLicenses() {
131 return _licenses;
132 }
133
134 public List<String> getLiferayVersions() {
135 return _liferayVersions;
136 }
137
138 public String getLongDescription() {
139 return _longDescription;
140 }
141
142 public Date getModifiedDate() {
143 return _modifiedDate;
144 }
145
146 public String getModuleId() {
147 return _moduleId.toString();
148 }
149
150 public String getName() {
151 return _name;
152 }
153
154 public String getPackageId() {
155 return _moduleId.getPackageId();
156 }
157
158 public String getPageURL() {
159 return _pageURL;
160 }
161
162 public String getRecommendedDeploymentContext() {
163 String context = _recommendedDeploymentContext;
164
165 if (Validator.isNull(context)) {
166 context = _moduleId.getArtifactId();
167 }
168
169 return context;
170 }
171
172 public RemotePluginPackageRepository getRepository() {
173 return _repository;
174 }
175
176 public String getRepositoryURL() {
177 if (_repository != null) {
178 return _repository.getRepositoryURL();
179 }
180 else {
181 return RemotePluginPackageRepository.LOCAL_URL;
182 }
183 }
184
185 public List<Screenshot> getScreenshots() {
186 return _screenshots;
187 }
188
189 public String getShortDescription() {
190 return _shortDescription;
191 }
192
193 public List<String> getTags() {
194 return _tags;
195 }
196
197 public List<String> getTypes() {
198 return _types;
199 }
200
201 public String getVersion() {
202 return _moduleId.getVersion();
203 }
204
205 public int hashCode() {
206 HashCodeBuilder hashCodeBuilder = new HashCodeBuilder();
207
208 hashCodeBuilder.append(getModuleId());
209 hashCodeBuilder.append(getRepositoryURL());
210
211 return hashCodeBuilder.hashCode();
212 }
213
214 public boolean isLaterVersionThan(PluginPackage pluginPackage) {
215 return _moduleId.isLaterVersionThan(pluginPackage.getVersion());
216 }
217
218 public boolean isPreviousVersionThan(PluginPackage pluginPackage) {
219 return _moduleId.isPreviousVersionThan(pluginPackage.getVersion());
220 }
221
222 public boolean isSameVersionAs(PluginPackage pluginPackage) {
223 return _moduleId.isSameVersionAs(pluginPackage.getVersion());
224 }
225
226 public void setAuthor(String author) {
227 _author = author;
228 }
229
230 public void setChangeLog(String changeLog) {
231 _changeLog = changeLog;
232 }
233
234 public void setContext(String context) {
235 _context = context;
236 }
237
238 public void setDeploymentSettings(Properties deploymentSettings) {
239 _deploymentSettings = deploymentSettings;
240 }
241
242 public void setDownloadURL(String downloadURL) {
243 _downloadURL = downloadURL;
244 }
245
246 public void setLicenses(List<License> licenses) {
247 _licenses = licenses;
248 }
249
250 public void setLiferayVersions(List<String> liferayVersions) {
251 _liferayVersions = liferayVersions;
252 }
253
254 public void setLongDescription(String longDescription) {
255 _longDescription = longDescription;
256 }
257
258 public void setModifiedDate(Date modifiedDate) {
259 _modifiedDate = modifiedDate;
260 }
261
262 public void setName(String name) {
263 _name = name;
264 }
265
266 public void setPageURL(String pageURL) {
267 _pageURL = pageURL;
268 }
269
270 public void setRecommendedDeploymentContext(
271 String recommendedDeploymentContext) {
272
273 _recommendedDeploymentContext = recommendedDeploymentContext;
274 }
275
276 public void setRepository(RemotePluginPackageRepository repository) {
277 _repository = repository;
278 }
279
280 public void setScreenshots(List<Screenshot> screenshots) {
281 _screenshots = screenshots;
282 }
283
284 public void setShortDescription(String shortDescription) {
285 _shortDescription = shortDescription;
286 }
287
288 public void setTags(List<String> tags) {
289 _tags = tags;
290 }
291
292 public void setTypes(List<String> types) {
293 _types = types;
294 }
295
296 public String toString() {
297 StringBundler sb = new StringBundler(4);
298
299 sb.append(StringPool.SLASH);
300 sb.append(_context);
301 sb.append(StringPool.COLON);
302 sb.append(_moduleId);
303
304 return sb.toString();
305 }
306
307 private String _author;
308 private String _changeLog = StringPool.BLANK;
309 private String _context;
310 private Properties _deploymentSettings;
311 private String _downloadURL;
312 private List<License> _licenses = new ArrayList<License>();
313 private List<String> _liferayVersions = new ArrayList<String>();
314 private String _longDescription = StringPool.BLANK;
315 private Date _modifiedDate;
316 private ModuleId _moduleId;
317 private String _name;
318 private String _pageURL;
319 private String _recommendedDeploymentContext;
320 private RemotePluginPackageRepository _repository;
321 private List<Screenshot> _screenshots = new ArrayList<Screenshot>();
322 private String _shortDescription = StringPool.BLANK;
323 private List<String> _tags = new ArrayList<String>();
324 private List<String> _types = new ArrayList<String>();
325
326 }