diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java index 33a1c9454..9aafb4eea 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/constants/AndroidSenseConstants.java @@ -16,9 +16,6 @@ package org.wso2.carbon.device.mgt.iot.androidsense.service.impl.constants; -import org.wso2.carbon.CarbonConstants; -import org.wso2.carbon.user.api.Permission; - public class AndroidSenseConstants { public final static String DEVICE_TYPE = "android_sense"; @@ -47,26 +44,9 @@ public class AndroidSenseConstants { public static final String SCOPE = "scope"; - public static Permission[] permissions; - - static { - - Permission enroll = new Permission("/permission/admin/device-mgt/devices/enroll", CarbonConstants - .UI_PERMISSION_ACTION); - Permission disEnroll = new Permission("/permission/admin/device-mgt/devices/disenroll", CarbonConstants - .UI_PERMISSION_ACTION); - Permission owningDevice = new Permission("/permission/admin/device-mgt/devices/owning-device", - CarbonConstants.UI_PERMISSION_ACTION); - Permission groups = new Permission("/permission/admin/device-mgt/groups", CarbonConstants.UI_PERMISSION_ACTION); - Permission notifications = new Permission("/permission/admin/device-mgt/notifications", CarbonConstants - .UI_PERMISSION_ACTION); - Permission policies = new Permission("/permission/admin/device-mgt/policies", CarbonConstants - .UI_PERMISSION_ACTION); - Permission subscribe = new Permission("/permission/admin/manage/api/subscribe", CarbonConstants - .UI_PERMISSION_ACTION); - - permissions = new Permission[]{enroll, disEnroll, owningDevice, groups, notifications, policies, subscribe}; + public static final String PERM_ENROLL_ANDROID_SENSE = "/permission/admin/device-mgt/devices/enroll/android-sense"; + public static final String PERM_OWNING_DEVICE_VIEW = "/permission/admin/device-mgt/devices/owning-device/view"; - } + public static final String ROLE_NAME = "internal/devicemgt-user"; } diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/listener/PermissionUpdateListener.java b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/listener/AndroidSensePermissionUpdateListener.java similarity index 65% rename from components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/listener/PermissionUpdateListener.java rename to components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/listener/AndroidSensePermissionUpdateListener.java index dd073d265..4cb0ccc9e 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/listener/PermissionUpdateListener.java +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/listener/AndroidSensePermissionUpdateListener.java @@ -17,10 +17,11 @@ package org.wso2.carbon.device.mgt.iot.androidsense.service.impl.listener; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.CarbonConstants; import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.AndroidSenseServiceImpl; import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.constants.AndroidSenseConstants; import org.wso2.carbon.user.api.AuthorizationManager; +import org.wso2.carbon.user.api.Permission; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.api.UserStoreManager; import org.wso2.carbon.user.core.service.RealmService; @@ -28,11 +29,9 @@ import org.wso2.carbon.user.core.service.RealmService; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -public class PermissionUpdateListener implements ServletContextListener { +public class AndroidSensePermissionUpdateListener implements ServletContextListener { - private static Log log = LogFactory.getLog(AndroidSenseServiceImpl.class); - - private static final String ROLE_NAME = "internal/devicemgt-user"; + private static Log log = LogFactory.getLog(AndroidSensePermissionUpdateListener.class); @Override public void contextInitialized(ServletContextEvent servletContextEvent) { @@ -40,16 +39,16 @@ public class PermissionUpdateListener implements ServletContextListener { UserStoreManager userStoreManager = getUserStoreManager(); try { if (userStoreManager != null) { - if (!userStoreManager.isExistingRole(ROLE_NAME)) { - userStoreManager.addRole(ROLE_NAME, null, AndroidSenseConstants.permissions); + if (!userStoreManager.isExistingRole(AndroidSenseConstants.ROLE_NAME)) { + userStoreManager.addRole(AndroidSenseConstants.ROLE_NAME, null, getPermissions()); } else { - getAuthorizationManager().authorizeRole(ROLE_NAME, - "/permission/admin/device-mgt/devices/enroll/android-sense", "ui.execute"); - getAuthorizationManager().authorizeRole(ROLE_NAME, - "/permission/admin/device-mgt/devices/owning-device/view", "ui.execute"); + getAuthorizationManager().authorizeRole(AndroidSenseConstants.ROLE_NAME, + AndroidSenseConstants.PERM_ENROLL_ANDROID_SENSE, CarbonConstants.UI_PERMISSION_ACTION); + getAuthorizationManager().authorizeRole(AndroidSenseConstants.ROLE_NAME, + AndroidSenseConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants.UI_PERMISSION_ACTION); } } } catch (UserStoreException e) { - // + log.error("Error while creating a role and adding a user for Android Sense.", e); } } @@ -101,25 +100,14 @@ public class PermissionUpdateListener implements ServletContextListener { return authorizationManager; } + private Permission[] getPermissions() { + + Permission androidSense = new Permission(AndroidSenseConstants.PERM_ENROLL_ANDROID_SENSE, + CarbonConstants.UI_PERMISSION_ACTION); + Permission view = new Permission(AndroidSenseConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants + .UI_PERMISSION_ACTION); -// public static void registerApiAccessRoles(String user) { -// UserStoreManager userStoreManager = null; -// try { -// userStoreManager = getUserStoreManager(); -// String[] userList = new String[]{user}; -// if (userStoreManager != null) { -// String rolesOfUser[] = userStoreManager.getRoleListOfUser(user); -// if (!userStoreManager.isExistingRole(Constants.DEFAULT_ROLE_NAME)) { -// userStoreManager.addRole(Constants.DEFAULT_ROLE_NAME, userList, Constants.DEFAULT_PERMISSION); -// } else if (rolesOfUser != null && Arrays.asList(rolesOfUser).contains(Constants.DEFAULT_ROLE_NAME)) { -// return; -// } else { -// userStoreManager.updateUserListOfRole(Constants.DEFAULT_ROLE_NAME, new String[0], userList); -// } -// } -// } catch (UserStoreException e) { -// log.error("Error while creating a role and adding a user for virtual_firealarm.", e); -// } -// } + return new Permission[]{androidSense, view}; + } } diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/web.xml b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/web.xml index f23e42e69..28b3d23f3 100644 --- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/web.xml @@ -32,6 +32,6 @@ - org.wso2.carbon.device.mgt.iot.androidsense.service.impl.listener.PermissionUpdateListener + org.wso2.carbon.device.mgt.iot.androidsense.service.impl.listener.AndroidSensePermissionUpdateListener