From 8394b63e0c56cc2498aa2fe33cd8728a7cc9cb72 Mon Sep 17 00:00:00 2001 From: prabathabey Date: Fri, 24 Jul 2015 12:07:57 +0530 Subject: [PATCH 1/6] Making license manager a util exposed as part of org.wso2.carbon.device.mgt.extensions --- .../device/mgt/common/DeviceManager.java | 6 ++ .../common/license/mgt/LicenseManager.java | 2 +- .../APIPublisherLifecycleListener.java | 24 +++++-- .../DeviceManagementServiceComponent.java | 33 +--------- .../DeviceManagementProviderService.java | 45 +++++++++++-- .../DeviceManagementProviderServiceImpl.java | 41 ++++++------ .../device/mgt/core/TestDeviceManager.java | 19 +++++- .../pom.xml | 65 +++++++++++++++++++ .../mgt/GenericArtifactManagerFactory.java | 20 ++---- .../license/mgt/LicenseManagementService.java | 12 ++-- .../license/mgt/LicenseManagementUtil.java | 2 +- .../mgt/RegistryBasedLicenseManager.java} | 30 +++++++-- components/device-mgt/pom.xml | 1 + 13 files changed, 204 insertions(+), 96 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core => org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions}/license/mgt/GenericArtifactManagerFactory.java (77%) rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core => org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions}/license/mgt/LicenseManagementService.java (71%) rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core => org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions}/license/mgt/LicenseManagementUtil.java (92%) rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagerImpl.java => org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/RegistryBasedLicenseManager.java} (83%) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManager.java index 0843a05606..3481dc8e17 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManager.java @@ -18,6 +18,8 @@ package org.wso2.carbon.device.mgt.common; import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration; +import org.wso2.carbon.device.mgt.common.license.mgt.License; +import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; import java.util.List; @@ -144,4 +146,8 @@ public interface DeviceManager { boolean setStatus(DeviceIdentifier deviceId, String currentOwner, EnrolmentInfo.Status status) throws DeviceManagementException; + License getLicense(String languageCode) throws LicenseManagementException; + + void addLicense(License license) throws LicenseManagementException; + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/license/mgt/LicenseManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/license/mgt/LicenseManager.java index 6031de79ff..02a1ddf17c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/license/mgt/LicenseManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/license/mgt/LicenseManager.java @@ -22,6 +22,6 @@ public interface LicenseManager { License getLicense(String deviceType, String languageCode) throws LicenseManagementException; - boolean addLicense(String deviceType, License license) throws LicenseManagementException; + void addLicense(String deviceType, License license) throws LicenseManagementException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java index 8816e20f42..c856c8a7a0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java @@ -31,9 +31,19 @@ import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; import javax.servlet.ServletContext; +@SuppressWarnings("unused") public class APIPublisherLifecycleListener implements LifecycleListener { private static final String API_CONFIG_DEFAULT_VERSION = "1.0.0"; + + private static final String PARAM_MANAGE_API_NAME = "managed-api-name"; + private static final String PARAM_MANAGE_API_VERSION = "managed-api-version"; + private static final String PARAM_MANAGE_API_CONTEXT = "managed-api-context"; + private static final String PARAM_MANAGE_API_ENDPOINT = "managed-api-endpoint"; + private static final String PARAM_MANAGE_API_OWNER = "managed-api-owner"; + private static final String PARAM_MANAGE_API_TRANSPORTS = "managed-api-transports"; + private static final String PARAM_MANAGE_API_IS_SECURED = "managed-api-isSecured"; + private static final Log log = LogFactory.getLog(APIPublisherLifecycleListener.class); @Override @@ -64,7 +74,7 @@ public class APIPublisherLifecycleListener implements LifecycleListener { private APIConfig buildApiConfig(ServletContext servletContext) { APIConfig apiConfig = new APIConfig(); - String name = servletContext.getInitParameter("managed-api-name"); + String name = servletContext.getInitParameter(PARAM_MANAGE_API_NAME); if (name == null || "".equals(name)) { if (log.isDebugEnabled()) { log.debug("'managed-api-name' attribute is not configured. Therefore, using the default, " + @@ -74,7 +84,7 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setName(name); - String version = servletContext.getInitParameter("managed-api-version"); + String version = servletContext.getInitParameter(PARAM_MANAGE_API_VERSION); if (version == null || "".equals(version)) { if (log.isDebugEnabled()) { log.debug("'managed-api-version' attribute is not configured. Therefore, using the " + @@ -84,7 +94,7 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setVersion(version); - String context = servletContext.getInitParameter("managed-api-context"); + String context = servletContext.getInitParameter(PARAM_MANAGE_API_CONTEXT); if (context == null || "".equals(context)) { if (log.isDebugEnabled()) { log.debug("'managed-api-context' attribute is not configured. Therefore, using the default, " + @@ -94,7 +104,7 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setContext(context); - String endpoint = servletContext.getInitParameter("managed-api-endpoint"); + String endpoint = servletContext.getInitParameter(PARAM_MANAGE_API_ENDPOINT); if (endpoint == null || "".equals(endpoint)) { if (log.isDebugEnabled()) { log.debug("'managed-api-endpoint' attribute is not configured"); @@ -102,7 +112,7 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setEndpoint(endpoint); - String owner = servletContext.getInitParameter("managed-api-owner"); + String owner = servletContext.getInitParameter(PARAM_MANAGE_API_OWNER); if (owner == null || "".equals(owner)) { if (log.isDebugEnabled()) { log.debug("'managed-api-owner' attribute is not configured"); @@ -110,12 +120,12 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setOwner(owner); - String isSecuredParam = servletContext.getInitParameter("managed-api-isSecured"); + String isSecuredParam = servletContext.getInitParameter(PARAM_MANAGE_API_IS_SECURED); boolean isSecured = (isSecuredParam != null && !"".equals(isSecuredParam)) && Boolean.parseBoolean(isSecuredParam); apiConfig.setSecured(isSecured); - String transports = servletContext.getInitParameter("managed-api-transports"); + String transports = servletContext.getInitParameter(PARAM_MANAGE_API_TRANSPORTS); if (transports == null || "".equals(transports)) { if (log.isDebugEnabled()) { log.debug("'managed-api-transports' attribute is not configured. Therefore using the defaults, " + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java index 5dde3b2f6b..d6443f193c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java @@ -43,10 +43,7 @@ import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig; import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig; import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig; -import org.wso2.carbon.device.mgt.core.config.license.LicenseConfigurationManager; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.license.mgt.LicenseManagementService; -import org.wso2.carbon.device.mgt.core.license.mgt.LicenseManagerImpl; import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl; import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOFactory; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; @@ -109,6 +106,7 @@ public class DeviceManagementServiceComponent { private static List listeners = new ArrayList(); private static List deviceManagers = new ArrayList(); + @SuppressWarnings("unused") protected void activate(ComponentContext componentContext) { try { if (log.isDebugEnabled()) { @@ -122,8 +120,6 @@ public class DeviceManagementServiceComponent { DataSourceConfig dsConfig = config.getDeviceManagementConfigRepository().getDataSourceConfig(); DeviceManagementDAOFactory.init(dsConfig); - /* Initializing license manager */ - this.initLicenseManager(); /*Initialize Operation Manager*/ this.initOperationsManager(); @@ -137,7 +133,6 @@ public class DeviceManagementServiceComponent { "begin"); } this.setupDeviceManagementSchema(dsConfig); - this.setupDefaultLicenses(DeviceManagementDataHolder.getInstance().getLicenseConfig()); } /* Registering declarative service instances exposed by DeviceManagementServiceComponent */ @@ -151,6 +146,7 @@ public class DeviceManagementServiceComponent { } } + @SuppressWarnings("unused") protected void deactivate(ComponentContext componentContext) { //do nothing } @@ -164,16 +160,6 @@ public class DeviceManagementServiceComponent { } } - private void initLicenseManager() throws LicenseManagementException { - LicenseConfigurationManager.getInstance().initConfig(); - LicenseConfig licenseConfig = - LicenseConfigurationManager.getInstance().getLicenseConfig(); - - LicenseManager licenseManager = new LicenseManagerImpl(); - DeviceManagementDataHolder.getInstance().setLicenseManager(licenseManager); - DeviceManagementDataHolder.getInstance().setLicenseConfig(licenseConfig); - } - private void initOperationsManager() throws OperationManagementException { OperationManager operationManager = new OperationManagerImpl(); DeviceManagementDataHolder.getInstance().setOperationManager(operationManager); @@ -189,10 +175,6 @@ public class DeviceManagementServiceComponent { DeviceManagementDataHolder.getInstance().setDeviceManagementProvider(deviceManagementProvider); bundleContext.registerService(DeviceManagementProviderService.class.getName(), deviceManagementProvider, null); - LicenseManagementService licenseManagementService = new LicenseManagementService(); - DeviceManagementDataHolder.getInstance().setLicenseManager(new LicenseManagerImpl()); - bundleContext.registerService(LicenseManagementService.class.getName(), licenseManagementService, null); - APIPublisherService publisher = new APIPublisherServiceImpl(); DeviceManagementDataHolder.getInstance().setApiPublisherService(publisher); bundleContext.registerService(APIPublisherService.class, publisher, null); @@ -225,17 +207,6 @@ public class DeviceManagementServiceComponent { } } - private void setupDefaultLicenses(LicenseConfig licenseConfig) - throws LicenseManagementException { - LicenseManager licenseManager = DeviceManagementDataHolder.getInstance().getLicenseManager(); - for (License license : licenseConfig.getLicenses()) { - License extLicense = licenseManager.getLicense(license.getName(), license.getLanguage()); - if (extLicense == null) { - licenseManager.addLicense(license.getName(), license); - } - } - } - /** * Sets Device Manager service. * diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java index e480329905..4aaf8bf06f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java @@ -21,6 +21,7 @@ import org.wso2.carbon.device.mgt.common.*; import org.wso2.carbon.device.mgt.common.DeviceManager; import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration; +import org.wso2.carbon.device.mgt.common.license.mgt.License; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; import java.util.List; @@ -29,9 +30,9 @@ import java.util.List; * Proxy class for all Device Management related operations that take the corresponding plugin type in * and resolve the appropriate plugin implementation */ -public interface DeviceManagementProviderService extends DeviceManager, LicenseManager, OperationManager { +public interface DeviceManagementProviderService extends OperationManager { - List getAllDevices(String type) throws DeviceManagementException; + List getAllDevices(String deviceType) throws DeviceManagementException; List getAllDevices() throws DeviceManagementException; @@ -39,17 +40,17 @@ public interface DeviceManagementProviderService extends DeviceManager, LicenseM void sendRegistrationEmail(EmailMessageProperties config) throws DeviceManagementException; - FeatureManager getFeatureManager(String type) throws DeviceManagementException; + FeatureManager getFeatureManager(String deviceType) throws DeviceManagementException; /** * Proxy method to get the tenant configuration of a given platform. * - * @param type Device platform + * @param deviceType Device platform * @return Tenant configuration settings of the particular tenant and platform. * @throws DeviceManagementException If some unusual behaviour is observed while fetching the * configuration. */ - TenantConfiguration getConfiguration(String type) throws DeviceManagementException; + TenantConfiguration getConfiguration(String deviceType) throws DeviceManagementException; /** * Method to get the list of devices owned by an user. @@ -99,4 +100,38 @@ public interface DeviceManagementProviderService extends DeviceManager, LicenseM * @throws DeviceManagementException */ List getDevicesByStatus(EnrolmentInfo.Status status) throws DeviceManagementException; + + License getLicense(String deviceType, String languageCode) throws DeviceManagementException; + + void addLicense(String deviceType, License license) throws DeviceManagementException; + + boolean modifyEnrollment(Device device) throws DeviceManagementException; + + boolean enrollDevice(Device device) throws DeviceManagementException; + + TenantConfiguration getConfiguration() throws DeviceManagementException; + + boolean saveConfiguration(TenantConfiguration configuration) throws DeviceManagementException; + + boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException; + + boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException; + + boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException; + + boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException; + + Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException; + + boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException; + + boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException; + + boolean isClaimable(DeviceIdentifier deviceId) throws DeviceManagementException; + + boolean setStatus(DeviceIdentifier deviceId, String currentOwner, + EnrolmentInfo.Status status) throws DeviceManagementException; + + + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index 4973f8ef47..225e3b4248 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -67,11 +67,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv DeviceManagementServiceComponent.registerPluginInitializationListener(this); } - - /** - * This constructor calls from unit tests - * @param pluginRepo - */ DeviceManagementProviderServiceImpl(DeviceManagementPluginRepository pluginRepo, boolean test){ this.pluginRepository = pluginRepo; initDataAccessObjects(); @@ -84,13 +79,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public FeatureManager getFeatureManager() { - return null; - } - - @Override - public boolean saveConfiguration(TenantConfiguration configuration) - throws DeviceManagementException { + public boolean saveConfiguration(TenantConfiguration configuration) throws DeviceManagementException { DeviceManager dms = this.getPluginRepository().getDeviceManagementService(configuration.getType()).getDeviceManager(); return dms.saveConfiguration(configuration); @@ -231,8 +220,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public boolean setActive(DeviceIdentifier deviceId, boolean status) - throws DeviceManagementException { + public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException { DeviceManager dms = this.getPluginRepository().getDeviceManagementService(deviceId.getType()).getDeviceManager(); return dms.setActive(deviceId, status); @@ -467,8 +455,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) - throws DeviceManagementException { + public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException { DeviceManager dms = this.getPluginRepository().getDeviceManagementService(deviceId.getType()).getDeviceManager(); return dms.setOwnership(deviceId, ownershipType); @@ -510,13 +497,27 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public License getLicense(String deviceType, String languageCode) throws LicenseManagementException { - return DeviceManagementDataHolder.getInstance().getLicenseManager().getLicense(deviceType, languageCode); + public License getLicense(String deviceType, String languageCode) throws DeviceManagementException { + DeviceManager dms = + this.getPluginRepository().getDeviceManagementService(deviceType).getDeviceManager(); + try { + return dms.getLicense(languageCode); + } catch (LicenseManagementException e) { + throw new DeviceManagementException("Error occurred while retrieving license configured for " + + "device type '" + deviceType + "' and language code '" + languageCode + "'", e); + } } @Override - public boolean addLicense(String type, License license) throws LicenseManagementException { - return DeviceManagementDataHolder.getInstance().getLicenseManager().addLicense(type, license); + public void addLicense(String deviceType, License license) throws DeviceManagementException { + DeviceManager dms = + this.getPluginRepository().getDeviceManagementService(deviceType).getDeviceManager(); + try { + dms.addLicense(license); + } catch (LicenseManagementException e) { + throw new DeviceManagementException("Error occurred while adding license for " + + "device type '" + deviceType + "'", e); + } } private DeviceManagementPluginRepository getPluginRepository() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManager.java index f639f30076..a9ff90f96c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManager.java @@ -16,14 +16,18 @@ package org.wso2.carbon.device.mgt.core; import org.wso2.carbon.device.mgt.common.*; -import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration; +import org.wso2.carbon.device.mgt.common.license.mgt.License; +import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; import java.util.List; -import java.util.Map; public class TestDeviceManager implements DeviceManager { + public TestDeviceManager() { + + } + @Override public FeatureManager getFeatureManager() { return null; @@ -101,4 +105,15 @@ public class TestDeviceManager implements DeviceManager { throws DeviceManagementException { return false; } + + @Override + public License getLicense(String languageCode) throws LicenseManagementException { + return null; + } + + @Override + public void addLicense(License license) throws LicenseManagementException { + + } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml new file mode 100644 index 0000000000..94f880c99c --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -0,0 +1,65 @@ + + + + device-mgt + org.wso2.carbon.devicemgt + 0.9.2-SNAPSHOT + ../pom.xml + + + 4.0.0 + org.wso2.carbon.device.mgt.extensions + 0.9.2-SNAPSHOT + bundle + WSO2 Carbon - Device Management Extensions + WSO2 Carbon - Device Management Extensions + http://wso2.org + + + + org.wso2.carbon.governance + org.wso2.carbon.governance.api + + + org.wso2.carbon + org.wso2.carbon.registry.api + + + org.wso2.carbon + org.wso2.carbon.registry.core + + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.common + + + org.apache.ws.commons.axiom + axiom-api + + + + + + + org.apache.felix + maven-bundle-plugin + 1.4.0 + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + Device Management Extensions Bundle + + org.wso2.carbon.device.mgt.extensions.* + + + + + + + + \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/GenericArtifactManagerFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/GenericArtifactManagerFactory.java similarity index 77% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/GenericArtifactManagerFactory.java rename to components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/GenericArtifactManagerFactory.java index 85535f3f03..a5bea93668 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/GenericArtifactManagerFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/GenericArtifactManagerFactory.java @@ -16,12 +16,11 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.license.mgt; +package org.wso2.carbon.device.mgt.extensions.license.mgt; import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; -import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.governance.api.generic.GenericArtifactManager; import org.wso2.carbon.registry.api.Registry; import org.wso2.carbon.registry.core.exceptions.RegistryException; @@ -35,21 +34,10 @@ public class GenericArtifactManagerFactory { new HashMap(); private static final Object lock = new Object(); - public static GenericArtifactManager getTenantAwareGovernanceArtifactManager() throws - LicenseManagementException { - Registry registry; - int tenantId; - try { - tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); - registry = - DeviceManagementDataHolder.getInstance().getRegistryService().getGovernanceSystemRegistry( - tenantId); - } catch (RegistryException e) { - throw new LicenseManagementException("Error occurred while initializing tenant system registry " + - "to be used to manipulate License artifacts", e); - } - + public static GenericArtifactManager getTenantAwareGovernanceArtifactManager( + Registry registry) throws LicenseManagementException { try { + int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); GenericArtifactManager artifactManager; synchronized (lock) { artifactManager = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/LicenseManagementService.java similarity index 71% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagementService.java rename to components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/LicenseManagementService.java index 638a9dc881..2a417cf799 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/LicenseManagementService.java @@ -16,23 +16,23 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.license.mgt; +package org.wso2.carbon.device.mgt.extensions.license.mgt; +import org.wso2.carbon.device.mgt.common.license.mgt.License; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; -import org.wso2.carbon.device.mgt.common.license.mgt.License; -import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; public class LicenseManagementService implements LicenseManager { @Override public License getLicense(String deviceType, String languageCode) throws LicenseManagementException { - return DeviceManagementDataHolder.getInstance().getLicenseManager().getLicense(deviceType, languageCode); + //return DeviceManagementDataHolder.getInstance().getLicenseManager().getLicense(deviceType, languageCode); + return null; } @Override - public boolean addLicense(String deviceType, License license) throws LicenseManagementException { - return DeviceManagementDataHolder.getInstance().getLicenseManager().addLicense(deviceType, license); + public void addLicense(String deviceType, License license) throws LicenseManagementException { + //return DeviceManagementDataHolder.getInstance().getLicenseManager().addLicense(deviceType, license); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagementUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/LicenseManagementUtil.java similarity index 92% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagementUtil.java rename to components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/LicenseManagementUtil.java index 90dca5445a..79e6986406 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagementUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/LicenseManagementUtil.java @@ -16,7 +16,7 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.license.mgt; +package org.wso2.carbon.device.mgt.extensions.license.mgt; public class LicenseManagementUtil { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/RegistryBasedLicenseManager.java similarity index 83% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagerImpl.java rename to components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/RegistryBasedLicenseManager.java index 474dda4e88..019259d532 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/license/mgt/LicenseManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/RegistryBasedLicenseManager.java @@ -17,7 +17,7 @@ * */ -package org.wso2.carbon.device.mgt.core.license.mgt; +package org.wso2.carbon.device.mgt.extensions.license.mgt; import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; import org.wso2.carbon.device.mgt.common.license.mgt.License; @@ -27,19 +27,36 @@ import org.wso2.carbon.governance.api.exception.GovernanceException; import org.wso2.carbon.governance.api.generic.GenericArtifactFilter; import org.wso2.carbon.governance.api.generic.GenericArtifactManager; import org.wso2.carbon.governance.api.generic.dataobjects.GenericArtifact; +import org.wso2.carbon.registry.api.Registry; import javax.xml.namespace.QName; +import java.lang.String; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Locale; -public class LicenseManagerImpl implements LicenseManager { +public class RegistryBasedLicenseManager implements LicenseManager { + + private Registry registry; + private GenericArtifactManager artifactManager; + + public RegistryBasedLicenseManager(Registry registry) { + if (registry == null) { + throw new IllegalArgumentException("Registry instance provided is null. Hence, " + + "'Registry based license manager cannot be initialized'"); + } + this.registry = registry; + try { + this.artifactManager = GenericArtifactManagerFactory.getTenantAwareGovernanceArtifactManager(registry); + } catch (LicenseManagementException e) { + throw new IllegalStateException("Failed to initialize generic artifact manager bound to " + + "Registry based license manager", e); + } + } @Override public License getLicense(final String deviceType, final String languageCode) throws LicenseManagementException { - GenericArtifactManager artifactManager = - GenericArtifactManagerFactory.getTenantAwareGovernanceArtifactManager(); try { GenericArtifact[] artifacts = artifactManager.findGenericArtifacts(new GenericArtifactFilter() { @Override @@ -82,9 +99,9 @@ public class LicenseManagerImpl implements LicenseManager { } @Override - public boolean addLicense(String deviceType, License license) throws LicenseManagementException { + public void addLicense(final String deviceType, final License license) throws LicenseManagementException { GenericArtifactManager artifactManager = - GenericArtifactManagerFactory.getTenantAwareGovernanceArtifactManager(); + GenericArtifactManagerFactory.getTenantAwareGovernanceArtifactManager(registry); try { GenericArtifact artifact = artifactManager.newGovernanceArtifact(new QName("http://www.wso2.com", @@ -99,7 +116,6 @@ public class LicenseManagerImpl implements LicenseManager { artifact.setAttribute(DeviceManagementConstants.LicenseProperties.VALID_FROM, license.getValidFrom().toString()); artifactManager.addGenericArtifact(artifact); - return true; } catch (GovernanceException e) { throw new LicenseManagementException("Error occurred while adding license for device type " + deviceType + "'", e); diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index b2613923ae..057e6af154 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -37,6 +37,7 @@ org.wso2.carbon.device.mgt.core org.wso2.carbon.device.mgt.common + org.wso2.carbon.device.mgt.extensions From 2694b98883c3abb51766eeea99f44bd64810cc31 Mon Sep 17 00:00:00 2001 From: prabathabey Date: Fri, 24 Jul 2015 12:19:55 +0530 Subject: [PATCH 2/6] Adding device management extension feature --- .../pom.xml | 101 ++++++++++++++++++ .../src/main/resources/build.properties | 1 + .../src/main/resources/p2.inf | 1 + .../pom.xml | 13 +-- features/device-mgt/pom.xml | 1 + pom.xml | 5 + 6 files changed, 112 insertions(+), 10 deletions(-) create mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml create mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/build.properties create mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/p2.inf diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml new file mode 100644 index 0000000000..4f8d649c8b --- /dev/null +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -0,0 +1,101 @@ + + + + + org.wso2.carbon.devicemgt + device-mgt-feature + 0.9.2-SNAPSHOT + ../pom.xml + + + 4.0.0 + org.wso2.carbon.device.mgt.extensions.feature + pom + 0.9.2-SNAPSHOT + WSO2 Carbon - Device Management Extensions Feature + http://wso2.org + This feature contains common extensions used by key device management functionalities + + + + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.extensions + + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.common + + + + + + + maven-resources-plugin + 2.6 + + + copy-resources + generate-resources + + copy-resources + + + src/main/resources + + + resources + + build.properties + p2.inf + + + + + + + + + org.wso2.maven + carbon-p2-plugin + ${carbon.p2.plugin.version} + + + p2-feature-generation + package + + p2-feature-gen + + + org.wso2.carbon.device.mgt.server + ../../../features/etc/feature.properties + + + org.wso2.carbon.p2.category.type:server + org.eclipse.equinox.p2.type.group:false + + + + + org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.extensions:${carbon.device.mgt.version} + + + org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.common:${carbon.device.mgt.version} + + + + org.wso2.carbon.core.server:${carbon.kernel.version} + + org.wso2.carbon.governance.metadata:${carbon.governance.version} + + + + + + + + + + \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/build.properties b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/build.properties new file mode 100644 index 0000000000..9c86577d76 --- /dev/null +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/build.properties @@ -0,0 +1 @@ +custom = true diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/p2.inf b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/p2.inf new file mode 100644 index 0000000000..7ab37b9d7d --- /dev/null +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/src/main/resources/p2.inf @@ -0,0 +1 @@ +instructions.configure = \ \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml index d55c996ab9..0c00e7b05d 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml @@ -113,16 +113,9 @@ - org.wso2.carbon.core.server:${carbon.kernel.version} - - org.wso2.carbon.governance.metadata:${carbon.governance.version} - - org.wso2.carbon.apimgt.core:${carbon.api.mgt.version} - - + org.wso2.carbon.core.server:${carbon.kernel.version} + org.wso2.carbon.apimgt.core:${carbon.api.mgt.version} + org.wso2.carbon.device.mgt.extensions:${carbon.device.mgt.version} diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 7c34752dc0..c1e36a3fe0 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -36,6 +36,7 @@ org.wso2.carbon.device.mgt.server.feature + org.wso2.carbon.device.mgt.extensions.feature diff --git a/pom.xml b/pom.xml index ab536762c7..16a015fe08 100644 --- a/pom.xml +++ b/pom.xml @@ -126,6 +126,11 @@ org.wso2.carbon.device.mgt.common ${carbon.device.mgt.version} + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.extensions + ${carbon.device.mgt.version} + org.wso2.carbon.devicemgt org.wso2.carbon.policy.mgt.common From 8fb37722eab1e2a8fe1566f8c9eb8a25d38c9e38 Mon Sep 17 00:00:00 2001 From: prabathabey Date: Fri, 24 Jul 2015 12:30:30 +0530 Subject: [PATCH 3/6] Fixing an invalid artifact id used in device management extensions pom --- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 4f8d649c8b..0a665107fe 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -69,7 +69,7 @@ p2-feature-gen - org.wso2.carbon.device.mgt.server + org.wso2.carbon.device.mgt.extensions ../../../features/etc/feature.properties From 1a6526fc77ef7c4d32f8bda23337d54d9335cb2c Mon Sep 17 00:00:00 2001 From: prabathabey Date: Fri, 24 Jul 2015 19:22:14 +0530 Subject: [PATCH 4/6] Removing API publisher lifecycle listener implementation out of device.mgt.core and making it a separate module --- .../pom.xml | 89 +++++++++++++++++ .../apimgt/webapp/publisher}/APIConfig.java | 7 +- .../publisher}/APIPublisherService.java | 2 +- .../publisher}/APIPublisherServiceImpl.java | 6 +- .../webapp/publisher/APIPublisherUtil.java | 98 +++++++++++++++++++ .../internal/APIPublisherDataHolder.java | 44 +++++++++ .../APIPublisherServiceComponent.java | 77 +++++++++++++++ .../APIPublisherLifecycleListener.java | 59 +++++------ .../org.wso2.carbon.device.mgt.core/pom.xml | 23 ++--- .../ApplicationManagementProviderService.java | 2 +- ...ApplicationManagerProviderServiceImpl.java | 3 - .../internal/DeviceManagementDataHolder.java | 10 -- .../DeviceManagementServiceComponent.java | 12 +-- .../mgt/core/util/DeviceManagerUtil.java | 77 +-------------- ...licationManagementProviderServiceTest.java | 2 - .../src/test/resources/testng.xml | 14 +-- components/device-mgt/pom.xml | 1 + .../pom.xml | 91 +++++++++++++++++ features/device-mgt/pom.xml | 1 + pom.xml | 11 ++- 20 files changed, 466 insertions(+), 163 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/pom.xml rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt => org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher}/APIConfig.java (92%) rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt => org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher}/APIPublisherService.java (98%) rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt => org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher}/APIPublisherServiceImpl.java (93%) create mode 100644 components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java create mode 100644 components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java create mode 100644 components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java rename components/device-mgt/{org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt => org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher}/lifecycle/listener/APIPublisherLifecycleListener.java (71%) rename components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/{api => app}/mgt/ApplicationManagementProviderService.java (96%) create mode 100644 features/device-mgt/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/pom.xml new file mode 100644 index 0000000000..fd1639b76f --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -0,0 +1,89 @@ + + + + + device-mgt + org.wso2.carbon.devicemgt + 0.9.2-SNAPSHOT + ../pom.xml + + + 4.0.0 + org.wso2.carbon.apimgt.webapp.publisher + 0.9.2-SNAPSHOT + bundle + WSO2 Carbon - API Management Webapp Publisher + WSO2 Carbon - API Management Webapp Publisher + http://wso2.org + + + + org.eclipse.osgi + org.eclipse.osgi + + + org.eclipse.osgi + org.eclipse.osgi.services + + + org.testng + testng + + + org.wso2.carbon.apimgt + org.wso2.carbon.apimgt.api + + + org.wso2.carbon.apimgt + org.wso2.carbon.apimgt.impl + + + org.wso2.tomcat + tomcat + + + org.wso2.tomcat + tomcat-servlet-api + + + + + + + + org.apache.felix + maven-bundle-plugin + 1.4.0 + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + API Management Webapp Publisher + org.wso2.carbon.apimgt.webapp.publisher.internal + + !org.wso2.carbon.apimgt.webapp.publisher.internal, + org.wso2.carbon.apimgt.webapp.publisher.* + + + org.osgi.framework, + org.osgi.service.component, + org.apache.commons.logging, + javax.servlet, + javax.xml.bind.annotation, + org.apache.catalina, + org.apache.catalina.core, + org.wso2.carbon.apimgt.api, + org.wso2.carbon.apimgt.api.model, + org.wso2.carbon.apimgt.impl + + + + + + + + \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIConfig.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java similarity index 92% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIConfig.java rename to components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java index 61a549ced7..4d5c661105 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIConfig.java +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java @@ -16,12 +16,11 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.api.mgt; +package org.wso2.carbon.apimgt.webapp.publisher; import org.wso2.carbon.apimgt.api.APIManagementException; import org.wso2.carbon.apimgt.api.APIProvider; import org.wso2.carbon.apimgt.impl.APIManagerFactory; -import org.wso2.carbon.device.mgt.common.DeviceManagementException; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -55,11 +54,11 @@ public class APIConfig { private APIProvider provider; private boolean isSecured; - public void init() throws DeviceManagementException { + public void init() throws APIManagementException { try { this.provider = APIManagerFactory.getInstance().getAPIProvider(this.getOwner()); } catch (APIManagementException e) { - throw new DeviceManagementException("Error occurred while initializing API provider", e); + throw new APIManagementException("Error occurred while initializing API provider", e); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIPublisherService.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java similarity index 98% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIPublisherService.java rename to components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java index 77e961470e..32cb28f38d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIPublisherService.java +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java @@ -16,7 +16,7 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.api.mgt; +package org.wso2.carbon.apimgt.webapp.publisher; import org.wso2.carbon.apimgt.api.APIManagementException; import org.wso2.carbon.apimgt.api.model.API; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIPublisherServiceImpl.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java similarity index 93% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIPublisherServiceImpl.java rename to components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java index e5e09fe4a8..47757b4cf8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/APIPublisherServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java @@ -16,7 +16,7 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.api.mgt; +package org.wso2.carbon.apimgt.webapp.publisher; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -54,8 +54,8 @@ public class APIPublisherServiceImpl implements APIPublisherService { "'. Thus, the API config is updated"); } } else { - log.error("API provider configured for the given API configuration is null. Thus, the API is not " + - "published"); + throw new APIManagementException("API provider configured for the given API configuration is null. " + + "Thus, the API is not published"); } } diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java new file mode 100644 index 0000000000..9776159a61 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.wso2.carbon.apimgt.webapp.publisher; + +import org.wso2.carbon.apimgt.api.APIManagementException; +import org.wso2.carbon.apimgt.api.APIProvider; +import org.wso2.carbon.apimgt.api.model.API; +import org.wso2.carbon.apimgt.api.model.APIIdentifier; +import org.wso2.carbon.apimgt.api.model.APIStatus; +import org.wso2.carbon.apimgt.api.model.URITemplate; +import org.wso2.carbon.apimgt.impl.APIConstants; + +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +public class APIPublisherUtil { + + enum HTTPMethod { + GET, POST, DELETE, PUT, OPTIONS + } + + private static List httpMethods; + + static { + httpMethods = new ArrayList(); + httpMethods.add(HTTPMethod.GET); + httpMethods.add(HTTPMethod.POST); + httpMethods.add(HTTPMethod.DELETE); + httpMethods.add(HTTPMethod.PUT); + httpMethods.add(HTTPMethod.OPTIONS); + } + + public static API getAPI(APIConfig config) throws APIManagementException { + APIProvider provider = config.getProvider(); + APIIdentifier id = new APIIdentifier(config.getOwner(), config.getName(), config.getVersion()); + + API api = new API(id); + api.setApiOwner(config.getOwner()); + api.setContext(config.getContext()); + api.setUrl(config.getEndpoint()); + api.setUriTemplates( + getURITemplates(config.getEndpoint(), APIConstants.AUTH_APPLICATION_OR_USER_LEVEL_TOKEN)); + api.setVisibility(APIConstants.API_GLOBAL_VISIBILITY); + api.addAvailableTiers(provider.getTiers()); + api.setEndpointSecured(true); + api.setStatus(APIStatus.PUBLISHED); + api.setTransports(config.getTransports()); + + return api; + } + + private static Set getURITemplates(String endpoint, String authType) { + Set uriTemplates = new LinkedHashSet(); + if (APIConstants.AUTH_NO_AUTHENTICATION.equals(authType)) { + for (HTTPMethod method : httpMethods) { + URITemplate template = new URITemplate(); + template.setAuthType(APIConstants.AUTH_NO_AUTHENTICATION); + template.setHTTPVerb(method.toString()); + template.setResourceURI(endpoint); + template.setUriTemplate("/*"); + uriTemplates.add(template); + } + } else { + for (HTTPMethod method : httpMethods) { + URITemplate template = new URITemplate(); + if (HTTPMethod.OPTIONS.equals(method)) { + template.setAuthType(APIConstants.AUTH_NO_AUTHENTICATION); + } else { + template.setAuthType(APIConstants.AUTH_APPLICATION_OR_USER_LEVEL_TOKEN); + } + template.setHTTPVerb(method.toString()); + template.setResourceURI(endpoint); + template.setUriTemplate("/*"); + uriTemplates.add(template); + } + } + return uriTemplates; + } + +} diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java new file mode 100644 index 0000000000..41dd3de7ef --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.wso2.carbon.apimgt.webapp.publisher.internal; + +import org.wso2.carbon.apimgt.webapp.publisher.APIPublisherService; + +public class APIPublisherDataHolder { + + private APIPublisherService apiPublisherService; + + private static APIPublisherDataHolder thisInstance = new APIPublisherDataHolder(); + + private APIPublisherDataHolder() { + } + + public static APIPublisherDataHolder getInstance() { + return thisInstance; + } + + public APIPublisherService getApiPublisherService() { + return apiPublisherService; + } + + public void setApiPublisherService(APIPublisherService apiPublisherService) { + this.apiPublisherService = apiPublisherService; + } + +} diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java new file mode 100644 index 0000000000..97fe5d11e8 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.wso2.carbon.apimgt.webapp.publisher.internal; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.osgi.framework.BundleContext; +import org.osgi.service.component.ComponentContext; +import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService; +import org.wso2.carbon.apimgt.webapp.publisher.APIPublisherService; +import org.wso2.carbon.apimgt.webapp.publisher.APIPublisherServiceImpl; + +public class APIPublisherServiceComponent { + + private static Log log = LogFactory.getLog(APIPublisherServiceComponent.class); + + @SuppressWarnings("unused") + protected void activate(ComponentContext componentContext) { + try { + if (log.isDebugEnabled()) { + log.debug("Initializing device management core bundle"); + } + + /* Registering declarative service instances exposed by DeviceManagementServiceComponent */ + this.registerServices(componentContext); + + if (log.isDebugEnabled()) { + log.debug("Device management core bundle has been successfully initialized"); + } + } catch (Throwable e) { + log.error("Error occurred while initializing device management core bundle", e); + } + } + + @SuppressWarnings("unused") + protected void deactivate(ComponentContext componentContext) { + //do nothing + } + + private void registerServices(ComponentContext componentContext) { + if (log.isDebugEnabled()) { + log.debug("Registering OSGi service DeviceManagementProviderServiceImpl"); + } + /* Registering Device Management Service */ + BundleContext bundleContext = componentContext.getBundleContext(); + + APIPublisherService publisher = new APIPublisherServiceImpl(); + APIPublisherDataHolder.getInstance().setApiPublisherService(publisher); + bundleContext.registerService(APIPublisherService.class, publisher, null); + + } + + protected void setAPIManagerConfigurationService(APIManagerConfigurationService service) { + //do nothing + } + + protected void unsetAPIManagerConfigurationService(APIManagerConfigurationService service) { + //do nothing + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java similarity index 71% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java rename to components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java index c856c8a7a0..4284c9a5a5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/lifecycle/listener/APIPublisherLifecycleListener.java +++ b/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java @@ -16,7 +16,7 @@ * under the License. * */ -package org.wso2.carbon.device.mgt.core.api.mgt.lifecycle.listener; +package org.wso2.carbon.apimgt.webapp.publisher.lifecycle.listener; import org.apache.catalina.Lifecycle; import org.apache.catalina.LifecycleEvent; @@ -25,9 +25,9 @@ import org.apache.catalina.core.StandardContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.apimgt.api.model.API; -import org.wso2.carbon.device.mgt.core.api.mgt.APIConfig; -import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; -import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; +import org.wso2.carbon.apimgt.webapp.publisher.APIConfig; +import org.wso2.carbon.apimgt.webapp.publisher.APIPublisherUtil; +import org.wso2.carbon.apimgt.webapp.publisher.internal.APIPublisherDataHolder; import javax.servlet.ServletContext; @@ -36,13 +36,14 @@ public class APIPublisherLifecycleListener implements LifecycleListener { private static final String API_CONFIG_DEFAULT_VERSION = "1.0.0"; - private static final String PARAM_MANAGE_API_NAME = "managed-api-name"; - private static final String PARAM_MANAGE_API_VERSION = "managed-api-version"; - private static final String PARAM_MANAGE_API_CONTEXT = "managed-api-context"; - private static final String PARAM_MANAGE_API_ENDPOINT = "managed-api-endpoint"; - private static final String PARAM_MANAGE_API_OWNER = "managed-api-owner"; - private static final String PARAM_MANAGE_API_TRANSPORTS = "managed-api-transports"; - private static final String PARAM_MANAGE_API_IS_SECURED = "managed-api-isSecured"; + private static final String PARAM_MANAGED_API_ENABLED = "managed-api-enabled"; + private static final String PARAM_MANAGED_API_NAME = "managed-api-name"; + private static final String PARAM_MANAGED_API_VERSION = "managed-api-version"; + private static final String PARAM_MANAGED_API_CONTEXT = "managed-api-context"; + private static final String PARAM_MANAGED_API_ENDPOINT = "managed-api-endpoint"; + private static final String PARAM_MANAGED_API_OWNER = "managed-api-owner"; + private static final String PARAM_MANAGED_API_TRANSPORTS = "managed-api-transports"; + private static final String PARAM_MANAGED_API_IS_SECURED = "managed-api-isSecured"; private static final Log log = LogFactory.getLog(APIPublisherLifecycleListener.class); @@ -52,15 +53,15 @@ public class APIPublisherLifecycleListener implements LifecycleListener { StandardContext context = (StandardContext) lifecycleEvent.getLifecycle(); ServletContext servletContext = context.getServletContext(); - String param = servletContext.getInitParameter("managed-api-enabled"); - boolean isManagedApi = (param != null && !"".equals(param)) && Boolean.parseBoolean(param); + String param = servletContext.getInitParameter(PARAM_MANAGED_API_ENABLED); + boolean isManagedApi = (param != null && param.isEmpty()) && Boolean.parseBoolean(param); if (isManagedApi) { APIConfig apiConfig = this.buildApiConfig(servletContext); try { apiConfig.init(); - API api = DeviceManagerUtil.getAPI(apiConfig); - DeviceManagementDataHolder.getInstance().getApiPublisherService().publishAPI(api); + API api = APIPublisherUtil.getAPI(apiConfig); + APIPublisherDataHolder.getInstance().getApiPublisherService().publishAPI(api); } catch (Throwable e) { /* Throwable is caught as none of the RuntimeExceptions that can potentially occur at this point does not seem to be logged anywhere else within the framework */ @@ -74,8 +75,8 @@ public class APIPublisherLifecycleListener implements LifecycleListener { private APIConfig buildApiConfig(ServletContext servletContext) { APIConfig apiConfig = new APIConfig(); - String name = servletContext.getInitParameter(PARAM_MANAGE_API_NAME); - if (name == null || "".equals(name)) { + String name = servletContext.getInitParameter(PARAM_MANAGED_API_NAME); + if (name == null || name.isEmpty()) { if (log.isDebugEnabled()) { log.debug("'managed-api-name' attribute is not configured. Therefore, using the default, " + "which is the name of the web application"); @@ -84,8 +85,8 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setName(name); - String version = servletContext.getInitParameter(PARAM_MANAGE_API_VERSION); - if (version == null || "".equals(version)) { + String version = servletContext.getInitParameter(PARAM_MANAGED_API_VERSION); + if (version == null || version.isEmpty()) { if (log.isDebugEnabled()) { log.debug("'managed-api-version' attribute is not configured. Therefore, using the " + "default, which is '1.0.0'"); @@ -94,8 +95,8 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setVersion(version); - String context = servletContext.getInitParameter(PARAM_MANAGE_API_CONTEXT); - if (context == null || "".equals(context)) { + String context = servletContext.getInitParameter(PARAM_MANAGED_API_CONTEXT); + if (context == null || context.isEmpty()) { if (log.isDebugEnabled()) { log.debug("'managed-api-context' attribute is not configured. Therefore, using the default, " + "which is the original context assigned to the web application"); @@ -104,29 +105,29 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setContext(context); - String endpoint = servletContext.getInitParameter(PARAM_MANAGE_API_ENDPOINT); - if (endpoint == null || "".equals(endpoint)) { + String endpoint = servletContext.getInitParameter(PARAM_MANAGED_API_ENDPOINT); + if (endpoint == null || endpoint.isEmpty()) { if (log.isDebugEnabled()) { log.debug("'managed-api-endpoint' attribute is not configured"); } } apiConfig.setEndpoint(endpoint); - String owner = servletContext.getInitParameter(PARAM_MANAGE_API_OWNER); - if (owner == null || "".equals(owner)) { + String owner = servletContext.getInitParameter(PARAM_MANAGED_API_OWNER); + if (owner == null || owner.isEmpty()) { if (log.isDebugEnabled()) { log.debug("'managed-api-owner' attribute is not configured"); } } apiConfig.setOwner(owner); - String isSecuredParam = servletContext.getInitParameter(PARAM_MANAGE_API_IS_SECURED); + String isSecuredParam = servletContext.getInitParameter(PARAM_MANAGED_API_IS_SECURED); boolean isSecured = - (isSecuredParam != null && !"".equals(isSecuredParam)) && Boolean.parseBoolean(isSecuredParam); + (isSecuredParam != null && !isSecuredParam.isEmpty()) && Boolean.parseBoolean(isSecuredParam); apiConfig.setSecured(isSecured); - String transports = servletContext.getInitParameter(PARAM_MANAGE_API_TRANSPORTS); - if (transports == null || "".equals(transports)) { + String transports = servletContext.getInitParameter(PARAM_MANAGED_API_TRANSPORTS); + if (transports == null || transports.isEmpty()) { if (log.isDebugEnabled()) { log.debug("'managed-api-transports' attribute is not configured. Therefore using the defaults, " + "which are 'http' and 'https'"); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml index 1de4ce1c0f..6194adc77d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml @@ -17,7 +17,8 @@ ~ under the License. --> - + org.wso2.carbon.devicemgt device-mgt @@ -69,23 +70,13 @@ org.wso2.carbon.device.mgt.common.*, org.wso2.carbon.user.api, org.wso2.carbon.user.core.*, - org.wso2.carbon.registry.core, - org.wso2.carbon.registry.core.exceptions, org.wso2.carbon.registry.core.service, - org.wso2.carbon.registry.core.session, org.w3c.dom, - org.wso2.carbon.governance.api.exception, - org.wso2.carbon.governance.api.generic, - org.wso2.carbon.governance.api.generic.dataobjects, - org.wso2.carbon.apimgt.api, - org.wso2.carbon.apimgt.api.model, - org.wso2.carbon.apimgt.impl, org.wso2.carbon.identity.oauth.stub, org.wso2.carbon.identity.oauth.stub.dto, org.wso2.carbon.ndatasource.core, - org.apache.catalina, - org.apache.catalina.core, - javax.servlet + org.wso2.carbon.apimgt.impl, + org.wso2.carbon.ndatasource.core !org.wso2.carbon.device.mgt.core.internal, @@ -100,9 +91,9 @@ maven-surefire-plugin 2.18 - - file:src/test/resources/log4j.properties - + + file:src/test/resources/log4j.properties + src/test/resources/testng.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/ApplicationManagementProviderService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderService.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/ApplicationManagementProviderService.java rename to components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderService.java index 2002818504..085dadac47 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/api/mgt/ApplicationManagementProviderService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderService.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.wso2.carbon.device.mgt.core.api.mgt; +package org.wso2.carbon.device.mgt.core.app.mgt; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.app.mgt.Application; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java index e4f648035a..e83c0c9a97 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagerProviderServiceImpl.java @@ -29,19 +29,16 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; -import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; -import org.wso2.carbon.device.mgt.core.api.mgt.ApplicationManagementProviderService; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; import org.wso2.carbon.device.mgt.core.app.mgt.oauth.ServiceAuthenticator; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations; import org.wso2.carbon.device.mgt.core.dao.*; import org.wso2.carbon.device.mgt.core.internal.PluginInitializationListener; -import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceException; import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub; import org.wso2.carbon.identity.oauth.stub.dto.OAuthConsumerAppDTO; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java index 3533ea96c4..5dc73850f8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java @@ -22,7 +22,6 @@ package org.wso2.carbon.device.mgt.core.internal; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; -import org.wso2.carbon.device.mgt.core.api.mgt.APIPublisherService; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; @@ -39,7 +38,6 @@ public class DeviceManagementDataHolder { private LicenseManager licenseManager; private RegistryService registryService; private LicenseConfig licenseConfig; - private APIPublisherService apiPublisherService; private ApplicationManager appManager; private AppManagementConfig appManagerConfig; private OperationManager operationManager; @@ -106,14 +104,6 @@ public class DeviceManagementDataHolder { this.licenseConfig = licenseConfig; } - public APIPublisherService getApiPublisherService() { - return apiPublisherService; - } - - public void setApiPublisherService(APIPublisherService apiPublisherService) { - this.apiPublisherService = apiPublisherService; - } - public ApplicationManager getAppManager() { return appManager; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java index d6443f193c..84ff9553f2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java @@ -25,24 +25,18 @@ import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; -import org.wso2.carbon.device.mgt.common.license.mgt.License; -import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; -import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; -import org.wso2.carbon.device.mgt.core.api.mgt.APIPublisherService; -import org.wso2.carbon.device.mgt.core.api.mgt.APIPublisherServiceImpl; -import org.wso2.carbon.device.mgt.core.api.mgt.ApplicationManagementProviderService; +import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService; import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagerProviderServiceImpl; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfigurationManager; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig; import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig; -import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl; import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOFactory; @@ -175,10 +169,6 @@ public class DeviceManagementServiceComponent { DeviceManagementDataHolder.getInstance().setDeviceManagementProvider(deviceManagementProvider); bundleContext.registerService(DeviceManagementProviderService.class.getName(), deviceManagementProvider, null); - APIPublisherService publisher = new APIPublisherServiceImpl(); - DeviceManagementDataHolder.getInstance().setApiPublisherService(publisher); - bundleContext.registerService(APIPublisherService.class, publisher, null); - /* Registering App Management service */ try { AppManagementConfigurationManager.getInstance().initConfig(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java index dc895d8581..ac64d714a2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java @@ -20,18 +20,9 @@ package org.wso2.carbon.device.mgt.core.util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.w3c.dom.Document; -import org.wso2.carbon.apimgt.api.APIManagementException; -import org.wso2.carbon.apimgt.api.APIProvider; -import org.wso2.carbon.apimgt.api.model.API; -import org.wso2.carbon.apimgt.api.model.APIIdentifier; -import org.wso2.carbon.apimgt.api.model.APIStatus; -import org.wso2.carbon.apimgt.api.model.URITemplate; -import org.wso2.carbon.apimgt.impl.APIConstants; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.core.api.mgt.APIConfig; import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig; import org.wso2.carbon.device.mgt.core.config.datasource.JNDILookupDefinition; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; @@ -44,27 +35,15 @@ import javax.sql.DataSource; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.File; -import java.util.*; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; public final class DeviceManagerUtil { private static final Log log = LogFactory.getLog(DeviceManagerUtil.class); - enum HTTPMethod { - GET, POST, DELETE, PUT, OPTIONS - } - - private static List httpMethods; - - static { - httpMethods = new ArrayList(); - httpMethods.add(HTTPMethod.GET); - httpMethods.add(HTTPMethod.POST); - httpMethods.add(HTTPMethod.DELETE); - httpMethods.add(HTTPMethod.PUT); - httpMethods.add(HTTPMethod.OPTIONS); - } - public static Document convertToDocument(File file) throws DeviceManagementException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); @@ -168,52 +147,4 @@ public final class DeviceManagerUtil { return ctx.getTenantId(); } - public static API getAPI(APIConfig config) throws APIManagementException { - APIProvider provider = config.getProvider(); - APIIdentifier id = new APIIdentifier(config.getOwner(), config.getName(), config.getVersion()); - - API api = new API(id); - api.setApiOwner(config.getOwner()); - api.setContext(config.getContext()); - api.setUrl(config.getEndpoint()); - api.setUriTemplates( - getURITemplates(config.getEndpoint(), APIConstants.AUTH_APPLICATION_OR_USER_LEVEL_TOKEN)); - api.setVisibility(APIConstants.API_GLOBAL_VISIBILITY); - api.addAvailableTiers(provider.getTiers()); - api.setEndpointSecured(true); - api.setStatus(APIStatus.PUBLISHED); - api.setTransports(config.getTransports()); - - return api; - } - - private static Set getURITemplates(String endpoint, String authType) { - Set uriTemplates = new LinkedHashSet(); - if (APIConstants.AUTH_NO_AUTHENTICATION.equals(authType)) { - for (HTTPMethod method : httpMethods) { - URITemplate template = new URITemplate(); - template.setAuthType(APIConstants.AUTH_NO_AUTHENTICATION); - template.setHTTPVerb(method.toString()); - template.setResourceURI(endpoint); - template.setUriTemplate("/*"); - uriTemplates.add(template); - } - } else { - for (HTTPMethod method : httpMethods) { - URITemplate template = new URITemplate(); - if (HTTPMethod.OPTIONS.equals(method)) { - template.setAuthType(APIConstants.AUTH_NO_AUTHENTICATION); - } else { - template.setAuthType(APIConstants.AUTH_APPLICATION_OR_USER_LEVEL_TOKEN); - } - template.setHTTPVerb(method.toString()); - template.setResourceURI(endpoint); - template.setUriTemplate("/*"); - uriTemplates.add(template); - } - } - return uriTemplates; - } - - } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java index 132f73cb17..ad607d74cf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/app/mgt/ApplicationManagementProviderServiceTest.java @@ -27,8 +27,6 @@ import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; import org.wso2.carbon.device.mgt.core.TestDeviceManagementService; -import org.wso2.carbon.device.mgt.core.api.mgt.ApplicationManagementProviderService; -import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagerProviderServiceImpl; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; import org.wso2.carbon.device.mgt.core.common.TestDataHolder; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml index 1eee2b18eb..cf107283b8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml @@ -24,17 +24,17 @@ - - - - - + + + + + - - + + \ No newline at end of file diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 057e6af154..daaa8bda23 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -38,6 +38,7 @@ org.wso2.carbon.device.mgt.core org.wso2.carbon.device.mgt.common org.wso2.carbon.device.mgt.extensions + org.wso2.carbon.apimgt.webapp.publisher diff --git a/features/device-mgt/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/device-mgt/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml new file mode 100644 index 0000000000..b05b330b16 --- /dev/null +++ b/features/device-mgt/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -0,0 +1,91 @@ + + + + org.wso2.carbon.devicemgt + device-mgt-feature + 0.9.2-SNAPSHOT + ../pom.xml + + + 4.0.0 + org.wso2.carbon.apimgt.webapp.publisher.feature + pom + 0.9.2-SNAPSHOT + WSO2 Carbon - API Management Webapp Publisher Feature + http://wso2.org + This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing + JAX-RS web applications as 'Managed APIs' + + + + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.webapp.publisher + + + + + + + maven-resources-plugin + 2.6 + + + copy-resources + generate-resources + + copy-resources + + + src/main/resources + + + resources + + build.properties + p2.inf + + + + + + + + + org.wso2.maven + carbon-p2-plugin + ${carbon.p2.plugin.version} + + + p2-feature-generation + package + + p2-feature-gen + + + org.wso2.carbon.apimgt.webapp.publisher + ../../../features/etc/feature.properties + + + org.wso2.carbon.p2.category.type:server + org.eclipse.equinox.p2.type.group:false + + + + + org.wso2.carbon.devicemgt:org.wso2.carbon.apimgt.webapp.publisher:${carbon.device.mgt.version} + + + + org.wso2.carbon.core.server:${carbon.kernel.version} + + + + + + + + + \ No newline at end of file diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index c1e36a3fe0..b929026903 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -37,6 +37,7 @@ org.wso2.carbon.device.mgt.server.feature org.wso2.carbon.device.mgt.extensions.feature + org.wso2.carbon.apimgt.webapp.publisher.feature diff --git a/pom.xml b/pom.xml index 16a015fe08..dee3c94941 100644 --- a/pom.xml +++ b/pom.xml @@ -157,9 +157,9 @@ ${carbon.device.mgt.version} - org.wso2.carbon.identity - org.wso2.carbon.identity.oauth.stub - ${carbon.identity.version} + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.webapp.publisher + ${carbon.device.mgt.version} @@ -837,6 +837,11 @@ org.wso2.carbon.identity.core ${carbon.identity.version} + + org.wso2.carbon.identity + org.wso2.carbon.identity.oauth.stub + ${carbon.identity.version} + From 1716c2c7f6e299dda13b8bf32a15ce74375bc9c0 Mon Sep 17 00:00:00 2001 From: prabathabey Date: Sat, 25 Jul 2015 12:41:18 +0530 Subject: [PATCH 5/6] Making apimgt extensions module a separate component/feature pair --- .../pom.xml | 0 .../apimgt/webapp/publisher/APIConfig.java | 0 .../webapp/publisher/APIPublisherService.java | 0 .../publisher/APIPublisherServiceImpl.java | 0 .../webapp/publisher/APIPublisherUtil.java | 0 .../internal/APIPublisherDataHolder.java | 0 .../APIPublisherServiceComponent.java | 0 .../APIPublisherLifecycleListener.java | 0 components/apimgt-extensions/pom.xml | 60 +++++++++++++++++++ components/device-mgt/pom.xml | 1 - .../pom.xml | 0 features/apimgt-extensions/pom.xml | 41 +++++++++++++ features/device-mgt/pom.xml | 1 - pom.xml | 4 +- 14 files changed, 104 insertions(+), 3 deletions(-) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/pom.xml (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java (100%) rename components/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java (100%) create mode 100644 components/apimgt-extensions/pom.xml rename features/{device-mgt => apimgt-extensions}/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml (100%) create mode 100644 features/apimgt-extensions/pom.xml diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/pom.xml rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIConfig.java diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherService.java diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherServiceImpl.java diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/APIPublisherUtil.java diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherDataHolder.java diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/internal/APIPublisherServiceComponent.java diff --git a/components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java similarity index 100% rename from components/device-mgt/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java rename to components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml new file mode 100644 index 0000000000..26e5c245fc --- /dev/null +++ b/components/apimgt-extensions/pom.xml @@ -0,0 +1,60 @@ + + + + + + + org.wso2.carbon.devicemgt + carbon-devicemgt + 0.9.2-SNAPSHOT + ../../pom.xml + + + 4.0.0 + org.wso2.carbon.devicemgt + apimgt-extensions + 0.9.2-SNAPSHOT + pom + WSO2 Carbon - API Management Extensions Component + http://wso2.org + + + org.wso2.carbon.apimgt.webapp.publisher + + + + + + + org.apache.felix + maven-scr-plugin + 1.7.2 + + + generate-scr-scrdescriptor + + scr + + + + + + + + diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index daaa8bda23..057e6af154 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -38,7 +38,6 @@ org.wso2.carbon.device.mgt.core org.wso2.carbon.device.mgt.common org.wso2.carbon.device.mgt.extensions - org.wso2.carbon.apimgt.webapp.publisher diff --git a/features/device-mgt/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml similarity index 100% rename from features/device-mgt/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml rename to features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml new file mode 100644 index 0000000000..c8d190dc6b --- /dev/null +++ b/features/apimgt-extensions/pom.xml @@ -0,0 +1,41 @@ + + + + + + + org.wso2.carbon.devicemgt + carbon-devicemgt + 0.9.2-SNAPSHOT + ../../pom.xml + + + 4.0.0 + org.wso2.carbon.devicemgt + apimgt-extensions-feature + 0.9.2-SNAPSHOT + pom + WSO2 Carbon - API Management Extensions Feature + http://wso2.org + + + org.wso2.carbon.apimgt.webapp.publisher.feature + + + diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index b929026903..c1e36a3fe0 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -37,7 +37,6 @@ org.wso2.carbon.device.mgt.server.feature org.wso2.carbon.device.mgt.extensions.feature - org.wso2.carbon.apimgt.webapp.publisher.feature diff --git a/pom.xml b/pom.xml index dee3c94941..0607803120 100644 --- a/pom.xml +++ b/pom.xml @@ -37,11 +37,13 @@ components/device-mgt + components/apimgt-extensions components/policy-mgt components/webapp-authenticator-framework components/oauth-extensions features/device-mgt - features/policy-mgt + features/apimgt-extensions + features/policy-mgt features/webapp-authenticator-framework features/oauth-extensions From b298407160e082e8fbff853875acc3c546a01fcf Mon Sep 17 00:00:00 2001 From: prabathabey Date: Sat, 25 Jul 2015 13:29:57 +0530 Subject: [PATCH 6/6] Fixing improper parent configurations found in apimgt.extensions component and feature --- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index fd1639b76f..db99ddb99d 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - device-mgt + apimgt-extensions org.wso2.carbon.devicemgt 0.9.2-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index b05b330b16..1904c48f95 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> org.wso2.carbon.devicemgt - device-mgt-feature + apimgt-extensions-feature 0.9.2-SNAPSHOT ../pom.xml