001
014
015 package com.liferay.portal.plugin;
016
017 import com.liferay.portal.kernel.plugin.License;
018 import com.liferay.portal.kernel.plugin.PluginPackage;
019 import com.liferay.portal.kernel.plugin.RemotePluginPackageRepository;
020 import com.liferay.portal.kernel.plugin.Screenshot;
021 import com.liferay.portal.kernel.util.GetterUtil;
022 import com.liferay.portal.kernel.util.StringBundler;
023 import com.liferay.portal.kernel.util.StringPool;
024 import com.liferay.portal.kernel.util.Validator;
025
026 import java.io.Serializable;
027
028 import java.util.ArrayList;
029 import java.util.Date;
030 import java.util.List;
031 import java.util.Properties;
032
033 import org.apache.commons.lang.builder.EqualsBuilder;
034 import org.apache.commons.lang.builder.HashCodeBuilder;
035
036
039 public class PluginPackageImpl
040 implements Comparable<PluginPackage>, PluginPackage, Serializable {
041
042 public static final String STATUS_ALL = "all";
043
044 public static final String STATUS_INSTALLATION_IN_PROCESS =
045 "installationInProcess";
046
047 public static final String STATUS_NEWER_VERSION_INSTALLED =
048 "newerVersionInstalled";
049
050 public static final String STATUS_NOT_INSTALLED = "notInstalled";
051
052 public static final String STATUS_NOT_INSTALLED_OR_OLDER_VERSION_INSTALLED =
053 "notInstalledOrOlderVersionInstalled";
054
055 public static final String STATUS_OLDER_VERSION_INSTALLED =
056 "olderVersionInstalled";
057
058 public static final String STATUS_SAME_VERSION_INSTALLED =
059 "sameVersionInstalled";
060
061 public PluginPackageImpl(String moduleId) {
062 _moduleId = ModuleId.getInstance(moduleId);
063 }
064
065 @Override
066 public int compareTo(PluginPackage pluginPackage) {
067 return getName().compareTo(pluginPackage.getName());
068 }
069
070 @Override
071 public boolean equals(Object obj) {
072 if (this == obj) {
073 return true;
074 }
075
076 if (!(obj instanceof PluginPackage)) {
077 return false;
078 }
079
080 PluginPackage pluginPackage = (PluginPackage)obj;
081
082 EqualsBuilder equalsBuilder = new EqualsBuilder();
083
084 equalsBuilder.append(getModuleId(), pluginPackage.getModuleId());
085 equalsBuilder.append(
086 getRepositoryURL(), pluginPackage.getRepositoryURL());
087
088 return equalsBuilder.isEquals();
089 }
090
091 @Override
092 public String getArtifactId() {
093 return _moduleId.getArtifactId();
094 }
095
096 @Override
097 public String getArtifactURL() {
098 return getRepositoryURL() + _moduleId.getArtifactPath();
099 }
100
101 @Override
102 public String getAuthor() {
103 return _author;
104 }
105
106 @Override
107 public String getChangeLog() {
108 return _changeLog;
109 }
110
111 @Override
112 public String getContext() {
113 return _context;
114 }
115
116 @Override
117 public Properties getDeploymentSettings() {
118 return _deploymentSettings;
119 }
120
121 @Override
122 public String getDownloadURL() {
123 String useDownloadURL = getRepository().getSettings().getProperty(
124 RemotePluginPackageRepository.SETTING_USE_DOWNLOAD_URL);
125
126 if (!GetterUtil.getBoolean(useDownloadURL, true)) {
127 return getArtifactURL();
128 }
129
130 if (Validator.isNotNull(_downloadURL)) {
131 return _downloadURL;
132 }
133
134 return getArtifactURL();
135 }
136
137 @Override
138 public String getGroupId() {
139 return _moduleId.getGroupId();
140 }
141
142 @Override
143 public List<License> getLicenses() {
144 return _licenses;
145 }
146
147 @Override
148 public List<String> getLiferayVersions() {
149 return _liferayVersions;
150 }
151
152 @Override
153 public String getLongDescription() {
154 return _longDescription;
155 }
156
157 @Override
158 public Date getModifiedDate() {
159 return _modifiedDate;
160 }
161
162 @Override
163 public String getModuleId() {
164 return _moduleId.toString();
165 }
166
167 @Override
168 public String getName() {
169 return _name;
170 }
171
172 @Override
173 public String getPackageId() {
174 return _moduleId.getPackageId();
175 }
176
177 @Override
178 public String getPageURL() {
179 return _pageURL;
180 }
181
182 @Override
183 public String getRecommendedDeploymentContext() {
184 String context = _recommendedDeploymentContext;
185
186 if (Validator.isNull(context)) {
187 context = _moduleId.getArtifactId();
188 }
189
190 return context;
191 }
192
193 @Override
194 public RemotePluginPackageRepository getRepository() {
195 return _repository;
196 }
197
198 @Override
199 public String getRepositoryURL() {
200 if (_repository != null) {
201 return _repository.getRepositoryURL();
202 }
203 else {
204 return RemotePluginPackageRepository.LOCAL_URL;
205 }
206 }
207
208 @Override
209 public List<String> getRequiredDeploymentContexts() {
210 return _requiredDeploymentContexts;
211 }
212
213 @Override
214 public List<Screenshot> getScreenshots() {
215 return _screenshots;
216 }
217
218 @Override
219 public String getShortDescription() {
220 return _shortDescription;
221 }
222
223 @Override
224 public List<String> getTags() {
225 return _tags;
226 }
227
228 @Override
229 public List<String> getTypes() {
230 return _types;
231 }
232
233 @Override
234 public String getVersion() {
235 return _moduleId.getVersion();
236 }
237
238 @Override
239 public int hashCode() {
240 HashCodeBuilder hashCodeBuilder = new HashCodeBuilder();
241
242 hashCodeBuilder.append(getModuleId());
243 hashCodeBuilder.append(getRepositoryURL());
244
245 return hashCodeBuilder.hashCode();
246 }
247
248 @Override
249 public boolean isLaterVersionThan(PluginPackage pluginPackage) {
250 return _moduleId.isLaterVersionThan(pluginPackage.getVersion());
251 }
252
253 @Override
254 public boolean isPreviousVersionThan(PluginPackage pluginPackage) {
255 return _moduleId.isPreviousVersionThan(pluginPackage.getVersion());
256 }
257
258 @Override
259 public boolean isSameVersionAs(PluginPackage pluginPackage) {
260 return _moduleId.isSameVersionAs(pluginPackage.getVersion());
261 }
262
263 @Override
264 public void setAuthor(String author) {
265 _author = author;
266 }
267
268 @Override
269 public void setChangeLog(String changeLog) {
270 _changeLog = changeLog;
271 }
272
273 @Override
274 public void setContext(String context) {
275 _context = context;
276 }
277
278 @Override
279 public void setDeploymentSettings(Properties deploymentSettings) {
280 _deploymentSettings = deploymentSettings;
281 }
282
283 @Override
284 public void setDownloadURL(String downloadURL) {
285 _downloadURL = downloadURL;
286 }
287
288 @Override
289 public void setLicenses(List<License> licenses) {
290 _licenses = licenses;
291 }
292
293 @Override
294 public void setLiferayVersions(List<String> liferayVersions) {
295 _liferayVersions = liferayVersions;
296 }
297
298 @Override
299 public void setLongDescription(String longDescription) {
300 _longDescription = longDescription;
301 }
302
303 @Override
304 public void setModifiedDate(Date modifiedDate) {
305 _modifiedDate = modifiedDate;
306 }
307
308 @Override
309 public void setName(String name) {
310 _name = name;
311 }
312
313 @Override
314 public void setPageURL(String pageURL) {
315 _pageURL = pageURL;
316 }
317
318 @Override
319 public void setRecommendedDeploymentContext(
320 String recommendedDeploymentContext) {
321
322 _recommendedDeploymentContext = recommendedDeploymentContext;
323 }
324
325 @Override
326 public void setRepository(RemotePluginPackageRepository repository) {
327 _repository = repository;
328 }
329
330 @Override
331 public void setRequiredDeploymentContexts(
332 List<String> requiredDeploymentContexts) {
333
334 _requiredDeploymentContexts = requiredDeploymentContexts;
335 }
336
337 @Override
338 public void setScreenshots(List<Screenshot> screenshots) {
339 _screenshots = screenshots;
340 }
341
342 @Override
343 public void setShortDescription(String shortDescription) {
344 _shortDescription = shortDescription;
345 }
346
347 @Override
348 public void setTags(List<String> tags) {
349 _tags = tags;
350 }
351
352 @Override
353 public void setTypes(List<String> types) {
354 _types = types;
355 }
356
357 @Override
358 public String toString() {
359 StringBundler sb = new StringBundler(4);
360
361 sb.append(StringPool.SLASH);
362 sb.append(_context);
363 sb.append(StringPool.COLON);
364 sb.append(_moduleId);
365
366 return sb.toString();
367 }
368
369 private String _author;
370 private String _changeLog = StringPool.BLANK;
371 private String _context;
372 private Properties _deploymentSettings;
373 private String _downloadURL;
374 private List<License> _licenses = new ArrayList<License>();
375 private List<String> _liferayVersions = new ArrayList<String>();
376 private String _longDescription = StringPool.BLANK;
377 private Date _modifiedDate;
378 private ModuleId _moduleId;
379 private String _name;
380 private String _pageURL;
381 private String _recommendedDeploymentContext;
382 private RemotePluginPackageRepository _repository;
383 private List<String> _requiredDeploymentContexts;
384 private List<Screenshot> _screenshots = new ArrayList<Screenshot>();
385 private String _shortDescription = StringPool.BLANK;
386 private List<String> _tags = new ArrayList<String>();
387 private List<String> _types = new ArrayList<String>();
388
389 }