/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.osgi.web.portlet.tracker.internal; import com.liferay.osgi.util.StringPlus; import com.liferay.portal.kernel.model.PortletApp; import com.liferay.portal.kernel.plugin.License; import com.liferay.portal.kernel.plugin.PluginPackage; import com.liferay.portal.kernel.plugin.RemotePluginPackageRepository; import com.liferay.portal.kernel.plugin.Screenshot; import com.liferay.portal.kernel.plugin.Version; import java.util.Date; import java.util.Dictionary; import java.util.List; import java.util.Properties; import org.osgi.framework.Bundle; import org.osgi.framework.Constants; /** * @author Raymond Augé */ public class BundlePluginPackage implements PluginPackage { public BundlePluginPackage(Bundle bundle, PortletApp portletApp) { _bundle = bundle; _portletApp = portletApp; _headers = _bundle.getHeaders(); _version = Version.getInstance(getVersion()); } @Override public String getArtifactId() { return String.valueOf(_bundle.getBundleId()); } @Override public String getArtifactURL() { return _bundle.getLocation(); } @Override public String getAuthor() { return _headers.get(Constants.BUNDLE_VENDOR); } @Override public String getChangeLog() { return null; } @Override public String getContext() { return _portletApp.getContextPath(); } @Override public Properties getDeploymentSettings() { return null; } @Override public String getDownloadURL() { return _headers.get(Constants.BUNDLE_UPDATELOCATION); } @Override public String getGroupId() { return null; } @Override public List<License> getLicenses() { return null; } @Override public List<String> getLiferayVersions() { return null; } @Override public String getLongDescription() { return _headers.get(Constants.BUNDLE_DESCRIPTION); } @Override public Date getModifiedDate() { return new Date(_bundle.getLastModified()); } @Override public String getModuleId() { return _bundle.getSymbolicName(); } @Override public String getName() { return _headers.get(Constants.BUNDLE_NAME); } @Override public String getPackageId() { return String.valueOf(_bundle.getBundleId()); } @Override public String getPageURL() { return _headers.get(Constants.BUNDLE_DOCURL); } @Override public String getRecommendedDeploymentContext() { return null; } @Override public RemotePluginPackageRepository getRepository() { return null; } @Override public String getRepositoryURL() { return _headers.get(Constants.BUNDLE_UPDATELOCATION); } @Override public List<String> getRequiredDeploymentContexts() { return null; } @Override public List<Screenshot> getScreenshots() { return null; } @Override public String getShortDescription() { return _headers.get(Constants.BUNDLE_DESCRIPTION); } @Override public List<String> getTags() { return StringPlus.asList(_headers.get(Constants.BUNDLE_CATEGORY)); } @Override public List<String> getTypes() { return StringPlus.asList("osgi bundle"); } @Override public String getVersion() { return String.valueOf(_bundle.getVersion()); } @Override public boolean isLaterVersionThan(PluginPackage pluginPackage) { return _version.isLaterVersionThan(pluginPackage.getVersion()); } @Override public boolean isPreviousVersionThan(PluginPackage pluginPackage) { return _version.isPreviousVersionThan(pluginPackage.getVersion()); } @Override public boolean isSameVersionAs(PluginPackage pluginPackage) { return _version.isSameVersionAs(pluginPackage.getVersion()); } @Override public void setAuthor(String author) { } @Override public void setChangeLog(String changeLog) { } @Override public void setContext(String context) { } @Override public void setDeploymentSettings(Properties deploymentSettings) { } @Override public void setDownloadURL(String downloadURL) { } @Override public void setLicenses(List<License> licenses) { } @Override public void setLiferayVersions(List<String> liferayVersions) { } @Override public void setLongDescription(String longDescription) { } @Override public void setModifiedDate(Date modifiedDate) { } @Override public void setName(String name) { } @Override public void setPageURL(String pageURL) { } @Override public void setRecommendedDeploymentContext(String deploymentContext) { } @Override public void setRepository(RemotePluginPackageRepository repository) { } @Override public void setRequiredDeploymentContexts( List<String> requiredDeploymentContexts) { } @Override public void setScreenshots(List<Screenshot> screenshots) { } @Override public void setShortDescription(String shortDescription) { } @Override public void setTags(List<String> tags) { } @Override public void setTypes(List<String> types) { } private final Bundle _bundle; private final Dictionary<String, String> _headers; private final PortletApp _portletApp; private final Version _version; }