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 public int compareTo(PluginPackage pluginPackage) {
066 return getName().compareTo(pluginPackage.getName());
067 }
068
069 @Override
070 public boolean equals(Object obj) {
071 if (!(obj instanceof PluginPackage)) {
072 return false;
073 }
074
075 PluginPackage pluginPackage = (PluginPackage)obj;
076
077 EqualsBuilder equalsBuilder = new EqualsBuilder();
078
079 equalsBuilder.append(getModuleId(), pluginPackage.getModuleId());
080 equalsBuilder.append(
081 getRepositoryURL(), pluginPackage.getRepositoryURL());
082
083 return equalsBuilder.isEquals();
084 }
085
086 public String getArtifactId() {
087 return _moduleId.getArtifactId();
088 }
089
090 public String getArtifactURL() {
091 return getRepositoryURL() + _moduleId.getArtifactPath();
092 }
093
094 public String getAuthor() {
095 return _author;
096 }
097
098 public String getChangeLog() {
099 return _changeLog;
100 }
101
102 public String getContext() {
103 return _context;
104 }
105
106 public Properties getDeploymentSettings() {
107 return _deploymentSettings;
108 }
109
110 public String getDownloadURL() {
111 String useDownloadURL = getRepository().getSettings().getProperty(
112 RemotePluginPackageRepository.SETTING_USE_DOWNLOAD_URL);
113
114 if (!GetterUtil.getBoolean(useDownloadURL, true)) {
115 return getArtifactURL();
116 }
117
118 if (Validator.isNotNull(_downloadURL)) {
119 return _downloadURL;
120 }
121
122 return getArtifactURL();
123 }
124
125 public String getGroupId() {
126 return _moduleId.getGroupId();
127 }
128
129 public List<License> getLicenses() {
130 return _licenses;
131 }
132
133 public List<String> getLiferayVersions() {
134 return _liferayVersions;
135 }
136
137 public String getLongDescription() {
138 return _longDescription;
139 }
140
141 public Date getModifiedDate() {
142 return _modifiedDate;
143 }
144
145 public String getModuleId() {
146 return _moduleId.toString();
147 }
148
149 public String getName() {
150 return _name;
151 }
152
153 public String getPackageId() {
154 return _moduleId.getPackageId();
155 }
156
157 public String getPageURL() {
158 return _pageURL;
159 }
160
161 public String getRecommendedDeploymentContext() {
162 String context = _recommendedDeploymentContext;
163
164 if (Validator.isNull(context)) {
165 context = _moduleId.getArtifactId();
166 }
167
168 return context;
169 }
170
171 public RemotePluginPackageRepository getRepository() {
172 return _repository;
173 }
174
175 public String getRepositoryURL() {
176 if (_repository != null) {
177 return _repository.getRepositoryURL();
178 }
179 else {
180 return RemotePluginPackageRepository.LOCAL_URL;
181 }
182 }
183
184 public List<Screenshot> getScreenshots() {
185 return _screenshots;
186 }
187
188 public String getShortDescription() {
189 return _shortDescription;
190 }
191
192 public List<String> getTags() {
193 return _tags;
194 }
195
196 public List<String> getTypes() {
197 return _types;
198 }
199
200 public String getVersion() {
201 return _moduleId.getVersion();
202 }
203
204 @Override
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 @Override
297 public String toString() {
298 StringBundler sb = new StringBundler(4);
299
300 sb.append(StringPool.SLASH);
301 sb.append(_context);
302 sb.append(StringPool.COLON);
303 sb.append(_moduleId);
304
305 return sb.toString();
306 }
307
308 private String _author;
309 private String _changeLog = StringPool.BLANK;
310 private String _context;
311 private Properties _deploymentSettings;
312 private String _downloadURL;
313 private List<License> _licenses = new ArrayList<License>();
314 private List<String> _liferayVersions = new ArrayList<String>();
315 private String _longDescription = StringPool.BLANK;
316 private Date _modifiedDate;
317 private ModuleId _moduleId;
318 private String _name;
319 private String _pageURL;
320 private String _recommendedDeploymentContext;
321 private RemotePluginPackageRepository _repository;
322 private List<Screenshot> _screenshots = new ArrayList<Screenshot>();
323 private String _shortDescription = StringPool.BLANK;
324 private List<String> _tags = new ArrayList<String>();
325 private List<String> _types = new ArrayList<String>();
326
327 }