From d352daf626cd4df0142fe9110c7608390120bab8 Mon Sep 17 00:00:00 2001 From: harshanL Date: Fri, 12 Dec 2014 12:07:28 +0530 Subject: [PATCH 1/2] Refactored Android-REST API code --- .../java/cdm/api/android/Authentication.java | 12 +-- .../src/main/java/cdm/api/android/Device.java | 79 ++++++++---------- .../main/java/cdm/api/android/Enrollment.java | 82 +++++++------------ .../cdm/api/android/util/AndroidAPIUtils.java | 15 ++++ .../api/android/util/AndroidConstants.java | 8 ++ 5 files changed, 93 insertions(+), 103 deletions(-) diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java index 6bf19ed71d..9f04a31105 100644 --- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java +++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java @@ -16,7 +16,6 @@ package cdm.api.android; - import com.google.gson.JsonObject; import javax.ws.rs.POST; @@ -31,9 +30,10 @@ public class Authentication { @POST @Path("/device/") @Produces("application/json") - public String authenticateDevice(@FormParam("username") String username, @FormParam("password") String password) { + public String authenticateDevice(@FormParam("username") String username, + @FormParam("password") String password) { JsonObject result = new JsonObject(); - result.addProperty("senderId","jwwfowrjwqporqwrpqworpq"); + result.addProperty("senderId", "jwwfowrjwqporqwrpqworpq"); return result.toString(); } @@ -42,10 +42,4 @@ public class Authentication { public String getLicense() { return "License Agreement"; } - - @POST - @Path("/device/enroll") - public Response enrollDevice() { - return Response.status(201).entity("Registration Successful").build(); - } } diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Device.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Device.java index 4bf8c21685..ae2e805dd2 100644 --- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Device.java +++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Device.java @@ -17,8 +17,9 @@ package cdm.api.android; import cdm.api.android.util.AndroidAPIUtils; +import cdm.api.android.util.AndroidConstants; import com.google.gson.Gson; -import com.google.gson.JsonObject; +import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -26,7 +27,6 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.core.service.DeviceManagementService; -import org.wso2.carbon.utils.multitenancy.MultitenantConstants; import javax.ws.rs.*; import javax.ws.rs.core.Response; @@ -46,22 +46,18 @@ public class Device { String msg = ""; DeviceManagementService dmService; try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } try { - if(dmService!=null){ - result = dmService.getAllDevices(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID); + if (dmService != null) { + result = dmService.getAllDevices( + DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } } catch (DeviceManagementException e) { @@ -71,12 +67,14 @@ public class Device { } switch (status) { case 1: - String response = new Gson().toJson(result); - return Response.status(200).entity(response).build(); + if(result!=null){ + String response = new Gson().toJson(result); + return Response.status(HttpStatus.SC_OK).entity(response).build(); + } case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(400).entity("Unable to fetch device list").build(); + return Response.status(HttpStatus.SC_NOT_FOUND).entity("Unable to fetch device list").build(); } @GET @@ -85,25 +83,21 @@ public class Device { int status = 0; String msg = ""; DeviceManagementService dmService; - org.wso2.carbon.device.mgt.common.Device device = new org.wso2.carbon.device.mgt.common.Device(); + org.wso2.carbon.device.mgt.common.Device device = + new org.wso2.carbon.device.mgt.common.Device(); try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id); try { - if(dmService!=null){ + if (dmService != null) { device = dmService.getDevice(deviceIdentifier); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } } catch (DeviceManagementException e) { @@ -113,12 +107,15 @@ public class Device { } switch (status) { case 1: - String response = new Gson().toJson(device); - return Response.status(200).entity(response).build(); + if(device!=null) { + String response = new Gson().toJson(device); + return Response.status(HttpStatus.SC_OK).entity(response).build(); + } + break; case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(400).entity("Unable to fetch device information").build(); + return Response.status(HttpStatus.SC_NOT_FOUND).entity("Unable to fetch device information").build(); } @PUT @@ -129,23 +126,19 @@ public class Device { String msg = ""; DeviceManagementService dmService; try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } - org.wso2.carbon.device.mgt.common.Device device = AndroidAPIUtils.convertToDeviceObject(jsonPayload); + org.wso2.carbon.device.mgt.common.Device device = + AndroidAPIUtils.convertToDeviceObject(jsonPayload); try { - if(dmService!=null){ + if (dmService != null) { result = dmService.updateDeviceInfo(device); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } } catch (DeviceManagementException e) { msg = "Error occurred while modifying the device information"; @@ -155,12 +148,12 @@ public class Device { switch (status) { case 1: if (result) { - return Response.status(200).entity("Device has modified").build(); + return Response.status(HttpStatus.SC_OK).entity("Device has modified").build(); } break; case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(400).entity("Update device has failed").build(); + return Response.status(HttpStatus.SC_NOT_MODIFIED).entity("Update device has failed").build(); } } diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java index 98501e3bdd..7a7b3bd29a 100644 --- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java +++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Enrollment.java @@ -17,14 +17,15 @@ package cdm.api.android; import cdm.api.android.util.AndroidAPIUtils; +import cdm.api.android.util.AndroidConstants; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.commons.httpclient.HttpStatus; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.core.service.DeviceManagementService; -import org.wso2.carbon.utils.multitenancy.MultitenantConstants; import javax.ws.rs.*; import javax.ws.rs.core.Response; @@ -43,25 +44,19 @@ public class Enrollment { String msg = ""; DeviceManagementService dmService; try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } Device device = AndroidAPIUtils.convertToDeviceObject(jsonPayload); try { - if(dmService!=null){ + if (dmService != null) { result = dmService.enrollDevice(device); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } - } catch (DeviceManagementException e) { msg = "Error occurred while enrolling the device"; log.error(msg, e); @@ -70,13 +65,13 @@ public class Enrollment { switch (status) { case 1: if (result) { - return Response.status(201).entity("Registration Successful").build(); + return Response.status(HttpStatus.SC_CREATED).entity("Device enrollment has succeeded").build(); } break; case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(400).entity("Registration Failed").build(); + return Response.status(HttpStatus.SC_BAD_REQUEST).entity("Device enrollment has Failed").build(); } @GET @@ -87,23 +82,18 @@ public class Enrollment { String msg = ""; DeviceManagementService dmService; try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id); try { - if(dmService!=null){ + if (dmService != null) { result = dmService.isEnrolled(deviceIdentifier); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } } catch (DeviceManagementException e) { msg = "Error occurred while checking enrollment of the device"; @@ -113,40 +103,35 @@ public class Enrollment { switch (status) { case 1: if (result) { - return Response.status(200).entity(result).build(); + return Response.status(HttpStatus.SC_OK).entity(result).build(); } break; case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(404).entity(result).build(); + return Response.status(HttpStatus.SC_NOT_FOUND).entity(result).build(); } @PUT @Path("{id}") - public Response modifyEnrollment(@PathParam("id") String id,String jsonPayload) { + public Response modifyEnrollment(@PathParam("id") String id, String jsonPayload) { boolean result = false; int status = 0; String msg = ""; DeviceManagementService dmService; try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } Device device = AndroidAPIUtils.convertToDeviceObject(jsonPayload); try { - if(dmService!=null){ + if (dmService != null) { result = dmService.modifyEnrollment(device); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } } catch (DeviceManagementException e) { msg = "Error occurred while modifying enrollment of the device"; @@ -156,13 +141,13 @@ public class Enrollment { switch (status) { case 1: if (result) { - return Response.status(200).entity("Device information modified").build(); + return Response.status(HttpStatus.SC_OK).entity("Enrollment information has modified").build(); } break; case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(400).entity("Update enrollment failed").build(); + return Response.status(HttpStatus.SC_NOT_MODIFIED).entity("Update enrollment has failed").build(); } @DELETE @@ -173,23 +158,18 @@ public class Enrollment { String msg = ""; DeviceManagementService dmService; try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); - ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); - dmService = (DeviceManagementService) ctx - .getOSGiService(DeviceManagementService.class, null); + dmService = AndroidAPIUtils.getDeviceManagementService(); } finally { PrivilegedCarbonContext.endTenantFlow(); } DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id); try { - if(dmService!=null){ + if (dmService != null) { result = dmService.disenrollDevice(deviceIdentifier); status = 1; - }else{ + } else { status = -1; - msg = "Device Manager service not available"; + msg = AndroidConstants.Messages.DEVICE_MANAGER_SERVICE_NOT_AVAILABLE; } } catch (DeviceManagementException e) { msg = "Error occurred while disenrolling the device"; @@ -199,12 +179,12 @@ public class Enrollment { switch (status) { case 1: if (result) { - return Response.status(200).entity(result).build(); + return Response.status(HttpStatus.SC_OK).entity(result).build(); } break; case -1: - return Response.status(500).entity(msg).build(); + return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).entity(msg).build(); } - return Response.status(404).entity("Device not found").build(); + return Response.status(HttpStatus.SC_NOT_FOUND).entity("Device not found").build(); } } diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidAPIUtils.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidAPIUtils.java index 94391d40ae..7d75214702 100644 --- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidAPIUtils.java +++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidAPIUtils.java @@ -19,7 +19,10 @@ package cdm.api.android.util; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.*; +import org.wso2.carbon.device.mgt.core.service.DeviceManagementService; +import org.wso2.carbon.utils.multitenancy.MultitenantConstants; import java.util.*; @@ -112,4 +115,16 @@ public class AndroidAPIUtils { identifier.setType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID); return identifier; } + + + public static DeviceManagementService getDeviceManagementService() { + DeviceManagementService dmService; + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + ctx.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME); + ctx.setTenantId(MultitenantConstants.SUPER_TENANT_ID); + dmService = (DeviceManagementService) ctx + .getOSGiService(DeviceManagementService.class, null); + return dmService; + } } diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidConstants.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidConstants.java index b76820fc52..0dcb9e59de 100644 --- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidConstants.java +++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/util/AndroidConstants.java @@ -45,4 +45,12 @@ public final class AndroidConstants { public static final String DEVICE_PROPERTIES_KEY = "properties"; public static final String DEVICE_FEATURES_KEY = "features"; } + + public final class Messages{ + private Messages(){ + throw new AssertionError(); + } + public static final String DEVICE_MANAGER_SERVICE_NOT_AVAILABLE = + "Device Manager service not available"; + } } From 274d9ec37e50140c6f624b002380441797fe3768 Mon Sep 17 00:00:00 2001 From: Geeth Munasinghe Date: Fri, 12 Dec 2014 14:45:24 +0530 Subject: [PATCH 2/2] Adding the feature management service and android application to webapps --- .../carbon/policy/mgt/common/Feature.java | 9 ++ .../mgt/common/impl/PolicyManagement.java | 15 ++ .../mgt/common/spi/FeatureManagerService.java | 38 +++++ .../mgt/common/spi/PolicyManagerService.java | 23 ++- product/modules/distribution/pom.xml | 6 +- .../modules/distribution/src/assembly/bin.xml | 149 +++++++----------- 6 files changed, 142 insertions(+), 98 deletions(-) create mode 100644 components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/FeatureManagerService.java diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Feature.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Feature.java index cbe7e55ae5..9183c810be 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Feature.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/Feature.java @@ -20,10 +20,19 @@ package org.wso2.carbon.policy.mgt.common; public class Feature { + private int id; private String code; private String name; private Object attribute; + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + public String getCode() { return code; } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/impl/PolicyManagement.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/impl/PolicyManagement.java index db14d8e1fc..6b2a9ee33f 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/impl/PolicyManagement.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/impl/PolicyManagement.java @@ -63,4 +63,19 @@ public class PolicyManagement implements PolicyManagerService { public Policy getPolicyOfRole(String roleName) throws FeatureManagementException, PolicyManagementException { return null; } + + @Override + public boolean isPolicyAvailableForDevice(String deviceId, String deviceType) throws PolicyManagementException { + return false; + } + + @Override + public boolean isPolicyUsed(String deviceId, String deviceType) throws PolicyManagementException { + return false; + } + + @Override + public void setPolicyUsed(String deviceId, String deviceType, Policy policy) throws PolicyManagementException { + + } } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/FeatureManagerService.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/FeatureManagerService.java new file mode 100644 index 0000000000..6ed982cd2e --- /dev/null +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/FeatureManagerService.java @@ -0,0 +1,38 @@ +/* +* Copyright (c) 2014 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.policy.mgt.common.spi; + +import org.wso2.carbon.policy.mgt.common.Feature; +import org.wso2.carbon.policy.mgt.common.FeatureManagementException; + +import java.util.List; + +public interface FeatureManagerService { + + void addFeature(Feature feature) throws FeatureManagementException; + + void editFeature(Feature feature) throws FeatureManagementException; + + void removeFeature(int featureId) throws FeatureManagementException; + + List getFeatures() throws FeatureManagementException; + + List getFeaturesOfPolicy(int policyId) throws FeatureManagementException; +} diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/PolicyManagerService.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/PolicyManagerService.java index 063ac757c9..ae55266618 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/PolicyManagerService.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/spi/PolicyManagerService.java @@ -30,6 +30,7 @@ public interface PolicyManagerService { /** * This method adds a policy to the platform + * * @param policy * @return primary key (generated key) */ @@ -38,6 +39,7 @@ public interface PolicyManagerService { /** * This method adds a policy per device which should be implemented by the related plugins. + * * @param deviceId * @param deviceType * @param policy @@ -48,15 +50,17 @@ public interface PolicyManagerService { /** * This method adds a policy to device type by the related device type plugins. + * * @param deviceType * @param policy * @return primary key (generated key) */ - int addPolicyToDeviceType(String deviceType,Policy policy) throws FeatureManagementException, PolicyManagementException; + int addPolicyToDeviceType(String deviceType, Policy policy) throws FeatureManagementException, PolicyManagementException; /** * This method adds the policy to specific role. + * * @param roleName * @param policy * @return primary key (generated key) @@ -65,30 +69,34 @@ public interface PolicyManagerService { /** * This method returns the policy of whole platform + * * @return */ - Policy getPolicy(); + Policy getPolicy(); /** * This method gives the device specific policy. + * * @param deviceId * @param deviceType - * @return Policy + * @return Policy */ Policy getPolicyOfDevice(String deviceId, String deviceType) throws FeatureManagementException, PolicyManagementException; /** * This method returns the device type specific policy. + * * @param deviceType - * @return Policy + * @return Policy */ Policy getPolicyOfDeviceType(String deviceType) throws FeatureManagementException, PolicyManagementException; /** * This method returns the role specific policy. + * * @param roleName * @return */ @@ -96,4 +104,11 @@ public interface PolicyManagerService { Policy getPolicyOfRole(String roleName) throws FeatureManagementException, PolicyManagementException; + boolean isPolicyAvailableForDevice(String deviceId, String deviceType) throws PolicyManagementException; + + + boolean isPolicyUsed(String deviceId, String deviceType) throws PolicyManagementException; + + + void setPolicyUsed(String deviceId, String deviceType, Policy policy) throws PolicyManagementException; } diff --git a/product/modules/distribution/pom.xml b/product/modules/distribution/pom.xml index ba6de3b91e..ab110a0ff2 100644 --- a/product/modules/distribution/pom.xml +++ b/product/modules/distribution/pom.xml @@ -105,6 +105,8 @@ + + @@ -137,7 +139,7 @@ og4j.logger.net.sf.ehcache=ERROR - + @@ -147,6 +149,8 @@ package + + @@ -98,11 +89,11 @@ 755 - - src/repository/resources/stratos_root - wso2cdm-${project.version}/repository/deployment/server/webapps/STRATOS_ROOT - 755 - + ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/modules ${pom.artifactId}-${project.version}/modules/ @@ -110,50 +101,14 @@ */** - - - - src/repository/conf wso2cdm-${project.version}/repository/conf **/api-manager.xml **/sso-idp-config.xml - + @@ -239,35 +194,42 @@ - + 755 + + src/repository/conf/tomcat/context.xml wso2cdm-${project.version}/repository/conf/tomcat true 644 - + INSTALL.txt @@ -307,18 +269,14 @@ - + + - - target/wso2carbon-core-${carbon.kernel.version}/repository/conf/log4j.properties - wso2cdm-${project.version}/repository/conf/ - true - src/repository/conf/multitenancy/cloud-services-desc.xml wso2cdm-${project.version}/repository/conf/multitenancy/ @@ -354,15 +312,18 @@ - ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/conf/tomcat/webapp-classloading.xml + + ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/conf/tomcat/webapp-classloading.xml + ${pom.artifactId}-${pom.version}/repository/conf/tomcat true 644 - + - ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/conf/cdm-config.xml + ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/conf/cdm-config.xml + ${pom.artifactId}-${pom.version}/repository/conf true 644 @@ -370,19 +331,21 @@ - ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/conf/tomcat/webapp-classloading-environments.xml + + ../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/repository/conf/tomcat/webapp-classloading-environments.xml + ${pom.artifactId}-${pom.version}/repository/conf/tomcat true 644 - +