From 60f7ffe09d6d0b6bcd77b53f2900f5d078430266 Mon Sep 17 00:00:00 2001 From: Chatura Dilan Date: Thu, 19 Jan 2017 10:35:11 +0530 Subject: [PATCH 1/5] Bumping appm version up --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 401ad5bd5..f76125a1e 100644 --- a/pom.xml +++ b/pom.xml @@ -1248,7 +1248,7 @@ [2.0.0, 3.0.0) - 1.2.10 + 1.2.12 3.0.7-SNAPSHOT From a7692b66d49ee94602eefefaffbe4d51f49b45d0 Mon Sep 17 00:00:00 2001 From: Menaka Jayawardena Date: Thu, 19 Jan 2017 10:24:09 +0530 Subject: [PATCH 2/5] Removing commented code and refactoring. --- .../impl/constants/AndroidSenseConstants.java | 26 ++-------- ...AndroidSensePermissionUpdateListener.java} | 50 +++++++------------ .../src/main/webapp/WEB-INF/web.xml | 2 +- 3 files changed, 23 insertions(+), 55 deletions(-) rename 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 => AndroidSensePermissionUpdateListener.java} (65%) 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 From ed28fb6adb5bc4f632147420df367c5011a38bdc Mon Sep 17 00:00:00 2001 From: Menaka Jayawardena Date: Thu, 19 Jan 2017 10:46:42 +0530 Subject: [PATCH 3/5] Adding permission updater for other device types. --- .../impl/constants/ArduinoConstants.java | 5 + .../ArduinoPermissionUpdateListener.java | 113 ++++++++++++++++++ .../src/main/webapp/WEB-INF/web.xml | 4 + .../impl/constants/RaspberrypiConstants.java | 5 + .../RaspberryPIPermissionUpdateListener.java | 113 ++++++++++++++++++ .../src/main/webapp/WEB-INF/web.xml | 4 + .../constants/VirtualFireAlarmConstants.java | 5 + ...tualFireAlarmPermissionUpdateListener.java | 113 ++++++++++++++++++ .../src/main/webapp/WEB-INF/web.xml | 4 +- 9 files changed, 365 insertions(+), 1 deletion(-) create mode 100644 components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/listener/ArduinoPermissionUpdateListener.java create mode 100644 components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/listener/RaspberryPIPermissionUpdateListener.java create mode 100644 components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/listener/VirtualFireAlarmPermissionUpdateListener.java diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java index 4f3a042c9..9ebed9991 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/constants/ArduinoConstants.java @@ -29,4 +29,9 @@ public class ArduinoConstants { public static final String SCOPE = "scope"; + public static final String PERM_ENROLL_ARDUINO = "/permission/admin/device-mgt/devices/enroll/arduino"; + 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/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/listener/ArduinoPermissionUpdateListener.java b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/listener/ArduinoPermissionUpdateListener.java new file mode 100644 index 000000000..353cdde5d --- /dev/null +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/listener/ArduinoPermissionUpdateListener.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * Licensed 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.device.mgt.iot.arduino.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.arduino.service.impl.constants.ArduinoConstants; +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; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +public class ArduinoPermissionUpdateListener implements ServletContextListener { + + private static Log log = LogFactory.getLog(ArduinoPermissionUpdateListener.class); + + @Override + public void contextInitialized(ServletContextEvent servletContextEvent) { + + UserStoreManager userStoreManager = getUserStoreManager(); + try { + if (userStoreManager != null) { + if (!userStoreManager.isExistingRole(ArduinoConstants.ROLE_NAME)) { + userStoreManager.addRole(ArduinoConstants.ROLE_NAME, null, getPermissions()); + } else { + getAuthorizationManager().authorizeRole(ArduinoConstants.ROLE_NAME, + ArduinoConstants.PERM_ENROLL_ARDUINO, CarbonConstants.UI_PERMISSION_ACTION); + getAuthorizationManager().authorizeRole(ArduinoConstants.ROLE_NAME, + ArduinoConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants.UI_PERMISSION_ACTION); + } + } } catch (UserStoreException e) { + log.error("Error while creating a role and adding a user for Arduino.", e); + } + } + + @Override + public void contextDestroyed(ServletContextEvent servletContextEvent) { + + } + + public static UserStoreManager getUserStoreManager() { + RealmService realmService; + UserStoreManager userStoreManager; + try { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + realmService = (RealmService) ctx.getOSGiService(RealmService.class, null); + if (realmService == null) { + String msg = "Realm service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + int tenantId = ctx.getTenantId(); + userStoreManager = realmService.getTenantUserRealm(tenantId).getUserStoreManager(); + realmService.getTenantUserRealm(tenantId).getAuthorizationManager(); + } catch (UserStoreException e) { + String msg = "Error occurred while retrieving current user store manager"; + log.error(msg, e); + throw new IllegalStateException(msg); + } + return userStoreManager; + } + + public static AuthorizationManager getAuthorizationManager() { + RealmService realmService; + AuthorizationManager authorizationManager; + try { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + realmService = (RealmService) ctx.getOSGiService(RealmService.class, null); + if (realmService == null) { + String msg = "Realm service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + int tenantId = ctx.getTenantId(); + authorizationManager = realmService.getTenantUserRealm(tenantId).getAuthorizationManager(); + } catch (UserStoreException e) { + String msg = "Error occurred while retrieving current user store manager"; + log.error(msg, e); + throw new IllegalStateException(msg); + } + return authorizationManager; + } + + private Permission[] getPermissions() { + + Permission androidSense = new Permission(ArduinoConstants.PERM_ENROLL_ARDUINO, + CarbonConstants.UI_PERMISSION_ACTION); + Permission view = new Permission(ArduinoConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants + .UI_PERMISSION_ACTION); + + return new Permission[]{androidSense, view}; + } + +} diff --git a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/web.xml b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/web.xml index 96122464a..660a6968b 100644 --- a/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-types/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/web.xml @@ -31,4 +31,8 @@ true + + org.wso2.carbon.device.mgt.iot.arduino.service.impl.listener.ArduinoPermissionUpdateListener + + \ No newline at end of file diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java index 00919d6f6..5936cfb35 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/constants/RaspberrypiConstants.java @@ -35,4 +35,9 @@ public class RaspberrypiConstants { public static final String SCOPE = "scope"; + public static final String PERM_ENROLL_RASPBERRYPI = "/permission/admin/device-mgt/devices/enroll/raspberrypi"; + 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/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/listener/RaspberryPIPermissionUpdateListener.java b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/listener/RaspberryPIPermissionUpdateListener.java new file mode 100644 index 000000000..20b8daee8 --- /dev/null +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/listener/RaspberryPIPermissionUpdateListener.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * Licensed 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.device.mgt.iot.raspberrypi.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.raspberrypi.service.impl.constants.RaspberrypiConstants; +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; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +public class RaspberryPIPermissionUpdateListener implements ServletContextListener { + + private static Log log = LogFactory.getLog(RaspberryPIPermissionUpdateListener.class); + + @Override + public void contextInitialized(ServletContextEvent servletContextEvent) { + + UserStoreManager userStoreManager = getUserStoreManager(); + try { + if (userStoreManager != null) { + if (!userStoreManager.isExistingRole(RaspberrypiConstants.ROLE_NAME)) { + userStoreManager.addRole(RaspberrypiConstants.ROLE_NAME, null, getPermissions()); + } else { + getAuthorizationManager().authorizeRole(RaspberrypiConstants.ROLE_NAME, + RaspberrypiConstants.PERM_ENROLL_RASPBERRYPI, CarbonConstants.UI_PERMISSION_ACTION); + getAuthorizationManager().authorizeRole(RaspberrypiConstants.ROLE_NAME, + RaspberrypiConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants.UI_PERMISSION_ACTION); + } + } } catch (UserStoreException e) { + log.error("Error while creating a role and adding a user for Raspberry PI.", e); + } + } + + @Override + public void contextDestroyed(ServletContextEvent servletContextEvent) { + + } + + public static UserStoreManager getUserStoreManager() { + RealmService realmService; + UserStoreManager userStoreManager; + try { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + realmService = (RealmService) ctx.getOSGiService(RealmService.class, null); + if (realmService == null) { + String msg = "Realm service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + int tenantId = ctx.getTenantId(); + userStoreManager = realmService.getTenantUserRealm(tenantId).getUserStoreManager(); + realmService.getTenantUserRealm(tenantId).getAuthorizationManager(); + } catch (UserStoreException e) { + String msg = "Error occurred while retrieving current user store manager"; + log.error(msg, e); + throw new IllegalStateException(msg); + } + return userStoreManager; + } + + public static AuthorizationManager getAuthorizationManager() { + RealmService realmService; + AuthorizationManager authorizationManager; + try { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + realmService = (RealmService) ctx.getOSGiService(RealmService.class, null); + if (realmService == null) { + String msg = "Realm service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + int tenantId = ctx.getTenantId(); + authorizationManager = realmService.getTenantUserRealm(tenantId).getAuthorizationManager(); + } catch (UserStoreException e) { + String msg = "Error occurred while retrieving current user store manager"; + log.error(msg, e); + throw new IllegalStateException(msg); + } + return authorizationManager; + } + + private Permission[] getPermissions() { + + Permission androidSense = new Permission(RaspberrypiConstants.PERM_ENROLL_RASPBERRYPI, + CarbonConstants.UI_PERMISSION_ACTION); + Permission view = new Permission(RaspberrypiConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants + .UI_PERMISSION_ACTION); + + return new Permission[]{androidSense, view}; + } + +} diff --git a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/web.xml b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/web.xml index e6b97eaed..301e2a3a8 100644 --- a/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-types/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/web.xml @@ -31,4 +31,8 @@ true + + org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.listener.RaspberryPIPermissionUpdateListener + + \ No newline at end of file diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/constants/VirtualFireAlarmConstants.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/constants/VirtualFireAlarmConstants.java index 204ede004..31a140efe 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/constants/VirtualFireAlarmConstants.java +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/constants/VirtualFireAlarmConstants.java @@ -81,4 +81,9 @@ public class VirtualFireAlarmConstants { public static final String MQTT_ADAPTER_TOPIC_PROPERTY_NAME = "mqtt.adapter.topic"; public static final String APIM_APPLICATION_TOKEN_VALIDITY_PERIOD = "3600"; + + public static final String PERM_ENROLL_FIRE_ALARM = "/permission/admin/device-mgt/devices/enroll/firealarm"; + 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/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/listener/VirtualFireAlarmPermissionUpdateListener.java b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/listener/VirtualFireAlarmPermissionUpdateListener.java new file mode 100644 index 000000000..829868010 --- /dev/null +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/listener/VirtualFireAlarmPermissionUpdateListener.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * Licensed 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.device.mgt.iot.virtualfirealarm.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.virtualfirealarm.service.impl.constants.VirtualFireAlarmConstants; +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; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +public class VirtualFireAlarmPermissionUpdateListener implements ServletContextListener { + + private static Log log = LogFactory.getLog(VirtualFireAlarmPermissionUpdateListener.class); + + @Override + public void contextInitialized(ServletContextEvent servletContextEvent) { + + UserStoreManager userStoreManager = getUserStoreManager(); + try { + if (userStoreManager != null) { + if (!userStoreManager.isExistingRole(VirtualFireAlarmConstants.ROLE_NAME)) { + userStoreManager.addRole(VirtualFireAlarmConstants.ROLE_NAME, null, getPermissions()); + } else { + getAuthorizationManager().authorizeRole(VirtualFireAlarmConstants.ROLE_NAME, + VirtualFireAlarmConstants.PERM_ENROLL_FIRE_ALARM, CarbonConstants.UI_PERMISSION_ACTION); + getAuthorizationManager().authorizeRole(VirtualFireAlarmConstants.ROLE_NAME, + VirtualFireAlarmConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants.UI_PERMISSION_ACTION); + } + } } catch (UserStoreException e) { + log.error("Error while creating a role and adding a user for Raspberry PI.", e); + } + } + + @Override + public void contextDestroyed(ServletContextEvent servletContextEvent) { + + } + + public static UserStoreManager getUserStoreManager() { + RealmService realmService; + UserStoreManager userStoreManager; + try { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + realmService = (RealmService) ctx.getOSGiService(RealmService.class, null); + if (realmService == null) { + String msg = "Realm service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + int tenantId = ctx.getTenantId(); + userStoreManager = realmService.getTenantUserRealm(tenantId).getUserStoreManager(); + realmService.getTenantUserRealm(tenantId).getAuthorizationManager(); + } catch (UserStoreException e) { + String msg = "Error occurred while retrieving current user store manager"; + log.error(msg, e); + throw new IllegalStateException(msg); + } + return userStoreManager; + } + + public static AuthorizationManager getAuthorizationManager() { + RealmService realmService; + AuthorizationManager authorizationManager; + try { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + realmService = (RealmService) ctx.getOSGiService(RealmService.class, null); + if (realmService == null) { + String msg = "Realm service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + int tenantId = ctx.getTenantId(); + authorizationManager = realmService.getTenantUserRealm(tenantId).getAuthorizationManager(); + } catch (UserStoreException e) { + String msg = "Error occurred while retrieving current user store manager"; + log.error(msg, e); + throw new IllegalStateException(msg); + } + return authorizationManager; + } + + private Permission[] getPermissions() { + + Permission androidSense = new Permission(VirtualFireAlarmConstants.PERM_ENROLL_FIRE_ALARM, + CarbonConstants.UI_PERMISSION_ACTION); + Permission view = new Permission(VirtualFireAlarmConstants.PERM_OWNING_DEVICE_VIEW, CarbonConstants + .UI_PERMISSION_ACTION); + + return new Permission[]{androidSense, view}; + } + +} diff --git a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml index 4337c5720..6f59c5a7c 100644 --- a/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-types/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/web.xml @@ -27,6 +27,8 @@ true - + + org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.listener.VirtualFireAlarmPermissionUpdateListener + \ No newline at end of file From 872baf637f8918ae9e0d91c73302a9fc924da115 Mon Sep 17 00:00:00 2001 From: Menaka Jayawardena Date: Thu, 19 Jan 2017 13:00:16 +0530 Subject: [PATCH 4/5] Replacing android sense agent apk. --- .../public/asset/androidsense.apk | Bin 3135681 -> 3137637 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/public/asset/androidsense.apk b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/public/asset/androidsense.apk index 4a7aa443299eebad925758804fe309baf7a9beab..17ef42814ae9ddcccade6c880b3fcdc7ac032578 100644 GIT binary patch delta 73992 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 delta 73342 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≪F%O)a%0e~w0|5MMLlEyW}3Q1x>iD*NnM}nZ!x^zoDYTem{0C>MwP+M@ zvyUO!5Gq59Q?+ob30{w9D3XyC<1b>J#W6y7jHm5)$D&Du6GC^q5u$$(2v(pd={%}S zy?{)F6wpueY`7`DLyQ*caO*q?LRuur+|OtF!G_h0JWGpqqfDtV|4)i#1YIu@1H>sr zz9L=>VN!AGIxO*5gcuBN zde$AC1Lqhs1@99GO^8${9pu%~EsHT@p7N;Tz~G_l!W8sb`r=7F<}CF^06@X;rwWmD z;xP>4I@t$^7WjLQ!#Ij@kreAV3FV99*eYxp8s626Rxct>Kp@E%vZV}gfbh%9u}Sr{ zFi6PF?MToJ4Gwr|%q`-W6@zoEfB-{fk!z_~DgEtp*<3UYcL|J_j48X z_~Div6${{3kpW29kYl>L7{ZTT{qXMivy5Z)5Z|xRbJ$bD)h*)yKpi6*iJu4fM0fmG zz$-pR@Hs5?{yVzjLx{=kCrm|m{M*X1HXNESv6_#F&^o5__wr}W^-qYqQ~3q#DI>gn zqc8Di{y{@GBUyCqHSFn(YR{u@eyM(o=UWJ+u8;4JOYYmkQ^*765xuRxB!DP){-^Q$ z38(hc`t~wXF<8f(@6p9BsyT-p+rw=rID>`W$4x3II)RPY$7SvP-SIB`_Hxv@Bl{Eg zKV+Q=Je1EHz<1Yu=Dyio_r2~b_ff8pl0s3UND>_g>nJ4UHlh$Jq(TQeT)CC2P*Uhp zq8t$={`2nZhx+$vt@%FB%scPQJM%nqy*e=xFqVPLj>1Eb^6yV6zE3L1VczC*)R4xp zpEu5JA9kSuS7s>B#y~M=>CxlL4 zejwiz1>noEY)7K%A5Qj8G%Cg>lAns1z4Y(QJhbQ}*MUgJ54Jy^jI|iiho2Px9 z?=?#I`oyDjDeewm(?-z1H_%)Tg%{y)qy<@dqtJ5hd8yNh%VQL4u1Ip@OVL zVB%t^N@ek>ge6!Bh74g}yJ#aLhIY@k%%bdM@=Dj%afPK`na^}8U*Np^g&iuGxWDPWgu{x7iG=D?OW?TyiRXR8Z#A3vjZ_=v#)I)xw!Ygn4rXE%_w&ep zB}JsS%$>m|hwjBJ@QRpoeT(9y)w=&eZicu1!ybBP^3jiOn3;X;ZB*45+&s-B1CF8R z)!h3xqsP!Y_-aLBtzg?kxP)aGmfcec~GL&?%NN@-+TDM+^N~>F~iwt7C@J77d2(brMblCr0^q9K5*%$xn>id0a%V zcshA<<3+VuSbBK{a7`NfW;m61DLO0HUT#(yC;ia1sMfve`!nZL=koWStk;-pUsW?7 zQ2X7DPvg+KBbMvu>_Rs#ewOXvg!f%Tf`zH?^sM3;)5o7rJie}|_sZFztKq88g(JK1 zEMbS;-_pP>Dv0@FfPc07qaUn2KeYBrZDr^|sRcn8 zOZe>IZV-6UQZBV7&;UP4Skx5f1F@K3+>#K($c;78JP$K;9s~B;LtC0?MKGh(#P02@ z`6wAC4=)2Z0s7LO+e^Rmy#vph5F^7Zju;TMvBHG*l-tTpAkciC<%hxZ~`4*wU*%r$JC*E=m}`jsclxC`+k!^aW6Q7 za9fW5^?kjvKEYE*-?j&9zH;+ApgXPO`IS3H~= zmhvR<+Fmi*vMhG-Y^&$;ZZ==$#5&#`AK%30D|XH4giyDr(|ssU8(S zf1>_JT*M{q%1J)k=AEjunArQ+H2&(heX}Q~9_aj1-WGlP6Bav2zIc{%?Bq1Qp?ntoLEY^PYZtdqPD%MWRSG~Vmn9inw8P5i0u$fA#< z8?OtT+!q%lCAsU1_lbS`-q=_le0g^2{6>S2ms*26!ww{5wSA{L!#GXs-(5Q{ME`-t zF#EY4%`sbNrGj^+*Jn(~SN*dTgt!KAi4_?eRhS63!#A*>7JW1;rQ;9}G?Rxegki?n z2uFm(_-0yd(%yYkC|bVR7;307%r#X)qw}@Z=H9zk$wWVVBGr%61dTX5o$8DxUUnKx zRk#$pe+c_|k~kxF8f#1ZFmEj2YRE;+g~>LQFUp^yQPaB89 zbe;Z97HeXOq8Xcih{*X)i7`yZ_%#>)tzBE5WCeZFKA9aE}zZ^<^)N^-}$Y3<_8_Id9-WZ=bc9FgmP!*x1S$J#G4O1pO?>L zuXUdreXCby5KFeYOGVB|lQWzB^!Z2U#FoQ8=|Z;^4BcqLzI515jSQU-lRUUcl4uvU?NHo>yfVC7LH*ucFZFD;+v`+IxUeCre7dXv6*M1!K*hG zdh*Aq&GJ;WI8M;pVtBHMiL$j1IWmrfv+Zk|AaM2=$7?;_l#rL?LB`17gf5pIxhj-Y zP%C|RTe#}!F^oM+%Za&#%H_y|NYcyDW#Zu`iH@Vno6V-2BpnE7OVo6M;;=?+|TB%isIp73# zNEvQ5l{Ay4@r$m^@V77CeKA%?r%L%T6i`5!M(D=>*2IHd_m`{yWPHM)kse+ZDm^& zBhs4Y$tW4`ad*?ojI96pfTnAS7DE+|tzC|+*UD0L5~!whR}~I*gme>@1GYmO-os7{ z`KSU{Q6d3!?vddEiZnz#Ju*l9V>oF6l$j6=$OOZ1wxMOe@3%V>+?2+Ml5^1Iaia88 z0~4>iIU)&cGMSYKV;Apz<%{0S7oBwV@lZBQ)@upuN^i%t=s2}S*&X2FvMV~+0Y-g5Ak1I zdz)FPD$_Eh+!Z6XyWs-Q|9tR>gV7rEJBdL6w?8r+lawoCD0+~Ijb4CCpUH_zpK%P^ z^XGFf>pl&d7d~e^)Z8}vskq6(7sZsaFA5Wu7sQ_er`TbusUy1aT?y_#m>7PgG5@g- zes@Uwkx~Tk9NKxQzCGYu;z|~f%wTZ2PF2Itd?rumpNnoXa-e_WtTVFZ=H&f7A?~Wx z_XOV#zO8%xd*dPQd(mrQ&^m#tU4=a@)3zWG;2|(!-tX0Bx zF?!&t2)z~38zLJSGrVGGUMgRRQerzZ(wR!cu_n3@+Zx3_x=3%ywT!B;epZ@%@5X}b z;l)D-b#144&6CAt==?Km`lmy%kBJ!~sg-(~ws#sgCN_?LiB=5$^Tz64QJqgQIAwih z_{uLKj`>0n>7=inp1qz-%aPBnWnTU%$Hn}%*!$>Fl|uq2_8;>vD=e-U$*BEF)!a!Z zrF3Q6iGnBl7Zf6t)gqK>><^Zo;2 zdPiLC?%qB)0JbZ5KcF@9IF&4Jk&Lg?o|=A8LOOt&=vHwbe|fkFB9B`w6d@on2}k0v zJZM4CYa$cYAF%sLoFHeuo5_adE=gGp!Qz-$6-&par|1&xZ{M*o`?KWQZSOX^wQ$#+ z*KbZNF7=L<5i@ArS`x_uBhQ?5;{tQCT=^Qais! z^tDE`5UHOxn@q6VnGucmHp!A=xZu$&7xi(L$yRQJ`4@FR(I_EED14BIENbA*cjOF1&!$zvMAb$NN?djoUNZ!Qunb&xyM@b94>8t{OlOH zwTic3@zuGHj?_=v(?TE5@G{TEJ#j6cKO{o#7E<|;@QH!mFvaxlOqkX;w6hv`OLUTE z;A1Tx{|KMyk3f%3)CF8-7iGc*B8yiczHo6_tPmdrfz0wK{x*BN!_1^B=L7^Lqw9sDzO!X5*kkjPIOZW7+ej6{mN-=Q30?-FUm`CTPsKmqBQi3 zZ%PKJW?(VRV1Pcms4LLx7GWYkSm`+WH!{{6a%~z3FBEK{8u#e)@Q|uhn(^a}#5(RH zq||?t#u`PQ^o-rMb8yBn;)bi9#laHop6S4ewg_&Em$=TCe(&$3i%OOjcnq8|({<~t zI1zv`F-v%HHZ@+LD1!Dqj#>Ct&y;MlLrhWx7~I7lsQG73 zVsQ_arvB&2a2%s_?#d4;<#LrSw)~!D`o*goorhHWR5Y!$mmV{l=HQm}u$`V{TdU7o z&@oH}4X3CmmXWG+(qkGvS<{r>(gmDXCoqw#C@q;`qRzlP^{7zuR6@4?b%HtjOT4$& z(O5#ImU*5`<|P5AysHQ4O||o)bIZzj@SiJ*yG64EB3(oS3r%Nq6s_|JzFwaVGIVu4 z-#ko@88r&482rAGYd+ZG_0lP3yDK)v^(x!AJkI?oN&FcXTK)th=hG{m$SqrG-9~0S z?y{$akwLMngzY^?JFQ3cNVzz9d~dpjFXyyLtwZ1E0wV%Ge&)jVEdD(y{cg7(G)vFy z&)$|SZNK;8=?n=;`WFh(Rjs!6crB}hlCE|d{bb9^y2J-&Nit*NK3&5qQ5?;MDM7VH z#}n8EKHT&NPi3V(M&ZsKo4#!E>qATcx$@7oHpPYa?20+sqJnq*b^&gu%Ed%(k$2N) z^2_V^2L}fCRxEZu;ndmno-rb%EGqWV&q2?W7tT!|&*4Uc+H?ffs+tlTh$1N$4{V>) z+H&rNWCdTkI&GDW^%y7bmo#-&rOlrtnrC^hXLuyhc*nQmr4A-nHHS`n|7ho>QJgYM zvnejGwJ{DG*^$n|IztQWb_7OSiOb0kbF?z5yIk`)qwHc?ZgT#n@vgia*&t$Q`KF7B zv9Vs319KaGQE`86ypVoD-w=Jg`T0ayfiayZ9thbWqpm3tVQ`)c{xz+5KGBMJKCwny z#%}`_G^e1)bBYRdo)VJ);RnU^D6>0TY-Lq37%JnHN4^dp@-1dQ(d42RjdyVpB^;*{c@tm(;hT_xc|{{M~=tVnDLSbvjg} zmCrq1x#_vWfGdA$J>qZ}Xp>Dtqd@_=)PG zBX!6L#hJ*{ojfX}m$$@b;xi_$sdNT@kV|6Lt4?oG@}N@}#y-4U^op-mG{&Ed|0oJcuGGmSyPMh(gPU^3tUplUK5f4uMOMml*@jy$Vu^+FdgYBj&o4EgD-_c}_E_T1wW~ zRjV#U1+;0V8D!XF7oxn6eW26XE|!EhFKo(Rtc@-<^~V!?`CCI9wjYrEsqBttIFf(k8ax9?=RTTRd(gZN&3p`vFFKyO>v81UUJb~>@Bocs8BDUjw$>&~vOgE%!h~53me}h!W z$Fte27ZOiZyQn0cny))ya9oY~rLW{qzs3WqqQd+PIeKk+Pv;Nj+OsK-QdPy!9BGv0 z4&`}7{8{>;(LBwqHg35^PrNpHXIfsTaB1q=a}Iy|xrn`G;4N=by^B9Bf+z?c`iQZB z=cmLpK#doiJqns83RK_^i^<{{hjZT@SAku!3Ko!3#Kgg}jSK-<_fWvf0wOg*ksST7 zjRfryE5+m+e_x*4<+^Xn8;&6!doeDp%TQ8;wAh1hC;E4Bz}YuU_vb=F+n?KqstC@D zS@)%je`6kPsJE7Ge2V;A>KoxRu*BJ5smgeV;~#&>J(GK8^bV6RRY6=(JK!R(L7j(}jBf>FZ24dXp7OPCBN@ZBKW< zW%s(e$oTl<1B|o3O{j*bx$aBcE%lpVlpXvw{@r4O!4T!zbI+-oZ_!xipZ?`U>8)65 zV$On6cmv2s2N*F)2!PxS5@lu-k9s{DkRsspNicqU5bDrSis0mOc&zygmN^!?^?ht%2b#4sa)%ZptQF*=4feK)iGWgGICFb5Rg3^8cnM4uYzbln z21b#c4|HBYPx}Q9>}eAtg03VP2B0rR;sgmxB0|8HpTJJeqSOz~M4j!yzT-le;m+UH za~Bj!Sk1b0V)x|bnd}lZ;xSD+E8U^P7k!;pKqT)o-t-5ZeJr~$qwe;S-sBPaO+ZPS z?Mh1d>G)6SjRH|EYQaM%18mtiPLUsd`?)7<2n>g2$KJYiYgvz*iZ!ddOKC!Nu|GOsDVZiFK{f4@kSdfu`rN!VUiW~Q1WV9Z zQnCc{BVgLvO!n4vJkxZ%ses6A)Cr$+@2VQXK!Bxo+(#V~p1apQL%A#(bAxsnWInfi zHYc6@`*P~>w|9#B<~Q}pe9hPD<4ZZ-O4Mxf5YZs}Sem>^Wq+NTFMVq+y2c~)YlpdQ zt8YzP=2YOZNEVxxU+r?i`O?KFwBKEdrg^@}XGa{ls&#Yv{_~aEaqcNO`-LlZB=GJ| zoV|Q1-~5DASKA|*U3ccB&5{PMT+=&#WS6kn%)PmIXWqtuhbOFqm3k&G>5^aG;3%56 z%l=~Cx;2Q*BPNkQEx*a~ZR)5`!3Sbc$0;WX`?9w95UDr3MK5pa<$O+13n|g#eVi-M zxJ|tz&GpfTlg~O{3dy|mX!Ad(?`LxQ>*Mdqo~}E28@Ek`JF*DQWMBW$OdkAL>8XDE z>$#4t(*;9nzhAj`TilwuPxI_Tm4Z&|&FUVXy2L~IDa;warq33Os-$FW(0x>45aB10DW%Xw&jie!LvZ-I~w(GEZRl?%l#aHjEL}p5OBO zfvy3uqzwiwAEU!ykdG!{PlQi3bS6}hXPFi}OBG|p;jk5OFhYX^-|{6`$XFZ|hK8C$ zTt!D$Q(lM`e;~8v^YYxQyQj@n^M;pxFaCV$%OsNi>(5I^yEl9%x@2QM^fWiNPYsez zjsqttZvA7`uL;`{C7EqH7>C|wh#gf9F3LB(G5<04;Q5@ko%KGS$SHJXMl~CsSUgf# z7~r}lJbfvWzQVq4>yJ&d*7u%~-6Y;|@^3#?@V;AaBz%XV=jCKQK}DIzUf)_@XdPzg zQ&TE`Pt%hwgj!N}j&kTEJzOva37csu6-O=QXX{)0Vgd#-M@jDeZK zmxnDy;sg%ApL(&D%EmMi*MdS`kzd}?DH1YW8p<;6%eNojkd;14Q+btlJky9nr6KpM z?m~6-%|BEVuRlj$lo5JFR?jK%-@Ad(PI%EZHzKc~tE*N1p7>%zXh`6wtoRN2j)X$P zvW<10Gs1?a8#dzwH`~7dE#-}~C<{v77a^km*5ah%^$TqGsk-!vKhk62W;_+? zp6?gpxU0`E`@3hA<>9X?w2$aH-dW`I3(&om-OM>AvlN|R`}!JJh2@TM{-u&pgZ9?l z7Rje#KNJ-yrfA)0@j7+Eka2T<^gx%E>33X+$U9wsHw_VhuY*vPXnccKq6 z1|}I7Oqw&dL`zz_o(bK|a?47~u%5em|70b-)8_ZMLGLy#!99Ic*W8Vs1-sPn|A-Uu zljnI+pT$jQEzuk8sQ&rh&aSVjLgVj`@a+?KyM3WMtL(;H9|2sh*nHZ{x%$bMi0|a4 zaO$Vk*LM%?ZOebPMJK_Aujh$uwlV()|4@HX6-y4AFN|Riq;ADmPA<`Hr*oLx`$CE# zEV<(DNy+=A4Bf$f?+Nj?^z28yv)}vQ@YA{l2R%z8%O8*R@_ z2)IiB=#5>qe|E`iYCmaV6uxa}cRkmvz{EHP-qzJ%`tRo;D0kIZ&rLK&ysKP(#0Q4te5pw2cNWtO2o))5k2m^Wuj~g)AL{L zy%RMy_}>#h4Q&2cRHWu`@bu_hwhug9qQjK;n>-%3n5L2=bj~W1YuNwzCHZaF?DstM zk(i*n9NKSu-0E@Kn7p|g>kq{j_!ssXY@Xyaq zAC#o^>L&j5#Cp$X7#hzoIrJQAmj3cv#-|DQJms*hDPwgmJ4Zez*VTx~sHN%tVt(>s zSZK&&yVNnTJstl+M3yN#R~C*9nO8i`i@Tf!l)0j}@~8`V98KgQUzaUxu{Sc>?o#HP z_U+Wyf#qeX;E~h&qc48=u)p&2jGtoX#gOkNlHyWBrlR?LjnX0ed~^lQNpVcQZ1}*X zd?8j-S@`mmKN**;qM6OFa=zfc7$j$HsA5I8kH{-B+-Nn%xnP!?KEZ$R6t>mzh32&O zqiT9{4=+RcT?a$i6R$;(%i{ZZG0#K(>~~~r+_(4m`P)~ImsDe7%bmRP7ca>;7Rx(6 z84IZ8`%O;UGjlXcLTc9$!mPI2C2q}zB<}P##$y4PtSdgdgq+^eK25UDq1tD2yiu?6 zOM$a_C~NG-kCCT-TuAYSFNX|Q=*fHNTXrVy1s&Ciq+e|^11Yvi_T)*j#O()Pf7?8W zdNCT#FnUqFUqw&rSkGn{J7d4CL&LOkdp2@C@4ldt2dy`*^PkWSio^|Dti=I9!(M1XlVH_3Pn&|ptUbCdrWhrdy_}Prp zZKUG4IC1OnW>WEx0UL)(_=4HR6JO_US+%fXMw;lAaEo-|WGrn)AGPl6sUoy3)7J_N ztHLn@@-YBYKtgKWP631MV(b;xmn1e*F_H{eGYp}QA)JW&NaO;OSrR;;^c0D2b;}zQ znGR`faD)A8WLE{(rmdUm_fh|BJF@c}@f)t*#toChxtW7XfyevN$%FaTDTY~m%s5f_ z?^lLz@ry$)kCyuS`!~-T}N^Z!z`{ zUu$iDPcwY$+=LBRk=BB(VT%3NDOWs~oMXjc(uLS;r2i`0s(HvxFW%Y?x;!lMr0=+qZA!>qHg!W-s5mev$H{O z#Q)a$^!qo!K+jP`{`R9Wlr1QnilSJ#J zcMsl}jie>hwv_J3WO~u6Kc{S~5pb+cgEhsuR<8V9=-?j1>ppoALDR~cFU#)>4|z;F zbx_=-x<{==;KIB2u_b%C@M7iB)cV)S3_nNti=23xPca!>{ z{iA1|+3ra`o-c1Gl|}6>uc|+BGxw|!uFo>y!ePb@SzpA?ycV}T#QiNl%eJac#o`+L ztAdZ~pU|=%<*eAXkE>lpWJGWf*I_5uUKzu*Uv<+t`TTeh9zQF;aM3d{!4LQ(jN;VD zliIhtOB@2D$*z76%}7~XBKQ5X)eg~wSl`*$uL$CtofP@1Oc9cey;meyP5bqgfho-+ezy zHRiz(I$tS%h_9}>pkyx&Z?WqMwSIDWwA}o>QJ)_N9(a&hY~PKF33xCFRz>901VwEr zkK$VjbFV4MJ^fv#!9gUIWqf~xG4-XZJ9s9k&wbE{dM&RU$F1*FWuw6#Eb~!GwQ@_( zwaKk@7CiGcw*z;|Ri0C&u4K7mGLj$1yO5Z(Q}juW%SUPjr!zcFepcO^ua4)(Mh(_Z zNRmp8=C;-`B$F#c+w+|^9Q?#t&Yx@Z6>F<}_O)oUbV?`}r#oxK*JB4+1hfoE-~BV+ zAF~reg?`{Y53~tWe|6>&znaS+YSfPlakG&%8isndW9Y?vB$oA~ic{ z%wCCJOj^QSv*7b{CW97x=Yqun`8N|^H1>ENKIz#}(ycrC>ybhBW$lflmmGg59R2Sf z@f_3Lo=#~djJ!&R*f+9W4BeJLr7GGvhpbC^Qq;Cp>eICG6ShVd8oJuz%$SqpjpF)a z40WEB?2G2BXf?lA>ubDoL_)iWYf|-`L$!UnY(&2NUb>+o^E2T&^izEKQ34@8Qc=h5 zk6g{vXo_vNy`ZI#XvQbDZ}7TWhtOsF;Mjc)LZ>csy{wgs548T~N*?u`VH49YeWe}2 zV_0q-T2H)Zim`aO4QFPW^z@yrY*RCHGM_{Ty{-v|#?+B-#Q6OgYO}bH=3&E{+#e+( zKg0(|7>NVxn9G}0N}O^r7ByEZ>C9P+xhpTY1pbz9oG|jGe*JTg~IpgeYhQXUoe=D>m)N>;xu;@&s}!D-Nmz2J?|Ss{5k2{3b?Ag zvAa4E*F}p5cp_5r#&QGjb^zOlu-$Kc;OE!^sSpX0k}Z}4#(4SDYS+bK~Qd#T)+ zU8iSv@_bIU%1}!ijqqgWm3VDGsJO$lamPKn%s=M89V@awq%$s`ocqi9 zth>3WkkYHI&ZhoOkHc-~Enb=~AC*cmH~u_EqZW6Tc(D$AxNUIe1Fwh8?r*e-hNlA< zVz%FjrN$N2?D;Mx7vXrFmn`;nW6zF3 z^iWf?x`c0_|GBvqFIu03>5+(}sXgt8Gml|l#c+x+5FVSBVlqkKZ!yteFvv$Ag8?I1upRp?iQp-VsUYDakqw6}MJ9;uV#&^5s*gdRAdxb0O9*`M z@z+T_M&$aR<;AN)J7=aHjxPD;AFp`7(9{2I=+oD?Kd@BuuOA(gs7kXDPTrStCCgQ8 zQsBcIlO5ZvUPYH3@u>`#)zE*~f}`%dV;ZXa__x6(#c?@O%olkjnvN+;+d9#BI!3+$ zJLN6yPJ8CE1t-WG)knt~Z|5~%+u;BC=LMPb{G5mHyD+eAJ$<*FY{8r@Lcm~f!7GEB zj4#fd%4{)K8!WxjCq|qGdPRYyLu&C&C$mWm&GyMcskepU^x5ILg@MComQ^~R@4xd# z!#VkI^@{^xLnkpW&TOJ6Vc7>V+W* zCMMEOmSG>LVanMN4-5TQyUbd9zE5MR>CnSau_kJ9rWxmX=VswEN98ngZz|P1j;dIg zAP?^1`~Hr0your9vTG;pG5#ekk?$k4s1V)I7)Q z3yFB}y7iEkkB%5d%c_St<67ZI8IPx5kMN0;TT)wg9A%}uj91y>9Uo?8sdH!`W^?IO zWY?Z!Nwe1l4qlKtrpNw$O!596(QTU>H6AJp9bahk%zEW;^&QJg+^wX_#o4xnBjT-1 zfaA@rBgq?Ujz6?t+IVw+rgNo8{E)k4s@v=XMpwdMmO_1;?~lxcC; zUfzC}Z1iScK4(k$VwJ`de764%mFqHCy&V3EUy^&`?G6OK@Y<4{t={kJuedqqNxPkn zd+?seC-(dpdUVgn@cSoT9(ShiGd%7`iZgGCZj9FG?(si<*s3{Z&hm>v$MzxKBCE{Z zztU{m?FDXkp3{*F{nTE3*ZtY;p-)z0OKm^#hx|Kl$&;6U{b_DlI{9Zv;E2%jms494 zWI2%CW*Ce*ou4QMlS_*cG|4vpW#02Zg3`ReaG3-vmeQ((fxZx2!qMlIrx!>ABBot<%*+Q2~5}aFHpxWe~7rsq&jBXC3Dh(7lWZq zoGugFn|<`$D4DbN>NOV%{aQSi^_vE)_zokH0?BnYwuYz24{@ zo3A+Ma4G+@&u0`E+9dTk=&X-PO^tG?NXRGO?O-{ib?-~(7kB^4fGbbW|45AYe!tt` zHPcj8ul6mmK;DXqrsxJ*HOsrW%(#k+^rRFl_1;QaPoTs|+DJ27Q>I-5{1{2vLM)$X zE++4U%WEuH3>VtwR(|SvrYL&yfY*#9Ssb<|rKOqxezTGI;V~zY0Ja7=Gm#u|QS~X7 z^+bfTfOkwJNvsJt!c0;^4$A{mW|Azn1qplLwl=1)H}ZlBW|As43J_UHR@iQEn1!T8 z_5Cnhb2==d2>Mu{EDtcUl6GL*z+P5T050kTP+})(0Ok!Oeca_BB%leRHjoT)zeCW# zA`&nQM+3UyA}nYYv)D)iINvA~e`6yVV$T2)J1G#ibQWd9>@Xh9`ISWCVLX^Mc<_w_ z#v4yWaSsR7DM&>FR-7=vnSllvGep?X3r%ps2v%7rHspdjiaBVYii>1|3&=wQ-g*B; z*uxDY3|vJp5oB?bY_K{&iHF1umbpnvII9w%%tJDx+H+F`;BSh^f<#{ENWQuy!iJ7M zF$B#02&vnklZRxEJ6MW*^8gYrNf}!V_VSW;VUK}_yreC-)VtsjFC1kPHp5d4GJGUi z>au$x7+|wmh8Otqk<_TW@1sExM9KzU@WCqm4!-lj8*r)u%KRil>edHP<unCi-fuaRmGlsfsK)p$XjR}1Wkvon88-z(N z*!#don6#TpxK#waZ4prcOTsW;XMl_d$(d@bT?E`{7g0hW8)z0G2~cl+25-R460S4% z3Bs}v#zPj`fifA;UQJ>IzIYM=SKJ9Ai13i$qhJ{k;3kF?I8?<+bt4!La?4@XbP15S z_n@RSSB3+yAzKU+2=K=2ULcqV+Y{jN%&Ndq9o`+?OmusD+X0g1ELto3)lJ$Q4s{L z-f+{X+bJl04y8ENNffhA!t)xGbd|*+&YeQBZV;@YEQH*cM#m4G;G2E}2A z;OcItAxQ%4`tesiTn7;nBsX0A9ICe@0V~h{=V~N+g35;q*42O(@=s|-{;O^xE(!>}n_xD4@K1mC4W@uUpN7&{1Z zWl37VhD;Iw40L!_*8lQ^WQjzNX!_tzGa%oBKqv=h%|#BTA3Tl*#t<1h0f7!R1X|98h* z6(HWsk6;Oqc!eYj9zlXV2n-cTlE6?;bfsh@6rofj^1}XhZlQ6()kwk#fX_(pp5=`R*9wltMMTJ244Jdn!U}1@MIFXsi0!U}z z?b#?nnUDf18$K!{4N8?@g|w)xYRiBcHK?e)@vm}l)kPIb4~Yr`!UcGhLS>lJMZ;Ar zi(WuT1!6jjRVyh?;XS0PmFMDWz{6&wj`%x~v^X`8A;Szs_K%PoRAsYHlQ z6iO!JNZLS70}{eHl=#KU$Wn?#XzleQ(0BT)R$eEgx|GvJhxOqt;51EgUUAOY=l#oMS0ANJc|SeJAZXFZ8Z2_|C9fUE*D?=|;N z=Ba+7Dy4IH7WBCj&?gB{UH=1j5B|Yx09cl?xLzEXGJ*Z=Eq#)f&|e4S|EdHNYE+GK zUY^oJ%Fz(kx8*}Ls|u26&su2!Z_k+y#d~lBX24u7A&7JYvN#h46cZTWiFTwP7g{~M z4lk?s*QHM|uIg?;4kpqfJ+uLC7t`NZ3OF0V3qE3A#mr#$HW|tVVTXjs0$33l4{$Xm zZ2%+&cutLCLKKXl?DvLM*>;=&`)Yt23>(9m@#I`3%)r2eWQMEZMu_CPbb3u-^(28w z6WB>E@*z@rBr*})FohSu3n4@dOy-c}0Jj-bodZf{q(eAE0#G(1Nu`Iuyi$r{?YKM! zqx)A;Ob{umAXkDU1>jj;0o*GIgovX<2}&RPQRc6D0n(t`9QM|%vV;{IFS8lOTarQW zij9v)h@u=y{<86GLaWDw;jI7P?XpcCiLl=K+nd95ycJh58^|$-)?Zc$AqQ~BRFUuX z*8id=;cpxBUL8@PxBv>^n*~hHS!b23cM5h`LK(pTkqLrjLxLD6wS+#=UU1YB_I8HG z(85yc*23hUE2J2qapV%A8AMzKq1Cgyu&Dno?ia?WF2#Ro@s_OFUeH(S*eKy$Hr2KE1PF~4b5mvSss5N%!&Ti_$q0=lhX z?L+TFN@(rSDBRNa*VXFG(G=Y5pi4+`k8Et<&0Muu#SGwr4M`8jXoZqh4+U`9LdDt5M|sO-aCa|1~ZP_<*5%!+5Cza6H~uouDWJ(I5< ze`SZp9Z^{EQJ5WI6oLIHS#weZ5B_sebq_?v59i>CeE*-r0$(sHfb%;5wz@(GfpWNQ zcRs9&3IsQMp_p)kzyXF;@rtx~EM0wJ8!us+I zTt{JQ@C-EKwVVq7C&Ou>>+~k02u!H+GQSh1{51S;89b_mxJW*`pe!MJovh0ZHpI?d z@UjKx)?rF=Lr?y*T-%&ryqv^U1>XPcDjVR)Or)>g+ErXZTRCPGXu5tJY} zG-n-###a>JT_A2MSjFqToK!@{TDU4(an9&>Lp*kK6+>5U)i$3(WWUN$S?#X>oSwB) z)cvWjJ#zp}c|HlQO&T<;kT@~kGe(vY$az~p`iqj;^|upfjNBf5%LnoPUGKeu=o+HNF& zl$Jwr{eB@aBcPc@@LJ1p^@0_!PZPl!YwhKO7gX-i{g19x%T8}dJD~}Kx@gO2N61dt z^&^DRC=3ok(y|R9y6fE1dkDtvL~sC3!3`C!))2_{fnv`CC|<1=Fy{ZyZN>W{DtM4^ z5igCp^YVq{Sj0+vEodWNBSbM4B^%;oWY83C zk3g&+kK!XI;Rub=D+y-65lq(+Xv80Bx{O9>MuH*I`37XiNSeIQs57Oc_@l@rO9|A&T*}#FZTLHvIK4Rn?#h z%et@^*bxAu#5Au)5nO8*paqe+cC3@F75&CzP^Q!ih{s`eRwsXi){fd@FdBa~lzV-M zt_m1VA@K;U9X|b6P39${whvc2fP51G>4gX%IxqC>IJ{!Qn^nw#%nR`VsgJPS4Nkyv z|1*rra)~5GkaYrT(~Y47o?jA1oet`g5L16cF`OjYjMMzN8d&cfex?!qyHlvfg1SI> zudIP2RiV|>m(ZjA`!*S=5HHQQ zz&e3ihTG! zonZXe!OLSoBisFiXA+>_D~p?9Maggl94{@Wi>>&&Yv%+1y?1W5)d(^`Hw5Nr9|ua{ zYCbkJ(Y&w0bvBY<5=-%tc{w`xi%z2Z_t~tp3vd>!B`mVeEZ?t z748`k$*2(65KgkjU6n)w&;hi>@hYMLIE0e}%n?xckP=F4HQ?k6WnS%=_FvWeKowQU z))rkELG>f?-l(B?LnLVvPF4dA3`N4ZRm#NF^+>2=uepk?aYwaQ1JFG)5Tyf0^56{C z=_sg}to^qPzdA?73IaV~`*@%O*iVyOaf7uOcQ(6Gaq5KR~lyO9{-wvoqap=4~|9Lb^-4GS{)@Ni6>QXd})arqfWo6g` zqEGx)Fi-s`GDHI(HUDJmXceO3kNa7Vs;+g4+2>%I zp-+)w#-netq0BY4y@n?)+2Uapu=RnYc<7l>rU8$~L+!NJ2=T*ByhkOJvfgHD~*F5GR4k|CBP_| z^eea*I^1g>azD4&`c6rh4bf6tGy4pQuuu5{$`YXaL@`gNAi&)gp{SunK8}!jNt93u zdQTE0O^OK7S!eNk5S*-v;x=OOm=>Y6(}I-U7b{j6nSQ5=UX37z>i%`S?k{_t z8H4JsO;bG2fY&UHMKL_-275AO^+e|)#2j&}m;s%zx{P4e^C-4U5koHs7&0L~a$!}Q zvg{!R+SB0^OU{H(?5jjn22aVM6AeOZ=jY&IqrdW~pS-F|IZ-Dj^w+_pzjXc5P~Ek8 ziGnPc6~oIYhKnTDxbHb2=@J~dty!Vtm!Qs4E`s;qEb_qACFq+(+!0^d5_45MQB#wyn{6^vlIVNqYmEq&LX3?muCECV ztW7RR~DYS zVDG2)%Ak(D(OqpMKH26sjjL-%QIC8QF;RCKF& zWw5Py4dO)JRgA8LWXX#Eoza`(s0L+Kg#S8>Q>=`Ve^x~j5Lx2JbuvmHnZ8wgeWzMz zwW?r`3wBx!P?knCak5@3ANd_cp3ZdBrU>Mq0S&3Y3(_!;#OYR&iEiGMBswzH==~>6bGRmf zls6?Uim{q2fw?Igpx|_EXzmW(gn)Yl)ys{8lhhPnU5fh$NP%4!x$T zhcMQ$s#OA4wY+6$0P`b~Ixgw~isd!nRoOJ)1`{U{cSB@Iv0z z5VJL`Vz_Ao8M}qoK-p_VW(g-FYv2N!(lfZzgAzr(2I9pg1n;71jTYhhw$aDo#_vqTAPqB0Yc1mP-@+#tLjzM2z`qNstAvLrRouZMA-h_4APsZ1o- zLU7`JKb`^nsfTIRNv-FT!mv#SJc0Q!k^u=%;7*yt{@G=M6VPDVoTncm#NWllK9bRI-9}KiZ<&$vg`6+1|uJkofeukLL_fpJ& zh6hHfdkXU={07B;o|05>&2Sd{8I0pIf$% zp-coYcEL2l=cItq61)hd`#9PK@6C5!Dvcy94elfIrwdX*xd$%(|1y9pVU*e_hTFwi z&@K^q2IhbNuZpV)i7JZ1@!l(YLxUDh;j?;5qun8yD{2j)iB3-1ASg%>8LeCtxEP2a zL1cuG5JDHi2PG3NqfN9d1y{8ym~sA`W}MKCD>v4v%)UGCCC=(`zIV>O=boPn@4Ult zIlk$_het^zwC_UilJctl^1!8HHR66pDo?@}|FLNiwEP9oay?W`SK%!0r zovo~O1_uX)9)q`^m&W+ITHGt}!uOx!GdZ-SS}dgbg?Bv7=DP0Fitxj35FTf@7E2s; z_2V;&VO;yj0Uc>p&t5lDtqU1iKI&75jkUci1|~CHEPWQs89A!mXuxhp-ZiEy>arT9 zDJHTqXlyq+WGhy(ln-6RPF6S z>CQv39?f&@kT4M|uy1rFRE@CI@{4CL7I;BDye^Oo3k!CHZHkrn82YYazq^8WIMDn+ zRW#&#T%mY`d0!E#Dbk5=dTFWUNTAbAB4V1q56_BnSf2|E3`Rw>b0VX}SBp0>TjH&o zhz6P+Cr%AlIq}PYVi++l-Qv1Cs*mw!iAJ0rMAIhIcy|o3O`7}M3|19w%)wihBicRS jL7D#i{Q>XG^0xkTU*Jz!_Ulg$1p0nR`$R}nlXm_AJq>F^ From 737d1da07b24d17f14b5b585662051e8fcf2499b Mon Sep 17 00:00:00 2001 From: Rasika Perera Date: Thu, 19 Jan 2017 17:04:01 +0530 Subject: [PATCH 5/5] Changed webapps title [EMM] into [IoT Server] --- .../app/units/mdm.unit.ui.theme/public/css/custom-common.css | 4 ++-- .../app/units/mdm.unit.ui.theme/public/css/custom-common.css | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/android-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/android-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css index cc768351b..fbb2d8083 100755 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/android-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.ui/src/main/resources/jaggeryapps/android-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css @@ -171,7 +171,7 @@ h2.app-title { margin:0; padding:3px 0 0 0; color:#fafafa; - text-transform: uppercase; + /*text-transform: uppercase;*/ } .wr-global-header { @@ -208,7 +208,7 @@ h2.app-title { @media (max-width: 570px) { h2.app-title:after { - content: "EMM"; + content: "IoT Server"; } h2.app-title span { display: none; diff --git a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/windows-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/windows-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css index cc768351b..fbb2d8083 100755 --- a/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/windows-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css +++ b/components/mobile-plugins/windows-plugin/org.wso2.carbon.device.mgt.mobile.windows.ui/src/main/resources/jaggeryapps/windows-web-agent/app/units/mdm.unit.ui.theme/public/css/custom-common.css @@ -171,7 +171,7 @@ h2.app-title { margin:0; padding:3px 0 0 0; color:#fafafa; - text-transform: uppercase; + /*text-transform: uppercase;*/ } .wr-global-header { @@ -208,7 +208,7 @@ h2.app-title { @media (max-width: 570px) { h2.app-title:after { - content: "EMM"; + content: "IoT Server"; } h2.app-title span { display: none;