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 new file mode 100644 index 0000000000..db99ddb99d --- /dev/null +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -0,0 +1,89 @@ + + + + + apimgt-extensions + 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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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/apimgt-extensions/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 new file mode 100644 index 0000000000..9776159a61 --- /dev/null +++ b/components/apimgt-extensions/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/apimgt-extensions/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 new file mode 100644 index 0000000000..41dd3de7ef --- /dev/null +++ b/components/apimgt-extensions/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/apimgt-extensions/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 new file mode 100644 index 0000000000..97fe5d11e8 --- /dev/null +++ b/components/apimgt-extensions/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/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java similarity index 65% 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/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/src/main/java/org/wso2/carbon/apimgt/webapp/publisher/lifecycle/listener/APIPublisherLifecycleListener.java index 8816e20f42..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/apimgt-extensions/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,15 +25,26 @@ 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; +@SuppressWarnings("unused") public class APIPublisherLifecycleListener implements LifecycleListener { private static final String API_CONFIG_DEFAULT_VERSION = "1.0.0"; + + 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); @Override @@ -42,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 */ @@ -64,8 +75,8 @@ public class APIPublisherLifecycleListener implements LifecycleListener { private APIConfig buildApiConfig(ServletContext servletContext) { APIConfig apiConfig = new APIConfig(); - String name = servletContext.getInitParameter("managed-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"); @@ -74,8 +85,8 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setName(name); - String version = servletContext.getInitParameter("managed-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'"); @@ -84,8 +95,8 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setVersion(version); - String context = servletContext.getInitParameter("managed-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"); @@ -94,29 +105,29 @@ public class APIPublisherLifecycleListener implements LifecycleListener { } apiConfig.setContext(context); - String endpoint = servletContext.getInitParameter("managed-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("managed-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("managed-api-isSecured"); + 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("managed-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/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/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/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 5dde3b2f6b..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,28 +25,19 @@ 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.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 +100,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 +114,6 @@ public class DeviceManagementServiceComponent { DataSourceConfig dsConfig = config.getDeviceManagementConfigRepository().getDataSourceConfig(); DeviceManagementDAOFactory.init(dsConfig); - /* Initializing license manager */ - this.initLicenseManager(); /*Initialize Operation Manager*/ this.initOperationsManager(); @@ -137,7 +127,6 @@ public class DeviceManagementServiceComponent { "begin"); } this.setupDeviceManagementSchema(dsConfig); - this.setupDefaultLicenses(DeviceManagementDataHolder.getInstance().getLicenseConfig()); } /* Registering declarative service instances exposed by DeviceManagementServiceComponent */ @@ -151,6 +140,7 @@ public class DeviceManagementServiceComponent { } } + @SuppressWarnings("unused") protected void deactivate(ComponentContext componentContext) { //do nothing } @@ -164,16 +154,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,14 +169,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); - /* Registering App Management service */ try { AppManagementConfigurationManager.getInstance().initConfig(); @@ -225,17 +197,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 c2e352384e..a77c6b4144 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,7 +67,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv DeviceManagementServiceComponent.registerPluginInitializationListener(this); } - /** * This constructor calls from unit tests * @@ -85,13 +84,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); @@ -261,8 +254,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); @@ -497,8 +489,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); @@ -540,13 +531,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/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/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.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/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 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 new file mode 100644 index 0000000000..1904c48f95 --- /dev/null +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -0,0 +1,91 @@ + + + + org.wso2.carbon.devicemgt + apimgt-extensions-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/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/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..0a665107fe --- /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.extensions + ../../../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..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 @@ -126,6 +128,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 @@ -152,9 +159,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} @@ -832,6 +839,11 @@ org.wso2.carbon.identity.core ${carbon.identity.version} + + org.wso2.carbon.identity + org.wso2.carbon.identity.oauth.stub + ${carbon.identity.version} +