From 7907a1c5ffc53908ddedbb731a68f8d0bafaa501 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Thu, 5 May 2022 00:44:31 +0530 Subject: [PATCH 001/101] Add tenant whitelabeling api Make whitelabel favion and logo api public Refactor whitelabeling feature in separate classes --- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../common/services/ApplicationManager.java | 2 +- .../services/ApplicationStorageManager.java | 11 + .../wrapper/CustomAppReleaseWrapper.java | 2 +- .../common/wrapper/EntAppReleaseWrapper.java | 2 +- .../wrapper/PublicAppReleaseWrapper.java | 2 +- .../common/wrapper/WebAppReleaseWrapper.java | 2 +- .../io.entgra.application.mgt.core/pom.xml | 2 +- .../mgt/core/config/Artifacts.java | 2 +- .../mgt/core/impl/ApplicationManagerImpl.java | 37 ++- .../impl/ApplicationStorageManagerImpl.java | 32 +- .../core/impl/SPApplicationManagerImpl.java | 5 +- .../core/util/ApplicationManagementUtil.java | 4 +- .../mgt/core/StorageManagementUtilTest.java | 9 +- .../management/ApplicationManagementTest.java | 5 +- .../pom.xml | 2 +- .../ApplicationManagementPublisherAPI.java | 2 +- ...ApplicationManagementPublisherAPIImpl.java | 2 +- .../pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../jaxrs/service/api/MetadataService.java | 1 + .../jaxrs/service/api/WhiteLabelService.java | 289 ++++++++++++++++ .../service/impl/MetadataServiceImpl.java | 25 ++ .../service/impl/WhiteLabelServiceImpl.java | 172 ++++++++++ .../impl/util/RequestValidationUtil.java | 110 ++++++ .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 24 ++ .../src/main/webapp/WEB-INF/cxf-servlet.xml | 2 + .../src/main/webapp/WEB-INF/web.xml | 2 + .../org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../carbon/device}/mgt/common/Base64File.java | 2 +- .../common/exceptions/NotFoundException.java | 35 ++ .../mgt/MetadataManagementService.java | 1 - .../metadata/mgt/WhiteLabelArtifactPath.java | 49 +++ .../common/metadata/mgt/WhiteLabelImage.java | 38 +++ .../mgt/WhiteLabelImageRequestPayload.java | 53 +++ .../mgt/WhiteLabelManagementService.java | 49 +++ .../common/metadata/mgt/WhiteLabelTheme.java | 49 +++ .../mgt/WhiteLabelThemeCreateRequest.java | 49 +++ .../org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../exception/StorageManagementException.java | 32 ++ .../device/mgt/core/common/util/FileUtil.java | 15 +- .../device/mgt/core/common/util/HttpUtil.java | 13 + .../common}/util/StorageManagementUtil.java | 46 +-- .../core/config/DeviceManagementConfig.java | 11 + .../whitelabel/MetaDataConfiguration.java | 18 + .../whitelabel/WhiteLabelConfiguration.java | 28 ++ .../tenant/whitelabel/WhiteLabelImages.java | 49 +++ .../internal/DeviceManagementDataHolder.java | 21 ++ .../DeviceManagementServiceComponent.java | 14 + .../mgt/MetadataManagementServiceImpl.java | 3 +- .../mgt/WhiteLabelManagementServiceImpl.java | 313 ++++++++++++++++++ .../mgt/dao/util/MetadataConstants.java | 22 ++ .../mgt/util/WhiteLabelStorageUtil.java | 162 +++++++++ .../core/util/DeviceMgtTenantMgtListener.java | 6 + .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- .../webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../src/main/resources/conf/mdm-ui-config.xml | 2 + .../repository/conf/mdm-ui-config.xml.j2 | 2 + .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- .../webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 4 +- 150 files changed, 1852 insertions(+), 178 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java rename components/{application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application => device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device}/mgt/common/Base64File.java (96%) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java rename components/{application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core => device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common}/util/StorageManagementUtil.java (67%) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index cec4dcfb018..fe919052144 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 471ef038641..5b519b30d42 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 6a9eb109ddc..46f2116b2b3 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 6df5c58fde9..c27ad6278bb 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 1cdf1d717fe..82eafa01368 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 9e6e0ee3dc3..270b13d80e5 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 604d3b430f4..b0699d43b82 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 4c1066a2712..f4ee8cdd9b6 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 104da8bfb2d..af203bd0254 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -5,7 +5,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 673610f3637..9f27c44e1eb 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index d72878e2260..14b0fe0f369 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 5f3bf1396a0..d113cfd633a 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index c5a06e5afdb..4fb755bab0d 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 2b0a0f86064..c18db9cdd10 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationManager.java b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationManager.java index 82e78096b14..dcc63be3b3f 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationManager.java +++ b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationManager.java @@ -17,7 +17,7 @@ package io.entgra.application.mgt.common.services; import io.entgra.application.mgt.common.ApplicationType; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.entgra.application.mgt.common.dto.ApplicationDTO; import io.entgra.application.mgt.common.exception.ResourceManagementException; import org.apache.cxf.jaxrs.ext.multipart.Attachment; diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationStorageManager.java b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationStorageManager.java index 39be94cc3de..9c8ffb06547 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationStorageManager.java +++ b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/services/ApplicationStorageManager.java @@ -22,6 +22,7 @@ import io.entgra.application.mgt.common.dto.ApplicationReleaseDTO; import io.entgra.application.mgt.common.exception.ApplicationStorageManagementException; import io.entgra.application.mgt.common.exception.RequestValidatingException; import io.entgra.application.mgt.common.exception.ResourceManagementException; +import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; import java.io.InputStream; import java.util.List; @@ -121,4 +122,14 @@ public interface ApplicationStorageManager { * @throws ApplicationStorageManagementException throws if an error occurs when accessing the file. */ InputStream getFileStream(String deviceType, String tenantDomain) throws ApplicationStorageManagementException; + + /** + * Useful to generate MD5 string of {@link InputStream} + * + * @param inputStream {@link InputStream} + * @return md5 string of provided input stream + * + * @throws StorageManagementException if errors while generating md5 string + */ + String getMD5(InputStream inputStream) throws StorageManagementException; } diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/CustomAppReleaseWrapper.java b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/CustomAppReleaseWrapper.java index 566e67d5d5a..e2d49c5dcb5 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/CustomAppReleaseWrapper.java +++ b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/CustomAppReleaseWrapper.java @@ -16,7 +16,7 @@ */ package io.entgra.application.mgt.common.wrapper; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/EntAppReleaseWrapper.java b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/EntAppReleaseWrapper.java index 6fdb22dc80e..e73f948a1ed 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/EntAppReleaseWrapper.java +++ b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/EntAppReleaseWrapper.java @@ -16,7 +16,7 @@ */ package io.entgra.application.mgt.common.wrapper; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/PublicAppReleaseWrapper.java b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/PublicAppReleaseWrapper.java index 3fdbdab0b45..011f0837536 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/PublicAppReleaseWrapper.java +++ b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/PublicAppReleaseWrapper.java @@ -16,7 +16,7 @@ */ package io.entgra.application.mgt.common.wrapper; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/WebAppReleaseWrapper.java b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/WebAppReleaseWrapper.java index 3d0a343c74d..41fed3a76b7 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/WebAppReleaseWrapper.java +++ b/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/wrapper/WebAppReleaseWrapper.java @@ -16,7 +16,7 @@ */ package io.entgra.application.mgt.common.wrapper; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index a29e450988b..81b0cd151de 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/config/Artifacts.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/config/Artifacts.java index 8e745c77eb1..43721fbe37a 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/config/Artifacts.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/config/Artifacts.java @@ -28,7 +28,7 @@ public class Artifacts { private String imageLocation; private String binaryLocation; - @XmlElement(name = "ImageLocation", required = true) + @XmlElement(name = "ImageLocationType", required = true) public String getImageLocation() { return imageLocation; } diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java index b7fce45b1a0..58e0ebfc903 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java @@ -17,7 +17,7 @@ package io.entgra.application.mgt.core.impl; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.entgra.application.mgt.core.dao.SPApplicationDAO; import io.entgra.application.mgt.core.util.ApplicationManagementUtil; import org.apache.commons.codec.digest.DigestUtils; @@ -86,7 +86,8 @@ import io.entgra.application.mgt.core.internal.DataHolder; import io.entgra.application.mgt.core.lifecycle.LifecycleStateManager; import io.entgra.application.mgt.core.util.ConnectionManagerUtil; import io.entgra.application.mgt.core.util.Constants; -import io.entgra.application.mgt.core.util.StorageManagementUtil; +import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; +import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.core.dto.DeviceType; @@ -600,14 +601,15 @@ public class ApplicationManagerImpl implements ApplicationManager { */ private String generateMD5OfApp(ApplicationArtifact applicationArtifact, byte[] content) throws ApplicationManagementException { try { - String md5OfApp = StorageManagementUtil.getMD5(new ByteArrayInputStream(content)); + ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager(); + String md5OfApp = applicationStorageManager.getMD5(new ByteArrayInputStream(content)); if (md5OfApp == null) { String msg = "Error occurred while generating md5sum value of " + applicationArtifact.getInstallerName(); log.error(msg); throw new ApplicationManagementException(msg); } return md5OfApp; - } catch( ApplicationStorageManagementException e) { + } catch(StorageManagementException e) { String msg = "Error occurred while generating md5sum value of " + applicationArtifact.getInstallerName(); log.error(msg); throw new ApplicationManagementException(msg, e); @@ -689,7 +691,7 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg); throw new ApplicationManagementException(msg); } - String md5OfApp = StorageManagementUtil.getMD5(new ByteArrayInputStream(content)); + String md5OfApp = applicationStorageManager.getMD5(new ByteArrayInputStream(content)); if (md5OfApp == null) { String msg = "Error occurred while md5sum value retrieving process: application UUID " + applicationReleaseDTO.getUuid(); @@ -708,6 +710,11 @@ public class ApplicationManagerImpl implements ApplicationManager { applicationStorageManager .uploadReleaseArtifact(applicationReleaseDTO, deviceType, binaryDuplicate, tenantId); } + } catch (StorageManagementException e) { + String msg = "Error occurred while md5sum value retrieving process: application UUID " + + applicationReleaseDTO.getUuid(); + log.error(msg); + throw new ApplicationStorageManagementException(msg); } catch (DBConnectionException e) { String msg = "Error occurred when getting database connection for verifying app release data."; log.error(msg, e); @@ -752,7 +759,7 @@ public class ApplicationManagerImpl implements ApplicationManager { byte[] content = IOUtils.toByteArray(applicationArtifact.getInstallerStream()); try (ByteArrayInputStream binaryClone = new ByteArrayInputStream(content)) { - String md5OfApp = StorageManagementUtil.getMD5(binaryClone); + String md5OfApp = applicationStorageManager.getMD5(binaryClone); if (md5OfApp == null) { String msg = "Error occurred while retrieving md5sum value from the binary file for application " @@ -818,6 +825,11 @@ public class ApplicationManagerImpl implements ApplicationManager { } } } + } catch (StorageManagementException e) { + String msg = "Error occurred while retrieving md5sum value from the binary file for application " + + "release UUID " + applicationReleaseDTO.getUuid(); + log.error(msg); + throw new ApplicationStorageManagementException(msg); } catch (IOException e) { String msg = "Error occurred when getting byte array of binary file. Installer name: " + applicationArtifact .getInstallerName(); @@ -2157,9 +2169,9 @@ public class ApplicationManagerImpl implements ApplicationManager { ConnectionManagerUtil.closeDBConnection(); } } - + public ApplicationRelease changeLifecycleState(ApplicationReleaseDTO applicationReleaseDTO, LifecycleChanger lifecycleChanger) throws ApplicationManagementException { - + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); if (lifecycleChanger == null || StringUtils.isEmpty(lifecycleChanger.getAction())) { @@ -2167,7 +2179,7 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg); throw new BadRequestException(msg); } - + try{ if (lifecycleStateManager .isValidStateChange(applicationReleaseDTO.getCurrentState(), lifecycleChanger.getAction(), userName, @@ -3249,7 +3261,7 @@ public class ApplicationManagerImpl implements ApplicationManager { try { byte[] content = IOUtils.toByteArray(applicationArtifact.getInstallerStream()); try (ByteArrayInputStream binaryClone = new ByteArrayInputStream(content)) { - String md5OfApp = StorageManagementUtil.getMD5(binaryClone); + String md5OfApp = applicationStorageManager.getMD5(binaryClone); if (md5OfApp == null) { String msg = "Error occurred while retrieving md5sum value from the binary file for " + "application release UUID " + applicationReleaseDTO.get().getUuid(); @@ -3295,6 +3307,11 @@ public class ApplicationManagerImpl implements ApplicationManager { } } } + } catch (StorageManagementException e) { + String msg = "Error occurred while retrieving md5sum value from the binary file for " + + "application release UUID " + applicationReleaseDTO.get().getUuid(); + log.error(msg); + throw new ApplicationStorageManagementException(msg); } catch (IOException e) { String msg = "Error occurred when getting byte array of binary file. Installer name: " + applicationArtifact.getInstallerName(); diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java index 91e3f4579b4..a99d759d46c 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java @@ -1,5 +1,4 @@ -/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. - * +/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. 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. @@ -19,6 +18,7 @@ package io.entgra.application.mgt.core.impl; import com.dd.plist.NSDictionary; import net.dongliu.apk.parser.bean.ApkMeta; +import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -31,12 +31,13 @@ import io.entgra.application.mgt.common.services.ApplicationStorageManager; import io.entgra.application.mgt.core.exception.ParsingException; import io.entgra.application.mgt.core.util.ArtifactsParser; import io.entgra.application.mgt.core.util.Constants; -import io.entgra.application.mgt.core.util.StorageManagementUtil; +import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; +import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; import java.io.*; import java.util.List; -import static io.entgra.application.mgt.core.util.StorageManagementUtil.saveFile; +import static org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil.saveFile; /** * This class contains the default concrete implementation of ApplicationStorage Management. @@ -112,6 +113,11 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager + applicationReleaseDTO.getUuid(); log.error(msg, e); throw new ApplicationStorageManagementException(msg, e); + } catch (StorageManagementException e) { + String msg = "Error occurred while uploading image artifacts" + + applicationReleaseDTO.getUuid(); + log.error(msg, e); + throw new ResourceManagementException(msg, e); } } @@ -159,6 +165,11 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager + applicationReleaseDTO.getUuid(); log.error(msg, e); throw new ResourceManagementException( msg, e); + } catch (StorageManagementException e) { + String msg = "Error occurred while uploading image artifacts" + + applicationReleaseDTO.getUuid(); + log.error(msg, e); + throw new ResourceManagementException(msg, e); } } @@ -286,4 +297,17 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager throw new ApplicationStorageManagementException(msg); } } + + @Override + public String getMD5(InputStream inputStream) throws StorageManagementException { + String md5; + try { + md5 = DigestUtils.md5Hex(inputStream); + } catch (IOException e) { + String msg = "IO Exception occurred while trying to get the md5sum value of application"; + log.error(msg, e); + throw new StorageManagementException(msg, e); + } + return md5; + } } diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SPApplicationManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SPApplicationManagerImpl.java index 8382f428b59..bd0afe85a61 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SPApplicationManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SPApplicationManagerImpl.java @@ -49,6 +49,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.validator.routines.UrlValidator; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.core.common.util.HttpUtil; import java.util.ArrayList; import java.util.List; @@ -327,9 +328,7 @@ public class SPApplicationManagerImpl implements SPApplicationManager { * @throws BadRequestException if url is invalid */ private void validateIdentityServerUrl(String url) throws BadRequestException { - String[] schemes = {"http","https"}; - UrlValidator urlValidator = new UrlValidator(schemes, UrlValidator.ALLOW_LOCAL_URLS); - if (!urlValidator.isValid(url)) { + if (!HttpUtil.isHttpUrlValid(url)) { String msg = "Identity server url is not a valid url"; log.error(msg); throw new BadRequestException(msg); diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/ApplicationManagementUtil.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/ApplicationManagementUtil.java index f0ef6c4b299..bb7d65eceda 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/ApplicationManagementUtil.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/ApplicationManagementUtil.java @@ -18,13 +18,11 @@ package io.entgra.application.mgt.core.util; import io.entgra.application.mgt.common.ApplicationArtifact; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.entgra.application.mgt.common.FileDataHolder; import io.entgra.application.mgt.common.dto.ApplicationDTO; -import io.entgra.application.mgt.common.dto.ApplicationReleaseDTO; import io.entgra.application.mgt.common.exception.ApplicationManagementException; import io.entgra.application.mgt.common.exception.RequestValidatingException; -import io.entgra.application.mgt.common.exception.ResourceManagementException; import io.entgra.application.mgt.common.services.SPApplicationManager; import io.entgra.application.mgt.common.wrapper.ApplicationWrapper; import io.entgra.application.mgt.common.wrapper.CustomAppReleaseWrapper; diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/StorageManagementUtilTest.java b/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/StorageManagementUtilTest.java index 08644a5fab4..afbe689b978 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/StorageManagementUtilTest.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/StorageManagementUtilTest.java @@ -23,7 +23,8 @@ import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import io.entgra.application.mgt.common.exception.ResourceManagementException; -import io.entgra.application.mgt.core.util.StorageManagementUtil; +import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; +import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; import java.io.File; import java.io.FileInputStream; @@ -47,14 +48,14 @@ public class StorageManagementUtilTest { public void testCreateArtifactDirectory() { try { StorageManagementUtil.createArtifactDirectory(TEMP_FOLDER); - } catch (ResourceManagementException e) { + } catch (StorageManagementException e) { e.printStackTrace(); Assert.fail("Directory creation failed."); } } @Test - public void testSaveFile() throws IOException, ResourceManagementException { + public void testSaveFile() throws IOException, ResourceManagementException, StorageManagementException { StorageManagementUtil.createArtifactDirectory(TEMP_FOLDER); InputStream apk = new FileInputStream(APK_FILE); StorageManagementUtil.saveFile(apk, TEMP_FOLDER + APK_FILE_NAME); @@ -65,7 +66,7 @@ public class StorageManagementUtilTest { } @AfterMethod - public void deleteFileTest() throws IOException, ResourceManagementException { + public void deleteFileTest() throws IOException, StorageManagementException { File file = new File(TEMP_FOLDER); StorageManagementUtil.delete(file); if (file.exists()) { diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/management/ApplicationManagementTest.java b/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/management/ApplicationManagementTest.java index baccaed9996..8ab3915a28a 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/management/ApplicationManagementTest.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/test/java/io/entgra/application/mgt/core/management/ApplicationManagementTest.java @@ -42,19 +42,16 @@ import io.entgra.application.mgt.core.impl.ApplicationManagerImpl; import io.entgra.application.mgt.core.internal.DataHolder; import io.entgra.application.mgt.core.util.ConnectionManagerUtil; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; +import org.wso2.carbon.device.mgt.common.Base64File; import org.wso2.carbon.device.mgt.core.common.util.FileUtil; import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class ApplicationManagementTest extends BaseTestCase { diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 2c15d1522da..e1d4400d792 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/ApplicationManagementPublisherAPI.java b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/ApplicationManagementPublisherAPI.java index 5abce176c63..505285d82d0 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/ApplicationManagementPublisherAPI.java +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/ApplicationManagementPublisherAPI.java @@ -17,7 +17,7 @@ */ package io.entgra.application.mgt.publisher.api.services; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java index 078af292d99..04b4b507713 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java @@ -18,7 +18,7 @@ package io.entgra.application.mgt.publisher.api.services.impl; import io.entgra.application.mgt.common.ApplicationArtifact; import io.entgra.application.mgt.common.ApplicationList; -import io.entgra.application.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.Base64File; import io.entgra.application.mgt.common.Filter; import io.entgra.application.mgt.common.LifecycleChanger; import io.entgra.application.mgt.common.exception.ResourceManagementException; diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 362f84188ab..4adb35bdf34 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index c24bb9ee779..62150762208 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index c8ef6490f3b..7f468c0d95c 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 492567040a3..c0228dd4506 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 499770d3f30..ab7d21fe476 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index d17941ce53f..d5816dac404 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index f531a7985d2..5488bf8a1ad 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index c76a9d06420..15904f573b3 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 24fc4c8325b..779b6f0dc81 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index ed0615a9659..c8c38d83b24 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 30c92b62839..4657158241e 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 780f4308e18..867a524d3ce 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 110c755d042..e1645847c7a 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index ae70a2d2ed4..74a8f7cd34f 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 6aea2a873ae..1bb61cc59a1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/MetadataService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/MetadataService.java index 446944729ba..55aeafeec01 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/MetadataService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/MetadataService.java @@ -33,6 +33,7 @@ import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.apimgt.annotations.api.Scope; import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.beans.MetadataList; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java new file mode 100644 index 00000000000..647e8945216 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java @@ -0,0 +1,289 @@ +/* + * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.jaxrs.service.api; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import io.swagger.annotations.Extension; +import io.swagger.annotations.ExtensionProperty; +import io.swagger.annotations.Info; +import io.swagger.annotations.ResponseHeader; +import io.swagger.annotations.SwaggerDefinition; +import io.swagger.annotations.Tag; +import org.apache.axis2.transport.http.HTTPConstants; +import org.wso2.carbon.apimgt.annotations.api.Scope; +import org.wso2.carbon.apimgt.annotations.api.Scopes; +import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; +import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; +import org.wso2.carbon.device.mgt.jaxrs.beans.MetadataList; +import org.wso2.carbon.device.mgt.jaxrs.util.Constants; + +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +/** + * Metadata related REST-API implementation. + */ +@SwaggerDefinition( + info = @Info( + version = "1.0.0", + title = "Whitelabel Service", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = "name", value = "WhiteLabelManagement"), + @ExtensionProperty(name = "context", value = "/api/device-mgt/v1.0/whitelabel"), + }) + } + ), + tags = { + @Tag(name = "device_management") + } +) +@Scopes( + scopes = { + @Scope( + name = "View Whitelabel", + description = "View whitelabel details", + key = "perm:whitelabel:view", + roles = {"Internal/devicemgt-user"}, + permissions = {"/device-mgt/whitelabel/view"} + ), + @Scope( + name = "Update Whitelabel", + description = "Updating whitelabel", + key = "perm:whitelabel:update", + roles = {"Internal/devicemgt-user"}, + permissions = {"/device-mgt/whitelabel/update"} + ), + } +) +@Api(value = "Whitelabel Management") +@Path("/whitelabel") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public interface WhiteLabelService { + + @GET + @Path("/favicon") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + @ApiOperation( + produces = MediaType.APPLICATION_OCTET_STREAM, + httpMethod = HTTPConstants.HEADER_GET, + value = "Get whitelabel favicon", + notes = "Get whitelabel favicon for the tenant of the logged in user", + tags = "Tenant Metadata Management" + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully retrieved white label favicon.", + response = Metadata.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 500, + message = "Internal Server Error. " + + "\n Server error occurred while getting white label artifact.", + response = ErrorResponse.class) + }) + Response getWhiteLabelFavicon(); + + @GET + @Path("/logo") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + @ApiOperation( + produces = MediaType.APPLICATION_OCTET_STREAM, + httpMethod = HTTPConstants.HEADER_GET, + value = "Get whitelabel logo", + notes = "Get whitelabel logo for the tenant of the logged in user", + tags = "Tenant Metadata Management" + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully retrieved white label logo.", + response = Metadata.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 500, + message = "Internal Server Error. " + + "\n Server error occurred while getting white label artifact.", + response = ErrorResponse.class) + }) + Response getWhiteLabelLogo(); + + @PUT + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = HTTPConstants.HEADER_POST, + value = "Create whitelabel for tenant", + notes = "Create whitelabel for the tenant of the logged in user", + tags = "Tenant Metadata Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:whitelabel:update") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully created white label theme.", + response = Metadata.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 500, + message = "Internal Server Error. " + + "\n Server error occurred while creating white label theme.", + response = ErrorResponse.class) + }) + Response createWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest); + + @GET + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = HTTPConstants.HEADER_POST, + value = "Get whitelabel for tenant", + notes = "Get whitelabel for the tenant of the logged in user", + tags = "Tenant Metadata Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:whitelabel:view") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched white label theme.", + response = Metadata.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 500, + message = "Internal Server Error. " + + "\n Server error occurred while fetching white label theme.", + response = ErrorResponse.class) + }) + Response getWhiteLabelTheme(); + + @PUT + @Path("/reset") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = HTTPConstants.HEADER_POST, + value = "Reset whitelabel for tenant", + notes = "Reset whitelabel to default for the tenant of the logged in user", + tags = "Tenant Metadata Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:whitelabel:update") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched white label theme.", + response = Metadata.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 500, + message = "Internal Server Error. " + + "\n Server error occurred while deleting white label theme.", + response = ErrorResponse.class) + }) + Response resetWhiteLabel(); +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java index 5a484bfa0c3..64d182bf677 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java @@ -18,20 +18,27 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; +import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyAlreadyExistsException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyNotFoundException; +import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; import org.wso2.carbon.device.mgt.jaxrs.beans.MetadataList; import org.wso2.carbon.device.mgt.jaxrs.service.api.MetadataService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.List; import javax.ws.rs.Consumes; @@ -147,4 +154,22 @@ public class MetadataServiceImpl implements MetadataService { } } + /** + * Useful to send files as application/octet-stream responses + */ + private Response sendFileStream(byte[] content) throws IOException { + try (ByteArrayInputStream binaryDuplicate = new ByteArrayInputStream(content)) { + Response.ResponseBuilder response = Response + .ok(binaryDuplicate, MediaType.APPLICATION_OCTET_STREAM); + response.status(Response.Status.OK); +// response.header("Content-Disposition", "attachment; filename=\"" + fileName + "\""); + response.header("Content-Length", content.length); + return response.build(); + } catch (IOException e) { + String msg = "Error occurred while creating input stream from buffer array. "; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java new file mode 100644 index 00000000000..bdc4c748f8d --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.jaxrs.service.impl; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.PaginationResult; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyAlreadyExistsException; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyNotFoundException; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; +import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; +import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; +import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; +import org.wso2.carbon.device.mgt.jaxrs.beans.MetadataList; +import org.wso2.carbon.device.mgt.jaxrs.service.api.MetadataService; +import org.wso2.carbon.device.mgt.jaxrs.service.api.WhiteLabelService; +import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; +import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; + +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.DefaultValue; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.util.List; + +/** + * This is the service class for metadata management. + */ +@Path("/whitelabel") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public class WhiteLabelServiceImpl implements WhiteLabelService { + + private static final Log log = LogFactory.getLog(WhiteLabelServiceImpl.class); + + @GET + @Override + @Path("/favicon") + public Response getWhiteLabelFavicon() { + try { + byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(); + return sendFileStream(fileContent); + } catch (NotFoundException e) { + String msg = "Couldn't find such a whitelabel artifact."; + log.error(msg, e); + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); + } catch (MetadataManagementException e) { + String msg = "Error occurred while creating whitelabel for tenant"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } catch (IOException e) { + String msg = "Error occurred while getting the byte array of the artifact file. "; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + + @GET + @Override + @Path("/logo") + public Response getWhiteLabelLogo() { + try { + byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(); + return sendFileStream(fileContent); + } catch (NotFoundException e) { + String msg = "Couldn't find such a whitelabel artifact."; + log.error(msg, e); + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); + } catch (MetadataManagementException e) { + String msg = "Error occurred while creating whitelabel for tenant"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } catch (IOException e) { + String msg = "Error occurred while getting the byte array of the artifact file. "; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + + @PUT + @Override + public Response createWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { + RequestValidationUtil.validateWhiteLabelTheme(whiteLabelThemeCreateRequest); + try { + WhiteLabelTheme createdWhiteLabelTheme = DeviceMgtAPIUtils.getWhiteLabelManagementService().updateWhiteLabelTheme(whiteLabelThemeCreateRequest); + return Response.status(Response.Status.CREATED).entity(createdWhiteLabelTheme).build(); + } catch (MetadataManagementException e) { + String msg = "Error occurred while creating whitelabel for tenant"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + + @GET + @Override + public Response getWhiteLabelTheme() { + try { + WhiteLabelTheme whiteLabelTheme = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelTheme(); + return Response.status(Response.Status.CREATED).entity(whiteLabelTheme).build(); + } catch (MetadataManagementException e) { + String msg = "Error occurred while deleting whitelabel for tenant"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } catch (NotFoundException e) { + String msg = "Not white label theme configured for this tenant"; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } + } + + @PUT + @Override + @Path("/reset") + public Response resetWhiteLabel() { + try { + DeviceMgtAPIUtils.getWhiteLabelManagementService().resetToDefaultWhiteLabelTheme(); + return Response.status(Response.Status.CREATED).entity("White label theme deleted successfully.").build(); + } catch (MetadataManagementException e) { + String msg = "Error occurred while resetting whitelabel for tenant"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + + /** + * Useful to send files as application/octet-stream responses + */ + private Response sendFileStream(byte[] content) throws IOException { + try (ByteArrayInputStream binaryDuplicate = new ByteArrayInputStream(content)) { + Response.ResponseBuilder response = Response + .ok(binaryDuplicate, MediaType.APPLICATION_OCTET_STREAM); + response.status(Response.Status.OK); +// response.header("Content-Disposition", "attachment; filename=\"" + fileName + "\""); + response.header("Content-Length", content.length); + return response.build(); + } catch (IOException e) { + String msg = "Error occurred while creating input stream from buffer array. "; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index 1308dfa9700..d71373c2dff 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -18,10 +18,14 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.impl.util; +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.EnumUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpStatus; +import org.wso2.carbon.device.mgt.common.Base64File; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.Feature; import org.wso2.carbon.device.mgt.common.FeatureManager; @@ -31,8 +35,12 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceTypeNotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImage; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImageRequestPayload; import org.wso2.carbon.device.mgt.common.notification.mgt.Notification; +import org.wso2.carbon.device.mgt.core.common.util.HttpUtil; import org.wso2.carbon.device.mgt.core.dto.DeviceType; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.ApplicationWrapper; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; @@ -654,6 +662,108 @@ public class RequestValidationUtil { } } + public static void validateWhiteLabelArtifactDownloadRequest(String whiteLabelImage) { + if (!EnumUtils.isValidEnum(WhiteLabelImage.ImageName.class, whiteLabelImage)) { + String msg = "Invalid white label image requested. Image: " + whiteLabelImage; + log.error(msg); + throw new InputValidationException(new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST) + .setMessage(msg).build()); + + } + } + + public static void validateWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { + if (whiteLabelThemeCreateRequest.getFavicon() == null) { + String msg = "Favicon is required to whitelabel"; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + if (whiteLabelThemeCreateRequest.getLogo() == null) { + String msg = "Logo is required to whitelabel"; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + if (whiteLabelThemeCreateRequest.getFooterText() == null) { + String msg = "Footer text is required to whitelabel"; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + try { + validateWhiteLabelImage(whiteLabelThemeCreateRequest.getFavicon()); + validateWhiteLabelImage(whiteLabelThemeCreateRequest.getLogo()); + } catch (InputValidationException e) { + String msg = "Payload contains invalid base64 files"; + log.error(msg); + throw e; + } + } + + /** + * Validate if {@link WhiteLabelImageRequestPayload} contains mandatory fields. + */ + private static void validateWhiteLabelImage(WhiteLabelImageRequestPayload whiteLabelImage) { + if (whiteLabelImage.getImageType() == null) { + String msg = "Invalid payload found with the request. White label imageType cannot be null."; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + if (whiteLabelImage.getImageType() == WhiteLabelImageRequestPayload.ImageType.BASE64) { + try { + Base64File image = new Gson().fromJson(whiteLabelImage.getImage(), Base64File.class); + validateBase64File(image); + } catch (JsonSyntaxException e) { + String msg = "Invalid image payload found with the request. Image object does not represent a Base64 File. " + + "Hence verify the request payload object."; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + return; + } + if (whiteLabelImage.getImageType() == WhiteLabelImageRequestPayload.ImageType.URL) { + try { + String imageUrl = new Gson().fromJson(whiteLabelImage.getImage(), String.class); + if (!HttpUtil.isHttpUrlValid(imageUrl)) { + String msg = "Invalid image url provided for white label image."; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + } catch (JsonSyntaxException e) { + String msg = "Invalid payload found with the request. Hence verify the request payload object."; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + } + } + + /** + * Validate if {@link Base64File} contains mandatory fields. + */ + private static void validateBase64File(Base64File base64File) { + if (base64File.getBase64String() == null || base64File.getName() == null) { + String msg = "Base64File doesn't contain required properties. name and base64String properties " + + "are required fields for base64file type"; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } + } + /** * Validate if the metaData and metaKey values are non empty & in proper format. * diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 8861833f5aa..c14649b3340 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -74,6 +74,7 @@ import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationProviderService; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementService; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.report.mgt.ReportManagementService; @@ -173,6 +174,7 @@ public class DeviceMgtAPIUtils { // private static IntegrationClientService integrationClientService; private static MetadataManagementService metadataManagementService; + private static WhiteLabelManagementService whiteLabelManagementService; private static OTPManagementService otpManagementService; private static volatile SubscriptionManager subscriptionManager; @@ -510,6 +512,28 @@ public class DeviceMgtAPIUtils { return notificationManagementService; } + /** + * Initializing and accessing method for WhiteLabelManagementService. + * + * @return WhiteLabelManagementService instance + * @throws IllegalStateException if whiteLabelManagementService cannot be initialized + */ + public static WhiteLabelManagementService getWhiteLabelManagementService() { + if (whiteLabelManagementService == null) { + synchronized (DeviceMgtAPIUtils.class) { + if (whiteLabelManagementService == null) { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + whiteLabelManagementService = (WhiteLabelManagementService) ctx.getOSGiService( + WhiteLabelManagementService.class, null); + if (whiteLabelManagementService == null) { + throw new IllegalStateException("Metadata Management service not initialized."); + } + } + } + } + return whiteLabelManagementService; + } + /** * Initializing and accessing method for MetadataManagementService. * diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml index efce569c420..9db350e2677 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -49,6 +49,7 @@ + @@ -99,6 +100,7 @@ + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml index fffbfbdb24e..f5282af6a83 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml @@ -49,6 +49,8 @@ nonSecuredEndPoints /api/device-mgt/v1.0/users/validate + /api/device-mgt/v1.0/whitelabel/favicon + /api/device-mgt/v1.0/whitelabel/logo diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 8c83847a2ac..0a8dde45f39 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/Base64File.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java similarity index 96% rename from components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/Base64File.java rename to components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java index ef1f1d3204e..0ec7e800d93 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/src/main/java/io/entgra/application/mgt/common/Base64File.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java @@ -16,7 +16,7 @@ * under the License. */ -package io.entgra.application.mgt.common; +package org.wso2.carbon.device.mgt.common; public class Base64File { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java new file mode 100644 index 00000000000..2e59a81bbe0 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java @@ -0,0 +1,35 @@ +package org.wso2.carbon.device.mgt.common.exceptions; + + +/* + * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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. + */ + +/** + * This exception will be thrown when the requested application or platform not found. + */ +public class NotFoundException extends Exception { + + public NotFoundException(String message, Throwable throwable) { + super(message, throwable); + } + + public NotFoundException(String message) { + super(message); + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/MetadataManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/MetadataManagementService.java index 060492f6203..4765fc047d3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/MetadataManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/MetadataManagementService.java @@ -23,7 +23,6 @@ import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyAlreadyExistsException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyNotFoundException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; - import java.util.List; /** diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java new file mode 100644 index 00000000000..7cf63688087 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common.metadata.mgt; + +public class WhiteLabelArtifactPath { + private String faviconPath; + private String logoPath; + + public WhiteLabelArtifactPath() { + + } + + public WhiteLabelArtifactPath(String faviconPath, String logoPath) { + this.faviconPath = faviconPath; + this.logoPath = logoPath; + } + + public String getFaviconPath() { + return faviconPath; + } + + public void setFaviconPath(String faviconPath) { + this.faviconPath = faviconPath; + } + + public String getLogoPath() { + return logoPath; + } + + public void setLogoPath(String logoPath) { + this.logoPath = logoPath; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java new file mode 100644 index 00000000000..70003b6e60c --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java @@ -0,0 +1,38 @@ +package org.wso2.carbon.device.mgt.common.metadata.mgt; + +public class WhiteLabelImage { + private ImageLocationType imageLocationType; + private String imageLocation; + + public ImageLocationType getImageLocationType() { + return imageLocationType; + } + + public void setImageLocationType(ImageLocationType imageLocationType) { + this.imageLocationType = imageLocationType; + } + + public String getImageLocation() { + return imageLocation; + } + + public void setImageLocation(String imageLocation) { + this.imageLocation = imageLocation; + } + + public enum ImageName { + FAVICON, + LOGO; + + @Override + public String toString() { + return name().toLowerCase(); + } + } + + public enum ImageLocationType { + URL, + CUSTOM_FILE, + DEFAULT_FILE + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java new file mode 100644 index 00000000000..718c9a79244 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java @@ -0,0 +1,53 @@ +package org.wso2.carbon.device.mgt.common.metadata.mgt; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import org.wso2.carbon.device.mgt.common.Base64File; + +public class WhiteLabelImageRequestPayload { + private ImageType imageType; + private JsonElement image; + + public ImageType getImageType() { + return imageType; + } + + public void setImageType(ImageType imageType) { + this.imageType = imageType; + } + + public JsonElement getImage() { + return image; + } + + public Base64File getImageAsBase64File() { + if (imageType != ImageType.BASE64) { + throw new IllegalStateException("Cannot convert image with Image type of " + imageType + " to base64."); + } + return new Gson().fromJson(image, Base64File.class); + } + + public String getImageAsUrl() { + if (imageType != ImageType.URL) { + throw new IllegalStateException("Cannot convert image with Image type of " + imageType + " to image url string."); + } + return new Gson().fromJson(image, String.class); + } + + public void setImage(JsonElement image) { + this.image = image; + } + + public enum ImageType { + URL, + BASE64; + + public WhiteLabelImage.ImageLocationType getDTOImageLocationType() { + if (this == URL) { + return WhiteLabelImage.ImageLocationType.URL; + } + return WhiteLabelImage.ImageLocationType.CUSTOM_FILE; + } + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java new file mode 100644 index 00000000000..649ad471c7e --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common.metadata.mgt; + +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.PaginationResult; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyAlreadyExistsException; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyNotFoundException; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; +import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; + +import java.io.IOException; +import java.util.List; + +/** + * Defines the contract of MetadataManagementService. + */ +public interface WhiteLabelManagementService { + + byte[] getWhiteLabelFavicon() throws + MetadataManagementException, NotFoundException, IOException; + byte[] getWhiteLabelLogo() throws + MetadataManagementException, NotFoundException, IOException; + + void addDefaultWhiteLabelThemeIfNotExist() throws MetadataManagementException; + + void resetToDefaultWhiteLabelTheme() throws MetadataManagementException; + + WhiteLabelTheme updateWhiteLabelTheme(WhiteLabelThemeCreateRequest createWhiteLabelTheme) + throws MetadataManagementException; + + WhiteLabelTheme getWhiteLabelTheme() throws MetadataManagementException, NotFoundException; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java new file mode 100644 index 00000000000..6eaa8b4d05d --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common.metadata.mgt; + +public class WhiteLabelTheme { + private WhiteLabelImage faviconImage; + private WhiteLabelImage logoImage; + private String footerText; + + public String getFooterText() { + return footerText; + } + + public void setFooterText(String footerText) { + this.footerText = footerText; + } + + public WhiteLabelImage getFaviconImage() { + return faviconImage; + } + + public void setFaviconImage(WhiteLabelImage faviconImage) { + this.faviconImage = faviconImage; + } + + public WhiteLabelImage getLogoImage() { + return logoImage; + } + + public void setLogoImage(WhiteLabelImage logoImage) { + this.logoImage = logoImage; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java new file mode 100644 index 00000000000..5e5e6f0d32a --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common.metadata.mgt; + +public class WhiteLabelThemeCreateRequest { + private WhiteLabelImageRequestPayload favicon; + private WhiteLabelImageRequestPayload logo; + private String footerText; + + public WhiteLabelImageRequestPayload getFavicon() { + return favicon; + } + + public void setFavicon(WhiteLabelImageRequestPayload favicon) { + this.favicon = favicon; + } + + public WhiteLabelImageRequestPayload getLogo() { + return logo; + } + + public void setLogo(WhiteLabelImageRequestPayload logo) { + this.logo = logo; + } + + public String getFooterText() { + return footerText; + } + + public void setFooterText(String footerText) { + this.footerText = footerText; + } +} 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 2c7bb449696..8007415ca73 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java new file mode 100644 index 00000000000..dada3c2818a --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java @@ -0,0 +1,32 @@ +/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.common.exception; + +/** + * Represents the exception thrown during storing and retrieving the artifacts. + */ +public class StorageManagementException extends Exception { + public StorageManagementException(String message, Throwable ex) { + super(message, ex); + } + + public StorageManagementException(String message) { + super(message); + } +} + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java index 9626c8198f8..60d1538af9a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java @@ -19,6 +19,8 @@ package org.wso2.carbon.device.mgt.core.common.util; import org.apache.commons.io.FileUtils; +import org.wso2.carbon.device.mgt.common.Base64File; + import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -54,7 +56,7 @@ public class FileUtil { } /** - * Useful to convert input stream to base64 string + * Useful to convert file to base64 string * * @param file stream to be converted * @return base64 string of the provided input stream @@ -64,6 +66,17 @@ public class FileUtil { return Base64.getEncoder().encodeToString(fileContent); } + /** + * Useful to convert {@link File} to {@link Base64File} + * + * @param file to be converted + * @return {@link Base64File} of the provided input stream + */ + public static Base64File fileToBase64File(File file) throws IOException { + String base64String = fileToBase64String(file); + return new Base64File(file.getName(), base64String); + } + /** * This generates file name with a suffix depending on the duplicate name count, useful when saving * files with the same name diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/HttpUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/HttpUtil.java index afd8ad5f44c..84b895be37c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/HttpUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/HttpUtil.java @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.core.common.util; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.StringUtils; +import org.apache.commons.validator.routines.UrlValidator; import org.apache.http.HttpResponse; import org.apache.http.entity.ContentType; import org.apache.http.util.EntityUtils; @@ -234,4 +235,16 @@ public class HttpUtil { ContentType contentType = ContentType.getOrDefault(response.getEntity()); return contentType.getMimeType(); } + + /** + * Validate http url (For example make sure it uses http/https protocol) + * + * @param url url to be checked if valid + * @return if provided http url is valid + */ + public static boolean isHttpUrlValid(String url) { + String[] schemes = {"http","https"}; + UrlValidator urlValidator = new UrlValidator(schemes, UrlValidator.ALLOW_LOCAL_URLS); + return urlValidator.isValid(url); + } } diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/StorageManagementUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/StorageManagementUtil.java similarity index 67% rename from components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/StorageManagementUtil.java rename to components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/StorageManagementUtil.java index f0819dbd807..9766a7a3936 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/util/StorageManagementUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/StorageManagementUtil.java @@ -16,16 +16,12 @@ * under the License. */ -package io.entgra.application.mgt.core.util; +package org.wso2.carbon.device.mgt.core.common.util; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.codec.digest.DigestUtils; -import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import io.entgra.application.mgt.common.ImageArtifact; -import io.entgra.application.mgt.common.exception.ApplicationStorageManagementException; -import io.entgra.application.mgt.common.exception.ResourceManagementException; +import org.wso2.carbon.device.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; import java.io.File; import java.io.FileInputStream; @@ -47,14 +43,13 @@ public class StorageManagementUtil { * This method is responsible for creating artifact parent directories in the given path. * * @param artifactDirectoryPath Path for the artifact directory. - * @throws ResourceManagementException Resource Management Exception. */ - public static void createArtifactDirectory(String artifactDirectoryPath) throws ResourceManagementException { + public static void createArtifactDirectory(String artifactDirectoryPath) throws StorageManagementException { File artifactDirectory = new File(artifactDirectoryPath); if (!artifactDirectory.exists() && !artifactDirectory.mkdirs()) { - throw new ResourceManagementException( - "Cannot create directories in the path to save the application related artifacts"); + throw new StorageManagementException( + "Cannot create directories in the path: " + artifactDirectoryPath); } } @@ -103,20 +98,13 @@ public class StorageManagementUtil { } /** - * To create {@link ImageArtifact}. + * To save a bas64 string of a file in a given location. * - * @param imageFile Image File. - * @param imageArtifactPath Path of the image artifact file. - * @return Image Artifact. - * @throws IOException IO Exception. + * @param base64File {@link Base64File} of the file. */ - public static ImageArtifact createImageArtifact(File imageFile, String imageArtifactPath) throws IOException { - ImageArtifact imageArtifact = new ImageArtifact(); - imageArtifact.setName(imageFile.getName()); - imageArtifact.setType(Files.probeContentType(imageFile.toPath())); - byte[] imageBytes = IOUtils.toByteArray(new FileInputStream(imageArtifactPath)); - imageArtifact.setEncodedImage(Base64.encodeBase64URLSafeString(imageBytes)); - return imageArtifact; + public static void saveFile(Base64File base64File, String path) throws IOException { + InputStream inputStream = FileUtil.base64ToInputStream(base64File.getBase64String()); + saveFile(inputStream, path); } /*** @@ -138,16 +126,4 @@ public class StorageManagementUtil { throw new IOException(msg, e); } } - - public static String getMD5(InputStream binaryFile) throws ApplicationStorageManagementException { - String md5; - try { - md5 = DigestUtils.md5Hex(binaryFile); - } catch (IOException e) { - String msg = "IO Exception occurred while trying to get the md5sum value of application"; - log.error(msg, e); - throw new ApplicationStorageManagementException(msg, e); - } - return md5; - } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java index ebdfa35bfc3..37358e31ca6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java @@ -25,6 +25,7 @@ import org.wso2.carbon.device.mgt.core.config.cache.CertificateCacheConfiguratio import org.wso2.carbon.device.mgt.core.config.cache.DeviceCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.GeoFenceCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.operation.timeout.OperationTimeoutConfiguration; +import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.MetaDataConfiguration; import org.wso2.carbon.device.mgt.core.event.config.EventOperationTaskConfiguration; import org.wso2.carbon.device.mgt.core.config.geo.location.GeoLocationConfiguration; import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations; @@ -68,6 +69,7 @@ public final class DeviceManagementConfig { private EnrollmentNotificationConfiguration enrollmentNotificationConfiguration; private DefaultRoles defaultRoles; private OperationTimeoutConfiguration operationTimeoutConfiguration; + private MetaDataConfiguration metaDataConfiguration; @XmlElement(name = "ManagementRepository", required = true) public DeviceManagementConfigRepository getDeviceManagementConfigRepository() { @@ -254,5 +256,14 @@ public final class DeviceManagementConfig { public void setOperationTimeoutConfiguration(OperationTimeoutConfiguration operationTimeoutConfiguration) { this.operationTimeoutConfiguration = operationTimeoutConfiguration; } + + @XmlElement(name = "MetaDataConfiguration", required = true) + public MetaDataConfiguration getMetaDataConfiguration() { + return metaDataConfiguration; + } + + public void setMetaDataConfiguration(MetaDataConfiguration metaDataConfiguration) { + this.metaDataConfiguration = metaDataConfiguration; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java new file mode 100644 index 00000000000..859baf19790 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java @@ -0,0 +1,18 @@ +package org.wso2.carbon.device.mgt.core.config.tenant.whitelabel; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "MetaDataConfiguration") +public class MetaDataConfiguration { + private WhiteLabelConfiguration whiteLabelConfiguration; + + @XmlElement(name = "WhiteLabelConfiguration", required = true) + public WhiteLabelConfiguration getWhiteLabelConfiguration() { + return whiteLabelConfiguration; + } + + public void setWhiteLabelConfiguration(WhiteLabelConfiguration whiteLabelConfiguration) { + this.whiteLabelConfiguration = whiteLabelConfiguration; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java new file mode 100644 index 00000000000..0d544bedbf1 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java @@ -0,0 +1,28 @@ +package org.wso2.carbon.device.mgt.core.config.tenant.whitelabel; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "WhiteLabelConfiguration") +public class WhiteLabelConfiguration { + private String footerText; + private WhiteLabelImages whiteLabelImages; + + @XmlElement(name = "FooterText", required = true) + public String getFooterText() { + return footerText; + } + + public void setFooterText(String footerText) { + this.footerText = footerText; + } + + @XmlElement(name = "WhiteLabelImages", required = true) + public WhiteLabelImages getWhiteLabelImages() { + return whiteLabelImages; + } + + public void setWhiteLabelImages(WhiteLabelImages whiteLabelImages) { + this.whiteLabelImages = whiteLabelImages; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java new file mode 100644 index 00000000000..4a6039944e3 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java @@ -0,0 +1,49 @@ +package org.wso2.carbon.device.mgt.core.config.tenant.whitelabel; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "WhiteLabelImages") +public class WhiteLabelImages { + + private String storagePath; + private String defaultImagesLocation; + private String defaultFaviconName; + private String defaultLogoName; + + @XmlElement(name = "StoragePath", required = true) + public String getStoragePath() { + return storagePath; + } + + public void setStoragePath(String storagePath) { + this.storagePath = storagePath; + } + + @XmlElement(name = "DefaultFaviconName", required = true) + public String getDefaultFaviconName() { + return defaultFaviconName; + } + + public void setDefaultFaviconName(String defaultFaviconName) { + this.defaultFaviconName = defaultFaviconName; + } + + @XmlElement(name = "DefaultLogoName", required = true) + public String getDefaultLogoName() { + return defaultLogoName; + } + + public void setDefaultLogoName(String defaultLogoName) { + this.defaultLogoName = defaultLogoName; + } + + @XmlElement(name = "DefaultImagesLocation", required = true) + public String getDefaultImagesLocation() { + return defaultImagesLocation; + } + + public void setDefaultImagesLocation(String defaultImagesLocation) { + this.defaultImagesLocation = defaultImagesLocation; + } +} 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 5cb1a1c9ab6..e3bf6981b12 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 @@ -26,6 +26,8 @@ import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorization import org.wso2.carbon.device.mgt.common.event.config.EventConfigurationProviderService; import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationProviderService; import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; +import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; import org.wso2.carbon.device.mgt.common.spi.DeviceTypeGeneratorService; import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig; @@ -34,6 +36,7 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeServiceIdentifier; import org.wso2.carbon.device.mgt.core.geo.task.GeoFenceEventOperationManager; +import org.wso2.carbon.device.mgt.core.metadata.mgt.MetadataManagementServiceImpl; import org.wso2.carbon.device.mgt.core.operation.timeout.task.OperationTimeoutTaskManagerService; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.push.notification.mgt.PushNotificationProviderRepository; @@ -83,6 +86,8 @@ public class DeviceManagementDataHolder { private GeoFenceEventOperationManager geoFenceEventOperationManager; private ExecutorService eventConfigExecutors; private OperationTimeoutTaskManagerService operationTimeoutTaskManagerService; + private MetadataManagementService metadataManagementService; + private WhiteLabelManagementService whiteLabelManagementService; private final Map deviceStatusTaskPluginConfigs = Collections.synchronizedMap( new HashMap<>()); @@ -349,4 +354,20 @@ public class DeviceManagementDataHolder { OperationTimeoutTaskManagerService operationTimeoutTaskManagerService) { this.operationTimeoutTaskManagerService = operationTimeoutTaskManagerService; } + + public MetadataManagementService getMetadataManagementService() { + return metadataManagementService; + } + + public void setMetadataManagementService(MetadataManagementService metadataManagementService) { + this.metadataManagementService = metadataManagementService; + } + + public WhiteLabelManagementService getWhiteLabelManagementService() { + return whiteLabelManagementService; + } + + public void setWhiteLabelManagementService(WhiteLabelManagementService whiteLabelManagementService) { + this.whiteLabelManagementService = whiteLabelManagementService; + } } 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 4c031163aa7..faed94f6d18 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 @@ -31,6 +31,7 @@ import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationProviderService; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementService; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; @@ -58,6 +59,7 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.impl.DeviceInformation import org.wso2.carbon.device.mgt.core.event.config.EventConfigurationProviderServiceImpl; import org.wso2.carbon.device.mgt.core.geo.service.GeoLocationProviderServiceImpl; import org.wso2.carbon.device.mgt.core.metadata.mgt.MetadataManagementServiceImpl; +import org.wso2.carbon.device.mgt.core.metadata.mgt.WhiteLabelManagementServiceImpl; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl; import org.wso2.carbon.device.mgt.core.notification.mgt.dao.NotificationManagementDAOFactory; @@ -349,8 +351,20 @@ public class DeviceManagementServiceComponent { /* Registering Metadata Service */ MetadataManagementService metadataManagementService = new MetadataManagementServiceImpl(); + DeviceManagementDataHolder.getInstance().setMetadataManagementService(metadataManagementService); bundleContext.registerService(MetadataManagementService.class.getName(), metadataManagementService, null); + /* Registering Whitelabel Service */ + WhiteLabelManagementService whiteLabelManagementService = new WhiteLabelManagementServiceImpl(); + DeviceManagementDataHolder.getInstance().setWhiteLabelManagementService(whiteLabelManagementService); + try { + whiteLabelManagementService.addDefaultWhiteLabelThemeIfNotExist(); + } catch (Throwable e) { + log.error("Error occurred while adding default tenant white label theme", e); + + } + bundleContext.registerService(WhiteLabelManagementService.class.getName(), whiteLabelManagementService, null); + /* Registering Event Configuration Service */ EventConfigurationProviderService eventConfigurationService = new EventConfigurationProviderServiceImpl(); DeviceManagementDataHolder.getInstance().setEventConfigurationProviderService(eventConfigurationService); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java index 7d7fd1d7c01..2cdf4d7ad44 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java @@ -33,7 +33,6 @@ import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataDAO; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOException; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; - import java.sql.SQLException; import java.util.List; @@ -44,7 +43,7 @@ public class MetadataManagementServiceImpl implements MetadataManagementService private static final Log log = LogFactory.getLog(MetadataManagementServiceImpl.class); - private MetadataDAO metadataDAO; + private final MetadataDAO metadataDAO; public MetadataManagementServiceImpl() { this.metadataDAO = MetadataManagementDAOFactory.getMetadataDAO(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java new file mode 100644 index 00000000000..86461688246 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -0,0 +1,313 @@ +/* + * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.metadata.mgt; + +import com.google.gson.Gson; +import org.apache.commons.io.IOUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; +import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; +import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; +import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImage; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImageRequestPayload; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; +import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; +import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.MetaDataConfiguration; +import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.WhiteLabelConfiguration; +import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; +import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataDAO; +import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOException; +import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; +import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.util.MetadataConstants; +import org.wso2.carbon.device.mgt.core.metadata.mgt.util.WhiteLabelStorageUtil; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.sql.SQLException; + +/** + * This class implements the MetadataManagementService. + */ +public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementService { + + private static final Log log = LogFactory.getLog(WhiteLabelManagementServiceImpl.class); + + private final MetadataDAO metadataDAO; + + public WhiteLabelManagementServiceImpl() { + this.metadataDAO = MetadataManagementDAOFactory.getMetadataDAO(); + } + + @Override + public byte[] getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException, IOException { + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); + return getImageContent(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + } + + @Override + public byte[] getWhiteLabelLogo() throws MetadataManagementException, NotFoundException, IOException { + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); + return getImageContent(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); + } + + private byte[] getImageContent(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws + IOException, MetadataManagementException, NotFoundException { + if (image.getImageLocationType() == WhiteLabelImage.ImageLocationType.URL) { + return getImageStreamFromUrl(image.getImageLocation()); + } + InputStream fileStream = WhiteLabelStorageUtil.getWhiteLabelImageStream(image, imageName); + return IOUtils.toByteArray(fileStream); + } + + private byte[] getImageStreamFromUrl(String url) throws IOException, NotFoundException { + try(CloseableHttpClient client = HttpClients.createDefault()) { + HttpGet imageGetRequest = new HttpGet(url); + HttpResponse response = client.execute(imageGetRequest); + InputStream imageStream = response.getEntity().getContent(); + if (imageStream == null) { + String msg = "Failed to retrieve the image from url: " + url; + log.error(msg); + throw new NotFoundException(msg); + } + return IOUtils.toByteArray(imageStream); + } + } + + + @Override + public void addDefaultWhiteLabelThemeIfNotExist() throws MetadataManagementException { + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + try { + MetadataManagementDAOFactory.beginTransaction(); + if (!metadataDAO.isExist(tenantId, MetadataConstants.WHITELABEL_META_KEY)) { + WhiteLabelTheme whiteLabelTheme = getDefaultWhiteLabelTheme(); + Metadata metadata = constructWhiteLabelThemeMetadata(whiteLabelTheme); + metadataDAO.addMetadata(tenantId, metadata); + if (log.isDebugEnabled()) { + log.debug("White label metadata entry has inserted successfully"); + } + } + MetadataManagementDAOFactory.commitTransaction(); + } catch (MetadataManagementDAOException e) { + MetadataManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while inserting default whitelabel metadata entry."; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Error occurred while opening a connection to the data source"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } finally { + MetadataManagementDAOFactory.closeConnection(); + } + + } + + @Override + public void resetToDefaultWhiteLabelTheme() throws MetadataManagementException { + WhiteLabelTheme whiteLabelTheme = getDefaultWhiteLabelTheme(); + Metadata metadata = constructWhiteLabelThemeMetadata(whiteLabelTheme); + DeviceManagementDataHolder.getInstance().getMetadataManagementService().updateMetadata(metadata); + } + + private WhiteLabelTheme getDefaultWhiteLabelTheme() { + String footerText = getDefaultFooterText(); + WhiteLabelImage favicon = constructDefaultFaviconImage(); + WhiteLabelImage logo = constructDefaultLogoImage(); + WhiteLabelTheme defaultTheme = new WhiteLabelTheme(); + defaultTheme.setFooterText(footerText); + defaultTheme.setLogoImage(logo); + defaultTheme.setFaviconImage(favicon); + return defaultTheme; + } + + private String getDefaultFooterText() { + MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). + getDeviceManagementConfig().getMetaDataConfiguration(); + WhiteLabelConfiguration whiteLabelConfiguration = metaDataConfiguration.getWhiteLabelConfiguration(); + return whiteLabelConfiguration.getFooterText(); + } + + private WhiteLabelImage constructDefaultFaviconImage() { + MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). + getDeviceManagementConfig().getMetaDataConfiguration(); + WhiteLabelConfiguration whiteLabelConfiguration = metaDataConfiguration.getWhiteLabelConfiguration(); + WhiteLabelImage favicon = new WhiteLabelImage(); + favicon.setImageLocation(whiteLabelConfiguration.getWhiteLabelImages().getDefaultFaviconName()); + setDefaultWhiteLabelImageCommonProperties(favicon); + return favicon; + } + + private WhiteLabelImage constructDefaultLogoImage() { + MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). + getDeviceManagementConfig().getMetaDataConfiguration(); + WhiteLabelConfiguration whiteLabelConfiguration = metaDataConfiguration.getWhiteLabelConfiguration(); + WhiteLabelImage logo = new WhiteLabelImage(); + logo.setImageLocation(whiteLabelConfiguration.getWhiteLabelImages().getDefaultLogoName()); + setDefaultWhiteLabelImageCommonProperties(logo); + return logo; + } + + private void setDefaultWhiteLabelImageCommonProperties(WhiteLabelImage image) { + image.setImageLocationType(WhiteLabelImage.ImageLocationType.DEFAULT_FILE); + } + + @Override + public WhiteLabelTheme updateWhiteLabelTheme(WhiteLabelThemeCreateRequest createWhiteLabelTheme) + throws MetadataManagementException { + if (log.isDebugEnabled()) { + log.debug("Creating Metadata : [" + createWhiteLabelTheme.toString() + "]"); + } + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + File existingFaviconImage = null; + File existingLogoImage = null; + try { + WhiteLabelTheme theme = getWhiteLabelTheme(); + if (theme.getFaviconImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { + existingFaviconImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + } + if (theme.getFaviconImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { + existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + } + storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getFavicon(), WhiteLabelImage.ImageName.FAVICON, tenantId); + storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getLogo(), WhiteLabelImage.ImageName.LOGO, tenantId); + WhiteLabelTheme whiteLabelTheme = constructWhiteLabelTheme(createWhiteLabelTheme); + Metadata metadataWhiteLabelTheme = constructWhiteLabelThemeMetadata(whiteLabelTheme); + + MetadataManagementDAOFactory.beginTransaction(); + metadataDAO.updateMetadata(tenantId, metadataWhiteLabelTheme); + MetadataManagementDAOFactory.commitTransaction(); + if (log.isDebugEnabled()) { + log.debug("Metadata entry created successfully. " + createWhiteLabelTheme.toString()); + } + return whiteLabelTheme; + } catch (MetadataManagementDAOException e) { + MetadataManagementDAOFactory.rollbackTransaction(); + restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); + String msg = "Error occurred while creating the metadata entry. " + createWhiteLabelTheme.toString(); + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } catch (TransactionManagementException e) { + restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); + String msg = "Error occurred while opening a connection to the data source"; + log.error(msg, e); + throw new MetadataManagementException("Error occurred while creating metadata record", e); + } catch (NotFoundException e) { + String msg = "Error occurred while retrieving existing white label theme"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } finally { + MetadataManagementDAOFactory.closeConnection(); + } + } + + private void restoreWhiteLabelImages(File existingFavicon, File existingLogo, int tenantId) + throws MetadataManagementException { + WhiteLabelStorageUtil.deleteWhiteLabelImageForTenantIfExists(tenantId); + if (existingFavicon != null) { + WhiteLabelStorageUtil.storeWhiteLabelImage(existingFavicon, WhiteLabelImage.ImageName.FAVICON, tenantId); + } + if (existingLogo != null) { + WhiteLabelStorageUtil.storeWhiteLabelImage(existingLogo, WhiteLabelImage.ImageName.LOGO, tenantId); + } + } + + private void storeWhiteLabelImageIfRequired(WhiteLabelImageRequestPayload whiteLabelImage, + WhiteLabelImage.ImageName imageName, int tenantId) + throws MetadataManagementException { + if (whiteLabelImage.getImageType() == WhiteLabelImageRequestPayload.ImageType.BASE64) { + Base64File imageBase64 = new Gson().fromJson(whiteLabelImage.getImage(), Base64File.class); + WhiteLabelStorageUtil.updateWhiteLabelImage(imageBase64, imageName, tenantId); + } + } + + private WhiteLabelTheme constructWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { + WhiteLabelTheme whiteLabelTheme = new WhiteLabelTheme(); + WhiteLabelImageRequestPayload faviconPayload = whiteLabelThemeCreateRequest.getFavicon(); + WhiteLabelImageRequestPayload logoPayload = whiteLabelThemeCreateRequest.getLogo(); + WhiteLabelImage faviconImage = constructWhiteLabelImageDTO(faviconPayload); + WhiteLabelImage logoImage = constructWhiteLabelImageDTO(logoPayload); + whiteLabelTheme.setFaviconImage(faviconImage); + whiteLabelTheme.setLogoImage(logoImage); + whiteLabelTheme.setFooterText(whiteLabelThemeCreateRequest.getFooterText()); + return whiteLabelTheme; + } + + private WhiteLabelImage constructWhiteLabelImageDTO(WhiteLabelImageRequestPayload image) { + WhiteLabelImage imageResponse = new WhiteLabelImage(); + WhiteLabelImage.ImageLocationType imageLocationType = image.getImageType().getDTOImageLocationType(); + imageResponse.setImageLocationType(imageLocationType); + String imageLocation; + if (image.getImageType() == WhiteLabelImageRequestPayload.ImageType.BASE64) { + Base64File imageBase64 = image.getImageAsBase64File(); + imageLocation = imageBase64.getName(); + } else { + imageLocation = image.getImageAsUrl(); + } + imageResponse.setImageLocation(imageLocation); + return imageResponse; + } + + private Metadata constructWhiteLabelThemeMetadata(WhiteLabelTheme whiteLabelTheme) { + String whiteLabelThemeJsonString = new Gson().toJson(whiteLabelTheme); + Metadata metadata = new Metadata(); + metadata.setMetaKey(MetadataConstants.WHITELABEL_META_KEY); + metadata.setMetaValue(whiteLabelThemeJsonString); + return metadata; + } + + @Override + public WhiteLabelTheme getWhiteLabelTheme() throws MetadataManagementException, NotFoundException { + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + if (log.isDebugEnabled()) { + log.debug("Retrieving whitelabel theme for tenant: " + tenantId); + } + try { + MetadataManagementDAOFactory.openConnection(); + Metadata metadata = metadataDAO.getMetadata(tenantId, MetadataConstants.WHITELABEL_META_KEY); + if (metadata == null) { + String msg = "Whitelabel theme not found for tenant: " + tenantId; + log.debug(msg); + throw new NotFoundException(msg); + } + return new Gson().fromJson(metadata.getMetaValue(), WhiteLabelTheme.class); + } catch (MetadataManagementDAOException e) { + String msg = "Error occurred while retrieving white label theme for tenant:" + tenantId; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } catch (SQLException e) { + String msg = "Error occurred while opening a connection to the data source"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } finally { + MetadataManagementDAOFactory.closeConnection(); + } + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java new file mode 100644 index 00000000000..19d7cf59bdc --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java @@ -0,0 +1,22 @@ +/* Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.metadata.mgt.dao.util; + +public class MetadataConstants { + public static final String WHITELABEL_META_KEY = "whitelabel"; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java new file mode 100644 index 00000000000..ac9f705a855 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -0,0 +1,162 @@ +/* Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.metadata.mgt.util; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; +import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; +import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImage; +import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; +import org.wso2.carbon.device.mgt.core.common.util.FileUtil; +import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; +import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; +import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.MetaDataConfiguration; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +/** + * This class contains the default concrete implementation of ApplicationStorage Management. + */ +public class WhiteLabelStorageUtil { + private static final Log log = LogFactory.getLog(WhiteLabelStorageUtil.class); + private static final MetaDataConfiguration metadataConfig; + private static final String STORAGE_PATH; + + static { + metadataConfig = DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getMetaDataConfiguration(); + if (metadataConfig == null) { + throw new RuntimeException("Meta configuration is not found in cdm-config.xml"); + } + STORAGE_PATH = metadataConfig.getWhiteLabelConfiguration().getWhiteLabelImages().getStoragePath(); + } + + public static void storeWhiteLabelImage(Base64File image, WhiteLabelImage.ImageName imageName, int tenantId) + throws MetadataManagementException { + String storedLocation; + + try { + String imageStoringBaseDirPath = STORAGE_PATH + File.separator + tenantId; + StorageManagementUtil.createArtifactDirectory(imageStoringBaseDirPath); + String storingDir = imageStoringBaseDirPath + File.separator + imageName; + StorageManagementUtil.createArtifactDirectory(storingDir); + storedLocation = storingDir + File.separator + image.getName(); + StorageManagementUtil.saveFile(image, storedLocation); + } catch (IOException e) { + String msg = "IO Exception occurred while saving whitelabel artifacts for the tenant " + tenantId; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } catch (StorageManagementException e) { + String msg = "Error occurred while uploading white label image artifacts"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } + } + + public static void storeWhiteLabelImage(File file, WhiteLabelImage.ImageName imageName, int tenantId) throws + MetadataManagementException { + try { + storeWhiteLabelImage(FileUtil.fileToBase64File(file), imageName, tenantId); + } catch (IOException e) { + String msg = "Error occurred when converting provided File object to Base64File class"; + log.error(msg); + throw new MetadataManagementException(msg, e); + } + } + + + public static void updateWhiteLabelImage(Base64File image, WhiteLabelImage.ImageName imageName, int tenantId) + throws MetadataManagementException { + deleteWhiteLabelImageIfExists(imageName, tenantId); + storeWhiteLabelImage(image, imageName, tenantId); + } + + public static File getWhiteLabelImageFile(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) + throws MetadataManagementException, NotFoundException { + String fullPathToImage = getPathToImage(image, imageName); + return new File(fullPathToImage); + } + + public static InputStream getWhiteLabelImageStream(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) + throws MetadataManagementException, NotFoundException { + String fullPathToFile = getPathToImage(image, imageName); + try { + InputStream imageStream = StorageManagementUtil.getInputStream(fullPathToFile); + if (imageStream == null) { + String msg = "Failed to get the " + imageName + " image with the file name: " + fullPathToFile; + log.error(msg); + throw new NotFoundException(msg); + } + return imageStream; + } catch (IOException e) { + String msg = "Error occurred when accessing the file in file path: " + fullPathToFile; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } + } + + private static String getPathToImage(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) + throws MetadataManagementException { + WhiteLabelImage.ImageLocationType imageLocationType = image.getImageLocationType(); + if (imageLocationType == WhiteLabelImage.ImageLocationType.URL) { + String msg = "White label images of URL type is not stored, hence it doesn't have a path in file system."; + log.error(msg); + throw new MetadataManagementException(msg); + } + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + String fileName = image.getImageLocation(); + String filePath = String.valueOf(tenantId); + if (imageLocationType == WhiteLabelImage.ImageLocationType.DEFAULT_FILE) { + filePath = metadataConfig.getWhiteLabelConfiguration().getWhiteLabelImages().getDefaultImagesLocation(); + } + return STORAGE_PATH + File.separator + filePath + File.separator + imageName + File.separator + fileName; + } + + /*** + * This method is responsible to delete artifact file which is located in the artifact path. + */ + public static void deleteWhiteLabelImageIfExists(WhiteLabelImage.ImageName imageName, int tenantId) throws MetadataManagementException { + String artifactPath = STORAGE_PATH + File.separator + tenantId + File.separator + imageName; + File artifact = new File(artifactPath); + if (artifact.exists()) { + try { + StorageManagementUtil.delete(artifact); + } catch (IOException e) { + throw new MetadataManagementException("Error occurred while deleting whitelabel artifacts", e); + } + } + } + + /*** + * This method is responsible to delete artifact file which is located in the artifact path. + */ + public static void deleteWhiteLabelImageForTenantIfExists(int tenantId) throws MetadataManagementException { + String artifactPath = STORAGE_PATH + File.separator + tenantId; + File artifact = new File(artifactPath); + if (artifact.exists()) { + try { + StorageManagementUtil.delete(artifact); + } catch (IOException e) { + throw new MetadataManagementException("Error occurred while deleting whitelabel artifacts", e); + } + } + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java index 5e0e0cff931..872648881df 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java @@ -20,6 +20,7 @@ package org.wso2.carbon.device.mgt.core.util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.permission.mgt.PermissionManagementException; import org.wso2.carbon.device.mgt.common.roles.config.Role; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; @@ -68,6 +69,11 @@ public class DeviceMgtTenantMgtListener implements TenantMgtListener { PrivilegedCarbonContext.endTenantFlow(); } } + try { + DeviceManagementDataHolder.getInstance().getMetadataManagementService().addDefaultWhiteLabelThemeIfNotExist(); + } catch (MetadataManagementException e) { + log.error("Error occurred while adding default white label theme to created tenant.", e); + } } @Override 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 index 6c22827666a..254a0e06e54 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index f2f79a482c4..168e99f4858 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 8676d01aefb..5e9565dd276 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index e0d871e8be7..d842f020d9c 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 00ef6275581..00dcc3a169e 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 5eb633afe42..c1b6a61b47f 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index eb3e1e1a147..1fe76306653 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 25fb1f91931..bea3ed30cd9 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 72c88ac3e1c..6397a558a00 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 309fd2171c3..0c4862a266f 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index cf1c7f9b343..8126f754c91 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index cae20ffbd53..a7b2a911c0b 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 77b99738269..487e9428161 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index f8b0169bbe1..fc042037541 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index a5824da02e9..49b0d1b4d3d 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 81e2e59fb19..b5ade0b0c3f 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 545f74e108d..408abff8782 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 49f84d18008..786ca943c11 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 20ce4ea49d4..7ce23d075e1 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 0bb3f68fc0a..7037b73e5c8 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 1ca37a87055..d4f5d22e055 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 65b87e96a29..1e3917a86e7 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index c9e81a7326d..c073d222ea1 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index d617e96461b..e773a44ec67 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index bed5b34afc0..76e69e798e8 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 1ff3f9b7b97..d50ddc46a45 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index c838305151c..74d6ec9ecad 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index eefeef9bfc4..8f657bc162c 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index b91b252459d..2be4052a599 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index 921d92cc0d1..3560c4f748e 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -23,7 +23,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 3b232e73b4b..4452caf2a83 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index ea046da07c3..43dedeed4ab 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 492d585483f..12789094895 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 2e492a4406f..ad2482c6948 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 7bd8b97a3c3..6a53d9fa88f 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 45ba9da0e0e..a9ea4dfba2a 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 2a9b601a7e5..dcc3615536c 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 1fb02d23f49..b5f340e61c5 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index c8c6642101b..662c4325af6 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 4c2c79eaa54..c6d3b7a8567 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 253db555c44..b2d0d3b1530 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 4b280f00e58..16c161caf71 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 67c3051d6a2..9f34db1a965 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index dd847c9f24b..27a6c0f30e9 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 61a4a27dde4..a513e38e589 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 3f381205f66..ee84b3e83bd 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index a78088e2f8c..6420e924c80 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 8c0d7bed76a..cfcbfcbc78e 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -194,6 +194,8 @@ perm:android:upgrade-firmware perm:android:send-notification perm:geo-service:geo-fence + perm:whitelabel:view + perm:whitelabel:update perm:metadata:view perm:metadata:create perm:metadata:update diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/mdm-ui-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/mdm-ui-config.xml.j2 index 292234023cb..612cbc4d3db 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/mdm-ui-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/mdm-ui-config.xml.j2 @@ -206,6 +206,8 @@ perm:android:upgrade-firmware perm:android:send-notification perm:geo-service:geo-fence + perm:whitelabel:view + perm:whitelabel:update perm:metadata:view perm:metadata:create perm:metadata:update diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 6816cc71f57..af1a3b165f9 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 6a89749b3e2..874edaca48f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml 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 5dd7af0f425..9e036804718 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 330a8a0f007..65ab4f8708a 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 6f971c06e8b..69639f26881 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 3356963a637..96d62150004 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 1e58aec7c3e..06427c4750a 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index a0459c1b18b..1bcc6e4c9d7 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 2700187e56e..612783f39f4 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 2efb0f9cd07..d2dfee46638 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 9f1c95a2dd7..dfa2a8ebe9f 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index d046e692e97..c4880eab25f 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 283b56eebf1..be7df6c6bec 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index e5fc66ba9c7..efb91751ba5 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index fbc892d47c9..c09e4d3d276 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index cb55c3bba0f..e8a77b147a7 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index e597c04fd8a..22b6229db03 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index b91bded19dc..bd06e13b89e 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 71c04123dd9..679ea4dad02 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 5636ba26b04..27fe3146c08 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 8603b65f94f..5ae11399c55 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -2076,7 +2076,7 @@ 1.2.11.wso2v10 - 5.0.7-SNAPSHOT + 5.0.6-SNAPSHOT 4.7.35 From 1d84adbb4f7504aea34ac5baf61319366ac2b767 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Thu, 19 May 2022 22:12:42 +0530 Subject: [PATCH 002/101] Add java doc comment Fix adding default white label on tenant create Add whitelabel logo and favicon apis as non secured endpoints Fix License --- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../io.entgra.application.mgt.core/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../jaxrs/service/api/WhiteLabelService.java | 10 +-- .../service/impl/WhiteLabelServiceImpl.java | 35 ++------- .../src/main/webapp/WEB-INF/web.xml | 4 +- .../org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../mgt/WhiteLabelManagementService.java | 47 ++++++++---- .../org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../DeviceManagementServiceComponent.java | 5 +- .../mgt/WhiteLabelManagementServiceImpl.java | 71 ++++++++++++++++--- .../mgt/util/WhiteLabelStorageUtil.java | 48 +++++++++++-- .../core/util/DeviceMgtTenantMgtListener.java | 3 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- .../webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- .../webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 4 +- 109 files changed, 257 insertions(+), 170 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index fe919052144..cec4dcfb018 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 5b519b30d42..471ef038641 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 46f2116b2b3..6a9eb109ddc 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index c27ad6278bb..6df5c58fde9 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 82eafa01368..1cdf1d717fe 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 270b13d80e5..9e6e0ee3dc3 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index b0699d43b82..604d3b430f4 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index f4ee8cdd9b6..4c1066a2712 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index af203bd0254..104da8bfb2d 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -5,7 +5,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 9f27c44e1eb..673610f3637 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 14b0fe0f369..d72878e2260 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index d113cfd633a..5f3bf1396a0 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 4fb755bab0d..c5a06e5afdb 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index c18db9cdd10..2b0a0f86064 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 81b0cd151de..a29e450988b 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index e1d4400d792..2c15d1522da 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 4adb35bdf34..362f84188ab 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 62150762208..c24bb9ee779 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 7f468c0d95c..c8ef6490f3b 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index c0228dd4506..492567040a3 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index ab7d21fe476..499770d3f30 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index d5816dac404..d17941ce53f 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 5488bf8a1ad..f531a7985d2 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 15904f573b3..c76a9d06420 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 779b6f0dc81..24fc4c8325b 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index c8c38d83b24..ed0615a9659 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 4657158241e..30c92b62839 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 867a524d3ce..780f4308e18 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index e1645847c7a..110c755d042 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 74a8f7cd34f..ae70a2d2ed4 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 1bb61cc59a1..6aea2a873ae 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java index 647e8945216..8545bebcd95 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -20,7 +20,6 @@ package org.wso2.carbon.device.mgt.jaxrs.service.api; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import io.swagger.annotations.Extension; @@ -35,18 +34,12 @@ import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; -import org.wso2.carbon.device.mgt.jaxrs.beans.MetadataList; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; - import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; -import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; -import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -107,7 +100,6 @@ public interface WhiteLabelService { @ApiResponse( code = 200, message = "OK. \n Successfully retrieved white label favicon.", - response = Metadata.class, responseHeaders = { @ResponseHeader( name = "Content-Type", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index bdc4c748f8d..a0380f70323 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -20,37 +20,22 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.PaginationRequest; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyAlreadyExistsException; -import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyNotFoundException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; -import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; -import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; -import org.wso2.carbon.device.mgt.jaxrs.beans.MetadataList; -import org.wso2.carbon.device.mgt.jaxrs.service.api.MetadataService; import org.wso2.carbon.device.mgt.jaxrs.service.api.WhiteLabelService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; - import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; -import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; -import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.ByteArrayInputStream; import java.io.IOException; -import java.util.List; /** * This is the service class for metadata management. @@ -70,15 +55,11 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(); return sendFileStream(fileContent); } catch (NotFoundException e) { - String msg = "Couldn't find such a whitelabel artifact."; + String msg = "Favicon not found this tenant."; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { - String msg = "Error occurred while creating whitelabel for tenant"; - log.error(msg, e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); - } catch (IOException e) { - String msg = "Error occurred while getting the byte array of the artifact file. "; + String msg = "Error occurred while getting favicon"; log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } @@ -92,15 +73,11 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(); return sendFileStream(fileContent); } catch (NotFoundException e) { - String msg = "Couldn't find such a whitelabel artifact."; + String msg = "Logo not found for this tenant."; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { - String msg = "Error occurred while creating whitelabel for tenant"; - log.error(msg, e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); - } catch (IOException e) { - String msg = "Error occurred while getting the byte array of the artifact file. "; + String msg = "Error occurred while getting logo"; log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } @@ -154,7 +131,7 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { /** * Useful to send files as application/octet-stream responses */ - private Response sendFileStream(byte[] content) throws IOException { + private Response sendFileStream(byte[] content) { try (ByteArrayInputStream binaryDuplicate = new ByteArrayInputStream(content)) { Response.ResponseBuilder response = Response .ok(binaryDuplicate, MediaType.APPLICATION_OCTET_STREAM); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml index f5282af6a83..5cc5c012ff2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml @@ -48,8 +48,8 @@ nonSecuredEndPoints - /api/device-mgt/v1.0/users/validate - /api/device-mgt/v1.0/whitelabel/favicon + /api/device-mgt/v1.0/users/validate, + /api/device-mgt/v1.0/whitelabel/favicon, /api/device-mgt/v1.0/whitelabel/logo diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 0a8dde45f39..8c83847a2ac 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java index 649ad471c7e..0c84ee2ea0c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -17,33 +17,56 @@ */ package org.wso2.carbon.device.mgt.common.metadata.mgt; - -import org.wso2.carbon.device.mgt.common.PaginationRequest; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyAlreadyExistsException; -import org.wso2.carbon.device.mgt.common.exceptions.MetadataKeyNotFoundException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; - import java.io.IOException; -import java.util.List; /** - * Defines the contract of MetadataManagementService. + * Defines the contract of WhiteLabelManagementService. */ public interface WhiteLabelManagementService { + /** + * Use to get byte content of favicon whitelabel image + * @return byte content of favicon + * @throws MetadataManagementException if error occurred while retrieving favicon + * @throws NotFoundException if favicon is not found + */ byte[] getWhiteLabelFavicon() throws - MetadataManagementException, NotFoundException, IOException; + MetadataManagementException, NotFoundException; + + /** + * Use to get byte content of logo whitelabel image + * @return byte content of logo + * @throws MetadataManagementException if error occurred while retrieving logo + * @throws NotFoundException if logo is not found + */ byte[] getWhiteLabelLogo() throws - MetadataManagementException, NotFoundException, IOException; + MetadataManagementException, NotFoundException; - void addDefaultWhiteLabelThemeIfNotExist() throws MetadataManagementException; + /** + * This method is useful to create & persist default white label theme for provided tenant if + * it doesn't exist already + * @throws MetadataManagementException if error while adding default white label theme + */ + void addDefaultWhiteLabelThemeIfNotExist(int tenantId) throws MetadataManagementException; + /** + * This method is useful to reset existing white label to default whitelabel + * @throws MetadataManagementException if error while resetting default white label theme + */ void resetToDefaultWhiteLabelTheme() throws MetadataManagementException; + /** + * This method is useful to update existing white label theme + * @throws MetadataManagementException if error while updating existing white label theme + */ WhiteLabelTheme updateWhiteLabelTheme(WhiteLabelThemeCreateRequest createWhiteLabelTheme) throws MetadataManagementException; + /** + * This method is useful to get existing white label theme + * @throws MetadataManagementException if error while getting existing white label theme + */ WhiteLabelTheme getWhiteLabelTheme() throws MetadataManagementException, NotFoundException; } 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 8007415ca73..2c7bb449696 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml 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 faed94f6d18..b29e5b911ce 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 @@ -22,6 +22,7 @@ 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.context.PrivilegedCarbonContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; @@ -291,6 +292,8 @@ public class DeviceManagementServiceComponent { if (log.isDebugEnabled()) { log.debug("Registering OSGi service DeviceManagementProviderServiceImpl"); } + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + /* Registering Tenants Observer */ BundleContext bundleContext = componentContext.getBundleContext(); TenantCreateObserver listener = new TenantCreateObserver(); @@ -358,7 +361,7 @@ public class DeviceManagementServiceComponent { WhiteLabelManagementService whiteLabelManagementService = new WhiteLabelManagementServiceImpl(); DeviceManagementDataHolder.getInstance().setWhiteLabelManagementService(whiteLabelManagementService); try { - whiteLabelManagementService.addDefaultWhiteLabelThemeIfNotExist(); + whiteLabelManagementService.addDefaultWhiteLabelThemeIfNotExist(tenantId); } catch (Throwable e) { log.error("Error occurred while adding default tenant white label theme", e); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 86461688246..e0596fe9971 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -66,17 +66,33 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } @Override - public byte[] getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException, IOException { - WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); - return getImageContent(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + public byte[] getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException { + try { + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); + return getImageContent(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + + } catch (IOException e) { + String msg = "Error occurred while getting byte content of favicon"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } } @Override - public byte[] getWhiteLabelLogo() throws MetadataManagementException, NotFoundException, IOException { - WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); - return getImageContent(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); + public byte[] getWhiteLabelLogo() throws MetadataManagementException, NotFoundException { + try { + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); + return getImageContent(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); + } catch (IOException e) { + String msg = "Error occurred while getting byte content of logo"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } } + /** + * Useful to get white label image file byte content for provided {@link WhiteLabelImage.ImageName} + */ private byte[] getImageContent(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws IOException, MetadataManagementException, NotFoundException { if (image.getImageLocationType() == WhiteLabelImage.ImageLocationType.URL) { @@ -86,6 +102,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return IOUtils.toByteArray(fileStream); } + /** + * Useful to get white label image file byte content from provided url + */ private byte[] getImageStreamFromUrl(String url) throws IOException, NotFoundException { try(CloseableHttpClient client = HttpClients.createDefault()) { HttpGet imageGetRequest = new HttpGet(url); @@ -102,8 +121,7 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ @Override - public void addDefaultWhiteLabelThemeIfNotExist() throws MetadataManagementException { - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + public void addDefaultWhiteLabelThemeIfNotExist(int tenantId) throws MetadataManagementException { try { MetadataManagementDAOFactory.beginTransaction(); if (!metadataDAO.isExist(tenantId, MetadataConstants.WHITELABEL_META_KEY)) { @@ -137,6 +155,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ DeviceManagementDataHolder.getInstance().getMetadataManagementService().updateMetadata(metadata); } + /** + * Construct and return default whitelabel detail bean {@link WhiteLabelImage} + */ private WhiteLabelTheme getDefaultWhiteLabelTheme() { String footerText = getDefaultFooterText(); WhiteLabelImage favicon = constructDefaultFaviconImage(); @@ -148,6 +169,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return defaultTheme; } + /** + * Get default whitelabel label footer from config + */ private String getDefaultFooterText() { MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). getDeviceManagementConfig().getMetaDataConfiguration(); @@ -175,6 +199,10 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return logo; } + /** + * This is useful to set common properties such as DEFAULT_FILE type for {@link WhiteLabelImage.ImageLocationType} + * for default white label image bean{@link WhiteLabelImage} + */ private void setDefaultWhiteLabelImageCommonProperties(WhiteLabelImage image) { image.setImageLocationType(WhiteLabelImage.ImageLocationType.DEFAULT_FILE); } @@ -228,6 +256,15 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } } + /** + * This is method is useful to restore provided existing white label images (i.e: favicon/logo). + * For example if any exception occurred white updating/deleting white label, this method can be used to + * restore the existing images in any case. Note that the existing images should be first loaded so that + * those can be passed to this method in order to restore. + * + * @param existingFavicon existing favicon image file + * @param existingLogo existing logo image file + */ private void restoreWhiteLabelImages(File existingFavicon, File existingLogo, int tenantId) throws MetadataManagementException { WhiteLabelStorageUtil.deleteWhiteLabelImageForTenantIfExists(tenantId); @@ -239,6 +276,13 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } } + /** + * This handles storing provided white label image if required. + * For example if the provided white label image is of URL type it doesn't need to be stored + * + * @param whiteLabelImage image to be stored + * @param imageName (i.e: FAVICON) + */ private void storeWhiteLabelImageIfRequired(WhiteLabelImageRequestPayload whiteLabelImage, WhiteLabelImage.ImageName imageName, int tenantId) throws MetadataManagementException { @@ -248,6 +292,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } } + /** + * Generate {@link WhiteLabelTheme} from provided {@link WhiteLabelThemeCreateRequest} + */ private WhiteLabelTheme constructWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { WhiteLabelTheme whiteLabelTheme = new WhiteLabelTheme(); WhiteLabelImageRequestPayload faviconPayload = whiteLabelThemeCreateRequest.getFavicon(); @@ -260,6 +307,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return whiteLabelTheme; } + /** + * Generate {@link WhiteLabelImage} from provided {@link WhiteLabelImageRequestPayload} + */ private WhiteLabelImage constructWhiteLabelImageDTO(WhiteLabelImageRequestPayload image) { WhiteLabelImage imageResponse = new WhiteLabelImage(); WhiteLabelImage.ImageLocationType imageLocationType = image.getImageType().getDTOImageLocationType(); @@ -275,6 +325,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return imageResponse; } + /** + * Generate {@link Metadata} from provided {@link WhiteLabelImage} + */ private Metadata constructWhiteLabelThemeMetadata(WhiteLabelTheme whiteLabelTheme) { String whiteLabelThemeJsonString = new Gson().toJson(whiteLabelTheme); Metadata metadata = new Metadata(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index ac9f705a855..553b53a459f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -49,10 +49,15 @@ public class WhiteLabelStorageUtil { STORAGE_PATH = metadataConfig.getWhiteLabelConfiguration().getWhiteLabelImages().getStoragePath(); } + /** + * Store provided white label {@link Base64File} image + * + * @param image base64 image file + * @param imageName {@link WhiteLabelImage.ImageName} (i.e FAVICON) + */ public static void storeWhiteLabelImage(Base64File image, WhiteLabelImage.ImageName imageName, int tenantId) throws MetadataManagementException { String storedLocation; - try { String imageStoringBaseDirPath = STORAGE_PATH + File.separator + tenantId; StorageManagementUtil.createArtifactDirectory(imageStoringBaseDirPath); @@ -71,10 +76,16 @@ public class WhiteLabelStorageUtil { } } - public static void storeWhiteLabelImage(File file, WhiteLabelImage.ImageName imageName, int tenantId) throws + /** + * Store provided white label {@link File} image + * + * @param image white label file + * @param imageName {@link WhiteLabelImage.ImageName} (i.e FAVICON) + */ + public static void storeWhiteLabelImage(File image, WhiteLabelImage.ImageName imageName, int tenantId) throws MetadataManagementException { try { - storeWhiteLabelImage(FileUtil.fileToBase64File(file), imageName, tenantId); + storeWhiteLabelImage(FileUtil.fileToBase64File(image), imageName, tenantId); } catch (IOException e) { String msg = "Error occurred when converting provided File object to Base64File class"; log.error(msg); @@ -83,18 +94,38 @@ public class WhiteLabelStorageUtil { } + /** + * Update white label image for provided tenant + * + * @param image {@link Base64File} white label file + * @param imageName (i.e: FAVICON) + */ public static void updateWhiteLabelImage(Base64File image, WhiteLabelImage.ImageName imageName, int tenantId) throws MetadataManagementException { deleteWhiteLabelImageIfExists(imageName, tenantId); storeWhiteLabelImage(image, imageName, tenantId); } + /** + * Use to get a given {@link WhiteLabelImage.ImageName (i.e: LOGO)} white label image File + * + * @param image detail bean + * @param imageName (i.e: LOGO) + * @return white label image file {@link File} + */ public static File getWhiteLabelImageFile(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws MetadataManagementException, NotFoundException { String fullPathToImage = getPathToImage(image, imageName); return new File(fullPathToImage); } + /** + * Useful to get the given {@link WhiteLabelImage.ImageName (i.e: LOGO)} white label image InputStream + * + * @param image - white label image detail bean + * @param imageName (i.e: LOGO) + * @return white label image input stream + */ public static InputStream getWhiteLabelImageStream(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws MetadataManagementException, NotFoundException { String fullPathToFile = getPathToImage(image, imageName); @@ -113,6 +144,13 @@ public class WhiteLabelStorageUtil { } } + /** + * Construct the path to white label image in the file system and return + * + * @param image - white label image detail bean + * @param imageName (i.e: LOGO) + * @return Full path to white label image in the system + */ private static String getPathToImage(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws MetadataManagementException { WhiteLabelImage.ImageLocationType imageLocationType = image.getImageLocationType(); @@ -131,7 +169,7 @@ public class WhiteLabelStorageUtil { } /*** - * This method is responsible to delete artifact file which is located in the artifact path. + * This method is responsible to delete provided white label image file which if exist */ public static void deleteWhiteLabelImageIfExists(WhiteLabelImage.ImageName imageName, int tenantId) throws MetadataManagementException { String artifactPath = STORAGE_PATH + File.separator + tenantId + File.separator + imageName; @@ -146,7 +184,7 @@ public class WhiteLabelStorageUtil { } /*** - * This method is responsible to delete artifact file which is located in the artifact path. + * This method is responsible to delete all white label images for provided tenant */ public static void deleteWhiteLabelImageForTenantIfExists(int tenantId) throws MetadataManagementException { String artifactPath = STORAGE_PATH + File.separator + tenantId; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java index 872648881df..79f58e82a17 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceMgtTenantMgtListener.java @@ -70,7 +70,8 @@ public class DeviceMgtTenantMgtListener implements TenantMgtListener { } } try { - DeviceManagementDataHolder.getInstance().getMetadataManagementService().addDefaultWhiteLabelThemeIfNotExist(); + DeviceManagementDataHolder.getInstance().getWhiteLabelManagementService(). + addDefaultWhiteLabelThemeIfNotExist(tenantInfoBean.getTenantId()); } catch (MetadataManagementException e) { log.error("Error occurred while adding default white label theme to created tenant.", e); } 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 index 254a0e06e54..6c22827666a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 168e99f4858..f2f79a482c4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 5e9565dd276..8676d01aefb 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index d842f020d9c..e0d871e8be7 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 00dcc3a169e..00ef6275581 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index c1b6a61b47f..5eb633afe42 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 1fe76306653..eb3e1e1a147 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index bea3ed30cd9..25fb1f91931 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 6397a558a00..72c88ac3e1c 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 0c4862a266f..309fd2171c3 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 8126f754c91..cf1c7f9b343 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index a7b2a911c0b..cae20ffbd53 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 487e9428161..77b99738269 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index fc042037541..f8b0169bbe1 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 49b0d1b4d3d..a5824da02e9 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index b5ade0b0c3f..81e2e59fb19 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 408abff8782..545f74e108d 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 786ca943c11..49f84d18008 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 7ce23d075e1..20ce4ea49d4 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 7037b73e5c8..0bb3f68fc0a 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index d4f5d22e055..1ca37a87055 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 1e3917a86e7..65b87e96a29 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index c073d222ea1..c9e81a7326d 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index e773a44ec67..d617e96461b 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 76e69e798e8..bed5b34afc0 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index d50ddc46a45..1ff3f9b7b97 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 74d6ec9ecad..c838305151c 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index 8f657bc162c..eefeef9bfc4 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 2be4052a599..b91b252459d 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index 3560c4f748e..921d92cc0d1 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -23,7 +23,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 4452caf2a83..3b232e73b4b 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 43dedeed4ab..ea046da07c3 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 12789094895..492d585483f 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index ad2482c6948..2e492a4406f 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 6a53d9fa88f..7bd8b97a3c3 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index a9ea4dfba2a..45ba9da0e0e 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index dcc3615536c..2a9b601a7e5 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index b5f340e61c5..1fb02d23f49 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 662c4325af6..c8c6642101b 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index c6d3b7a8567..4c2c79eaa54 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index b2d0d3b1530..253db555c44 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 16c161caf71..4b280f00e58 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 9f34db1a965..67c3051d6a2 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 27a6c0f30e9..dd847c9f24b 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index a513e38e589..61a4a27dde4 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index ee84b3e83bd..3f381205f66 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 6420e924c80..a78088e2f8c 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index af1a3b165f9..6816cc71f57 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 874edaca48f..6a89749b3e2 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml 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 9e036804718..5dd7af0f425 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 65ab4f8708a..330a8a0f007 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 69639f26881..6f971c06e8b 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 96d62150004..3356963a637 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 06427c4750a..1e58aec7c3e 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 1bcc6e4c9d7..a0459c1b18b 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 612783f39f4..2700187e56e 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index d2dfee46638..2efb0f9cd07 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index dfa2a8ebe9f..9f1c95a2dd7 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index c4880eab25f..d046e692e97 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index be7df6c6bec..283b56eebf1 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index efb91751ba5..e5fc66ba9c7 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index c09e4d3d276..fbc892d47c9 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index e8a77b147a7..cb55c3bba0f 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index 22b6229db03..e597c04fd8a 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index bd06e13b89e..b91bded19dc 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 679ea4dad02..71c04123dd9 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 27fe3146c08..5636ba26b04 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 5ae11399c55..8603b65f94f 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -2076,7 +2076,7 @@ 1.2.11.wso2v10 - 5.0.6-SNAPSHOT + 5.0.7-SNAPSHOT 4.7.35 From 1559af96606377f1216099e1259b19ac17dd68d9 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Tue, 24 May 2022 20:59:21 +0530 Subject: [PATCH 003/101] Adress feedback Add missing licenses --- .../mgt/core/impl/ApplicationManagerImpl.java | 15 +++++---- .../impl/ApplicationStorageManagerImpl.java | 3 +- .../service/impl/WhiteLabelServiceImpl.java | 1 - .../impl/util/RequestValidationUtil.java | 31 +++++++++---------- .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 2 +- .../common/exceptions/NotFoundException.java | 5 ++- .../common/metadata/mgt/WhiteLabelImage.java | 18 +++++++++++ .../mgt/WhiteLabelImageRequestPayload.java | 18 +++++++++++ .../mgt/WhiteLabelManagementService.java | 2 +- .../whitelabel/MetaDataConfiguration.java | 18 +++++++++++ .../whitelabel/WhiteLabelConfiguration.java | 18 +++++++++++ .../tenant/whitelabel/WhiteLabelImages.java | 18 +++++++++++ .../mgt/WhiteLabelManagementServiceImpl.java | 11 ++++++- .../mgt/util/WhiteLabelStorageUtil.java | 10 ++++-- 14 files changed, 135 insertions(+), 35 deletions(-) diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java index 58e0ebfc903..23237e54c8b 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java @@ -87,7 +87,6 @@ import io.entgra.application.mgt.core.lifecycle.LifecycleStateManager; import io.entgra.application.mgt.core.util.ConnectionManagerUtil; import io.entgra.application.mgt.core.util.Constants; import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementException; -import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.core.dto.DeviceType; @@ -611,7 +610,7 @@ public class ApplicationManagerImpl implements ApplicationManager { return md5OfApp; } catch(StorageManagementException e) { String msg = "Error occurred while generating md5sum value of " + applicationArtifact.getInstallerName(); - log.error(msg); + log.error(msg, e); throw new ApplicationManagementException(msg, e); } } @@ -713,8 +712,8 @@ public class ApplicationManagerImpl implements ApplicationManager { } catch (StorageManagementException e) { String msg = "Error occurred while md5sum value retrieving process: application UUID " + applicationReleaseDTO.getUuid(); - log.error(msg); - throw new ApplicationStorageManagementException(msg); + log.error(msg, e); + throw new ApplicationStorageManagementException(msg, e); } catch (DBConnectionException e) { String msg = "Error occurred when getting database connection for verifying app release data."; log.error(msg, e); @@ -828,8 +827,8 @@ public class ApplicationManagerImpl implements ApplicationManager { } catch (StorageManagementException e) { String msg = "Error occurred while retrieving md5sum value from the binary file for application " + "release UUID " + applicationReleaseDTO.getUuid(); - log.error(msg); - throw new ApplicationStorageManagementException(msg); + log.error(msg, e); + throw new ApplicationStorageManagementException(msg, e); } catch (IOException e) { String msg = "Error occurred when getting byte array of binary file. Installer name: " + applicationArtifact .getInstallerName(); @@ -3310,8 +3309,8 @@ public class ApplicationManagerImpl implements ApplicationManager { } catch (StorageManagementException e) { String msg = "Error occurred while retrieving md5sum value from the binary file for " + "application release UUID " + applicationReleaseDTO.get().getUuid(); - log.error(msg); - throw new ApplicationStorageManagementException(msg); + log.error(msg, e); + throw new ApplicationStorageManagementException(msg, e); } catch (IOException e) { String msg = "Error occurred when getting byte array of binary file. Installer name: " + applicationArtifact.getInstallerName(); diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java index a99d759d46c..c9965d4f06f 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java @@ -1,4 +1,5 @@ -/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * +/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * * Entgra (Pvt) Ltd. 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. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index a0380f70323..0946ccb454f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -136,7 +136,6 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { Response.ResponseBuilder response = Response .ok(binaryDuplicate, MediaType.APPLICATION_OCTET_STREAM); response.status(Response.Status.OK); -// response.header("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.header("Content-Length", content.length); return response.build(); } catch (IOException e) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index d71373c2dff..03c49ecb9dc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -662,17 +662,11 @@ public class RequestValidationUtil { } } - public static void validateWhiteLabelArtifactDownloadRequest(String whiteLabelImage) { - if (!EnumUtils.isValidEnum(WhiteLabelImage.ImageName.class, whiteLabelImage)) { - String msg = "Invalid white label image requested. Image: " + whiteLabelImage; - log.error(msg); - throw new InputValidationException(new ErrorResponse.ErrorResponseBuilder() - .setCode(HttpStatus.SC_BAD_REQUEST) - .setMessage(msg).build()); - - } - } - + /** + * Check if whitelabel theme create request contains valid payload and all required payload + * + * @param whiteLabelThemeCreateRequest {@link WhiteLabelThemeCreateRequest} + */ public static void validateWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { if (whiteLabelThemeCreateRequest.getFavicon() == null) { String msg = "Favicon is required to whitelabel"; @@ -700,7 +694,7 @@ public class RequestValidationUtil { validateWhiteLabelImage(whiteLabelThemeCreateRequest.getLogo()); } catch (InputValidationException e) { String msg = "Payload contains invalid base64 files"; - log.error(msg); + log.error(msg, e); throw e; } } @@ -723,14 +717,13 @@ public class RequestValidationUtil { } catch (JsonSyntaxException e) { String msg = "Invalid image payload found with the request. Image object does not represent a Base64 File. " + "Hence verify the request payload object."; - log.error(msg); + log.error(msg, e); throw new InputValidationException( new ErrorResponse.ErrorResponseBuilder() .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } - return; } - if (whiteLabelImage.getImageType() == WhiteLabelImageRequestPayload.ImageType.URL) { + else if (whiteLabelImage.getImageType() == WhiteLabelImageRequestPayload.ImageType.URL) { try { String imageUrl = new Gson().fromJson(whiteLabelImage.getImage(), String.class); if (!HttpUtil.isHttpUrlValid(imageUrl)) { @@ -742,11 +735,17 @@ public class RequestValidationUtil { } } catch (JsonSyntaxException e) { String msg = "Invalid payload found with the request. Hence verify the request payload object."; - log.error(msg); + log.error(msg, e); throw new InputValidationException( new ErrorResponse.ErrorResponseBuilder() .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } + } else { + String msg = "Invalid payload found with the request. Unknown white label imageType " + whiteLabelImage.getImageType(); + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index c14649b3340..4f8b41cdabb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -526,7 +526,7 @@ public class DeviceMgtAPIUtils { whiteLabelManagementService = (WhiteLabelManagementService) ctx.getOSGiService( WhiteLabelManagementService.class, null); if (whiteLabelManagementService == null) { - throw new IllegalStateException("Metadata Management service not initialized."); + throw new IllegalStateException("Whitelabel Management service not initialized."); } } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java index 2e59a81bbe0..6a8287db01e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java @@ -1,6 +1,3 @@ -package org.wso2.carbon.device.mgt.common.exceptions; - - /* * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. * @@ -19,6 +16,8 @@ package org.wso2.carbon.device.mgt.common.exceptions; * under the License. */ +package org.wso2.carbon.device.mgt.common.exceptions; + /** * This exception will be thrown when the requested application or platform not found. */ diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java index 70003b6e60c..ba9e6f82f25 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common.metadata.mgt; public class WhiteLabelImage { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java index 718c9a79244..e78e85b2402 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common.metadata.mgt; import com.google.gson.Gson; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java index 0c84ee2ea0c..e1536b80591 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java @@ -17,9 +17,9 @@ */ package org.wso2.carbon.device.mgt.common.metadata.mgt; + import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; -import java.io.IOException; /** * Defines the contract of WhiteLabelManagementService. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java index 859baf19790..ae95b17e0db 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.config.tenant.whitelabel; import javax.xml.bind.annotation.XmlElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java index 0d544bedbf1..6b51f0e170b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.config.tenant.whitelabel; import javax.xml.bind.annotation.XmlElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java index 4a6039944e3..cb8efe884da 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.config.tenant.whitelabel; import javax.xml.bind.annotation.XmlElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index e0596fe9971..76fda9f697b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -70,7 +70,6 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ try { WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); return getImageContent(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); - } catch (IOException e) { String msg = "Error occurred while getting byte content of favicon"; log.error(msg, e); @@ -179,6 +178,11 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return whiteLabelConfiguration.getFooterText(); } + /** + * This is useful to construct and get the default favicon whitelabel image + * + * @return {@link WhiteLabelImage} + */ private WhiteLabelImage constructDefaultFaviconImage() { MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). getDeviceManagementConfig().getMetaDataConfiguration(); @@ -189,6 +193,11 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return favicon; } + /** + * This is useful to construct and get the default logo whitelabel image + * + * @return {@link WhiteLabelImage} + */ private WhiteLabelImage constructDefaultLogoImage() { MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). getDeviceManagementConfig().getMetaDataConfiguration(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index 553b53a459f..d18678ec912 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -88,7 +88,7 @@ public class WhiteLabelStorageUtil { storeWhiteLabelImage(FileUtil.fileToBase64File(image), imageName, tenantId); } catch (IOException e) { String msg = "Error occurred when converting provided File object to Base64File class"; - log.error(msg); + log.error(msg, e); throw new MetadataManagementException(msg, e); } } @@ -178,7 +178,9 @@ public class WhiteLabelStorageUtil { try { StorageManagementUtil.delete(artifact); } catch (IOException e) { - throw new MetadataManagementException("Error occurred while deleting whitelabel artifacts", e); + String msg = "Error occurred while deleting whitelabel artifacts"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); } } } @@ -193,7 +195,9 @@ public class WhiteLabelStorageUtil { try { StorageManagementUtil.delete(artifact); } catch (IOException e) { - throw new MetadataManagementException("Error occurred while deleting whitelabel artifacts", e); + String msg = "Error occurred while deleting whitelabel artifacts"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); } } } From ed9ec69509584a41b1dc7a82387482bf7781de9c Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Tue, 24 May 2022 21:10:49 +0530 Subject: [PATCH 004/101] Move metadata and whitelabel config classes to metadata.mgt package --- .../carbon/device/mgt/core/config/DeviceManagementConfig.java | 2 +- .../whitelabel => metadata/mgt}/MetaDataConfiguration.java | 4 +++- .../mgt}/whitelabel/WhiteLabelConfiguration.java | 2 +- .../{tenant => metadata/mgt}/whitelabel/WhiteLabelImages.java | 2 +- .../core/metadata/mgt/WhiteLabelManagementServiceImpl.java | 4 ++-- .../mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) rename components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/{tenant/whitelabel => metadata/mgt}/MetaDataConfiguration.java (89%) rename components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/{tenant => metadata/mgt}/whitelabel/WhiteLabelConfiguration.java (95%) rename components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/{tenant => metadata/mgt}/whitelabel/WhiteLabelImages.java (96%) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java index 37358e31ca6..2fb085c0ec9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java @@ -25,7 +25,7 @@ import org.wso2.carbon.device.mgt.core.config.cache.CertificateCacheConfiguratio import org.wso2.carbon.device.mgt.core.config.cache.DeviceCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.GeoFenceCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.operation.timeout.OperationTimeoutConfiguration; -import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.MetaDataConfiguration; +import org.wso2.carbon.device.mgt.core.config.metadata.mgt.MetaDataConfiguration; import org.wso2.carbon.device.mgt.core.event.config.EventOperationTaskConfiguration; import org.wso2.carbon.device.mgt.core.config.geo.location.GeoLocationConfiguration; import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java similarity index 89% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java rename to components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java index ae95b17e0db..4f929ea030c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/MetaDataConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java @@ -16,7 +16,9 @@ * under the License. */ -package org.wso2.carbon.device.mgt.core.config.tenant.whitelabel; +package org.wso2.carbon.device.mgt.core.config.metadata.mgt; + +import org.wso2.carbon.device.mgt.core.config.metadata.mgt.whitelabel.WhiteLabelConfiguration; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java similarity index 95% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java rename to components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java index 6b51f0e170b..cac694eb2ea 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.device.mgt.core.config.tenant.whitelabel; +package org.wso2.carbon.device.mgt.core.config.metadata.mgt.whitelabel; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java similarity index 96% rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java rename to components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java index cb8efe884da..69ea8fa1d8a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/tenant/whitelabel/WhiteLabelImages.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java @@ -16,7 +16,7 @@ * under the License. */ -package org.wso2.carbon.device.mgt.core.config.tenant.whitelabel; +package org.wso2.carbon.device.mgt.core.config.metadata.mgt.whitelabel; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 76fda9f697b..b9ea1091bff 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -38,8 +38,8 @@ import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementServic import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; -import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.MetaDataConfiguration; -import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.WhiteLabelConfiguration; +import org.wso2.carbon.device.mgt.core.config.metadata.mgt.MetaDataConfiguration; +import org.wso2.carbon.device.mgt.core.config.metadata.mgt.whitelabel.WhiteLabelConfiguration; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataDAO; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOException; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index d18678ec912..26e2b23ce1d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -28,7 +28,7 @@ import org.wso2.carbon.device.mgt.core.common.exception.StorageManagementExcepti import org.wso2.carbon.device.mgt.core.common.util.FileUtil; import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; -import org.wso2.carbon.device.mgt.core.config.tenant.whitelabel.MetaDataConfiguration; +import org.wso2.carbon.device.mgt.core.config.metadata.mgt.MetaDataConfiguration; import java.io.File; import java.io.IOException; import java.io.InputStream; From 5677e1e3fe7b85c417f043e510657d6bb16b00cc Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Tue, 24 May 2022 21:13:26 +0530 Subject: [PATCH 005/101] Better feedback message/log if favicon/logo white label images not found --- .../mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index 0946ccb454f..901885985db 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -55,7 +55,8 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(); return sendFileStream(fileContent); } catch (NotFoundException e) { - String msg = "Favicon not found this tenant."; + String msg = "Favicon white label image cannot be found in the system. Updating the whitelabel theme might" + + "help restore it"; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { @@ -73,7 +74,8 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(); return sendFileStream(fileContent); } catch (NotFoundException e) { - String msg = "Logo not found for this tenant."; + String msg = "Logo white label image cannot be found in the system. Updating the whitelabel theme might" + + "help restore it"; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { From 768950bbb1b23e5fce2a0e47a2e5eec1a1fa416f Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Wed, 25 May 2022 21:38:03 +0530 Subject: [PATCH 006/101] Add whitelabel metadata configuration to cdm-config --- .../src/main/resources/conf/cdm-config.xml | 18 ++++++++++++++++++ .../repository/conf/cdm-config.xml.j2 | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index 50e3afd8245..2636456d80e 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -178,6 +178,24 @@ + + + + <a href='https://entgra.io' target='_blank'> + Entgra + </a> + IoT Server 5.0.0 | © 2022 + , All Rights Reserved. + + + repository/resources/whitelabel + favicon.png + logo.svg + default + + + + diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index 28b00241af8..1370def31b6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -311,6 +311,23 @@ + + + + <a href='https://entgra.io' target='_blank'> + Entgra + </a> + IoT Server 5.0.0 | © 2022 + , All Rights Reserved. + + + repository/resources/whitelabel + favicon.png + logo.svg + default + + + From 460675fcadb1e137fc046b58aa3fc358f876aab6 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Thu, 26 May 2022 03:35:57 +0530 Subject: [PATCH 007/101] Fix favicon/logo response content type --- .../jaxrs/service/api/WhiteLabelService.java | 4 -- .../service/impl/WhiteLabelServiceImpl.java | 19 ++--- .../device/mgt/common/FileResponse.java | 70 +++++++++++++++++++ .../mgt/WhiteLabelManagementService.java | 5 +- .../device/mgt/core/common/util/FileUtil.java | 18 ++++- .../mgt/WhiteLabelManagementServiceImpl.java | 45 ++++++++---- 6 files changed, 132 insertions(+), 29 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java index 8545bebcd95..68313eb8788 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java @@ -87,9 +87,7 @@ public interface WhiteLabelService { @GET @Path("/favicon") - @Produces(MediaType.APPLICATION_OCTET_STREAM) @ApiOperation( - produces = MediaType.APPLICATION_OCTET_STREAM, httpMethod = HTTPConstants.HEADER_GET, value = "Get whitelabel favicon", notes = "Get whitelabel favicon for the tenant of the logged in user", @@ -123,9 +121,7 @@ public interface WhiteLabelService { @GET @Path("/logo") - @Produces(MediaType.APPLICATION_OCTET_STREAM) @ApiOperation( - produces = MediaType.APPLICATION_OCTET_STREAM, httpMethod = HTTPConstants.HEADER_GET, value = "Get whitelabel logo", notes = "Get whitelabel logo for the tenant of the logged in user", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index 901885985db..69cb3d9ea78 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -20,6 +20,7 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.FileResponse; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; @@ -52,8 +53,8 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { @Path("/favicon") public Response getWhiteLabelFavicon() { try { - byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(); - return sendFileStream(fileContent); + FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(); + return sendFileStream(fileResponse); } catch (NotFoundException e) { String msg = "Favicon white label image cannot be found in the system. Updating the whitelabel theme might" + "help restore it"; @@ -71,8 +72,8 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { @Path("/logo") public Response getWhiteLabelLogo() { try { - byte[] fileContent = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(); - return sendFileStream(fileContent); + FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(); + return sendFileStream(fileResponse); } catch (NotFoundException e) { String msg = "Logo white label image cannot be found in the system. Updating the whitelabel theme might" + "help restore it"; @@ -131,14 +132,14 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { } /** - * Useful to send files as application/octet-stream responses + * Useful to send file responses */ - private Response sendFileStream(byte[] content) { - try (ByteArrayInputStream binaryDuplicate = new ByteArrayInputStream(content)) { + private Response sendFileStream(FileResponse fileResponse) { + try (ByteArrayInputStream binaryDuplicate = new ByteArrayInputStream(fileResponse.getFileContent())) { Response.ResponseBuilder response = Response - .ok(binaryDuplicate, MediaType.APPLICATION_OCTET_STREAM); + .ok(binaryDuplicate, fileResponse.getMimeType()); response.status(Response.Status.OK); - response.header("Content-Length", content.length); + response.header("Content-Length", fileResponse.getFileContent().length); return response.build(); } catch (IOException e) { String msg = "Error occurred while creating input stream from buffer array. "; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java new file mode 100644 index 00000000000..d2b29e34b9f --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common; + +public class FileResponse { + private byte[] fileContent; + private String mimeType; + + private String name; + + public byte[] getFileContent() { + return fileContent; + } + + public void setFileContent(byte[] fileContent) { + this.fileContent = fileContent; + } + + public String getMimeType() { + return mimeType; + } + + public void setMimeType(String mimeType) { + this.mimeType = mimeType; + } + + public enum ImageExtension { + SVG() { + @Override + public String mimeType() { + return "image/svg+xml"; + } + }, + PNG, + JPG, + JPEG, + GIF; + + public String mimeType() { + return "application/octet-stream"; + } + + public static String mimeTypeOf(String extension) { + ImageExtension imageExtension = ImageExtension.valueOf(extension.toUpperCase()); + return imageExtension.mimeType(); + } + + @Override + public String toString() { + return this.name().toLowerCase(); + } + + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java index e1536b80591..68a630a19f1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java @@ -18,6 +18,7 @@ package org.wso2.carbon.device.mgt.common.metadata.mgt; +import org.wso2.carbon.device.mgt.common.FileResponse; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; @@ -32,7 +33,7 @@ public interface WhiteLabelManagementService { * @throws MetadataManagementException if error occurred while retrieving favicon * @throws NotFoundException if favicon is not found */ - byte[] getWhiteLabelFavicon() throws + FileResponse getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException; /** @@ -41,7 +42,7 @@ public interface WhiteLabelManagementService { * @throws MetadataManagementException if error occurred while retrieving logo * @throws NotFoundException if logo is not found */ - byte[] getWhiteLabelLogo() throws + FileResponse getWhiteLabelLogo() throws MetadataManagementException, NotFoundException; /** diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java index 60d1538af9a..269e6b7957e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/util/FileUtil.java @@ -88,7 +88,7 @@ public class FileUtil { String suffix = generateDuplicateFileNameSuffix(fileNameCount); String fileNameWithoutExtension = extractFileNameWithoutExtension(fileName); String fileNameWithSuffix = fileNameWithoutExtension + suffix; - fileNameWithSuffix = fileNameWithSuffix + '.' + extractFileExtension(fileName); + fileNameWithSuffix = fileNameWithSuffix + '.' + extractFileExtensionFileName(fileName); return fileNameWithSuffix; } @@ -111,13 +111,27 @@ public class FileUtil { return suffix; } + /** + * Use to extract file extension from file path + * + * @param filePath path of the file + * @return extension of the file + */ + public static String extractFileExtensionFromFilePath(String filePath) { + File file = new File(filePath); + return extractFileExtensionFileName(file.getName()); + } + /** * Use to extract file extension from file name * * @param fileName name of the file * @return extension of the file */ - private static String extractFileExtension(String fileName) { + public static String extractFileExtensionFileName(String fileName) { + if (!fileName.contains(".")) { + return ""; + } return fileName.substring(fileName.lastIndexOf('.') + 1); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index b9ea1091bff..6dfbda673b6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -28,6 +28,7 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.FileResponse; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; @@ -37,6 +38,8 @@ import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImageRequestPayl import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; +import org.wso2.carbon.device.mgt.core.common.util.FileUtil; +import org.wso2.carbon.device.mgt.core.common.util.HttpUtil; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.metadata.mgt.MetaDataConfiguration; import org.wso2.carbon.device.mgt.core.config.metadata.mgt.whitelabel.WhiteLabelConfiguration; @@ -46,7 +49,6 @@ import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOExc import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.util.MetadataConstants; import org.wso2.carbon.device.mgt.core.metadata.mgt.util.WhiteLabelStorageUtil; - import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -66,10 +68,10 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } @Override - public byte[] getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException { + public FileResponse getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException { try { WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); - return getImageContent(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + return getImageFileResponse(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); } catch (IOException e) { String msg = "Error occurred while getting byte content of favicon"; log.error(msg, e); @@ -78,10 +80,10 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } @Override - public byte[] getWhiteLabelLogo() throws MetadataManagementException, NotFoundException { + public FileResponse getWhiteLabelLogo() throws MetadataManagementException, NotFoundException { try { WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); - return getImageContent(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); + return getImageFileResponse(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); } catch (IOException e) { String msg = "Error occurred while getting byte content of logo"; log.error(msg, e); @@ -90,21 +92,36 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } /** - * Useful to get white label image file byte content for provided {@link WhiteLabelImage.ImageName} + * Useful to get white label image file response for provided {@link WhiteLabelImage.ImageName} */ - private byte[] getImageContent(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws + private FileResponse getImageFileResponse(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws IOException, MetadataManagementException, NotFoundException { if (image.getImageLocationType() == WhiteLabelImage.ImageLocationType.URL) { - return getImageStreamFromUrl(image.getImageLocation()); + return getImageFileResponseFromUrl(image.getImageLocation()); } + return getImageFileResponseFromStorage(image, imageName); + } + + /** + * Useful to get white label image file response from provided image info + */ + private FileResponse getImageFileResponseFromStorage(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) + throws IOException, NotFoundException, MetadataManagementException { + FileResponse fileResponse = new FileResponse(); InputStream fileStream = WhiteLabelStorageUtil.getWhiteLabelImageStream(image, imageName); - return IOUtils.toByteArray(fileStream); + byte[] fileContent = IOUtils.toByteArray(fileStream); + String fileExtension = FileUtil.extractFileExtensionFromFilePath(image.getImageLocation()); + String mimeType = FileResponse.ImageExtension.mimeTypeOf(fileExtension); + fileResponse.setMimeType(mimeType); + fileResponse.setFileContent(fileContent); + return fileResponse; } /** - * Useful to get white label image file byte content from provided url + * Useful to get white label image file response from provided url */ - private byte[] getImageStreamFromUrl(String url) throws IOException, NotFoundException { + private FileResponse getImageFileResponseFromUrl(String url) throws IOException, NotFoundException { + FileResponse fileResponse = new FileResponse(); try(CloseableHttpClient client = HttpClients.createDefault()) { HttpGet imageGetRequest = new HttpGet(url); HttpResponse response = client.execute(imageGetRequest); @@ -114,7 +131,11 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ log.error(msg); throw new NotFoundException(msg); } - return IOUtils.toByteArray(imageStream); + byte[] fileContent = IOUtils.toByteArray(imageStream); + fileResponse.setFileContent(fileContent); + String mimeType = HttpUtil.getContentType(response); + fileResponse.setMimeType(mimeType); + return fileResponse; } } From b8a0ffe7c0aba814c976fdecaa5d38678885f8db Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Thu, 26 May 2022 04:16:57 +0530 Subject: [PATCH 008/101] Improve favicon/logo response content type handling --- .../carbon/device/mgt/common/FileResponse.java | 6 +++++- .../mgt/WhiteLabelManagementServiceImpl.java | 17 +---------------- .../mgt/util/WhiteLabelStorageUtil.java | 12 ++++++++++-- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java index d2b29e34b9f..45ee74e020b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.common; public class FileResponse { + private static final String DEFAULT_MIME_TYPE = "application/octet-stream"; private byte[] fileContent; private String mimeType; @@ -53,10 +54,13 @@ public class FileResponse { GIF; public String mimeType() { - return "application/octet-stream"; + return DEFAULT_MIME_TYPE; } public static String mimeTypeOf(String extension) { + if (extension.isEmpty()) { + return DEFAULT_MIME_TYPE; + } ImageExtension imageExtension = ImageExtension.valueOf(extension.toUpperCase()); return imageExtension.mimeType(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 6dfbda673b6..73095e36900 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -99,22 +99,7 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ if (image.getImageLocationType() == WhiteLabelImage.ImageLocationType.URL) { return getImageFileResponseFromUrl(image.getImageLocation()); } - return getImageFileResponseFromStorage(image, imageName); - } - - /** - * Useful to get white label image file response from provided image info - */ - private FileResponse getImageFileResponseFromStorage(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) - throws IOException, NotFoundException, MetadataManagementException { - FileResponse fileResponse = new FileResponse(); - InputStream fileStream = WhiteLabelStorageUtil.getWhiteLabelImageStream(image, imageName); - byte[] fileContent = IOUtils.toByteArray(fileStream); - String fileExtension = FileUtil.extractFileExtensionFromFilePath(image.getImageLocation()); - String mimeType = FileResponse.ImageExtension.mimeTypeOf(fileExtension); - fileResponse.setMimeType(mimeType); - fileResponse.setFileContent(fileContent); - return fileResponse; + return WhiteLabelStorageUtil.getWhiteLabelImageStream(image, imageName); } /** diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index 26e2b23ce1d..341e1130fef 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -17,10 +17,12 @@ package org.wso2.carbon.device.mgt.core.metadata.mgt.util; +import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.Base64File; +import org.wso2.carbon.device.mgt.common.FileResponse; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImage; @@ -126,8 +128,9 @@ public class WhiteLabelStorageUtil { * @param imageName (i.e: LOGO) * @return white label image input stream */ - public static InputStream getWhiteLabelImageStream(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) + public static FileResponse getWhiteLabelImageStream(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws MetadataManagementException, NotFoundException { + FileResponse fileResponse = new FileResponse(); String fullPathToFile = getPathToImage(image, imageName); try { InputStream imageStream = StorageManagementUtil.getInputStream(fullPathToFile); @@ -136,7 +139,12 @@ public class WhiteLabelStorageUtil { log.error(msg); throw new NotFoundException(msg); } - return imageStream; + byte[] fileContent = IOUtils.toByteArray(imageStream); + String fileExtension = FileUtil.extractFileExtensionFromFilePath(image.getImageLocation()); + String mimeType = FileResponse.ImageExtension.mimeTypeOf(fileExtension); + fileResponse.setMimeType(mimeType); + fileResponse.setFileContent(fileContent); + return fileResponse; } catch (IOException e) { String msg = "Error occurred when accessing the file in file path: " + fullPathToFile; log.error(msg, e); From 743a12083bb59586633951e52c6c4bcd4d36f1f3 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Tue, 7 Jun 2022 09:34:16 +0530 Subject: [PATCH 009/101] Refactor whitelabel update api method name to update from create --- .../carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java | 2 +- .../device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java index 68313eb8788..5a7d715658d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java @@ -192,7 +192,7 @@ public interface WhiteLabelService { "\n Server error occurred while creating white label theme.", response = ErrorResponse.class) }) - Response createWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest); + Response updateWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest); @GET @ApiOperation( diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index 69cb3d9ea78..c61b9034cd7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -88,7 +88,7 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { @PUT @Override - public Response createWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { + public Response updateWhiteLabelTheme(WhiteLabelThemeCreateRequest whiteLabelThemeCreateRequest) { RequestValidationUtil.validateWhiteLabelTheme(whiteLabelThemeCreateRequest); try { WhiteLabelTheme createdWhiteLabelTheme = DeviceMgtAPIUtils.getWhiteLabelManagementService().updateWhiteLabelTheme(whiteLabelThemeCreateRequest); From 7df4aff56932497b8221f56af8ced74f5030d92d Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Tue, 7 Jun 2022 13:32:42 +0530 Subject: [PATCH 010/101] Fix retrieving favicon as logo when retrieving existing images for rollback --- .../core/metadata/mgt/WhiteLabelManagementServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 73095e36900..5c5bf45b0b0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -236,8 +236,8 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ if (theme.getFaviconImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { existingFaviconImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); } - if (theme.getFaviconImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { - existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + if (theme.getLogoImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { + existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.LOGO); } storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getFavicon(), WhiteLabelImage.ImageName.FAVICON, tenantId); storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getLogo(), WhiteLabelImage.ImageName.LOGO, tenantId); From 78546125bc08ddbbca40a06a9daa2c88009320aa Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Wed, 8 Jun 2022 00:03:37 +0530 Subject: [PATCH 011/101] Add page title to whitelable --- .../service/impl/util/RequestValidationUtil.java | 7 +++++++ .../mgt/common/metadata/mgt/WhiteLabelTheme.java | 9 +++++++++ .../metadata/mgt/WhiteLabelThemeCreateRequest.java | 9 +++++++++ .../mgt/whitelabel/WhiteLabelConfiguration.java | 10 ++++++++++ .../mgt/WhiteLabelManagementServiceImpl.java | 13 +++++++++++++ .../src/main/resources/conf/cdm-config.xml | 1 + .../templates/repository/conf/cdm-config.xml.j2 | 1 + 7 files changed, 50 insertions(+) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index 03c49ecb9dc..d8c4efb7acd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -689,6 +689,13 @@ public class RequestValidationUtil { new ErrorResponse.ErrorResponseBuilder() .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } + if (whiteLabelThemeCreateRequest.getPageTitle() == null) { + String msg = "Page title is required to whitelabel"; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } try { validateWhiteLabelImage(whiteLabelThemeCreateRequest.getFavicon()); validateWhiteLabelImage(whiteLabelThemeCreateRequest.getLogo()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java index 6eaa8b4d05d..5b0dbfaca49 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java @@ -22,6 +22,7 @@ public class WhiteLabelTheme { private WhiteLabelImage faviconImage; private WhiteLabelImage logoImage; private String footerText; + private String pageTitle; public String getFooterText() { return footerText; @@ -46,4 +47,12 @@ public class WhiteLabelTheme { public void setLogoImage(WhiteLabelImage logoImage) { this.logoImage = logoImage; } + + public String getPageTitle() { + return pageTitle; + } + + public void setPageTitle(String pageTitle) { + this.pageTitle = pageTitle; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java index 5e5e6f0d32a..f1664371d97 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java @@ -22,6 +22,7 @@ public class WhiteLabelThemeCreateRequest { private WhiteLabelImageRequestPayload favicon; private WhiteLabelImageRequestPayload logo; private String footerText; + private String pageTitle; public WhiteLabelImageRequestPayload getFavicon() { return favicon; @@ -46,4 +47,12 @@ public class WhiteLabelThemeCreateRequest { public void setFooterText(String footerText) { this.footerText = footerText; } + + public String getPageTitle() { + return pageTitle; + } + + public void setPageTitle(String pageTitle) { + this.pageTitle = pageTitle; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java index cac694eb2ea..2424768a37f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java @@ -24,6 +24,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "WhiteLabelConfiguration") public class WhiteLabelConfiguration { private String footerText; + private String pageTitle; private WhiteLabelImages whiteLabelImages; @XmlElement(name = "FooterText", required = true) @@ -43,4 +44,13 @@ public class WhiteLabelConfiguration { public void setWhiteLabelImages(WhiteLabelImages whiteLabelImages) { this.whiteLabelImages = whiteLabelImages; } + + @XmlElement(name = "PageTitle", required = true) + public String getPageTitle() { + return pageTitle; + } + + public void setPageTitle(String pageTitle) { + this.pageTitle = pageTitle; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 5c5bf45b0b0..32008015f53 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -165,15 +165,27 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ */ private WhiteLabelTheme getDefaultWhiteLabelTheme() { String footerText = getDefaultFooterText(); + String pageTitle = getDefaultPageTitle(); WhiteLabelImage favicon = constructDefaultFaviconImage(); WhiteLabelImage logo = constructDefaultLogoImage(); WhiteLabelTheme defaultTheme = new WhiteLabelTheme(); defaultTheme.setFooterText(footerText); + defaultTheme.setPageTitle(pageTitle); defaultTheme.setLogoImage(logo); defaultTheme.setFaviconImage(favicon); return defaultTheme; } + /** + * Get default whitelabel label page title from config + */ + private String getDefaultPageTitle() { + MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). + getDeviceManagementConfig().getMetaDataConfiguration(); + WhiteLabelConfiguration whiteLabelConfiguration = metaDataConfiguration.getWhiteLabelConfiguration(); + return whiteLabelConfiguration.getPageTitle(); + } + /** * Get default whitelabel label footer from config */ @@ -319,6 +331,7 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ whiteLabelTheme.setFaviconImage(faviconImage); whiteLabelTheme.setLogoImage(logoImage); whiteLabelTheme.setFooterText(whiteLabelThemeCreateRequest.getFooterText()); + whiteLabelTheme.setPageTitle(whiteLabelThemeCreateRequest.getPageTitle()); return whiteLabelTheme; } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index 2636456d80e..f7e815596c6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -187,6 +187,7 @@ IoT Server 5.0.0 | © 2022 , All Rights Reserved. + Entgra Endpoint Management repository/resources/whitelabel favicon.png diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index 1370def31b6..5190cf1c329 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -320,6 +320,7 @@ IoT Server 5.0.0 | © 2022 , All Rights Reserved. + Entgra Endpoint Management repository/resources/whitelabel favicon.png From eb061f94504eaaffaa1631680fd0430f6298e5e2 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Wed, 8 Jun 2022 13:40:33 +0530 Subject: [PATCH 012/101] Refator page tite to app title --- .../service/impl/util/RequestValidationUtil.java | 4 +--- .../mgt/common/metadata/mgt/WhiteLabelTheme.java | 10 +++++----- .../metadata/mgt/WhiteLabelThemeCreateRequest.java | 10 +++++----- .../mgt/whitelabel/WhiteLabelConfiguration.java | 12 ++++++------ .../mgt/WhiteLabelManagementServiceImpl.java | 11 +++++------ .../src/main/resources/conf/cdm-config.xml | 2 +- .../templates/repository/conf/cdm-config.xml.j2 | 2 +- 7 files changed, 24 insertions(+), 27 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index d8c4efb7acd..bc41d458487 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -21,7 +21,6 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl.util; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang3.EnumUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpStatus; @@ -35,7 +34,6 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceTypeNotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; -import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImage; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImageRequestPayload; import org.wso2.carbon.device.mgt.common.notification.mgt.Notification; import org.wso2.carbon.device.mgt.core.common.util.HttpUtil; @@ -689,7 +687,7 @@ public class RequestValidationUtil { new ErrorResponse.ErrorResponseBuilder() .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } - if (whiteLabelThemeCreateRequest.getPageTitle() == null) { + if (whiteLabelThemeCreateRequest.getAppTitle() == null) { String msg = "Page title is required to whitelabel"; log.error(msg); throw new InputValidationException( diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java index 5b0dbfaca49..0b71979843d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java @@ -22,7 +22,7 @@ public class WhiteLabelTheme { private WhiteLabelImage faviconImage; private WhiteLabelImage logoImage; private String footerText; - private String pageTitle; + private String appTitle; public String getFooterText() { return footerText; @@ -48,11 +48,11 @@ public class WhiteLabelTheme { this.logoImage = logoImage; } - public String getPageTitle() { - return pageTitle; + public String getAppTitle() { + return appTitle; } - public void setPageTitle(String pageTitle) { - this.pageTitle = pageTitle; + public void setAppTitle(String appTitle) { + this.appTitle = appTitle; } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java index f1664371d97..4b720eeec4f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java @@ -22,7 +22,7 @@ public class WhiteLabelThemeCreateRequest { private WhiteLabelImageRequestPayload favicon; private WhiteLabelImageRequestPayload logo; private String footerText; - private String pageTitle; + private String appTitle; public WhiteLabelImageRequestPayload getFavicon() { return favicon; @@ -48,11 +48,11 @@ public class WhiteLabelThemeCreateRequest { this.footerText = footerText; } - public String getPageTitle() { - return pageTitle; + public String getAppTitle() { + return appTitle; } - public void setPageTitle(String pageTitle) { - this.pageTitle = pageTitle; + public void setAppTitle(String appTitle) { + this.appTitle = appTitle; } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java index 2424768a37f..1fa808f5a73 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java @@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "WhiteLabelConfiguration") public class WhiteLabelConfiguration { private String footerText; - private String pageTitle; + private String appTitle; private WhiteLabelImages whiteLabelImages; @XmlElement(name = "FooterText", required = true) @@ -45,12 +45,12 @@ public class WhiteLabelConfiguration { this.whiteLabelImages = whiteLabelImages; } - @XmlElement(name = "PageTitle", required = true) - public String getPageTitle() { - return pageTitle; + @XmlElement(name = "AppTitle", required = true) + public String getAppTitle() { + return appTitle; } - public void setPageTitle(String pageTitle) { - this.pageTitle = pageTitle; + public void setAppTitle(String appTitle) { + this.appTitle = appTitle; } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 32008015f53..d816e632914 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -38,7 +38,6 @@ import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImageRequestPayl import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelThemeCreateRequest; -import org.wso2.carbon.device.mgt.core.common.util.FileUtil; import org.wso2.carbon.device.mgt.core.common.util.HttpUtil; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.metadata.mgt.MetaDataConfiguration; @@ -165,12 +164,12 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ */ private WhiteLabelTheme getDefaultWhiteLabelTheme() { String footerText = getDefaultFooterText(); - String pageTitle = getDefaultPageTitle(); + String appTitle = getDefaultAppTitle(); WhiteLabelImage favicon = constructDefaultFaviconImage(); WhiteLabelImage logo = constructDefaultLogoImage(); WhiteLabelTheme defaultTheme = new WhiteLabelTheme(); defaultTheme.setFooterText(footerText); - defaultTheme.setPageTitle(pageTitle); + defaultTheme.setAppTitle(appTitle); defaultTheme.setLogoImage(logo); defaultTheme.setFaviconImage(favicon); return defaultTheme; @@ -179,11 +178,11 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ /** * Get default whitelabel label page title from config */ - private String getDefaultPageTitle() { + private String getDefaultAppTitle() { MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). getDeviceManagementConfig().getMetaDataConfiguration(); WhiteLabelConfiguration whiteLabelConfiguration = metaDataConfiguration.getWhiteLabelConfiguration(); - return whiteLabelConfiguration.getPageTitle(); + return whiteLabelConfiguration.getAppTitle(); } /** @@ -331,7 +330,7 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ whiteLabelTheme.setFaviconImage(faviconImage); whiteLabelTheme.setLogoImage(logoImage); whiteLabelTheme.setFooterText(whiteLabelThemeCreateRequest.getFooterText()); - whiteLabelTheme.setPageTitle(whiteLabelThemeCreateRequest.getPageTitle()); + whiteLabelTheme.setAppTitle(whiteLabelThemeCreateRequest.getAppTitle()); return whiteLabelTheme; } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index f7e815596c6..97d152235e0 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -187,7 +187,7 @@ IoT Server 5.0.0 | © 2022 , All Rights Reserved. - Entgra Endpoint Management + Entgra repository/resources/whitelabel favicon.png diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index 5190cf1c329..c9298828268 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -320,7 +320,7 @@ IoT Server 5.0.0 | © 2022 , All Rights Reserved. - Entgra Endpoint Management + Entgra repository/resources/whitelabel favicon.png From be15bf91858f00561fdf8c24178c5df50fec9608 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Wed, 8 Jun 2022 13:45:08 +0530 Subject: [PATCH 013/101] Fix log message --- .../mgt/jaxrs/service/impl/util/RequestValidationUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index bc41d458487..eaa8ba4f2bd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -688,7 +688,7 @@ public class RequestValidationUtil { .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } if (whiteLabelThemeCreateRequest.getAppTitle() == null) { - String msg = "Page title is required to whitelabel"; + String msg = "App title is required to whitelabel"; log.error(msg); throw new InputValidationException( new ErrorResponse.ErrorResponseBuilder() From c63168be62ac332e67864ea09ea535d26fc13c1c Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Thu, 9 Jun 2022 17:00:52 +0530 Subject: [PATCH 014/101] Fix passing favicon image bean when retrieving existing logo --- .../mgt/WhiteLabelManagementServiceImpl.java | 43 ++++++++++--------- .../mgt/util/WhiteLabelStorageUtil.java | 2 +- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index d816e632914..2af7aa361fc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -248,37 +248,38 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ existingFaviconImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); } if (theme.getLogoImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { - existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.LOGO); + existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); } storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getFavicon(), WhiteLabelImage.ImageName.FAVICON, tenantId); storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getLogo(), WhiteLabelImage.ImageName.LOGO, tenantId); WhiteLabelTheme whiteLabelTheme = constructWhiteLabelTheme(createWhiteLabelTheme); Metadata metadataWhiteLabelTheme = constructWhiteLabelThemeMetadata(whiteLabelTheme); - - MetadataManagementDAOFactory.beginTransaction(); - metadataDAO.updateMetadata(tenantId, metadataWhiteLabelTheme); - MetadataManagementDAOFactory.commitTransaction(); - if (log.isDebugEnabled()) { - log.debug("Metadata entry created successfully. " + createWhiteLabelTheme.toString()); + try { + MetadataManagementDAOFactory.beginTransaction(); + metadataDAO.updateMetadata(tenantId, metadataWhiteLabelTheme); + MetadataManagementDAOFactory.commitTransaction(); + if (log.isDebugEnabled()) { + log.debug("Metadata entry created successfully. " + createWhiteLabelTheme); + } + return whiteLabelTheme; + } catch (MetadataManagementDAOException e) { + MetadataManagementDAOFactory.rollbackTransaction(); + restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); + String msg = "Error occurred while creating the metadata entry. " + createWhiteLabelTheme; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } catch (TransactionManagementException e) { + restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); + String msg = "Error occurred while opening a connection to the data source"; + log.error(msg, e); + throw new MetadataManagementException("Error occurred while creating metadata record", e); + } finally { + MetadataManagementDAOFactory.closeConnection(); } - return whiteLabelTheme; - } catch (MetadataManagementDAOException e) { - MetadataManagementDAOFactory.rollbackTransaction(); - restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); - String msg = "Error occurred while creating the metadata entry. " + createWhiteLabelTheme.toString(); - log.error(msg, e); - throw new MetadataManagementException(msg, e); - } catch (TransactionManagementException e) { - restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); - String msg = "Error occurred while opening a connection to the data source"; - log.error(msg, e); - throw new MetadataManagementException("Error occurred while creating metadata record", e); } catch (NotFoundException e) { String msg = "Error occurred while retrieving existing white label theme"; log.error(msg, e); throw new MetadataManagementException(msg, e); - } finally { - MetadataManagementDAOFactory.closeConnection(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index 341e1130fef..c426c86b694 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -116,7 +116,7 @@ public class WhiteLabelStorageUtil { * @return white label image file {@link File} */ public static File getWhiteLabelImageFile(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) - throws MetadataManagementException, NotFoundException { + throws MetadataManagementException { String fullPathToImage = getPathToImage(image, imageName); return new File(fullPathToImage); } From af25528a8bbd3b5434d8bdcca156be85b445e9b7 Mon Sep 17 00:00:00 2001 From: Mohamed Rashd Date: Fri, 10 Jun 2022 14:48:16 +0530 Subject: [PATCH 015/101] Delete custom whitelabel favicon and logo on whitelabel reset --- .../mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index 2af7aa361fc..cb46ec25d3b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -154,9 +154,11 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ @Override public void resetToDefaultWhiteLabelTheme() throws MetadataManagementException { + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); WhiteLabelTheme whiteLabelTheme = getDefaultWhiteLabelTheme(); Metadata metadata = constructWhiteLabelThemeMetadata(whiteLabelTheme); DeviceManagementDataHolder.getInstance().getMetadataManagementService().updateMetadata(metadata); + WhiteLabelStorageUtil.deleteWhiteLabelImageForTenantIfExists(tenantId); } /** From 5e612ceaf27c06e88615aef327f58a7a7a904bcf Mon Sep 17 00:00:00 2001 From: Arshana Date: Wed, 23 Nov 2022 00:00:52 +0530 Subject: [PATCH 016/101] Add capability to send a notification when device rename --- .../impl/DeviceManagementServiceImpl.java | 33 +++++++++++++++++- .../DeviceManagementProviderService.java | 2 ++ .../DeviceManagementProviderServiceImpl.java | 34 +++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index b8c626cb415..821a47319f3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -715,8 +715,35 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { Device persistedDevice = deviceManagementProviderService.getDevice(new DeviceIdentifier (deviceId, deviceType), true); persistedDevice.setName(device.getName()); - boolean response = deviceManagementProviderService.modifyEnrollment(persistedDevice); + System.out.println("This is rename device"); + boolean responseOfmodifyEnrollment = deviceManagementProviderService.modifyEnrollment(persistedDevice); + boolean responseOfDeviceNameChanged = deviceManagementProviderService.SendDeviceNameChangedNotification(persistedDevice); + +// boolean response = responseOfmodifyEnrollment || responseOfDeviceNameChanged; + + +// ProfileOperation operation = new ProfileOperation(); +// operation.setCode("SEND_USERNAME"); +// operation.setType(Operation.Type.PROFILE); +// operation.setPayLoad(device.getName()); +// +// DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); +// deviceIdentifier.setId(persistedDevice.getDeviceIdentifier()); +// deviceIdentifier.setType(persistedDevice.getType()); +// +// List deviceIdentifiers = new ArrayList<>(); +// deviceIdentifiers.add(deviceIdentifier); +// +//// Activity activity; +// Activity activity = deviceManagementProviderService.addOperation(persistedDevice.getType(), operation, deviceIdentifiers); +// ; +// boolean responseOfDeviceNameChanged = activity != null; + + boolean response = responseOfmodifyEnrollment || responseOfDeviceNameChanged; + + return Response.status(Response.Status.CREATED).entity(response).build(); +// return Response.status(Response.Status.CREATED).entity(responseOfmodifyEnrollment).build(); } catch (DeviceManagementException e) { log.error("Error encountered while updating device of type : " + deviceType + " and " + @@ -724,6 +751,10 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.BAD_REQUEST).entity( new ErrorResponse.ErrorResponseBuilder().setMessage("Error while updating " + "device of type " + deviceType + " and ID : " + deviceId).build()).build(); +// } catch (OperationManagementException e) { +// throw new RuntimeException(e); +// } catch (InvalidDeviceException e) { +// throw new RuntimeException(e); } } 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 a84deb88944..cbf57941d2f 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 @@ -1042,4 +1042,6 @@ public interface DeviceManagementProviderService { */ PaginationResult getDevicesDetails(PaginationRequest request, List devicesIds, String groupName) throws DeviceManagementException; + + Boolean SendDeviceNameChangedNotification(Device device) 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 2f0439f8ca7..786bbc9b050 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 @@ -143,6 +143,7 @@ import org.wso2.carbon.device.mgt.core.internal.PluginInitializationListener; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataDAO; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation; +import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation; import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; import org.wso2.carbon.device.mgt.core.util.HttpReportingUtil; import org.wso2.carbon.email.sender.core.ContentProviderInfo; @@ -4860,4 +4861,37 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv paginationResult.setData(populateAllDeviceInfo(subscribedDeviceDetails)); return paginationResult; } + + @Override + public Boolean SendDeviceNameChangedNotification(Device device) throws DeviceManagementException { + + try { + ProfileOperation operation = new ProfileOperation(); + operation.setCode("SEND_USERNAME"); + operation.setType(Operation.Type.PROFILE); + operation.setPayLoad(device.getName()); + + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); + deviceIdentifier.setId(device.getDeviceIdentifier()); + deviceIdentifier.setType(device.getType()); + + List deviceIdentifiers = new ArrayList<>(); + deviceIdentifiers.add(deviceIdentifier); + + Activity activity; + activity = addOperation(device.getType(), operation, deviceIdentifiers); + + return activity != null; + + } catch (OperationManagementException e) { + String msg = "Error occurred while sending operation" ; + log.error(msg, e); + throw new DeviceManagementException(msg, e); + } catch (InvalidDeviceException e) { + String msg = "Invalid Device exception occurred"; + log.error(msg, e); + throw new DeviceManagementException(msg, e); + } + + } } From 777940b896bb2aab3389c5a68a1744a17b2d776a Mon Sep 17 00:00:00 2001 From: Arshana Date: Thu, 24 Nov 2022 13:23:46 +0530 Subject: [PATCH 017/101] Fix SendDeviceNameChangedNotification --- .../impl/DeviceManagementServiceImpl.java | 33 ++----------------- .../device/mgt/core/common/Constants.java | 2 ++ .../DeviceManagementProviderServiceImpl.java | 8 ++--- 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 821a47319f3..464da3a89f0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -717,44 +717,17 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { persistedDevice.setName(device.getName()); System.out.println("This is rename device"); boolean responseOfmodifyEnrollment = deviceManagementProviderService.modifyEnrollment(persistedDevice); - boolean responseOfDeviceNameChanged = deviceManagementProviderService.SendDeviceNameChangedNotification(persistedDevice); - -// boolean response = responseOfmodifyEnrollment || responseOfDeviceNameChanged; - - -// ProfileOperation operation = new ProfileOperation(); -// operation.setCode("SEND_USERNAME"); -// operation.setType(Operation.Type.PROFILE); -// operation.setPayLoad(device.getName()); -// -// DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); -// deviceIdentifier.setId(persistedDevice.getDeviceIdentifier()); -// deviceIdentifier.setType(persistedDevice.getType()); -// -// List deviceIdentifiers = new ArrayList<>(); -// deviceIdentifiers.add(deviceIdentifier); -// -//// Activity activity; -// Activity activity = deviceManagementProviderService.addOperation(persistedDevice.getType(), operation, deviceIdentifiers); -// ; -// boolean responseOfDeviceNameChanged = activity != null; - - boolean response = responseOfmodifyEnrollment || responseOfDeviceNameChanged; - + boolean responseOfDeviceNameChanged = deviceManagementProviderService.SendDeviceNameChangedNotification( + persistedDevice); + boolean response = responseOfmodifyEnrollment && responseOfDeviceNameChanged; return Response.status(Response.Status.CREATED).entity(response).build(); -// return Response.status(Response.Status.CREATED).entity(responseOfmodifyEnrollment).build(); - } catch (DeviceManagementException e) { log.error("Error encountered while updating device of type : " + deviceType + " and " + "ID : " + deviceId); return Response.status(Response.Status.BAD_REQUEST).entity( new ErrorResponse.ErrorResponseBuilder().setMessage("Error while updating " + "device of type " + deviceType + " and ID : " + deviceId).build()).build(); -// } catch (OperationManagementException e) { -// throw new RuntimeException(e); -// } catch (InvalidDeviceException e) { -// throw new RuntimeException(e); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/Constants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/Constants.java index 0db16ff4518..7d7c3ba8536 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/Constants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/Constants.java @@ -24,4 +24,6 @@ public class Constants { public static final String URI_SEPARATOR = "/"; public static final String BASIC_AUTH_HEADER_PREFIX = "Basic "; public static final String BEARER = "Bearer "; + public static final String SEND_USERNAME = "SEND_USERNAME"; + } 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 786bbc9b050..74700125cdf 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 @@ -120,6 +120,7 @@ import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; import org.wso2.carbon.device.mgt.core.cache.DeviceCacheKey; import org.wso2.carbon.device.mgt.core.cache.impl.DeviceCacheManagerImpl; +import org.wso2.carbon.device.mgt.core.common.Constants; 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.dao.ApplicationDAO; @@ -4867,7 +4868,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv try { ProfileOperation operation = new ProfileOperation(); - operation.setCode("SEND_USERNAME"); + operation.setCode(Constants.SEND_USERNAME); operation.setType(Operation.Type.PROFILE); operation.setPayLoad(device.getName()); @@ -4877,14 +4878,12 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv List deviceIdentifiers = new ArrayList<>(); deviceIdentifiers.add(deviceIdentifier); - Activity activity; activity = addOperation(device.getType(), operation, deviceIdentifiers); return activity != null; - } catch (OperationManagementException e) { - String msg = "Error occurred while sending operation" ; + String msg = "Error occurred while sending operation"; log.error(msg, e); throw new DeviceManagementException(msg, e); } catch (InvalidDeviceException e) { @@ -4892,6 +4891,5 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv log.error(msg, e); throw new DeviceManagementException(msg, e); } - } } From a93f534e069da46a03314d2ede3e0536cc9b6887 Mon Sep 17 00:00:00 2001 From: Oshani Silva Date: Wed, 4 Jan 2023 21:03:15 +0000 Subject: [PATCH 018/101] Improve billing feature Co-authored-by: Oshani Silva Co-committed-by: Oshani Silva --- .../device/mgt/jaxrs/beans/DeviceList.java | 23 +- .../service/api/DeviceManagementService.java | 173 --------- .../admin/DeviceManagementAdminService.java | 84 +++- .../impl/DeviceManagementServiceImpl.java | 99 ----- .../DeviceManagementAdminServiceImpl.java | 58 ++- .../device/mgt/common/BillingResponse.java | 123 ++++++ .../device/mgt/common/PaginationResult.java | 23 +- .../mgt/core/DeviceManagementConstants.java | 1 + .../mgt/core/cache/BillingCacheKey.java | 79 ++++ .../mgt/core/cache/BillingCacheManager.java | 73 ++++ .../cache/impl/BillingCacheManagerImpl.java | 135 +++++++ .../core/config/DeviceManagementConfig.java | 11 + .../cache/BillingCacheConfiguration.java | 56 +++ .../device/mgt/core/dao/BillingDAO.java | 13 - .../carbon/device/mgt/core/dao/DeviceDAO.java | 44 +++ .../core/dao/DeviceManagementDAOFactory.java | 5 - .../device/mgt/core/dao/EnrollmentDAO.java | 2 - .../mgt/core/dao/impl/BillingDAOImpl.java | 71 ---- .../core/dao/impl/DeviceStatusDAOImpl.java | 12 +- .../mgt/core/dao/impl/EnrollmentDAOImpl.java | 22 -- .../dao/impl/device/GenericDeviceDAOImpl.java | 188 ++++++++- .../dao/impl/device/OracleDeviceDAOImpl.java | 28 ++ .../impl/device/PostgreSQLDeviceDAOImpl.java | 29 ++ .../impl/device/SQLServerDeviceDAOImpl.java | 29 ++ .../dao/util/DeviceManagementDAOUtil.java | 39 +- .../DeviceManagementProviderService.java | 14 +- .../DeviceManagementProviderServiceImpl.java | 360 +++++++++--------- .../mgt/core/util/DeviceManagerUtil.java | 66 ++++ .../src/test/resources/sql/h2.sql | 11 - .../src/main/resources/conf/cdm-config.xml | 5 + .../src/main/resources/conf/mdm-ui-config.xml | 1 + .../repository/conf/cdm-config.xml.j2 | 11 + .../src/main/resources/dbscripts/cdm/h2.sql | 12 - .../main/resources/dbscripts/cdm/mssql.sql | 13 - .../main/resources/dbscripts/cdm/mysql.sql | 12 - .../main/resources/dbscripts/cdm/oracle.sql | 14 - .../resources/dbscripts/cdm/postgresql.sql | 12 - 37 files changed, 1240 insertions(+), 711 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/BillingResponse.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheKey.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheManager.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/impl/BillingCacheManagerImpl.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/cache/BillingCacheConfiguration.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/BillingDAO.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/BillingDAOImpl.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceList.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceList.java index 8c6c4945c4c..9f0d32127eb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceList.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceList.java @@ -35,8 +35,11 @@ public class DeviceList extends BasePaginatedResult { @ApiModelProperty(name = "message", value = "Send information text to the billing UI", required = false) private String message; - @ApiModelProperty(name = "billedDateIsValid", value = "Check if user entered date is valid", required = false) - private boolean billedDateIsValid; + @ApiModelProperty(name = "deviceCount", value = "Total count of all devices per tenant", required = false) + private double deviceCount; + + @ApiModelProperty(name = "billPeriod", value = "Billed period", required = false) + private String billPeriod; @ApiModelProperty(value = "List of devices returned") @JsonProperty("devices") @@ -48,12 +51,20 @@ public class DeviceList extends BasePaginatedResult { this.devices = devices; } - public boolean isBilledDateIsValid() { - return billedDateIsValid; + public String getBillPeriod() { + return billPeriod; + } + + public void setBillPeriod(String billPeriod) { + this.billPeriod = billPeriod; + } + + public double getDeviceCount() { + return deviceCount; } - public void setBilledDateIsValid(boolean billedDateIsValid) { - this.billedDateIsValid = billedDateIsValid; + public void setDeviceCount(double deviceCount) { + this.deviceCount = deviceCount; } public String getMessage() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index 469091d21ea..585e4ffecfe 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -344,179 +344,6 @@ public interface DeviceManagementService { @QueryParam("limit") int limit); - - @GET - @Path("/billing") - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - httpMethod = "GET", - value = "Getting Cost details of devices in a tenant", - notes = "Provides individual cost and total cost of all devices per tenant.", - tags = "Device Management", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") - }) - } - ) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "OK. \n Successfully fetched the list of devices.", - response = DeviceList.class, - responseHeaders = { - @ResponseHeader( - name = "Content-Type", - description = "The content type of the body"), - @ResponseHeader( - name = "ETag", - description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), - @ResponseHeader( - name = "Last-Modified", - description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), - }), - @ApiResponse( - code = 304, - message = "Not Modified. \n Empty body because the client already has the latest version of " + - "the requested resource.\n"), - @ApiResponse( - code = 400, - message = "The incoming request has more than one selection criteria defined via the query parameters.", - response = ErrorResponse.class), - @ApiResponse( - code = 404, - message = "The search criteria did not match any device registered with the server.", - response = ErrorResponse.class), - @ApiResponse( - code = 406, - message = "Not Acceptable.\n The requested media type is not supported."), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n Server error occurred while fetching the device list.", - response = ErrorResponse.class) - }) - Response getDevicesBilling( - @ApiParam( - name = "tenantDomain", - value = "The tenant domain.", - required = false) - @QueryParam("tenantDomain") - String tenantDomain, - @ApiParam( - name = "startDate", - value = "The start date.", - required = false) - @QueryParam("startDate") - Timestamp startDate, - @ApiParam( - name = "endDate", - value = "The end date.", - required = false) - @QueryParam("endDate") - Timestamp endDate, - @ApiParam( - name = "generateBill", - value = "The generate bill boolean.", - required = false) - @QueryParam("generateBill") - boolean generateBill, - @ApiParam( - name = "offset", - value = "The starting pagination index for the complete list of qualified items.", - required = false, - defaultValue = "0") - @QueryParam("offset") - int offset, - @ApiParam( - name = "limit", - value = "Provide how many device details you require from the starting pagination index/offset.", - required = false, - defaultValue = "10") - @QueryParam("limit") - int limit); - - - @GET - @Path("/billing/file") - @Produces(MediaType.APPLICATION_JSON) - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - httpMethod = "GET", - value = "Getting Cost details of devices in a tenant", - notes = "Provides individual cost and total cost of all devices per tenant.", - tags = "Device Management", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") - }) - } - ) - @ApiResponses(value = { - @ApiResponse(code = 200, message = "OK. \n Successfully fetched the list of devices.", - response = DeviceList.class, - responseHeaders = { - @ResponseHeader( - name = "Content-Type", - description = "The content type of the body"), - @ResponseHeader( - name = "Content-Disposition", - description = "The content disposition of the body"), - @ResponseHeader( - name = "ETag", - description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), - @ResponseHeader( - name = "Last-Modified", - description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), - }), - @ApiResponse( - code = 304, - message = "Not Modified. \n Empty body because the client already has the latest version of " + - "the requested resource.\n"), - @ApiResponse( - code = 400, - message = "The incoming request has more than one selection criteria defined via the query parameters.", - response = ErrorResponse.class), - @ApiResponse( - code = 404, - message = "The search criteria did not match any device registered with the server.", - response = ErrorResponse.class), - @ApiResponse( - code = 406, - message = "Not Acceptable.\n The requested media type is not supported."), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n Server error occurred while fetching the device list.", - response = ErrorResponse.class) - }) - Response exportBilling( - @ApiParam( - name = "tenantDomain", - value = "The tenant domain.", - required = false) - @QueryParam("tenantDomain") - String tenantDomain, - @ApiParam( - name = "startDate", - value = "The start date.", - required = false) - @QueryParam("startDate") - Timestamp startDate, - @ApiParam( - name = "endDate", - value = "The end date.", - required = false) - @QueryParam("endDate") - Timestamp endDate, - @ApiParam( - name = "generateBill", - value = "The generate bill boolean.", - required = false) - @QueryParam("generateBill") - boolean generateBill); - @GET @Produces(MediaType.APPLICATION_JSON) @ApiOperation( diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java index 3079dd4ad3f..b0c850de950 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java @@ -65,6 +65,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import java.sql.Timestamp; import java.util.List; @SwaggerDefinition( @@ -110,7 +111,14 @@ import java.util.List; key = "perm:devices:permanent-delete", roles = {"Internal/devicemgt-admin"}, permissions = {"/device-mgt/admin/devices/permanent-delete"} - ) + ), + @Scope( + name = "Get Usage of Devices", + description = "Get Usage of Devices", + key = "perm:admin:usage:view", + roles = {"Internal/devicemgt-admin"}, + permissions = {"/device-mgt/admin/devices/usage/view"} + ), } ) public interface DeviceManagementAdminService { @@ -423,4 +431,78 @@ public interface DeviceManagementAdminService { List actions ); + @GET + @Path("/billing") + @Produces(MediaType.APPLICATION_JSON) + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Getting Cost details of devices in a tenant", + notes = "Provides individual cost and total cost of all devices per tenant.", + tags = "Device Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:usage:view") + }) + } + ) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK. \n Successfully fetched the list of devices.", + response = DeviceList.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "Content-Disposition", + description = "The content disposition of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client already has the latest version of " + + "the requested resource.\n"), + @ApiResponse( + code = 400, + message = "The incoming request has more than one selection criteria defined via the query parameters.", + response = ErrorResponse.class), + @ApiResponse( + code = 404, + message = "The search criteria did not match any device registered with the server.", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported."), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n Server error occurred while fetching the device list.", + response = ErrorResponse.class) + }) + Response getBilling( + @ApiParam( + name = "tenantDomain", + value = "The tenant domain.", + required = false) + @QueryParam("tenantDomain") + String tenantDomain, + @ApiParam( + name = "startDate", + value = "The start date.", + required = false) + @QueryParam("startDate") + Timestamp startDate, + @ApiParam( + name = "endDate", + value = "The end date.", + required = false) + @QueryParam("endDate") + Timestamp endDate); + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index b8c626cb415..9ffece72302 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -355,105 +355,6 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { } } - @GET - @Override - @Path("/billing") - public Response getDevicesBilling( - @QueryParam("tenantDomain") String tenantDomain, - @QueryParam("startDate") Timestamp startDate, - @QueryParam("endDate") Timestamp endDate, - @QueryParam("generateBill") boolean generateBill, - @QueryParam("offset") int offset, - @DefaultValue("10") - @QueryParam("limit") int limit) { - try { - RequestValidationUtil.validatePaginationParameters(offset, limit); - DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); - PaginationRequest request = new PaginationRequest(offset, limit); - PaginationResult result; - DeviceList devices = new DeviceList(); - int tenantId = 0; - RealmService realmService = DeviceMgtAPIUtils.getRealmService(); - - if (!tenantDomain.isEmpty()) { - tenantId = realmService.getTenantManager().getTenantId(tenantDomain); - } else { - tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); - } - - try { - result = dms.getAllDevicesBillings(request, tenantId, tenantDomain, startDate, endDate, generateBill); - } catch (Exception exception) { - String msg = "Error occurred when trying to retrieve billing data"; - log.error(msg, exception); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - - int resultCount = result.getRecordsTotal(); - if (resultCount == 0) { - Response.status(Response.Status.OK).entity(devices).build(); - } - - devices.setList((List) result.getData()); - devices.setBilledDateIsValid(result.isBilledDateIsValid()); - devices.setMessage(result.getMessage()); - devices.setCount(result.getRecordsTotal()); - devices.setTotalCost(result.getTotalCost()); - return Response.status(Response.Status.OK).entity(devices).build(); - } catch (Exception e) { - String msg = "Error occurred while retrieving billing data"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - } - - @GET - @Override - @Path("/billing/file") - public Response exportBilling( - @QueryParam("tenantDomain") String tenantDomain, - @QueryParam("startDate") Timestamp startDate, - @QueryParam("endDate") Timestamp endDate, - @QueryParam("generateBill") boolean generateBill) { - - try { - DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); - PaginationResult result; - int tenantId = 0; - RealmService realmService = DeviceMgtAPIUtils.getRealmService(); - DeviceList devices = new DeviceList(); - - if (!tenantDomain.isEmpty()) { - tenantId = realmService.getTenantManager().getTenantId(tenantDomain); - } else { - tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); - } - - try { - result = dms.createBillingFile(tenantId, tenantDomain, startDate, endDate, generateBill); - - } catch (Exception exception) { - String msg = "Error occurred when trying to retrieve billing data without pagination"; - log.error(msg, exception); - return null; - } - - devices.setList((List) result.getData()); - devices.setBilledDateIsValid(result.isBilledDateIsValid()); - devices.setMessage(result.getMessage()); - devices.setCount(result.getRecordsTotal()); - devices.setTotalCost(result.getTotalCost()); - return Response.status(Response.Status.OK).entity(devices).build(); - } catch (Exception e) { - String msg = "Error occurred while retrieving billing data without pagination"; - log.error(msg, e); - return null; - } - - } - @GET @Override @Path("/user-devices") diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index e8314e3b00d..acadf926f2b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -52,12 +52,15 @@ import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; import org.wso2.carbon.device.mgt.common.exceptions.UserNotFoundException; +import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceManagementAdminService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; +import org.wso2.carbon.user.api.UserStoreException; +import org.wso2.carbon.user.core.service.RealmService; import javax.validation.constraints.Size; import javax.ws.rs.Consumes; @@ -71,6 +74,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import java.sql.Timestamp; import java.util.List; @Path("/admin/devices") @@ -147,7 +151,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe @Path("/device-owner") public Response updateEnrollOwner( @QueryParam("owner") String owner, - List deviceIdentifiers){ + List deviceIdentifiers) { try { if (DeviceMgtAPIUtils.getDeviceManagementService().updateEnrollment(owner, true, deviceIdentifiers)) { String msg = "Device owner is updated successfully."; @@ -190,8 +194,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - catch (InvalidDeviceException e) { + } catch (InvalidDeviceException e) { String msg = "Found Invalid devices"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity( @@ -205,7 +208,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe public Response triggerCorrectiveActions( @PathParam("deviceId") String deviceIdentifier, @PathParam("featureCode") String featureCode, - List actions){ + List actions) { DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService(); PlatformConfigurationManagementService platformConfigurationManagementService = DeviceMgtAPIUtils .getPlatformConfigurationManagementService(); @@ -233,4 +236,51 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe } return Response.status(Response.Status.OK).entity("Triggered action successfully").build(); } + + @GET + @Override + @Path("/billing") + public Response getBilling( + @QueryParam("tenantDomain") String tenantDomain, + @QueryParam("startDate") Timestamp startDate, + @QueryParam("endDate") Timestamp endDate) { + try { + PaginationResult result; + int tenantId = 0; + RealmService realmService = DeviceMgtAPIUtils.getRealmService(); + + int tenantIdContext = CarbonContext.getThreadLocalCarbonContext().getTenantId(); + + if (!tenantDomain.isEmpty()) { + tenantId = realmService.getTenantManager().getTenantId(tenantDomain); + } + if (tenantIdContext != MultitenantConstants.SUPER_TENANT_ID && tenantIdContext != tenantId) { + String msg = "Current logged in user is not authorized to access billing details of other tenants"; + log.error(msg); + return Response.status(Response.Status.UNAUTHORIZED).entity(msg).build(); + } else { + DeviceList devices = new DeviceList(); + DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); + result = dms.createBillingFile(tenantId, tenantDomain, startDate, endDate); + devices.setList((List) result.getData()); + devices.setDeviceCount(result.getTotalDeviceCount()); + devices.setMessage(result.getMessage()); + devices.setTotalCost(result.getTotalCost()); + devices.setBillPeriod(startDate.toString() + " - " + endDate.toString()); + return Response.status(Response.Status.OK).entity(devices).build(); + } + } catch (BadRequestException e) { + String msg = "Bad request, can't proceed. Hence verify the request and re-try"; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while retrieving billing data"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } catch (UserStoreException e) { + String msg = "Error occurred while processing tenant configuration."; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/BillingResponse.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/BillingResponse.java new file mode 100644 index 00000000000..ad7f9eaeb30 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/BillingResponse.java @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2022, 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.device.mgt.common; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.List; + +@ApiModel(value = "BillingResponse", description = "This class carries all information related to a billing response.") +public class BillingResponse implements Serializable { + + private static final long serialVersionUID = 1998101711L; + + @ApiModelProperty(name = "year", value = "Year of the billed period", + required = false) + private String year; + + @ApiModelProperty(name = "totalCostPerYear", value = "Bill for a period of year", required = false) + private double totalCostPerYear; + + @ApiModelProperty(name = "devices", value = "Billed list of devices per year", required = false) + private List device; + + @ApiModelProperty(name = "billPeriod", value = "Billed period", required = false) + private String billPeriod; + + @ApiModelProperty(name = "startDate", value = "Start Date of period", required = false) + private String startDate; + + @ApiModelProperty(name = "endDate", value = "End Date of period", required = false) + private String endDate; + + @ApiModelProperty(name = "deviceCount", value = "Device count for a billing period", + required = false) + private int deviceCount; + + public BillingResponse() { + } + + public BillingResponse(String year, double totalCostPerYear, List device, String billPeriod, String startDate, String endDate, int deviceCount) { + this.year = year; + this.totalCostPerYear = totalCostPerYear; + this.device = device; + this.billPeriod = billPeriod; + this.startDate = startDate; + this.endDate = endDate; + this.deviceCount = deviceCount; + } + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public double getTotalCostPerYear() { + return totalCostPerYear; + } + + public void setTotalCostPerYear(double totalCostPerYear) { + this.totalCostPerYear = totalCostPerYear; + } + + public String getYear() { + return year; + } + + public void setYear(String year) { + this.year = year; + } + + public List getDevice() { + return device; + } + + public void setDevice(List device) { + this.device = device; + } + + public String getBillPeriod() { + return billPeriod; + } + + public void setBillPeriod(String billPeriod) { + this.billPeriod = billPeriod; + } + + public int getDeviceCount() { + return deviceCount; + } + + public void setDeviceCount(int deviceCount) { + this.deviceCount = deviceCount; + } + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationResult.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationResult.java index 553618d80c5..b76f40471bf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationResult.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationResult.java @@ -47,18 +47,29 @@ public class PaginationResult implements Serializable { @ApiModelProperty(name = "totalCost", value = "Total cost of all devices per tenant", required = false) private double totalCost; - @ApiModelProperty(name = "billedDateIsValid", value = "Check if user entered date is valid", required = false) - private boolean billedDateIsValid; + @ApiModelProperty(name = "totalDeviceCount", value = "Total count of all devices per tenant", required = false) + private double totalDeviceCount; + + @ApiModelProperty(name = "billPeriod", value = "Billed period", required = false) + private String billPeriod; @ApiModelProperty(name = "message", value = "Send information text to the billing UI", required = false) private String message; - public boolean isBilledDateIsValid() { - return billedDateIsValid; + public String getBillPeriod() { + return billPeriod; + } + + public void setBillPeriod(String billPeriod) { + this.billPeriod = billPeriod; + } + + public double getTotalDeviceCount() { + return totalDeviceCount; } - public void setBilledDateIsValid(boolean billedDateIsValid) { - this.billedDateIsValid = billedDateIsValid; + public void setTotalDeviceCount(double totalDeviceCount) { + this.totalDeviceCount = totalDeviceCount; } public String getMessage() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java index 8e03917f55f..76cce46e998 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java @@ -44,6 +44,7 @@ public final class DeviceManagementConstants { public static final String DEVICE_CACHE = "DEVICE_CACHE"; public static final String API_RESOURCE_PERMISSION_CACHE = "API_RESOURCE_CACHE_CACHE"; public static final String GEOFENCE_CACHE = "GEOFENCE_CACHE"; + public static final String BILLING_CACHE = "BILLING_CACHE"; public static final String META_KEY = "PER_DEVICE_COST"; public static final String ACTIVE_STATUS = "ACTIVE"; public static final String ENROLLMENT_NOTIFICATION_API_ENDPOINT = "/api/device-mgt/enrollment-notification"; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheKey.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheKey.java new file mode 100644 index 00000000000..c805529849c --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheKey.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.cache; + +import java.sql.Timestamp; +import java.util.Objects; + +public class BillingCacheKey { + + private String tenantDomain; + private Timestamp startDate; + private Timestamp endDate; + private volatile int hashCode; + + public String getTenantDomain() { + return tenantDomain; + } + + public void setTenantDomain(String tenantDomain) { + this.tenantDomain = tenantDomain; + } + + public Timestamp getStartDate() { + return startDate; + } + + public void setStartDate(Timestamp startDate) { + this.startDate = startDate; + } + + public Timestamp getEndDate() { + return endDate; + } + + public void setEndDate(Timestamp endDate) { + this.endDate = endDate; + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (!BillingCacheKey.class.isAssignableFrom(obj.getClass())) { + return false; + } + final BillingCacheKey other = (BillingCacheKey) obj; + String thisId = this.tenantDomain + "_" + this.startDate + "_" + this.endDate; + String otherId = other.tenantDomain + "_" + other.startDate + "_" + this.endDate; + if (!thisId.equals(otherId)) { + return false; + } + return true; + } + + @Override + public int hashCode() { + if (hashCode == 0) { + hashCode = Objects.hash(tenantDomain, startDate, endDate); + } + return hashCode; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheManager.java new file mode 100644 index 00000000000..18723dc2d84 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/BillingCacheManager.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.cache; + +import org.wso2.carbon.device.mgt.common.PaginationResult; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; + +import java.sql.Timestamp; +import java.util.List; + +public interface BillingCacheManager { + /** + * Adds a given billing object to the billing-cache. + * @param startDate - startDate of the billing period. + * @param endDate - endDate of the billing period. + * @param paginationResult - PaginationResult object to be added. + * @param tenantDomain - Owning tenant of the billing. + * + */ + void addBillingToCache(PaginationResult paginationResult, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException; + + /** + * Removes a billing object from billing-cache. + * @param startDate - startDate of the billing period. + * @param endDate - endDate of the billing period. + * @param tenantDomain - Owning tenant of the billing. + * + */ + void removeBillingFromCache(String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException; + + /** + * Removes a list of devices from billing-cache. + * @param billingList - List of Cache-Keys of the billing objects to be removed. + * + */ + void removeBillingsFromCache(List billingList) throws DeviceManagementException; + + /** + * Updates a given billing object in the billing-cache. + * @param startDate - startDate of the billing period. + * @param endDate - endDate of the billing period. + * @param paginationResult - PaginationResult object to be updated. + * @param tenantDomain - Owning tenant of the billing. + * + */ + void updateBillingInCache(PaginationResult paginationResult, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException; + + /** + * Fetches a billing object from billing-cache. + * @param startDate - startDate of the billing period. + * @param endDate - endDate of the billing period. + * @param tenantDomain - Owning tenant of the billing. + * @return Device object + * + */ + PaginationResult getBillingFromCache(String tenantDomain, Timestamp startDate, Timestamp endDate); +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/impl/BillingCacheManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/impl/BillingCacheManagerImpl.java new file mode 100644 index 00000000000..e5b6cddaa10 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/cache/impl/BillingCacheManagerImpl.java @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.cache.impl; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.PaginationResult; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; +import org.wso2.carbon.device.mgt.core.cache.BillingCacheKey; +import org.wso2.carbon.device.mgt.core.cache.BillingCacheManager; +import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; + +import javax.cache.Cache; +import java.sql.Timestamp; +import java.util.List; + +/** + * Implementation of BillingCacheManager. + */ +public class BillingCacheManagerImpl implements BillingCacheManager { + + private static final Log log = LogFactory.getLog(BillingCacheManagerImpl.class); + + private static BillingCacheManagerImpl billingCacheManager; + + private BillingCacheManagerImpl() { + } + + public static BillingCacheManagerImpl getInstance() { + if (billingCacheManager == null) { + synchronized (BillingCacheManagerImpl.class) { + if (billingCacheManager == null) { + billingCacheManager = new BillingCacheManagerImpl(); + } + } + } + return billingCacheManager; + } + + @Override + public void addBillingToCache(PaginationResult paginationResult, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException { + Cache lCache = DeviceManagerUtil.getBillingCache(); + if (lCache != null) { + BillingCacheKey cacheKey = getCacheKey(tenantDomain, startDate, endDate); + if (lCache.containsKey(cacheKey)) { + this.updateBillingInCache(paginationResult, tenantDomain, startDate, endDate); + } else { + lCache.put(cacheKey, paginationResult); + } + } + } + + @Override + public void removeBillingFromCache(String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException { + Cache lCache = DeviceManagerUtil.getBillingCache(); + if (lCache != null) { + BillingCacheKey cacheKey = getCacheKey(tenantDomain, startDate, endDate); + if (lCache.containsKey(cacheKey)) { + lCache.remove(cacheKey); + } + } else { + String msg = "Failed to remove selected billing from cache"; + log.error(msg); + throw new DeviceManagementException(msg); + } + } + + @Override + public void removeBillingsFromCache(List billingList) throws DeviceManagementException { + Cache lCache = DeviceManagerUtil.getBillingCache(); + if (lCache != null) { + for (BillingCacheKey cacheKey : billingList) { + if (lCache.containsKey(cacheKey)) { + lCache.remove(cacheKey); + } + } + } else { + String msg = "Failed to remove billing from cache"; + log.error(msg); + throw new DeviceManagementException(msg); + } + } + + @Override + public void updateBillingInCache(PaginationResult paginationResult, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException { + Cache lCache = DeviceManagerUtil.getBillingCache(); + if (lCache != null) { + BillingCacheKey cacheKey = getCacheKey(tenantDomain, startDate, endDate); + if (lCache.containsKey(cacheKey)) { + lCache.replace(cacheKey, paginationResult); + } + } else { + String msg = "Failed to update billing cache"; + log.error(msg); + throw new DeviceManagementException(msg); + } + } + + // TODO remove null check from here and do cache enable check in the methods calling this + @Override + public PaginationResult getBillingFromCache(String tenantDomain, Timestamp startDate, Timestamp endDate) { + Cache lCache = DeviceManagerUtil.getBillingCache(); + if (lCache != null) { + return lCache.get(getCacheKey(tenantDomain, startDate, endDate)); + } + return null; + } + + /** + * This method generates the billing CacheKey and returns it. + */ + private BillingCacheKey getCacheKey(String tenantDomain, Timestamp startDate, Timestamp endDate) { + BillingCacheKey billingCacheKey = new BillingCacheKey(); + billingCacheKey.setTenantDomain(tenantDomain); + billingCacheKey.setStartDate(startDate); + billingCacheKey.setEndDate(endDate); + return billingCacheKey; + } +} \ 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/config/DeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java index ebdfa35bfc3..f2ad40abb70 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java @@ -21,6 +21,7 @@ import org.wso2.carbon.device.mgt.common.enrollment.notification.EnrollmentNotif import org.wso2.carbon.device.mgt.common.roles.config.DefaultRoles; import org.wso2.carbon.device.mgt.core.config.analytics.OperationAnalyticsConfiguration; import org.wso2.carbon.device.mgt.core.config.archival.ArchivalConfiguration; +import org.wso2.carbon.device.mgt.core.config.cache.BillingCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.CertificateCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.DeviceCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.GeoFenceCacheConfiguration; @@ -58,6 +59,7 @@ public final class DeviceManagementConfig { private DeviceStatusTaskConfig deviceStatusTaskConfig; private DeviceCacheConfiguration deviceCacheConfiguration; private GeoFenceCacheConfiguration geoFenceCacheConfiguration; + private BillingCacheConfiguration billingCacheConfiguration; private EventOperationTaskConfiguration eventOperationTaskConfiguration; private CertificateCacheConfiguration certificateCacheConfiguration; private OperationAnalyticsConfiguration operationAnalyticsConfiguration; @@ -169,6 +171,15 @@ public final class DeviceManagementConfig { this.geoFenceCacheConfiguration = geoFenceCacheConfiguration; } + @XmlElement(name = "BillingCacheConfiguration", required = true) + public BillingCacheConfiguration getBillingCacheConfiguration() { + return billingCacheConfiguration; + } + + public void setBillingCacheConfiguration(BillingCacheConfiguration billingCacheConfiguration) { + this.billingCacheConfiguration = billingCacheConfiguration; + } + @XmlElement(name = "EventOperationTaskConfiguration", required = true) public EventOperationTaskConfiguration getEventOperationTaskConfiguration() { return eventOperationTaskConfiguration; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/cache/BillingCacheConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/cache/BillingCacheConfiguration.java new file mode 100644 index 00000000000..b34b9c2b6e0 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/cache/BillingCacheConfiguration.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.config.cache; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "BillingCacheConfiguration") +public class BillingCacheConfiguration { + private boolean isEnabled; + private int expiryTime; + private long capacity; + + @XmlElement(name = "Enable", required = true) + public boolean isEnabled() { + return isEnabled; + } + + public void setEnabled(boolean enabled) { + isEnabled = enabled; + } + + @XmlElement(name = "ExpiryTime", required = true) + public int getExpiryTime() { + return expiryTime; + } + + public void setExpiryTime(int expiryTime) { + this.expiryTime = expiryTime; + } + + @XmlElement(name = "Capacity", required = true) + public long getCapacity() { + return capacity; + } + + public void setCapacity(long capacity) { + this.capacity = capacity; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/BillingDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/BillingDAO.java deleted file mode 100644 index dd0ddf4e286..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/BillingDAO.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.wso2.carbon.device.mgt.core.dao; - -import org.wso2.carbon.device.mgt.common.Billing; - -import java.sql.Timestamp; -import java.util.List; - -public interface BillingDAO { - - void addBilling(int deviceId, int tenantId, Timestamp billingStart, Timestamp billingEnd) throws DeviceManagementDAOException; - - List getBilling(int deviceId, Timestamp billingStart, Timestamp billingEnd) throws DeviceManagementDAOException; -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java index fcf414ff087..e9c4e1bf9e4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java @@ -293,6 +293,50 @@ public interface DeviceDAO { */ List getDevices(PaginationRequest request, int tenantId) throws DeviceManagementDAOException; + /** + * This method is used to retrieve the not removed device list in a year of a given tenant without pagination. + * + * @param tenantId tenant id. + * @param startDate start date of usage period. + * @param endDate end date of usage period. + * @return returns a list of not removed devices enrolled in that year. + * @throws DeviceManagementDAOException + */ + List getNonRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) throws DeviceManagementDAOException; + + /** + * This method is used to retrieve the removed device list in a year of a given tenant without pagination. + * + * @param tenantId tenant id. + * @param startDate start date of usage period. + * @param endDate end date of usage period. + * @return returns a list of removed devices enrolled in that year. + * @throws DeviceManagementDAOException + */ + List getRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) throws DeviceManagementDAOException; + + /** + * This method is used to retrieve the not removed device list in the prior year of a given tenant without pagination. + * + * @param tenantId tenant id. + * @param startDate start date of usage period. + * @param endDate end date of usage period. + * @return returns a list of not removed devices enrolled prior to that year. + * @throws DeviceManagementDAOException + */ + List getNonRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) throws DeviceManagementDAOException; + + /** + * This method is used to retrieve the removed device list in the prior year of a given tenant without pagination. + * + * @param tenantId tenant id. + * @param startDate start date of usage period. + * @param endDate end date of usage period. + * @return returns a list of removed devices enrolled prior to that year. + * @throws DeviceManagementDAOException + */ + List getRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) throws DeviceManagementDAOException; + /** * This method is used to retrieve the devices of a given tenant without pagination. * @param tenantId tenant id. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java index 230a958d198..cbd7c697f4a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java @@ -125,11 +125,6 @@ public class DeviceManagementDAOFactory { return new EnrollmentDAOImpl(); } - public static BillingDAO getBillingDAO() { - return new BillingDAOImpl(); - } - - public static TrackerDAO getTrackerDAO() { if (databaseEngine != null) { switch (databaseEngine) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/EnrollmentDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/EnrollmentDAO.java index 825fa647979..612ebb76099 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/EnrollmentDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/EnrollmentDAO.java @@ -33,8 +33,6 @@ public interface EnrollmentDAO { boolean updateEnrollmentStatus(List enrolmentInfos) throws DeviceManagementDAOException; - boolean updateEnrollmentLastBilledDate(EnrolmentInfo enrolmentInfos, Timestamp lastBilledDate, int tenantId) throws DeviceManagementDAOException; - int removeEnrollment(int deviceId, String currentOwner, int tenantId) throws DeviceManagementDAOException; @Deprecated diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/BillingDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/BillingDAOImpl.java deleted file mode 100644 index 4af343012b0..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/BillingDAOImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.wso2.carbon.device.mgt.core.dao.impl; - -import org.wso2.carbon.device.mgt.common.Billing; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.core.dao.BillingDAO; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.*; -import java.util.ArrayList; -import java.util.List; - -public class BillingDAOImpl implements BillingDAO { - - @Override - public void addBilling(int deviceId, int tenantId, Timestamp billingStart, Timestamp billingEnd) throws DeviceManagementDAOException { - - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - try { - conn = this.getConnection(); - String sql = "INSERT INTO DM_BILLING(DEVICE_ID, TENANT_ID, BILLING_START, BILLING_END) VALUES(?, ?, ?, ?)"; - stmt = conn.prepareStatement(sql, new String[] {"invoice_id"}); - stmt.setInt(1, deviceId); - stmt.setInt(2,tenantId); - stmt.setTimestamp(3, billingStart); - stmt.setTimestamp(4, billingEnd); - stmt.execute(); - } catch (SQLException e) { - e.printStackTrace(); - throw new DeviceManagementDAOException("Error occurred while adding billing period", e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - } - - @Override - public List getBilling(int deviceId, Timestamp billingStart, Timestamp billingEnd) throws DeviceManagementDAOException { - List billings = new ArrayList<>(); - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - EnrolmentInfo.Status status = null; - try { - conn = this.getConnection(); - String sql; - - sql = "SELECT * FROM DM_BILLING WHERE DEVICE_ID = ?"; - stmt = conn.prepareStatement(sql); - stmt.setInt(1, deviceId); - rs = stmt.executeQuery(); - - while (rs.next()) { - Billing bill = new Billing(rs.getInt("INVOICE_ID"), rs.getInt("DEVICE_ID"),rs.getInt("TENANT_ID"), - (rs.getTimestamp("BILLING_START").getTime()), (rs.getTimestamp("BILLING_END").getTime())); - billings.add(bill); - } - } catch (SQLException e) { - throw new DeviceManagementDAOException("Error occurred getting billing periods", e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return billings; - } - - private Connection getConnection() throws SQLException { - return DeviceManagementDAOFactory.getConnection(); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceStatusDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceStatusDAOImpl.java index c237d4ce22d..eb5373e2cf2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceStatusDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceStatusDAOImpl.java @@ -25,13 +25,7 @@ public class DeviceStatusDAOImpl implements DeviceStatusDAO { conn = this.getConnection(); // either we list all status values for the device using the device id or only get status values for the given enrolment id String idType = isDeviceId ? "DEVICE_ID" : "ENROLMENT_ID"; - String sql; - - if (billingStatus) { - sql = "SELECT ENROLMENT_ID, DEVICE_ID, UPDATE_TIME, STATUS, CHANGED_BY FROM DM_DEVICE_STATUS WHERE STATUS IN ('ACTIVE','REMOVED') AND " + idType + " = ?"; - } else { - sql = "SELECT ENROLMENT_ID, DEVICE_ID, UPDATE_TIME, STATUS, CHANGED_BY FROM DM_DEVICE_STATUS WHERE " + idType + " = ?"; - } + String sql = "SELECT ENROLMENT_ID, DEVICE_ID, UPDATE_TIME, STATUS, CHANGED_BY FROM DM_DEVICE_STATUS WHERE " + idType + " = ?"; // filter the data based on a date range if specified if (fromDate != null){ @@ -41,6 +35,10 @@ public class DeviceStatusDAOImpl implements DeviceStatusDAO { sql += " AND UPDATE_TIME <= ?"; } + if (billingStatus) { + sql += " ORDER BY UPDATE_TIME DESC"; + } + stmt = conn.prepareStatement(sql); int i = 1; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java index a8fbad8ff96..7b3e08cd509 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java @@ -144,28 +144,6 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { return status; } - @Override - public boolean updateEnrollmentLastBilledDate(EnrolmentInfo enrolmentInfo, Timestamp lastBilledDate, int tenantId) throws DeviceManagementDAOException { - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - try { - conn = this.getConnection(); - String sql = "UPDATE DM_ENROLMENT SET LAST_BILLED_DATE = ? WHERE ID = ? AND TENANT_ID = ?"; - stmt = conn.prepareStatement(sql); - stmt.setLong(1, lastBilledDate.getTime()); - stmt.setInt(2, enrolmentInfo.getId()); - stmt.setInt(3, tenantId); - stmt.executeUpdate(); - return true; - } catch (SQLException e) { - throw new DeviceManagementDAOException("Error occurred while updating enrolment last billed date.", e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - } - - @Override public int removeEnrollment(int deviceId, String currentOwner, int tenantId) throws DeviceManagementDAOException { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/GenericDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/GenericDeviceDAOImpl.java index 38fc88825d6..b40b5f5f209 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/GenericDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/GenericDeviceDAOImpl.java @@ -84,7 +84,6 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl { "e.IS_TRANSFERRED, " + "e.DATE_OF_LAST_UPDATE, " + "e.DATE_OF_ENROLMENT, " + - "e.LAST_BILLED_DATE, " + "e.ID AS ENROLMENT_ID " + "FROM DM_ENROLMENT e, " + "(SELECT d.ID, " + @@ -188,6 +187,169 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl { } } + @Override + public List getNonRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + List devices = new ArrayList<>(); + try { + Connection conn = getConnection(); + String sql = "SELECT d.ID AS DEVICE_ID, " + + "DEVICE_IDENTIFICATION, " + + "DESCRIPTION, " + + "NAME, " + + "DATE_OF_ENROLMENT, " + + "STATUS, " + + "DATE_OF_LAST_UPDATE, " + + "TIMESTAMPDIFF(DAY, ?, DATE_OF_ENROLMENT) as DAYS_SINCE_ENROLLED " + + "FROM DM_DEVICE d, DM_ENROLMENT e " + + "WHERE " + + "e.TENANT_ID=? AND " + + "d.ID=e.DEVICE_ID AND " + + "STATUS !='REMOVED' AND " + + "(" + + "DATE_OF_ENROLMENT BETWEEN ? AND ? " + + ")"; + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + stmt.setString(1, String.valueOf(endDate)); + stmt.setInt(2, tenantId); + stmt.setString(3, String.valueOf(startDate)); + stmt.setString(4, String.valueOf(endDate)); + ResultSet rs = stmt.executeQuery(); + + while (rs.next()) { + devices.add(DeviceManagementDAOUtil.loadDeviceBilling(rs)); + } + } + } catch (SQLException e) { + throw new DeviceManagementDAOException("Error occurred while fetching the list of NonRemovedYearly device billing ", e); + } + return devices; + } + + @Override + public List getRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + Connection conn; + List devices = new ArrayList<>(); + try { + conn = this.getConnection(); + String sql = "select d.ID AS DEVICE_ID, " + + "DEVICE_IDENTIFICATION, " + + "DESCRIPTION, " + + "NAME, " + + "DATE_OF_ENROLMENT, " + + "DATE_OF_LAST_UPDATE, " + + "STATUS, " + + "TIMESTAMPDIFF(DAY, DATE_OF_LAST_UPDATE, DATE_OF_ENROLMENT) AS DAYS_USED " + + "from DM_DEVICE d, DM_ENROLMENT e " + + "where " + + "e.TENANT_ID=? and d.ID=e.DEVICE_ID and " + + "STATUS ='REMOVED' and " + + "(" + + "DATE_OF_ENROLMENT between ? and ? " + + ") and " + + "(" + + "DATE_OF_LAST_UPDATE >= ? " + + ")"; + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + stmt.setInt(1, tenantId); + stmt.setString(2, String.valueOf(startDate)); + stmt.setString(3, String.valueOf(endDate)); + stmt.setString(4, String.valueOf(startDate)); + ResultSet rs = stmt.executeQuery(); + + while (rs.next()) { + devices.add(DeviceManagementDAOUtil.loadDeviceBilling(rs)); + } + } + } catch (SQLException e) { + throw new DeviceManagementDAOException("Error occurred while fetching the list of RemovedYearly device billing ", e); + } + return devices; + } + + @Override + public List getNonRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + Connection conn; + List devices = new ArrayList<>(); + try { + conn = this.getConnection(); + String sql = "select d.ID AS DEVICE_ID, " + + "DEVICE_IDENTIFICATION, " + + "DESCRIPTION, " + + "NAME, " + + "DATE_OF_ENROLMENT, " + + "STATUS, " + + "DATE_OF_LAST_UPDATE, " + + "TIMESTAMPDIFF(DAY, ?, ?) as DAYS_SINCE_ENROLLED " + + "from DM_DEVICE d, DM_ENROLMENT e " + + "where " + + "e.TENANT_ID=? and " + + "d.ID=e.DEVICE_ID and " + + "STATUS !='REMOVED' and " + + "(" + + "DATE_OF_ENROLMENT < ? " + + ")"; + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + stmt.setString(1, String.valueOf(endDate)); + stmt.setString(2, String.valueOf(startDate)); + stmt.setInt(3, tenantId); + stmt.setString(4, String.valueOf(startDate)); + ResultSet rs = stmt.executeQuery(); + + while (rs.next()) { + devices.add(DeviceManagementDAOUtil.loadDeviceBilling(rs)); + } + } + } catch (SQLException e) { + throw new DeviceManagementDAOException("Error occurred while fetching the list of NonRemovedPriorYears device billing ", e); + } + return devices; + } + + @Override + public List getRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + Connection conn; + List devices = new ArrayList<>(); + try { + conn = this.getConnection(); + String sql = "select d.ID AS DEVICE_ID, " + + "DEVICE_IDENTIFICATION, " + + "DESCRIPTION, " + + "NAME, " + + "DATE_OF_ENROLMENT, " + + "DATE_OF_LAST_UPDATE, " + + "STATUS, " + + "TIMESTAMPDIFF(DAY, DATE_OF_LAST_UPDATE, ?) AS DAYS_USED " + + "from DM_DEVICE d, DM_ENROLMENT e " + + "where " + + "e.TENANT_ID=? and d.ID=e.DEVICE_ID and " + + "STATUS ='REMOVED' and " + + "(" + + "DATE_OF_ENROLMENT < ? " + + ") and " + + "(" + + "DATE_OF_LAST_UPDATE >= ? " + + ")"; + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + stmt.setString(1, String.valueOf(startDate)); + stmt.setInt(2, tenantId); + stmt.setString(3, String.valueOf(startDate)); + stmt.setString(4, String.valueOf(startDate)); + ResultSet rs = stmt.executeQuery(); + + while (rs.next()) { + devices.add(DeviceManagementDAOUtil.loadDeviceBilling(rs)); + } + } + } catch (SQLException e) { + throw new DeviceManagementDAOException("Error occurred while fetching the list of RemovedPriorYears device billing ", e); + } + return devices; + } + //Return only not removed id list @Override public List getDeviceListWithoutPagination(int tenantId) @@ -197,10 +359,26 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl { List devices = new ArrayList<>(); try { conn = this.getConnection(); - String sql = "SELECT DM_DEVICE.ID AS DEVICE_ID, DEVICE_IDENTIFICATION, DESCRIPTION, DM_DEVICE.NAME AS DEVICE_NAME, DM_DEVICE_TYPE.NAME AS DEVICE_TYPE,\n" + - "DM_ENROLMENT.ID AS ENROLMENT_ID, DATE_OF_ENROLMENT,OWNER, OWNERSHIP,IS_TRANSFERRED, STATUS, DATE_OF_LAST_UPDATE, LAST_BILLED_DATE,\n" + - "TIMESTAMPDIFF(DAY, DATE_OF_ENROLMENT, CURDATE()) as DAYS_SINCE_ENROLLED FROM DM_DEVICE JOIN DM_ENROLMENT\n" + - "ON (DM_DEVICE.ID = DM_ENROLMENT.DEVICE_ID) JOIN DM_DEVICE_TYPE ON (DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID) WHERE DM_ENROLMENT.TENANT_ID=?"; + String sql = "SELECT " + + "DM_DEVICE.ID AS DEVICE_ID, " + + "DEVICE_IDENTIFICATION, " + + "DESCRIPTION, " + + "DM_DEVICE.NAME AS DEVICE_NAME, " + + "DM_DEVICE_TYPE.NAME AS DEVICE_TYPE, " + + "DM_ENROLMENT.ID AS ENROLMENT_ID, " + + "DATE_OF_ENROLMENT, " + + "OWNER, " + + "OWNERSHIP, " + + "IS_TRANSFERRED, " + + "STATUS, " + + "DATE_OF_LAST_UPDATE, " + + "TIMESTAMPDIFF(DAY, DATE_OF_ENROLMENT, CURDATE()) as DAYS_SINCE_ENROLLED " + + "FROM " + + "DM_DEVICE " + + "JOIN DM_ENROLMENT ON (DM_DEVICE.ID = DM_ENROLMENT.DEVICE_ID) " + + "JOIN DM_DEVICE_TYPE ON (DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID) " + + "WHERE " + + "DM_ENROLMENT.TENANT_ID = ? "; stmt = conn.prepareStatement(sql); stmt.setInt(1, tenantId); ResultSet rs = stmt.executeQuery(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/OracleDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/OracleDeviceDAOImpl.java index 08c5afd3118..c65e37d15a9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/OracleDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/OracleDeviceDAOImpl.java @@ -263,6 +263,34 @@ public class OracleDeviceDAOImpl extends AbstractDeviceDAOImpl { } } +// TODO - add Oracle support for below billing method + @Override + public List getNonRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add Oracle support for below billing method + @Override + public List getRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add Oracle support for below billing method + @Override + public List getNonRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add Oracle support for below billing method + @Override + public List getRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + @Override public List getDeviceListWithoutPagination(int tenantId) throws DeviceManagementDAOException { return null; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/PostgreSQLDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/PostgreSQLDeviceDAOImpl.java index 7fdaaca4bd9..b23056de987 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/PostgreSQLDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/PostgreSQLDeviceDAOImpl.java @@ -179,6 +179,35 @@ public class PostgreSQLDeviceDAOImpl extends AbstractDeviceDAOImpl { } } + // TODO - add PostgreSQL support for below billing method + @Override + public List getNonRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add PostgreSQL support for below billing method + @Override + public List getRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add PostgreSQL support for below billing method + @Override + public List getNonRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add PostgreSQL support for below billing method + @Override + public List getRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + //Return only not removed id list @Override public List getDevicesIds(PaginationRequest request, int tenantId) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/SQLServerDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/SQLServerDeviceDAOImpl.java index baf3f92f618..e8f86c5c10a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/SQLServerDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/device/SQLServerDeviceDAOImpl.java @@ -189,6 +189,35 @@ public class SQLServerDeviceDAOImpl extends AbstractDeviceDAOImpl { } } + // TODO - add SQL support for below billing method + @Override + public List getNonRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add SQL support for below billing method + @Override + public List getRemovedYearlyDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add SQL support for below billing method + @Override + public List getNonRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + // TODO - add SQL support for below billing method + @Override + public List getRemovedPriorYearsDeviceList(int tenantId, Timestamp startDate, Timestamp endDate) + throws DeviceManagementDAOException { + return null; + } + + //Return only not removed id list @Override public List getDevicesIds(PaginationRequest request, int tenantId) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java index 089bb4cf034..0fd111d76ed 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java @@ -144,14 +144,6 @@ public final class DeviceManagementDAOUtil { public static EnrolmentInfo loadEnrolment(ResultSet rs) throws SQLException { EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); - String columnName = "LAST_BILLED_DATE"; - ResultSetMetaData rsmd = rs.getMetaData(); - int columns = rsmd.getColumnCount(); - for (int x = 1; x <= columns; x++) { - if (columnName.equals(rsmd.getColumnName(x))) { - enrolmentInfo.setLastBilledDate(rs.getLong("LAST_BILLED_DATE")); - } - } enrolmentInfo.setId(rs.getInt("ENROLMENT_ID")); enrolmentInfo.setOwner(rs.getString("OWNER")); enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.valueOf(rs.getString("OWNERSHIP"))); @@ -162,15 +154,12 @@ public final class DeviceManagementDAOUtil { return enrolmentInfo; } + /* This is used to set the enrollment data of the billing query */ public static EnrolmentInfo loadEnrolmentBilling(ResultSet rs) throws SQLException { EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); - enrolmentInfo.setId(rs.getInt("ENROLMENT_ID")); enrolmentInfo.setDateOfEnrolment(rs.getTimestamp("DATE_OF_ENROLMENT").getTime()); - enrolmentInfo.setLastBilledDate(rs.getLong("LAST_BILLED_DATE")); + enrolmentInfo.setDateOfLastUpdate(rs.getTimestamp("DATE_OF_LAST_UPDATE").getTime()); enrolmentInfo.setStatus(EnrolmentInfo.Status.valueOf(rs.getString("STATUS"))); - if (EnrolmentInfo.Status.valueOf(rs.getString("STATUS")).equals("REMOVED")) { - enrolmentInfo.setDateOfLastUpdate(rs.getTimestamp("DATE_OF_LAST_UPDATE").getTime()); - } return enrolmentInfo; } @@ -245,29 +234,23 @@ public final class DeviceManagementDAOUtil { return device; } - public static Device loadDeviceIds(ResultSet rs) throws SQLException { + /* This is used to set the device data of the billing query */ + public static Device loadDeviceBilling(ResultSet rs) throws SQLException { Device device = new Device(); device.setId(rs.getInt("DEVICE_ID")); device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); - device.setEnrolmentInfo(loadEnrolmentStatus(rs)); + device.setName(rs.getString("DESCRIPTION")); + device.setDescription(rs.getString("NAME")); + device.setEnrolmentInfo(loadEnrolmentBilling(rs)); return device; } - public static DeviceBilling loadDeviceBilling(ResultSet rs) throws SQLException { - DeviceBilling device = new DeviceBilling(); - device.setId(rs.getInt("ID")); - device.setName(rs.getString("DEVICE_NAME")); - device.setDescription(rs.getString("DESCRIPTION")); + public static Device loadDeviceIds(ResultSet rs) throws SQLException { + Device device = new Device(); + device.setId(rs.getInt("DEVICE_ID")); device.setDeviceIdentifier(rs.getString("DEVICE_IDENTIFICATION")); - device.setDaysUsed((int) rs.getLong("DAYS_SINCE_ENROLLED")); - device.setEnrolmentInfo(loadEnrolmentBilling(rs)); + device.setEnrolmentInfo(loadEnrolmentStatus(rs)); return device; -// if (removedDevices) { -// device.setDaysUsed((int) rs.getLong("DAYS_USED")); -// } else { -// device.setDaysSinceEnrolled((int) rs.getLong("DAYS_SINCE_ENROLLED")); -// } - } public static DeviceMonitoringData loadDevice(ResultSet rs, String deviceTypeName) throws SQLException { 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 a84deb88944..adfb67f003d 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 @@ -208,16 +208,6 @@ public interface DeviceManagementProviderService { */ PaginationResult getAllDevices(PaginationRequest request, boolean requireDeviceInfo) throws DeviceManagementException; - /** - * Method to retrieve all the devices with pagination support. - * - * @param request PaginationRequest object holding the data for pagination - * @return PaginationResult - Result including the required parameters necessary to do pagination. - * @throws DeviceManagementException If some unusual behaviour is observed while fetching billing of - * devices. - */ - PaginationResult getAllDevicesBillings(PaginationRequest request, int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate, boolean generateBill) throws DeviceManagementException; - /** * Method to retrieve all the devices with pagination support. * @@ -225,9 +215,7 @@ public interface DeviceManagementProviderService { * @throws DeviceManagementException If some unusual behaviour is observed while fetching billing of * devices. */ - PaginationResult createBillingFile(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate, boolean generateBill) throws DeviceManagementException; - - + PaginationResult createBillingFile(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException; /** * Method to retrieve all the devices with pagination support. 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 d6cf2d7fc34..97f58b3f3c8 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 @@ -69,8 +69,10 @@ import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.StartupOperationConfig; +import org.wso2.carbon.device.mgt.common.BillingResponse; 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.MobileAppTypes; import org.wso2.carbon.device.mgt.common.configuration.mgt.AmbiguousConfigurationException; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; @@ -119,11 +121,11 @@ import org.wso2.carbon.device.mgt.common.type.mgt.DeviceTypePlatformVersion; import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository; import org.wso2.carbon.device.mgt.core.cache.DeviceCacheKey; +import org.wso2.carbon.device.mgt.core.cache.impl.BillingCacheManagerImpl; import org.wso2.carbon.device.mgt.core.cache.impl.DeviceCacheManagerImpl; 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.dao.ApplicationDAO; -import org.wso2.carbon.device.mgt.core.dao.BillingDAO; import org.wso2.carbon.device.mgt.core.dao.DeviceDAO; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; @@ -141,6 +143,7 @@ import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent; import org.wso2.carbon.device.mgt.core.internal.PluginInitializationListener; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataDAO; +import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOException; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation; import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; @@ -164,8 +167,7 @@ import java.io.StringWriter; import java.lang.reflect.Type; import java.sql.SQLException; import java.sql.Timestamp; -import java.text.Format; -import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; @@ -193,7 +195,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv private final EnrollmentDAO enrollmentDAO; private final ApplicationDAO applicationDAO; private MetadataDAO metadataDAO; - private final BillingDAO billingDAO; private final DeviceStatusDAO deviceStatusDAO; public DeviceManagementProviderServiceImpl() { @@ -203,7 +204,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv this.deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO(); this.enrollmentDAO = DeviceManagementDAOFactory.getEnrollmentDAO(); this.metadataDAO = MetadataManagementDAOFactory.getMetadataDAO(); - this.billingDAO = DeviceManagementDAOFactory.getBillingDAO(); this.deviceStatusDAO = DeviceManagementDAOFactory.getDeviceStatusDAO(); /* Registering a listener to retrieve events when some device management service plugin is installed after @@ -1021,236 +1021,232 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv return this.getAllDevices(request, true); } - public PaginationResult calculateCost(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate, boolean generateBill, List allDevices) throws DeviceManagementException { + /** + * Calculate cost of a tenants Device List. + * Once the full device list of a tenant is sent here devices are looped for cost calculation + * Cost per tenant is retrieved from the Meta Table + * When looping the devices the most recent device status of that device is retrieved from status table + * If device is enrolled prior to start date now in removed state --> time is calculated from - startDate to last updated time + * If device is enrolled prior to start date now in not removed --> time is calculated from - startDate to endDate + * If device is enrolled after the start date now in removed state --> time is calculated from - dateOfEnrollment to last updated time + * If device is enrolled after the start date now in not removed --> time is calculated from - dateOfEnrollment to endDate + * Once time is calculated cost is set for each device + * + * @param tenantDomain Tenant domain cost id calculated for. + * @param startDate start date of usage period. + * @param endDate end date of usage period. + * @param allDevices device list of the tenant for the selected time-period. + * @return Whether status is changed or not + * @throws DeviceManagementException on errors while trying to calculate Cost + */ + public BillingResponse calculateCost(String tenantDomain, Timestamp startDate, Timestamp endDate, List allDevices) throws MetadataManagementDAOException, DeviceManagementException { - PaginationResult paginationResult = new PaginationResult(); + BillingResponse billingResponse = new BillingResponse(); + List deviceStatusNotAvailable = new ArrayList<>(); double totalCost = 0.0; - boolean allDevicesBilledDateIsValid = true; - ArrayList lastBilledDatesList = new ArrayList<>(); - List invalidDevices = new ArrayList<>(); - List removeBillingPeriodInvalidDevices = new ArrayList<>() ; - List removeStatusUpdateInvalidDevices = new ArrayList<>() ; try { - MetadataManagementDAOFactory.beginTransaction(); + MetadataManagementDAOFactory.openConnection(); Metadata metadata = metadataDAO.getMetadata(MultitenantConstants.SUPER_TENANT_ID, DeviceManagementConstants.META_KEY); Gson g = new Gson(); Collection costData = null; - - Type collectionType = new TypeToken>() {}.getType(); + Type collectionType = new TypeToken>() { + }.getType(); if (metadata != null) { costData = g.fromJson(metadata.getMetaValue(), collectionType); for (Cost tenantCost : costData) { if (tenantCost.getTenantDomain().equals(tenantDomain)) { for (Device device : allDevices) { - device.setDeviceStatusInfo(getDeviceStatusHistory(device, null, null, true)); long dateDiff = 0; - + device.setDeviceStatusInfo(getDeviceStatusHistory(device, null, endDate, true)); List deviceStatus = device.getDeviceStatusInfo(); - boolean firstDateBilled = false; - boolean deviceStatusIsValid = false; - - List deviceBilling = billingDAO.getBilling(device.getId(), startDate, endDate); - boolean billDateIsInvalid = false; - - if (deviceBilling.isEmpty()) { - billDateIsInvalid = false; - } - - if (generateBill) { - for (Billing bill : deviceBilling) { - if ((bill.getBillingStart() <= startDate.getTime() && startDate.getTime() <= bill.getBillingEnd()) || - (bill.getBillingStart() <= endDate.getTime() && endDate.getTime() <= bill.getBillingEnd())) { - billDateIsInvalid = true; - invalidDevices.add(bill); - } - } - } - - if (!billDateIsInvalid) { - for (int i = 0; i < deviceStatus.size(); i++) { - if (DeviceManagementConstants.ACTIVE_STATUS.equals(deviceStatus.get(i).getStatus().toString())) { - if (deviceStatus.size() > i + 1) { - if (!firstDateBilled) { - firstDateBilled = true; - if (device.getEnrolmentInfo().getLastBilledDate() == 0) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (deviceStatus.get(i + 1).getUpdateTime().getTime() - deviceStatus.get(i).getUpdateTime().getTime()); - } else { - if (deviceStatus.get(i + 1).getUpdateTime().getTime() >= device.getEnrolmentInfo().getLastBilledDate()) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (deviceStatus.get(i + 1).getUpdateTime().getTime() - device.getEnrolmentInfo().getLastBilledDate()); - } - } - } else { - if (deviceStatus.get(i).getUpdateTime().getTime() >= device.getEnrolmentInfo().getLastBilledDate()) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (deviceStatus.get(i + 1).getUpdateTime().getTime() - deviceStatus.get(i).getUpdateTime().getTime()); - } - } - } else { - - // If only one status row is retrieved this block is executed - if (!firstDateBilled) { - firstDateBilled = true; - - // Is executed if there is no lastBilled date and if the updates time is before the end date - if (device.getEnrolmentInfo().getLastBilledDate() == 0) { - if (endDate.getTime() >= deviceStatus.get(i).getUpdateTime().getTime()) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (endDate.getTime() - deviceStatus.get(i).getUpdateTime().getTime()); - } - } else { - if (endDate.getTime() >= device.getEnrolmentInfo().getLastBilledDate()) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (endDate.getTime() - device.getEnrolmentInfo().getLastBilledDate()); - } - } - } else { - if (device.getEnrolmentInfo().getLastBilledDate() <= deviceStatus.get(i).getUpdateTime().getTime() - && endDate.getTime() >= deviceStatus.get(i).getUpdateTime().getTime()) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (endDate.getTime() - deviceStatus.get(i).getUpdateTime().getTime()); - } - if (device.getEnrolmentInfo().getLastBilledDate() >= deviceStatus.get(i).getUpdateTime().getTime() - && endDate.getTime() >= device.getEnrolmentInfo().getLastBilledDate()) { - deviceStatusIsValid = true; - dateDiff = dateDiff + (endDate.getTime() - device.getEnrolmentInfo().getLastBilledDate()); - } - } - } + if (device.getEnrolmentInfo().getDateOfEnrolment() < startDate.getTime()) { + if (!deviceStatus.isEmpty() && deviceStatus.get(0).getStatus().equals("REMOVED")) { + if (deviceStatus.get(0).getUpdateTime().getTime() >= startDate.getTime()) { + dateDiff = deviceStatus.get(0).getUpdateTime().getTime() - startDate.getTime(); } + } else if (!deviceStatus.isEmpty() && !deviceStatus.get(0).getStatus().equals("REMOVED")) { + dateDiff = endDate.getTime() - startDate.getTime(); } - - long dateInDays = TimeUnit.DAYS.convert(dateDiff, TimeUnit.MILLISECONDS); - double cost = (tenantCost.getCost() / 365) * dateInDays; - totalCost = cost + totalCost; - device.setCost(Math.round(cost * 100.0) / 100.0); - device.setDaysUsed((int) dateInDays); - - if (generateBill) { - enrollmentDAO.updateEnrollmentLastBilledDate(device.getEnrolmentInfo(), endDate, tenantId); - billingDAO.addBilling(device.getId(), tenantId, startDate, endDate); - DeviceManagementDAOFactory.commitTransaction(); - } - } else { - - for (int i = 0; i < deviceStatus.size(); i++) { - if (endDate.getTime() >= deviceStatus.get(i).getUpdateTime().getTime() - && startDate.getTime() <= deviceStatus.get(i).getUpdateTime().getTime()) { - deviceStatusIsValid = true; - } - } - if (device.getEnrolmentInfo().getLastBilledDate() != 0) { - Date date = new Date(device.getEnrolmentInfo().getLastBilledDate()); - Format format = new SimpleDateFormat("yyyy MM dd"); - - for (String lastBillDate : lastBilledDatesList) { - if (!lastBillDate.equals(format.format(date))) { - lastBilledDatesList.add(format.format(date)); - } + if (!deviceStatus.isEmpty() && deviceStatus.get(0).getStatus().equals("REMOVED")) { + if (deviceStatus.get(0).getUpdateTime().getTime() >= device.getEnrolmentInfo().getDateOfEnrolment()) { + dateDiff = deviceStatus.get(0).getUpdateTime().getTime() - device.getEnrolmentInfo().getDateOfEnrolment(); } + } else if (!deviceStatus.isEmpty() && !deviceStatus.get(0).getStatus().equals("REMOVED")) { + dateDiff = endDate.getTime() - device.getEnrolmentInfo().getDateOfEnrolment(); } - removeBillingPeriodInvalidDevices.add(device); } - - if (!deviceStatusIsValid) { - removeStatusUpdateInvalidDevices.add(device); + long dateInDays = TimeUnit.DAYS.convert(dateDiff, TimeUnit.MILLISECONDS); + double cost = (tenantCost.getCost() / 365) * dateInDays; + totalCost += cost; + device.setCost(Math.round(cost * 100.0) / 100.0); + long totalDays = dateInDays + device.getDaysUsed(); + device.setDaysUsed((int) totalDays); + if (deviceStatus.isEmpty()) { + deviceStatusNotAvailable.add(device); } } } } } - } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while retrieving device list pertaining to the current tenant"; + } catch (DeviceManagementException e) { + String msg = "Error occurred calculating cost of devices"; log.error(msg, e); throw new DeviceManagementException(msg, e); - } catch (Exception e) { - String msg = "Error occurred in getAllDevices"; + } catch (SQLException e) { + String msg = "Error when retrieving data"; + log.error(msg, e); + throw new DeviceManagementException(msg, e); + } catch (MetadataManagementDAOException e) { + String msg = "Error when retrieving metadata of billing feature"; log.error(msg, e); throw new DeviceManagementException(msg, e); } finally { - DeviceManagementDAOFactory.closeConnection(); MetadataManagementDAOFactory.closeConnection(); } - if(!removeBillingPeriodInvalidDevices.isEmpty() && removeBillingPeriodInvalidDevices.size() == allDevices.size()) { - allDevicesBilledDateIsValid = false; - paginationResult.setMessage("Invalid bill period."); + if (!deviceStatusNotAvailable.isEmpty()) { + allDevices.removeAll(deviceStatusNotAvailable); } - if(!removeStatusUpdateInvalidDevices.isEmpty() && removeStatusUpdateInvalidDevices.size() == allDevices.size()) { - allDevicesBilledDateIsValid = false; - if (paginationResult.getMessage() != null){ - paginationResult.setMessage(paginationResult.getMessage() + " and no device updates within entered bill period."); - } else { - paginationResult.setMessage("Devices have not been updated within the given period or entered end date comes before the " + - "last billed date."); - } - } - allDevices.removeAll(removeBillingPeriodInvalidDevices); - allDevices.removeAll(removeStatusUpdateInvalidDevices); + Calendar calStart = Calendar.getInstance(); + Calendar calEnd = Calendar.getInstance(); + calStart.setTimeInMillis(startDate.getTime()); + calEnd.setTimeInMillis(endDate.getTime()); - paginationResult.setBilledDateIsValid(allDevicesBilledDateIsValid); - paginationResult.setData(allDevices); - paginationResult.setTotalCost(Math.round(totalCost * 100.0) / 100.0); - return paginationResult; + billingResponse.setDevice(allDevices); + billingResponse.setYear(String.valueOf(calStart.get(Calendar.YEAR))); + billingResponse.setStartDate(startDate.toString()); + billingResponse.setEndDate(endDate.toString()); + billingResponse.setBillPeriod(calStart.get(Calendar.YEAR) + " - " + calEnd.get(Calendar.YEAR)); + billingResponse.setTotalCostPerYear(Math.round(totalCost * 100.0) / 100.0); + billingResponse.setDeviceCount(allDevices.size()); + + return billingResponse; } @Override - public PaginationResult getAllDevicesBillings(PaginationRequest request, int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate, boolean generateBill) throws DeviceManagementException { - if (request == null) { - String msg = "Received incomplete pagination request for method getAllDeviceBillings"; - log.error(msg); - throw new DeviceManagementException(msg); - } + public PaginationResult createBillingFile(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException { - DeviceManagerUtil.validateDeviceListPageSize(request); PaginationResult paginationResult = new PaginationResult(); - List allDevices; - int count = 0; - + List allDevices = new ArrayList<>(); + List billingResponseList = new ArrayList<>(); + double totalCost = 0.0; + int deviceCount = 0; + Timestamp initialStartDate = startDate; + boolean remainingDaysConsidered = false; try { - DeviceManagementDAOFactory.beginTransaction(); - allDevices = deviceDAO.getDevices(request, tenantId); - count = deviceDAO.getDeviceCount(request, tenantId); - paginationResult = calculateCost(tenantId, tenantDomain, startDate, endDate, generateBill, allDevices); + DeviceManagementDAOFactory.openConnection(); - } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while retrieving device bill list pertaining to the current tenant"; - log.error(msg, e); - throw new DeviceManagementException(msg, e); - } catch (Exception e) { - String msg = "Error occurred in getAllDevicesBillings"; - log.error(msg, e); - throw new DeviceManagementException(msg, e); - } - paginationResult.setRecordsFiltered(count); - paginationResult.setRecordsTotal(count); - return paginationResult; - } + // TODO Do the check of cache enabling here + paginationResult = BillingCacheManagerImpl.getInstance().getBillingFromCache(tenantDomain, startDate, endDate); + if (paginationResult == null) { + paginationResult = new PaginationResult(); + long difference_In_Time = endDate.getTime() - startDate.getTime(); + + long difference_In_Years = (difference_In_Time / (1000L * 60 * 60 * 24 * 365)); + + long difference_In_Days = (difference_In_Time / (1000 * 60 * 60 * 24)) % 365; + + for (int i = 1; i <= difference_In_Years; i++) { + List allDevicesPerYear = new ArrayList<>(); + LocalDateTime oneYearAfterStart = startDate.toLocalDateTime().plusYears(1); + Timestamp newStartDate; + Timestamp newEndDate; + + if (i == difference_In_Years) { + if (difference_In_Days == 0 || Timestamp.valueOf(oneYearAfterStart).getTime() >= endDate.getTime()) { + remainingDaysConsidered = true; + oneYearAfterStart = startDate.toLocalDateTime(); + newEndDate = endDate; + } else if (Timestamp.valueOf(oneYearAfterStart).getTime() >= endDate.getTime()) { + newEndDate = Timestamp.valueOf(oneYearAfterStart); + } else { + oneYearAfterStart = startDate.toLocalDateTime().plusYears(1); + newEndDate = Timestamp.valueOf(oneYearAfterStart); + } + } else { + oneYearAfterStart = startDate.toLocalDateTime().plusYears(1); + newEndDate = Timestamp.valueOf(oneYearAfterStart); + } - @Override - public PaginationResult createBillingFile(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate, boolean generateBill) throws DeviceManagementException { - PaginationResult paginationResult = new PaginationResult(); - List allDevices; - try { - DeviceManagementDAOFactory.beginTransaction(); - allDevices = deviceDAO.getDeviceListWithoutPagination(tenantId); - paginationResult = calculateCost(tenantId, tenantDomain, startDate, endDate, generateBill, allDevices); + newStartDate = startDate; + + // The query returns devices which are enrolled in this year now in not removed state + allDevicesPerYear.addAll(deviceDAO.getNonRemovedYearlyDeviceList(tenantId, newStartDate, newEndDate)); + + // The query returns devices which are enrolled in this year now in removed state + allDevicesPerYear.addAll(deviceDAO.getRemovedYearlyDeviceList(tenantId, newStartDate, newEndDate)); + + // The query returns devices which are enrolled prior this year now in not removed state + allDevicesPerYear.addAll(deviceDAO.getNonRemovedPriorYearsDeviceList(tenantId, newStartDate, newEndDate)); + + // The query returns devices which are enrolled prior this year now in removed state + allDevicesPerYear.addAll(deviceDAO.getRemovedPriorYearsDeviceList(tenantId, newStartDate, newEndDate)); + + BillingResponse billingResponse = calculateCost(tenantDomain, newStartDate, newEndDate, allDevicesPerYear); + billingResponseList.add(billingResponse); + allDevices.addAll(billingResponse.getDevice()); + totalCost = totalCost + billingResponse.getTotalCostPerYear(); + deviceCount = deviceCount + billingResponse.getDeviceCount(); + LocalDateTime nextStartDate = oneYearAfterStart.plusDays(1); + startDate = Timestamp.valueOf(nextStartDate); + } + + if (difference_In_Days != 0 && !remainingDaysConsidered) { + List allDevicesPerRemainingDays = new ArrayList<>(); + + // The query returns devices which are enrolled in this year now in not removed state + allDevicesPerRemainingDays.addAll(deviceDAO.getNonRemovedYearlyDeviceList(tenantId, startDate, endDate)); + + // The query returns devices which are enrolled in this year now in removed state + allDevicesPerRemainingDays.addAll(deviceDAO.getRemovedYearlyDeviceList(tenantId, startDate, endDate)); + + // The query returns devices which are enrolled prior this year now in not removed state + allDevicesPerRemainingDays.addAll(deviceDAO.getNonRemovedPriorYearsDeviceList(tenantId, startDate, endDate)); + + // The query returns devices which are enrolled prior this year now in removed state + allDevicesPerRemainingDays.addAll(deviceDAO.getRemovedPriorYearsDeviceList(tenantId, startDate, endDate)); + + BillingResponse billingResponse = calculateCost(tenantDomain, startDate, endDate, allDevicesPerRemainingDays); + billingResponseList.add(billingResponse); + allDevices.addAll(billingResponse.getDevice()); + totalCost = totalCost + billingResponse.getTotalCostPerYear(); + deviceCount = deviceCount + billingResponse.getDeviceCount(); + } + + Calendar calStart = Calendar.getInstance(); + Calendar calEnd = Calendar.getInstance(); + calStart.setTimeInMillis(initialStartDate.getTime()); + calEnd.setTimeInMillis(endDate.getTime()); + + BillingResponse billingResponse = new BillingResponse("all", Math.round(totalCost * 100.0) / 100.0, allDevices, calStart.get(Calendar.YEAR) + " - " + calEnd.get(Calendar.YEAR), initialStartDate.toString(), endDate.toString(), allDevices.size()); + billingResponseList.add(billingResponse); + paginationResult.setData(billingResponseList); + paginationResult.setTotalCost(Math.round(totalCost * 100.0) / 100.0); + paginationResult.setTotalDeviceCount(deviceCount); + BillingCacheManagerImpl.getInstance().addBillingToCache(paginationResult, tenantDomain, initialStartDate, endDate); + return paginationResult; + } } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while retrieving device bill list without pagination pertaining to the current tenant"; + String msg = "Error occurred while retrieving device bill list related to the current tenant"; log.error(msg, e); throw new DeviceManagementException(msg, e); - } catch (Exception e) { - String msg = "Error occurred in createBillingFile"; + } catch (MetadataManagementDAOException e) { + String msg = "Error when retrieving metadata of billing feature"; log.error(msg, e); throw new DeviceManagementException(msg, e); + } catch (SQLException e) { + String msg = "Error occurred while opening a connection to the data source"; + log.error(msg, e); + throw new DeviceManagementException(msg, e); + } finally { + DeviceManagementDAOFactory.closeConnection(); } return paginationResult; } 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 8a88d53ac0d..65a26d13304 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 @@ -58,6 +58,7 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.GroupPaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.EnrollmentConfiguration; @@ -76,6 +77,7 @@ import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagement import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.common.type.mgt.DeviceTypeMetaDefinition; import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; +import org.wso2.carbon.device.mgt.core.cache.BillingCacheKey; import org.wso2.carbon.device.mgt.core.cache.DeviceCacheKey; import org.wso2.carbon.device.mgt.core.cache.GeoCacheKey; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; @@ -137,6 +139,7 @@ public final class DeviceManagerUtil { public static final String GENERAL_CONFIG_RESOURCE_PATH = "general"; private static boolean isDeviceCacheInitialized = false; + private static boolean isBillingCacheInitialized = false; private static boolean isAPIResourcePermissionCacheInitialized = false; private static boolean isGeoFenceCacheInitialized = false; @@ -652,6 +655,47 @@ public final class DeviceManagerUtil { } } + /** + * Enable Billing caching according to the configurations provided by cdm-config.xml + */ + public static void initializeBillingCache() { + DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(); + int billingCacheExpiry = config.getBillingCacheConfiguration().getExpiryTime(); + long billingCacheCapacity = config.getBillingCacheConfiguration().getCapacity(); + CacheManager manager = getCacheManager(); + if (config.getBillingCacheConfiguration().isEnabled()) { + if(!isBillingCacheInitialized) { + isBillingCacheInitialized = true; + if (manager != null) { + if (billingCacheExpiry > 0) { + manager.createCacheBuilder(DeviceManagementConstants.BILLING_CACHE). + setExpiry(CacheConfiguration.ExpiryType.MODIFIED, new CacheConfiguration.Duration(TimeUnit.SECONDS, + billingCacheExpiry)).setExpiry(CacheConfiguration.ExpiryType.ACCESSED, new CacheConfiguration. + Duration(TimeUnit.SECONDS, billingCacheExpiry)).setStoreByValue(true).build(); + if(billingCacheCapacity > 0 ) { + ((CacheImpl) manager.getCache(DeviceManagementConstants.BILLING_CACHE)). + setCapacity(billingCacheCapacity); + } + } else { + manager.getCache(DeviceManagementConstants.BILLING_CACHE); + } + } else { + if (billingCacheExpiry > 0) { + Caching.getCacheManager(). + createCacheBuilder(DeviceManagementConstants.BILLING_CACHE). + setExpiry(CacheConfiguration.ExpiryType.MODIFIED, new CacheConfiguration.Duration(TimeUnit.SECONDS, + billingCacheExpiry)).setExpiry(CacheConfiguration.ExpiryType.ACCESSED, new CacheConfiguration. + Duration(TimeUnit.SECONDS, billingCacheExpiry)).setStoreByValue(true).build(); + ((CacheImpl)(manager.getCache(DeviceManagementConstants.BILLING_CACHE))). + setCapacity(billingCacheCapacity); + } else { + Caching.getCacheManager().getCache(DeviceManagementConstants.BILLING_CACHE); + } + } + } + } + } + /** * Enable Geofence caching according to the configurations proviced by cdm-config.xml */ @@ -711,6 +755,28 @@ public final class DeviceManagerUtil { return deviceCache; } + /** + * Get billing cache object + * @return {@link Cache} + */ + public static Cache getBillingCache() { + DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(); + CacheManager manager = getCacheManager(); + Cache billingCache = null; + if (config.getBillingCacheConfiguration().isEnabled()) { + if(!isBillingCacheInitialized) { + initializeBillingCache(); + } + if (manager != null) { + billingCache = manager.getCache(DeviceManagementConstants.BILLING_CACHE); + } else { + billingCache = Caching.getCacheManager(DeviceManagementConstants.DM_CACHE_MANAGER) + .getCache(DeviceManagementConstants.BILLING_CACHE); + } + } + return billingCache; + } + /** * Get geofence cache object * @return {@link Cache} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql index 005db8fb7da..d3b81f2655c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql @@ -94,7 +94,6 @@ CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( DATE_OF_ENROLMENT TIMESTAMP DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP DEFAULT NULL, TENANT_ID INT NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, @@ -564,16 +563,6 @@ ORDER BY TENANT_ID, DEVICE_ID; -- END OF DASHBOARD RELATED VIEWS -- -CREATE TABLE IF NOT EXISTS DM_BILLING ( - INVOICE_ID INTEGER AUTO_INCREMENT NOT NULL, - TENANT_ID INTEGER DEFAULT 0, - DEVICE_ID INTEGER DEFAULT NULL, - BILLING_START TIMESTAMP NOT NULL, - BILLING_END TIMESTAMP NOT NULL, - PRIMARY KEY (INVOICE_ID), -CONSTRAINT fk_DM_BILLING_DM_DEVICE2 FOREIGN KEY (DEVICE_ID) -REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -); -- DM_EXT_GROUP_MAPPING TABLE-- CREATE TABLE IF NOT EXISTS DM_EXT_GROUP_MAPPING ( ID INT NOT NULL AUTO_INCREMENT, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index 50e3afd8245..340b22802b7 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -94,6 +94,11 @@ 600 10000 + + true + 600 + 10000 + true diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 4bffc45a0bc..56fbaadc0bc 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -211,6 +211,7 @@ perm:windows:location perm:admin:tenant:view perm:admin:metadata:view + perm:admin:usage:view device-mgt diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index 28b00241af8..f567bb9dd2b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -165,6 +165,17 @@ 10000 {% endif %} + + {% if device_mgt_conf.billing_cache_conf is defined %} + {{device_mgt_conf.billing_cache_conf.enable}} + {{device_mgt_conf.billing_cache_conf.expiry_time}} + {{device_mgt_conf.billing_cache_conf.capacity}} + {% else %} + true + 600 + 10000 + {% endif %} + {% if device_mgt_conf.event_operation_task_conf is defined %} {{device_mgt_conf.event_operation_task_conf.enable}} diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index bbcbcaf7910..0e8d1b8466d 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -52,17 +52,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE ( CONSTRAINT uk_DM_DEVICE UNIQUE (NAME, DEVICE_TYPE_ID, DEVICE_IDENTIFICATION, TENANT_ID) ); -CREATE TABLE IF NOT EXISTS DM_BILLING ( - INVOICE_ID INTEGER auto_increment NOT NULL, - TENANT_ID INTEGER default 0, - DEVICE_ID INT default NULL, - BILLING_START TIMESTAMP not null, - BILLING_END TIMESTAMP not null, - PRIMARY KEY (INVOICE_ID), - CONSTRAINT FK_DM_BILLING_DM_DEVICE - FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) -); - CREATE TABLE IF NOT EXISTS DM_DEVICE_PROPERTIES ( DEVICE_TYPE_NAME VARCHAR(300) NOT NULL, DEVICE_IDENTIFICATION VARCHAR(300) NOT NULL, @@ -114,7 +103,6 @@ CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( DATE_OF_ENROLMENT TIMESTAMP DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP DEFAULT NULL, TENANT_ID INT NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql index c03580d03aa..a682f457be6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -66,18 +66,6 @@ CREATE TABLE DM_DEVICE ( REFERENCES DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); -IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DM_BILLING]') AND TYPE IN (N'U')) -CREATE TABLE DM_BILLING ( - INVOICE_ID INTEGER IDENTITY(1,1) NOT NULL, - TENANT_ID INTEGER DEFAULT 0, - DEVICE_ID INTEGER DEFAULT NULL, - BILLING_START DATETIME2 NOT NULL, - BILLING_END DATETIME2 NOT NULL, - PRIMARY KEY (INVOICE_ID), - CONSTRAINT FK_DM_BILLING_DM_DEVICE2 FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -); - IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DM_DEVICE_PROPERTIES]') AND TYPE IN (N'U')) CREATE TABLE DM_DEVICE_PROPERTIES ( DEVICE_TYPE_NAME VARCHAR(300) NOT NULL, @@ -158,7 +146,6 @@ CREATE TABLE DM_ENROLMENT ( DATE_OF_ENROLMENT DATETIME2 DEFAULT NULL, DATE_OF_LAST_UPDATE DATETIME2 DEFAULT NULL, TENANT_ID INTEGER NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_ENROLMENT FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql index b0e85d1cf4d..33ac7964dd4 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql @@ -59,17 +59,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE ( REFERENCES DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION )ENGINE = InnoDB; -CREATE TABLE IF NOT EXISTS DM_BILLING ( - INVOICE_ID INTEGER AUTO_INCREMENT NOT NULL, - TENANT_ID INTEGER DEFAULT 0, - DEVICE_ID INTEGER DEFAULT NULL, - BILLING_START TIMESTAMP NOT NULL, - BILLING_END TIMESTAMP NOT NULL, - PRIMARY KEY (INVOICE_ID), - CONSTRAINT fk_DM_BILLING_DM_DEVICE2 FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; - CREATE INDEX IDX_DM_DEVICE ON DM_DEVICE(TENANT_ID, DEVICE_TYPE_ID); CREATE INDEX IDX_DM_DEVICE_TYPE_ID_DEVICE_IDENTIFICATION ON DM_DEVICE(TENANT_ID, DEVICE_TYPE_ID,DEVICE_IDENTIFICATION); @@ -129,7 +118,6 @@ CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( DATE_OF_ENROLMENT TIMESTAMP NULL DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP NULL DEFAULT NULL, TENANT_ID INT NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_ENROLMENT FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql index 5f5952ca189..bbfe9bbcfb1 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql @@ -124,19 +124,6 @@ WHEN (NEW.ID IS NULL) END; / -CREATE TABLE DM_BILLING ( - INVOICE_ID NUMBER(10) NOT NULL, - TENANT_ID NUMBER(10) DEFAULT 0, - DEVICE_ID NUMBER(10) DEFAULT NULL, - BILLING_START TIMESTAMP NOT NULL, - BILLING_END TIMESTAMP NOT NULL, - CONSTRAINT PK_DM_BILLING PRIMARY KEY (INVOICE_ID), - CONSTRAINT fk_DM_BILLING_DM_DEVICE2 - FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) -) -/ - CREATE TABLE DM_DEVICE_PROPERTIES ( DEVICE_TYPE_NAME VARCHAR2(300) NOT NULL, DEVICE_IDENTIFICATION VARCHAR2(300) NOT NULL, @@ -221,7 +208,6 @@ CREATE TABLE DM_ENROLMENT ( DATE_OF_ENROLMENT TIMESTAMP(0) DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP(0) DEFAULT NULL, TENANT_ID NUMBER(10) NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, CONSTRAINT PK_DM_ENROLMENT PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_ENROLMENT FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql index 89a4e2dcac5..67ba8f1b6ae 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql @@ -57,17 +57,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE ( REFERENCES DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); -CREATE TABLE IF NOT EXISTS DM_BILLING ( - INVOICE_ID INTEGER DEFAULT NEXTVAL ('DM_BILLING_seq') NOT NULL, - TENANT_ID INTEGER DEFAULT 0, - DEVICE_ID INTEGER DEFAULT NULL, - BILLING_START TIMESTAMP(0) NOT NULL, - BILLING_END TIMESTAMP(0) NOT NULL, - PRIMARY KEY (INVOICE_ID), - CONSTRAINT fk_DM_BILLING_DM_DEVICE2 FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION - ); - CREATE INDEX IDX_DM_DEVICE ON DM_DEVICE(TENANT_ID, DEVICE_TYPE_ID); CREATE INDEX IDX_DM_DEVICE_TYPE_ID_DEVICE_IDENTIFICATION ON DM_DEVICE(TENANT_ID, DEVICE_TYPE_ID,DEVICE_IDENTIFICATION); @@ -127,7 +116,6 @@ CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( DATE_OF_ENROLMENT TIMESTAMP(0) NULL DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP(0) NULL DEFAULT NULL, TENANT_ID INTEGER NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_ENROLMENT FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION From d55ea733e702c7e07e6f11cd6cd258e4580eaa2d Mon Sep 17 00:00:00 2001 From: Dharmakeerthi Lasantha Date: Mon, 9 Jan 2023 19:46:12 +0530 Subject: [PATCH 019/101] Add download URL generating method --- .../otp/mgt/wrapper/DownloadURLDetails.java | 49 +++++++++++++++ .../mgt/common/spi/OTPManagementService.java | 12 +++- .../mgt/core/DeviceManagementConstants.java | 1 + .../mgt/service/OTPManagementServiceImpl.java | 26 ++++++++ .../templates/share-product-download-url.vm | 61 +++++++++++++++++++ .../email/templates/user-registration.vm | 2 +- 6 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/otp/mgt/wrapper/DownloadURLDetails.java create mode 100644 features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/otp/mgt/wrapper/DownloadURLDetails.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/otp/mgt/wrapper/DownloadURLDetails.java new file mode 100644 index 00000000000..e6a8557b66d --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/otp/mgt/wrapper/DownloadURLDetails.java @@ -0,0 +1,49 @@ +/* Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common.otp.mgt.wrapper; + +public class DownloadURLDetails { + + private String firstName; + private String URL; + private String email; + + public String getURL() { + return URL; + } + + public void setURL(String URL) { + this.URL = URL; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/OTPManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/OTPManagementService.java index 6349407dc1c..27e20328c5b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/OTPManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/OTPManagementService.java @@ -22,6 +22,7 @@ import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.OTPManagementException; import org.wso2.carbon.device.mgt.common.invitation.mgt.DeviceEnrollmentInvitation; import org.wso2.carbon.device.mgt.common.otp.mgt.dto.OneTimePinDTO; +import org.wso2.carbon.device.mgt.common.otp.mgt.wrapper.DownloadURLDetails; import org.wso2.carbon.device.mgt.common.otp.mgt.wrapper.OTPWrapper; import java.util.Map; @@ -62,4 +63,13 @@ public interface OTPManagementService { */ void sendDeviceEnrollmentInvitationMail(DeviceEnrollmentInvitation deviceEnrollmentInvitation) throws OTPManagementException; -} + + /** + * Send an e-mail to the requesting e-mail address with a product download URL + * @param downloadURLDetails Contains the details to send product download e-mail + * @throws OTPManagementException if request payload doesn't contains required details to send the product + * download mail. + */ + void shareProductDownloadUrl(DownloadURLDetails downloadURLDetails) throws OTPManagementException; + + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java index 8e03917f55f..f991a398527 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java @@ -131,6 +131,7 @@ public final class DeviceManagementConstants { public static final String USER_REGISTRATION_TEMPLATE = "user-registration"; public static final String USER_ENROLLMENT_TEMPLATE = "user-enrollment"; public static final String USER_VERIFY_TEMPLATE = "user-verify"; + public static final String PRODUCT_DOWNLOAD_LINK_SHARING_TEMPLATE = "share-product-download-url"; public static final String POLICY_VIOLATE_TEMPLATE = "policy-violating-notifier"; public static final String USER_WELCOME_TEMPLATE = "user-welcome"; public static final String DEFAULT_ENROLLMENT_TEMPLATE = "default-enrollment-invitation"; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java index 985fe76486c..caec00197d6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java @@ -35,6 +35,7 @@ import org.wso2.carbon.device.mgt.common.invitation.mgt.DeviceEnrollmentType; import org.wso2.carbon.device.mgt.common.metadata.mgt.Metadata; import org.wso2.carbon.device.mgt.common.otp.mgt.OTPEmailTypes; import org.wso2.carbon.device.mgt.common.otp.mgt.dto.OneTimePinDTO; +import org.wso2.carbon.device.mgt.common.otp.mgt.wrapper.DownloadURLDetails; import org.wso2.carbon.device.mgt.common.spi.OTPManagementService; import org.wso2.carbon.device.mgt.core.DeviceManagementConstants; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; @@ -109,6 +110,31 @@ public class OTPManagementServiceImpl implements OTPManagementService { } } + @Override + public void shareProductDownloadUrl(DownloadURLDetails downloadURLDetails) throws OTPManagementException { + if (StringUtils.isBlank(downloadURLDetails.getURL())) { + String msg = "Couldn't find the download URL with the request."; + log.error(msg); + throw new OTPManagementException(msg); + } + if (StringUtils.isBlank(downloadURLDetails.getFirstName())) { + String msg = "Couldn't find the First Name with the request."; + log.error(msg); + throw new OTPManagementException(msg); + } + if (StringUtils.isBlank(downloadURLDetails.getEmail())) { + String msg = "Couldn't find the e-mail address with the request."; + log.error(msg); + throw new OTPManagementException(msg); + } + + Properties props = new Properties(); + props.setProperty("first-name", downloadURLDetails.getFirstName()); + props.setProperty("download-url", downloadURLDetails.getFirstName()); + sendMail(props, downloadURLDetails.getEmail(), + DeviceManagementConstants.EmailAttributes.PRODUCT_DOWNLOAD_LINK_SHARING_TEMPLATE); + } + @Override public OneTimePinDTO isValidOTP(String oneTimeToken) throws OTPManagementException, BadRequestException { if (StringUtils.isBlank(oneTimeToken)){ diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm new file mode 100644 index 00000000000..965a9273701 --- /dev/null +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm @@ -0,0 +1,61 @@ +#* + Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + + Entgra (Pvt) Ltd. 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. +*# + + You have been invited to enroll your device in Entgra IoT + + + + Entgra IoT Server + + +
+
+
+
+ entgra +
+
+
+

+ Hi $first-name, +

+

+ Thank you very much for your interest in the Entgra IoT server. Please click + Click here to download the latest release of the Entgra IoT server.

+ +

+ If you need assistance, please contact us through Entgra + contact us > +

+ +

+ Regards, +

+ +

+ Entgra IoT Administrator +

+
+
+
+ + + ]]> + +
diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/user-registration.vm b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/user-registration.vm index 0593f321665..66197fd0a33 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/user-registration.vm +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/user-registration.vm @@ -38,7 +38,7 @@

You have been registered in Entgra IoT and invited to enrol your device. - Click here to begin device enrolment.

+ Click here to begin device enrolment.

Use following credentials to log in to Entgra IoT Device Management application. From e28c71d4ae98345d123d502f2edb21f6081b661c Mon Sep 17 00:00:00 2001 From: Ravindu Madhubhashana Date: Tue, 10 Jan 2023 01:12:07 +0000 Subject: [PATCH 020/101] Added validation for app name length when creating an app Co-authored-by: Ravindu Madhubhashana Co-committed-by: Ravindu Madhubhashana --- .../mgt/core/impl/ApplicationManagerImpl.java | 21 +++++++++++++++++++ ...ApplicationManagementPublisherAPIImpl.java | 21 +++++++++++++------ 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java index 157d73241df..b570adff88a 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java @@ -3434,6 +3434,7 @@ public class ApplicationManagerImpl implements ApplicationManager { String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); int deviceTypeId = -1; String appName; + int appNameLength = 20; List appCategories; List unrestrictedRoles; @@ -3445,6 +3446,11 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg); throw new BadRequestException(msg); } + if (appName.length() > appNameLength) { + String msg = "Application name must be less than or equal to 20 characters in length."; + log.error(msg); + throw new BadRequestException(msg); + } appCategories = applicationWrapper.getCategories(); if (appCategories == null) { String msg = "Application category can't be null."; @@ -3477,6 +3483,11 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg); throw new BadRequestException(msg); } + if (appName.length() > appNameLength) { + String msg = "Application name must be less than or equal to 20 characters in length."; + log.error(msg); + throw new BadRequestException(msg); + } appCategories = webAppWrapper.getCategories(); if (appCategories == null) { String msg = "Web Clip category can't be null."; @@ -3510,6 +3521,11 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg); throw new BadRequestException(msg); } + if (appName.length() > appNameLength) { + String msg = "Application name must be less than or equal to 20 characters in length."; + log.error(msg); + throw new BadRequestException(msg); + } appCategories = publicAppWrapper.getCategories(); if (appCategories == null) { String msg = "Application category can't be null."; @@ -3542,6 +3558,11 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg); throw new BadRequestException(msg); } + if (appName.length() > appNameLength) { + String msg = "Application name must be less than or equal to 20 characters in length."; + log.error(msg); + throw new BadRequestException(msg); + } appCategories = customAppWrapper.getCategories(); if (appCategories == null) { String msg = "Application category can't be null."; diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java index 3048cc8f1f1..21ad941f69a 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java @@ -371,19 +371,28 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem if (appName == null) { String msg = "Invalid app name, appName query param cannot be empty/null."; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } + if (appName.length() > 20) { + String msg = "Invalid app name, maximum length of the application name should be 20 characters."; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } ApplicationManager applicationManager = APIUtil.getApplicationManager(); if (applicationManager.isExistingAppName(appName, deviceType)) { - return Response.status(Response.Status.CONFLICT).build(); + String msg = "Invalid app name, app name already exists."; + log.error(msg); + return Response.status(Response.Status.CONFLICT).entity(msg).build(); } return Response.status(Response.Status.OK).build(); } catch (BadRequestException e) { - log.error("Found invalid device type to check application existence.", e); - return Response.status(Response.Status.BAD_REQUEST).build(); + String msg = "Found invalid device type to check application existence."; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { - log.error("Internal Error occurred while checking the application existence.", e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + String msg = "Internal Error occurred while checking the application existence."; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } From 01aaa44e89305024585cfd449e798b29ec9fa7c9 Mon Sep 17 00:00:00 2001 From: Dharmakeerthi Lasantha Date: Wed, 11 Jan 2023 23:51:08 +0530 Subject: [PATCH 021/101] improve OTP mgt service functionalities --- .../mgt/core/otp/mgt/service/OTPManagementServiceImpl.java | 2 +- .../resources/email/templates/share-product-download-url.vm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java index caec00197d6..1417dae501c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/otp/mgt/service/OTPManagementServiceImpl.java @@ -130,7 +130,7 @@ public class OTPManagementServiceImpl implements OTPManagementService { Properties props = new Properties(); props.setProperty("first-name", downloadURLDetails.getFirstName()); - props.setProperty("download-url", downloadURLDetails.getFirstName()); + props.setProperty("download-url", downloadURLDetails.getURL()); sendMail(props, downloadURLDetails.getEmail(), DeviceManagementConstants.EmailAttributes.PRODUCT_DOWNLOAD_LINK_SHARING_TEMPLATE); } diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm index 965a9273701..fe415078cd2 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/share-product-download-url.vm @@ -16,7 +16,7 @@ under the License. *# - You have been invited to enroll your device in Entgra IoT + Experience Entgra IoT Server @@ -37,11 +37,11 @@

Thank you very much for your interest in the Entgra IoT server. Please click - Click here to download the latest release of the Entgra IoT server.

+ here to download the latest release of the Entgra IoT server.

If you need assistance, please contact us through Entgra - contact us > + contact us

From d5c709cfc00f44bf1ddffa3ab46875f4f4f27391 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Fri, 20 Jan 2023 10:32:40 +0530 Subject: [PATCH 022/101] Add Entgra Device Notification Logger --- .../extensions/logger/spi/EntgraLogger.java | 16 + .../io.entgra.notification.logger/pom.xml | 89 ++++++ .../notification/logger/DeviceLogContext.java | 103 ++++++ .../logger/impl/EntgraLoggerImpl.java | 294 ++++++++++++++++++ .../logger/util/MDCContextUtil.java | 41 +++ .../logger/impl/EntgraLoggerImplTest.java | 57 ++++ .../src/test/resources/log4j.properties | 32 ++ .../src/test/resources/testng.xml | 29 ++ components/logger/pom.xml | 46 +++ pom.xml | 1 + 10 files changed, 708 insertions(+) create mode 100644 components/logger/io.entgra.notification.logger/pom.xml create mode 100644 components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/DeviceLogContext.java create mode 100644 components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java create mode 100644 components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java create mode 100644 components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java create mode 100644 components/logger/io.entgra.notification.logger/src/test/resources/log4j.properties create mode 100644 components/logger/io.entgra.notification.logger/src/test/resources/testng.xml create mode 100644 components/logger/pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/src/main/java/io/entgra/device/mgt/extensions/logger/spi/EntgraLogger.java b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/src/main/java/io/entgra/device/mgt/extensions/logger/spi/EntgraLogger.java index c959eb4885b..2ffa6ffa8d8 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/src/main/java/io/entgra/device/mgt/extensions/logger/spi/EntgraLogger.java +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/src/main/java/io/entgra/device/mgt/extensions/logger/spi/EntgraLogger.java @@ -48,6 +48,22 @@ public interface EntgraLogger extends Log { void warn(Object object, Throwable t, LogContext logContext); + void info(String message, LogContext logContext); + + void debug(String message, LogContext logContext); + + void error(String message, LogContext logContext); + + void error(String message, Throwable t, LogContext logContext); + + void warn(String message, LogContext logContext); + + void warn(String message, Throwable t, LogContext logContext); + + void trace(String message, LogContext logContext); + + void fatal(String message, LogContext logContext); + void clearLogContext(); } diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml new file mode 100644 index 00000000000..ced09b31577 --- /dev/null +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -0,0 +1,89 @@ + + + + + 4.0.0 + + + org.wso2.carbon.devicemgt + logger + 5.0.16-SNAPSHOT + + + io.entgra.notification.logger + bundle + + + + org.wso2.carbon.devicemgt + io.entgra.device.mgt.extensions.logger + + + org.wso2.carbon + org.wso2.carbon.logging + provided + + + org.testng + testng + + + 5.0.16-SNAPSHOT + + + 8 + 8 + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.felix + maven-bundle-plugin + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + Device Notification Logger Bundle + + io.entgra.logger;version="[2.0,3)", + io.entgra.logger.spi;version="[2.0,3)", + org.apache.commons.logging;version="[1.2,2)", + org.apache.log4j;version="[1.2,2)", + org.wso2.carbon.context;version="[4.4,5) + + + io.entgra.logger.* + + + + + + + + \ No newline at end of file diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/DeviceLogContext.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/DeviceLogContext.java new file mode 100644 index 00000000000..3becd28b9c1 --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/DeviceLogContext.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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 io.entgra.notification.logger; + +import io.entgra.device.mgt.extensions.logger.LogContext; + +public class DeviceLogContext extends LogContext { + private final String deviceName; + private final String operationCode; + private final String deviceType; + private final String tenantID; + + private DeviceLogContext(Builder builder) { + this.operationCode = builder.operationCode; + this.deviceName = builder.deviceName; + this.deviceType = builder.deviceType; + this.tenantID = builder.tenantID; + } + + public String getTenantID() { + return tenantID; + } + + public String getDeviceName() { + return deviceName; + } + + public String getOperationCode() { + return operationCode; + } + + public String getDeviceType() { + return deviceType; + } + + + public static class Builder { + private String deviceName; + private String operationCode; + private String deviceType; + private String tenantID; + + public Builder() { + } + + public String getDeviceType() { + return deviceType; + } + + public Builder setDeviceType(String deviceType) { + this.deviceType = deviceType; + return this; + } + + public String getTenantID() { + return tenantID; + } + + public Builder setTenantID(String tenantID) { + this.tenantID = tenantID; + return this; + } + + public String getDeviceName() { + return deviceName; + } + + public Builder setDeviceName(String deviceName) { + this.deviceName = deviceName; + return this; + } + + public String getOperationCode() { + return operationCode; + } + + public Builder setOperationCode(String operationCode) { + this.operationCode = operationCode; + return this; + } + + public DeviceLogContext build() { + return new DeviceLogContext(this); + } + + } +} diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java new file mode 100644 index 00000000000..882c82e4735 --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java @@ -0,0 +1,294 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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 io.entgra.notification.logger.impl; + + +import io.entgra.device.mgt.extensions.logger.LogContext; +import io.entgra.device.mgt.extensions.logger.spi.EntgraLogger; +import io.entgra.notification.logger.DeviceLogContext; +import io.entgra.notification.logger.util.MDCContextUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.log4j.MDC; + + +public class EntgraLoggerImpl implements EntgraLogger { + + private static Log log = null; + + public EntgraLoggerImpl(Class clazz) { + log = LogFactory.getLog(clazz); + } + + @Override + public void info(Object object, LogContext logContext) { + } + + @Override + public void info(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void debug(Object object, LogContext logContext) { + } + + @Override + public void debug(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void error(Object object, LogContext logContext) { + } + + @Override + public void error(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void fatal(Object object, LogContext logContext) { + } + + @Override + public void fatal(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void trace(Object object, LogContext logContext) { + + } + + @Override + public void trace(Object object, Throwable t, LogContext logContext) { + + } + + @Override + public void warn(Object object, LogContext logContext) { + } + + @Override + public void warn(Object object, Throwable t, LogContext logContext) { + } + + public void info(String message) { + } + + public void info(String message, Throwable t) { + log.info(message, t); + } + + @Override + public void info(String message, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.info(message); + } + + + public void debug(String message) { + log.debug(message); + } + + + public void debug(String message, Throwable t) { + log.debug(message, t); + } + + @Override + public void debug(String message, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.debug(message); + } + + public void error(String message) { + log.error(message); + } + + + public void error(String message, Throwable t) { + log.error(message, t); + } + + @Override + public void error(String message, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.error(message); + } + + @Override + public void error(String message, Throwable t, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.error(message, t); + } + + + public void warn(String message) { + log.warn(message); + } + + + public void warn(String message, Throwable t) { + log.warn(message, t); + } + + @Override + public void warn(String message, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.warn(message); + } + + @Override + public void warn(String message, Throwable t, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.warn(message, t); + } + + + public void trace(String message) { + log.trace(message); + } + + + public void trace(String message, Throwable t) { + log.trace(message, t); + } + + @Override + public void trace(String message, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.trace(message); + } + + + public void fatal(String message) { + log.fatal(message); + } + + + public void fatal(String message, Throwable t) { + log.fatal(message, t); + } + + @Override + public void fatal(String message, LogContext logContext) { + DeviceLogContext deviceLogContext = (DeviceLogContext) logContext; + MDCContextUtil.populateDeviceMDCContext(deviceLogContext); + log.fatal(message); + } + + @Override + public void debug(Object o) { + log.debug(o); + } + + @Override + public void debug(Object o, Throwable throwable) { + log.debug(o, throwable); + } + + @Override + public void error(Object o) { + log.error(o); + } + + @Override + public void error(Object o, Throwable throwable) { + log.error(o, throwable); + } + + @Override + public void fatal(Object o) { + log.fatal(0); + } + + @Override + public void fatal(Object o, Throwable throwable) { + log.fatal(0, throwable); + } + + @Override + public void info(Object o) { + log.info(o); + } + + @Override + public void info(Object o, Throwable throwable) { + log.info(o, throwable); + } + + @Override + public boolean isDebugEnabled() { + return log.isDebugEnabled(); + } + + @Override + public boolean isErrorEnabled() { + return log.isErrorEnabled(); + } + + @Override + public boolean isFatalEnabled() { + return log.isFatalEnabled(); + } + + @Override + public boolean isInfoEnabled() { + return log.isInfoEnabled(); + } + + @Override + public boolean isTraceEnabled() { + return log.isTraceEnabled(); + } + + @Override + public boolean isWarnEnabled() { + return log.isWarnEnabled(); + } + + @Override + public void trace(Object o) { + log.trace(o); + } + + @Override + public void trace(Object o, Throwable throwable) { + log.trace(o, throwable); + } + + @Override + public void warn(Object o) { + log.warn(o); + } + + @Override + public void warn(Object o, Throwable throwable) { + log.warn(o, throwable); + } + + @Override + public void clearLogContext() { + MDC.clear(); + } +} diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java new file mode 100644 index 00000000000..dc7378b84cd --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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 io.entgra.notification.logger.util; + +import io.entgra.notification.logger.DeviceLogContext; +import org.apache.log4j.MDC; + +public final class MDCContextUtil { + + public static void populateDeviceMDCContext(final DeviceLogContext mdcContext) { + if (mdcContext.getDeviceName() != null) { + MDC.put("DeviceName", mdcContext.getDeviceName()); + } + if (mdcContext.getDeviceType() != null) { + MDC.put("DeviceType", mdcContext.getDeviceType()); + } + if (mdcContext.getOperationCode() != null) { + MDC.put("OperationCode", mdcContext.getOperationCode()); + } + if (mdcContext.getTenantID() != null) { + MDC.put("TenantId", mdcContext.getTenantID()); + } + } +} + + diff --git a/components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java b/components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java new file mode 100644 index 00000000000..204bc21fe3e --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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 io.entgra.logger.impl; + +import io.entgra.device.mgt.extensions.logger.spi.EntgraLogger; +import io.entgra.notification.logger.DeviceLogContext; +import io.entgra.notification.logger.impl.EntgraLoggerImpl; +import org.testng.annotations.Test; + +public class EntgraLoggerImplTest { + + private final EntgraLogger log = new EntgraLoggerImpl(EntgraLoggerImplTest.class); + + @Test + public void logTest() { + + DeviceLogContext.Builder deviceLogContext = new DeviceLogContext.Builder(); + + deviceLogContext.setDeviceName("M02S"); + deviceLogContext.setDeviceType("Android"); + deviceLogContext.setOperationCode("1222"); + deviceLogContext.setTenantID("1234"); + + log.debug("Test debug message", deviceLogContext.build()); + log.info("Test info message", deviceLogContext.build()); + log.error("Test error message", deviceLogContext.build()); + log.warn("Test warn message", deviceLogContext.build()); + log.trace("Test trace message", deviceLogContext.build()); + log.fatal("Test fatal message", deviceLogContext.build()); + log.error("debug message test", new Throwable("error throw")); + log.info("info message test"); + +// log.isDebugEnabled(); +// log.isErrorEnabled(); +// log.isFatalEnabled(); +// log.isInfoEnabled(); +// log.isTraceEnabled(); +// log.isWarnEnabled(); + + } + +} diff --git a/components/logger/io.entgra.notification.logger/src/test/resources/log4j.properties b/components/logger/io.entgra.notification.logger/src/test/resources/log4j.properties new file mode 100644 index 00000000000..b174b35e366 --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/test/resources/log4j.properties @@ -0,0 +1,32 @@ +# +# Copyright 2023 Entgra Pvt. Ltd.. (http://entgra.io) +# +# 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. +# + +# +# This is the log4j configuration file used by Entgra Pvt. Ltd. +# +# IMPORTANT : Please do not remove or change the names of any +# of the Appenders defined here. The layout pattern & log file +# can be changed using the WSO2 Carbon Management Console, and those +# settings will override the settings in this file. +# + +log4j.rootLogger=DEBUG, STD_OUT + +# Redirect log messages to console +log4j.appender.STD_OUT=org.apache.log4j.ConsoleAppender +log4j.appender.STD_OUT.Target=System.out +log4j.appender.STD_OUT.layout=org.apache.log4j.PatternLayout +log4j.appender.STD_OUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n diff --git a/components/logger/io.entgra.notification.logger/src/test/resources/testng.xml b/components/logger/io.entgra.notification.logger/src/test/resources/testng.xml new file mode 100644 index 00000000000..c64326b7ff8 --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/test/resources/testng.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + diff --git a/components/logger/pom.xml b/components/logger/pom.xml new file mode 100644 index 00000000000..b65b0e419d3 --- /dev/null +++ b/components/logger/pom.xml @@ -0,0 +1,46 @@ + + + + 4.0.0 + + + carbon-devicemgt + org.wso2.carbon.devicemgt + 5.0.16-SNAPSHOT + ../../pom.xml + + + logger + pom + Entgra IoT - Notification logger + http://entgra.io + + + io.entgra.notification.logger + + + + 8 + 8 + UTF-8 + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index aa41e4956d6..7dbc9a9f6f2 100644 --- a/pom.xml +++ b/pom.xml @@ -58,6 +58,7 @@ features/transport-mgt features/analytics-mgt features/webapp-authenticator-framework + components/logger From df6a8e20a38812507bf73562b4e6f7b1b38e8172 Mon Sep 17 00:00:00 2001 From: prathabanKavin Date: Tue, 24 Jan 2023 11:46:57 +0530 Subject: [PATCH 023/101] Change the device status and see the device status lifecycle history --- .../jaxrs/beans/LifecycleStateDeviceList.java | 47 +++++ .../admin/DeviceManagementAdminService.java | 146 +++++++++++++++ .../DeviceManagementAdminServiceImpl.java | 107 +++++++++++ .../device/mgt/jaxrs/util/Constants.java | 1 + .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 13 ++ .../mgt/common/DeviceManagementConstants.java | 1 + .../mgt/common/LifecycleStateDevice.java | 96 ++++++++++ .../mgt/DeviceLifecycleState.java | 80 ++++++++ .../exceptions/DeviceStatusException.java | 30 +++ .../exceptions/InvalidStatusException.java | 28 +++ .../config/DeviceConfigurationManager.java | 1 + .../lifecycleState/DeviceLifecycleConfig.java | 46 +++++ .../DeviceLifecycleConfigManager.java | 89 +++++++++ .../mgt/core/dao/DeviceLifecycleDAO.java | 72 ++++++++ .../core/dao/DeviceManagementDAOFactory.java | 4 + .../core/dao/impl/DeviceLifecycleDAOImpl.java | 174 ++++++++++++++++++ .../mgt/core/dao/impl/EnrollmentDAOImpl.java | 19 +- .../internal/DeviceManagementDataHolder.java | 10 + .../DeviceManagementServiceComponent.java | 18 ++ .../DeviceLifecycleStateManager.java | 79 ++++++++ .../DeviceManagementProviderServiceImpl.java | 5 +- .../service/DeviceStateManagementService.java | 72 ++++++++ .../DeviceStateManagementServiceImpl.java | 136 ++++++++++++++ .../src/test/resources/sql/h2.sql | 2 + .../main/resources/conf/lifecycle-states.xml | 116 ++++++++++++ .../src/main/resources/dbscripts/cdm/h2.sql | 3 + .../main/resources/dbscripts/cdm/mysql.sql | 1 + 27 files changed, 1390 insertions(+), 6 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java create mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java new file mode 100644 index 00000000000..d53db399d00 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2022, 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.device.mgt.jaxrs.beans; + +import io.swagger.annotations.ApiModelProperty; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; + +import java.util.ArrayList; +import java.util.List; + +public class LifecycleStateDeviceList extends BasePaginatedResult { + + private List lifecycleStates = new ArrayList<>(); + + @ApiModelProperty(value = "List of lifecycleStates history returned") + public List getLifecycleStates() { + return lifecycleStates; + } + + public void setLifecycleStates(List lifecycleStates) { + this.lifecycleStates = lifecycleStates; + } + + @Override + public String toString() { + return "LifecycleStateDeviceList{" + + "lifecycleStates=" + lifecycleStates + + '}'; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java index b0c850de950..17136a7e516 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java @@ -34,6 +34,7 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.api.admin; +import io.entgra.application.mgt.common.dto.ApplicationDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -49,6 +50,8 @@ import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.apimgt.annotations.api.Scope; import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; @@ -119,6 +122,13 @@ import java.util.List; roles = {"Internal/devicemgt-admin"}, permissions = {"/device-mgt/admin/devices/usage/view"} ), + @Scope( + name = "Change device status.", + description = "Change device status.", + key = "perm:admin:devices:change-status", + roles = {"Internal/devicemgt-admin"}, + permissions = {"/device-mgt/admin/devices/change-status"} + ), } ) public interface DeviceManagementAdminService { @@ -505,4 +515,140 @@ public interface DeviceManagementAdminService { @QueryParam("endDate") Timestamp endDate); + @POST + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + @Path("/status") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Update and post device's State", + notes = "Use this API to change the state of the device", + tags = "Device Management Administrative Service", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:change-status") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 201, + message = "OK. \n Successfully added a lifecycle state.", + response = ApplicationDTO.class), + @ApiResponse( + code = 400, + message = "Bad Request. \n " + + "Lifecycle State changing request contains unacceptable or vulnerable data"), + @ApiResponse( + code = 403, + message = "Don't have permission to change the lifecycle state of a lifecycle state."), + @ApiResponse( + code = 404, + message = "NOT FOUND. \n Error occurred while adding new lifecycle state.", + response = io.entgra.application.mgt.common.ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n Error occurred adding a lifecycle state.", + response = io.entgra.application.mgt.common.ErrorResponse.class) + }) + Response changeDeviceStatus( + @ApiParam( + name = "deviceId", + value = "The device identifier of the device.", + required = true) + @QueryParam("deviceId") + @Size(max = 45) + String deviceId, + @ApiParam( + name = "nextStatus", + value = "The device's next state.", + required = true) + @QueryParam("nextStatus") + EnrolmentInfo.Status nextStatus); + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/{type}/{deviceId}/lifecycle") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get Device's lifecycle history", + notes = "Get the lifecycle history of the device, since the enrolement", + tags = "Device Management Administrative Service", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:view") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched the status history of matching devices.", + response = List.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. Empty body because the client already has the latest version" + + " of the requested resource.\n"), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 404, + message = "Not Found. \n A device with the specified device type and id was not found.", + response = ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n " + + "Server error occurred while retrieving the device details.", + response = ErrorResponse.class) + }) + Response getDeviceLifecycle( + @ApiParam( + name = "DeviceId", + value = "Device ID.", + required = true) + @PathParam("deviceId") + @Size(max = 45) + String id, + @ApiParam( + name = "type", + value = "The device type, such as ios, android, or windows.", + required = true) + @PathParam("type") + @Size(max = 45) + String type, + @ApiParam( + name = "offset", + value = "The starting pagination index for the complete list of qualified items.", + required = false, + defaultValue = "0") + @QueryParam("offset") + int offset, + @ApiParam( + name = "limit", + value = "Provide how many device details you require from the starting pagination index/offset.", + required = false, + defaultValue = "5") + @QueryParam("limit") + int limit) throws DeviceManagementException; + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index acadf926f2b..0351e629fdd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -40,9 +40,12 @@ import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.CarbonContext; 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.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; import org.wso2.carbon.device.mgt.common.MDMAppConstants; import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; @@ -50,14 +53,18 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration import org.wso2.carbon.device.mgt.common.exceptions.BadRequestException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; +import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; import org.wso2.carbon.device.mgt.common.exceptions.UserNotFoundException; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; +import org.wso2.carbon.device.mgt.jaxrs.beans.LifecycleStateDeviceList; import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceManagementAdminService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; +import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; @@ -283,4 +290,104 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } + + /** + * This change the device status + * + * @param deviceId Id of the device + * @param nextStatus next status of the device + * @return response + */ + @POST + @Path("/status") + public Response changeDeviceStatus( + @QueryParam("deviceId") String deviceId, + @QueryParam("nextStatus") EnrolmentInfo.Status nextStatus) { + + try { + if (nextStatus == null) { + return Response.status(Response.Status.BAD_REQUEST).entity( + new ErrorResponse.ErrorResponseBuilder().setMessage("Next status is required") + .build()).build(); + } + + RequestValidationUtil.validateDeviceIdentifier(Constants.ANY, deviceId); + DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); + Device device = dms.getDevice(deviceId, false); + if (device == null) { + String message = "Device does not exist with id '" + deviceId + "'"; + log.error(message); + return Response.status(Response.Status.NOT_FOUND).entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); + } + LifecycleStateDevice updatedInfo = DeviceMgtAPIUtils.getDeviceStateManagementService() + .changeDeviceStatus(device, nextStatus); + return Response.status(Response.Status.OK).entity(updatedInfo).build(); + } catch (InvalidStatusException e) { + String msg = "Error occured while changing status: Invalid status or invalid status change"; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting the device '" + deviceId + "'"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (DeviceStatusException e) { + String msg = "Error occurred while getting device Status"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + } + + /** + * Get the devicelifecycle history + * + * @param type Device type + * @param deviceId Device id + * @param offset is starting number of the record which we want tot get + * @param limit is the number of records we want starting from offset + * @return lifecycle history + */ + + @Override + @GET + @Path("/{type}/{deviceId}/lifecycle") + public Response getDeviceLifecycle( + @PathParam("type") String type, + @PathParam("deviceId") String deviceId, + @QueryParam("offset") int offset, + @QueryParam("limit") int limit) { + + try { + RequestValidationUtil.validatePaginationParameters(offset, limit); + PaginationRequest request = new PaginationRequest(offset, limit); + PaginationResult result; + + RequestValidationUtil.validateDeviceIdentifier(type, deviceId); + DeviceManagementProviderService deviceManagementProviderService = + DeviceMgtAPIUtils.getDeviceManagementService(); + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(deviceId, type); + Device device = deviceManagementProviderService.getDevice(deviceIdentifier, false); + if (device == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + LifecycleStateDeviceList states = new LifecycleStateDeviceList(); + result = DeviceMgtAPIUtils.getDeviceStateManagementService() + .getDeviceLifecycleHistory(request, device); + states.setLifecycleStates((List) result.getData()); + states.setCount(result.getRecordsTotal()); + return Response.status(Response.Status.OK).entity(states).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting the device '" + deviceId + "'"; + log.error(msg); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (DeviceStatusException e) { + String msg = "Error occurred while getting device Status"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java index d7462993a92..95fadfb4526 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java @@ -58,6 +58,7 @@ public class Constants { "core.polcy.AndroidPolicyPayloadValidator"; public static final String IOS = "ios"; public static final String WINDOWS = "windows"; + public static final String ANY = "any"; public final class OperationStatus { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 92bc2790d49..5806d948c16 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -86,6 +86,7 @@ import org.wso2.carbon.device.mgt.core.permission.mgt.PermissionUtils; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; +import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.traccar.api.service.DeviceAPIClientService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeVersionWrapper; @@ -271,6 +272,18 @@ public class DeviceMgtAPIUtils { } } + public static DeviceStateManagementService getDeviceStateManagementService() { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + DeviceStateManagementService deviceStateManagementService = + (DeviceStateManagementService) ctx.getOSGiService(DeviceStateManagementService.class, null); + if (deviceStateManagementService == null) { + String msg = "DeviceStateManagementService service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + return deviceStateManagementService; + } + public static DeviceManagementProviderService getDeviceManagementService() { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); DeviceManagementProviderService deviceManagementProviderService = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java index 154594678c7..3bbaf472507 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java @@ -28,6 +28,7 @@ public final class DeviceManagementConstants { public static final String SECURE_VAULT_NS = "http://org.wso2.securevault/configuration"; public static final String DEVICE_CONFIG_XML_NAME = "cdm-config.xml"; public static final String UI_CONFIG_XML_NAME = "mdm-ui-config.xml"; + public static final String DEVICE_LIFECYCLE_STATES_XML_NAME = "lifecycle-states.xml"; } public static final class SecureValueProperties { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java new file mode 100644 index 00000000000..fe968c0b235 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common; + +import java.util.Date; + +/** + * Information of the device lifecycle + */ +public class LifecycleStateDevice { + + private int deviceId; + private String currentStatus; + private String previousStatus; + private String updatedBy; + private Date updatedAt; + + public LifecycleStateDevice() { + } + + public LifecycleStateDevice(int deviceId, String currentStatus, String previousStatus, String updatedBy, + Date updatedAt) { + this.deviceId = deviceId; + this.currentStatus = currentStatus; + this.previousStatus = previousStatus; + this.updatedBy = updatedBy; + this.updatedAt = updatedAt; + } + + public String getCurrentStatus() { + return currentStatus; + } + + public void setCurrentStatus(String currentStatus) { + this.currentStatus = currentStatus; + } + + public String getPreviousStatus() { + return previousStatus; + } + + public void setPreviousStatus(String previousStatus) { + this.previousStatus = previousStatus; + } + + public String getUpdatedBy() { + return updatedBy; + } + + public void setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public int getDeviceId() { + return deviceId; + } + + public void setDeviceId(int deviceId) { + this.deviceId = deviceId; + } + + @Override + public String toString() { + return "LifecycleStateDevice{" + + "deviceId=" + deviceId + + ", currentStatus='" + currentStatus + '\'' + + ", previousStatus='" + previousStatus + '\'' + + ", updatedBy='" + updatedBy + '\'' + + ", updatedAt=" + updatedAt + + '}'; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java new file mode 100644 index 00000000000..3211a7149e1 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016, 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. + * + */ +/* + * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common.configuration.mgt; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; + +/** + * Bean of the DeviceLifecycleState + */ +@XmlRootElement(name = "LifecycleState") +public class DeviceLifecycleState { + + private String name; + private List proceedingStates; + + @XmlAttribute(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @XmlElementWrapper(name = "ProceedingStates") + @XmlElement(name = "State") + public List getProceedingStates() { + return proceedingStates; + } + + public void setProceedingStates(List proceedingStates) { + this.proceedingStates = proceedingStates; + } + + @Override + public String toString() { + return "DeviceLifecycleState{" + + "name='" + name + '\'' + + ", proceedingStates=" + proceedingStates + + '}'; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java new file mode 100644 index 00000000000..706f14f0d62 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java @@ -0,0 +1,30 @@ +package org.wso2.carbon.device.mgt.common.exceptions; + +public class DeviceStatusException extends Exception{ + + private static final long serialVersionUID = 1608833587090532707L; + + public DeviceStatusException() { + } + + public DeviceStatusException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + + public DeviceStatusException(String message) { + super(message); + } + + public DeviceStatusException(String message, Throwable cause) { + super(message, cause); + } + + public DeviceStatusException(Throwable cause) { + super(cause); + } + + public DeviceStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java new file mode 100644 index 00000000000..3c3f0c9b47b --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java @@ -0,0 +1,28 @@ +package org.wso2.carbon.device.mgt.common.exceptions; + +public class InvalidStatusException extends Exception{ + + private static final long serialVersionUID = -7379721600057895944L; + + + public InvalidStatusException() { + } + + public InvalidStatusException(String message) { + super(message); + } + + public InvalidStatusException(String message, Throwable cause) { + super(message, cause); + } + + public InvalidStatusException(Throwable cause) { + super(cause); + } + + public InvalidStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java index 027ddd2417c..0ea2660762e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java @@ -40,6 +40,7 @@ public class DeviceConfigurationManager { private static final String DEVICE_MGT_CONFIG_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + DeviceManagementConstants.DataSourceProperties.DEVICE_CONFIG_XML_NAME; + private static final String DEVICE_MGT_CONFIG_SCHEMA_PATH = "resources/config/schema/device-mgt-config-schema.xsd"; public static DeviceConfigurationManager getInstance() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java new file mode 100644 index 00000000000..bdafeae3201 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.config.lifecycleState; + +import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; + +/** + * Represents Device lifecycle status configuration. + */ +@XmlRootElement(name = "LifecycleManagementConfiguration") +public class DeviceLifecycleConfig { + + private List deviceLifecycleStates; + + @XmlElementWrapper(name = "LifecycleStates") + @XmlElement(name = "LifecycleState") + public List getDeviceLifecycleStates() { + return deviceLifecycleStates; + } + + public void setDeviceLifecycleStates(List deviceLifecycleStates) { + this.deviceLifecycleStates = deviceLifecycleStates; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java new file mode 100644 index 00000000000..b4b941fd18c --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.config.lifecycleState; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; +import org.wso2.carbon.utils.CarbonUtils; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; +import java.io.File; + +/** + * Class responsible for the LifecycleStates configuration initialization. + */ +public class DeviceLifecycleConfigManager { + + private static final Log log = LogFactory.getLog(DeviceLifecycleConfigManager.class); + private DeviceLifecycleConfig deviceLifecycleConfig; + private static volatile DeviceLifecycleConfigManager deviceLifecycleConfigManager; + private static final String DEVICE_LIFECYCLE_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + + DeviceManagementConstants.DataSourceProperties.DEVICE_LIFECYCLE_STATES_XML_NAME; + + private DeviceLifecycleConfigManager() { + } + + public static DeviceLifecycleConfigManager getInstance() { + if (deviceLifecycleConfigManager == null) { + synchronized (DeviceLifecycleConfigManager.class) { + if (deviceLifecycleConfigManager == null) { + deviceLifecycleConfigManager = new DeviceLifecycleConfigManager(); + try { + deviceLifecycleConfigManager.initConfig(); + } catch (Exception e) { + log.error(e); + } + } else { + try { + deviceLifecycleConfigManager.initConfig(); + } catch (Exception e) { + log.error(e); + } + } + } + } + return deviceLifecycleConfigManager; + } + + public synchronized void initConfig() { + try { + File deviceLifecycleConfig = new File(DEVICE_LIFECYCLE_PATH); + JAXBContext jaxbContext = JAXBContext.newInstance(DeviceLifecycleConfig.class); + Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); + this.deviceLifecycleConfig = (DeviceLifecycleConfig) unmarshaller.unmarshal(deviceLifecycleConfig); + + } catch (JAXBException e) { + String msg = "Error occured while initializing deviceLifecycle config"; + log.error(msg, e); + throw new RuntimeException(e); + } catch (Exception e) { + String msg = "Error(Exception) occured while initializing deviceLifecycle config"; + log.error(msg, e); + throw new RuntimeException(e); + } + } + + public DeviceLifecycleConfig getDeviceLifecycleConfig() { + return deviceLifecycleConfig; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java new file mode 100644 index 00000000000..874e39e34dd --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.dao; + +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; + +import java.util.List; + +/** + * Device status relevent DAO activity + */ +public interface DeviceLifecycleDAO { + + /** + * can change the relevent device's status + * + * @param enrolmentId Enrolment Id + * @param status changing status + * @param tenantId tenantId + * @return true or false + * @throws DeviceManagementDAOException when device no found + */ + boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) throws DeviceManagementDAOException; + + /** + * Add the changed status + * + * @param enrolmentId Enrolment Id + * @param currentStatus Current Status + * @param previousStatus Previous Status + * @param deviceId Id of the device + * @return Added or not, true or false + * @throws DeviceManagementDAOException When device not found + */ + boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, + int deviceId) throws DeviceManagementDAOException; + + /** + * Get Device ID + * + * @param enrolmentId Enrolment ID + * @return Device id + * @throws DeviceManagementDAOException when device not found + */ + int getDeviceId(int enrolmentId) throws DeviceManagementDAOException; + + /** + * Get the lifecycle history of the device + * + * @param id id of the device + * @return List of LifecycleStateDevice + */ + List getDeviceLifecycle(int id) throws DeviceManagementDAOException; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java index cbd7c697f4a..5157860705f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java @@ -125,6 +125,10 @@ public class DeviceManagementDAOFactory { return new EnrollmentDAOImpl(); } + public static DeviceLifecycleDAO getDeviceLifecycleDAO() { + return new DeviceLifecycleDAOImpl(); + } + public static TrackerDAO getTrackerDAO() { if (databaseEngine != null) { switch (databaseEngine) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java new file mode 100644 index 00000000000..cfefbaad086 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.dao.impl; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; +import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; +import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class DeviceLifecycleDAOImpl implements DeviceLifecycleDAO { + + private static final Log log = LogFactory.getLog(DeviceLifecycleDAOImpl.class); + + private Connection getConnection() throws SQLException { + return DeviceManagementDAOFactory.getConnection(); + } + + @Override + public boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) + throws DeviceManagementDAOException { + Connection conn; + PreparedStatement stmt = null; + Timestamp updateTime = new Timestamp(new Date().getTime()); + try { + conn = this.getConnection(); + String sql = "UPDATE DM_ENROLMENT SET STATUS = ?, DATE_OF_LAST_UPDATE = ? WHERE ID = ? AND TENANT_ID = ?"; + stmt = conn.prepareStatement(sql); + stmt.setString(1, status.toString()); + stmt.setTimestamp(2, updateTime); + stmt.setInt(3, enrolmentId); + stmt.setInt(4, tenantId); + int updatedRowCount = stmt.executeUpdate(); + if (updatedRowCount != 1) { + throw new DeviceManagementDAOException("Error occurred while setting the status of device enrolment: " + + updatedRowCount + " rows were updated instead of one row!!!"); + } + } catch (SQLException e) { + String msg = "Error occurred while changing status of the device which has " + enrolmentId + " enrolmentId"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + return true; + } + + @Override + public boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, + int deviceId) throws DeviceManagementDAOException { + Connection conn; + String changedBy = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); + if (changedBy == null) { + changedBy = DeviceManagementConstants.MaintenanceProperties.MAINTENANCE_USER; + } + PreparedStatement stmt = null; + Timestamp updateTime = new Timestamp(new Date().getTime()); + try { + conn = this.getConnection(); + String sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, " + + "PREVIOUS_STATUS) VALUES(?, ?, ?, ?, ?, ?)"; + stmt = conn.prepareStatement(sql); + stmt.setInt(1, enrolmentId); + stmt.setInt(2, deviceId); + stmt.setString(3, currentStatus.toString()); + stmt.setTimestamp(4, updateTime); + stmt.setString(5, changedBy); + stmt.setString(6, previousStatus.toString()); + stmt.executeUpdate(); + } catch (SQLException e) { + String msg = "Error occurred while inserting device lifecycle"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + return true; + } + + public int getDeviceId(int enrolmentId) throws DeviceManagementDAOException { + int deviceId; + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + try { + conn = this.getConnection(); + String sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; + stmt = conn.prepareStatement(sql); + stmt.setInt(1, enrolmentId); + rs = stmt.executeQuery(); + if (rs.next()) { + deviceId = rs.getInt("DEVICE_ID"); + } else { + // if there were no records corresponding to the enrolment id this is a problem. i.e. enrolment + // id is invalid + throw new DeviceManagementDAOException("Error occurred while getting the status of device enrolment: " + + "no record for enrolment id " + enrolmentId); + } + } catch (SQLException e) { + String msg = "Error occurred while getiing the device if which has " + enrolmentId + " enrolmentId"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + return deviceId; + } + + @Override + public List getDeviceLifecycle(int id) throws DeviceManagementDAOException { + List result = new ArrayList<>(); + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + try { + conn = this.getConnection(); + String sql = "SELECT DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, PREVIOUS_STATUS FROM DM_DEVICE_STATUS " + + "WHERE DEVICE_ID = ?"; + + stmt = conn.prepareStatement(sql); + stmt.setInt(1, id); + rs = stmt.executeQuery(); + + while (rs.next()) { + LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice( + rs.getInt("DEVICE_ID"), + rs.getString("STATUS"), + rs.getString("PREVIOUS_STATUS"), + rs.getString("CHANGED_BY"), + new Date(rs.getTimestamp("UPDATE_TIME").getTime()) + ); + result.add(lifecycleStateDevice); + } + } catch (SQLException e) { + String msg = "Error occurred while getiing the device lifecycle which has " + id + " deviceId"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, rs); + } + return result; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java index 7b3e08cd509..2ae2fb8b60a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java @@ -348,7 +348,7 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { DeviceManagementDAOUtil.cleanupResources(stmt, null); // if there was no record for the enrolment or the previous status is not the same as the current status // we'll add a record - if (previousStatus == null || previousStatus != status){ + if (previousStatus == null || previousStatus != status) { if (deviceId == -1) { // we need the device id in order to add a new record, therefore we get it from the enrolment table sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; @@ -364,8 +364,16 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { } DeviceManagementDAOUtil.cleanupResources(stmt, null); } + sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY"; + if (previousStatus != null) { + sql += ", PREVIOUS_STATUS"; + } + sql += ") VALUES(?, ?, ?, ?, ?"; + if (previousStatus != null) { + sql += ", ?"; + } + sql += ")"; - sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY) VALUES(?, ?, ?, ?, ?)"; stmt = conn.prepareStatement(sql); Timestamp updateTime = new Timestamp(new Date().getTime()); stmt.setInt(1, enrolmentId); @@ -373,9 +381,10 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { stmt.setString(3, status.toString()); stmt.setTimestamp(4, updateTime); stmt.setString(5, changedBy); - stmt.execute(); - } else { - // no need to update status since the last recorded status is the same as the current status + if (previousStatus != null) { + stmt.setString(6, previousStatus.toString()); + } + stmt.executeUpdate(); } } catch (SQLException e) { throw new DeviceManagementDAOException("Error occurred while setting the status of device", e); 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 6a69cb02ba5..a5331d3c0ef 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 @@ -34,6 +34,7 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeServiceIdentifier; import org.wso2.carbon.device.mgt.core.geo.task.GeoFenceEventOperationManager; +import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.operation.timeout.task.OperationTimeoutTaskManagerService; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.push.notification.mgt.PushNotificationProviderRepository; @@ -86,6 +87,7 @@ public class DeviceManagementDataHolder { private OperationTimeoutTaskManagerService operationTimeoutTaskManagerService; private DeviceAPIClientService deviceAPIClientService; + private DeviceLifecycleStateManager deviceLifecycleStateManager; private final Map deviceStatusTaskPluginConfigs = Collections.synchronizedMap( new HashMap<>()); @@ -359,4 +361,12 @@ public class DeviceManagementDataHolder { public void setDeviceAPIClientService(DeviceAPIClientService deviceAPIClientService) { this.deviceAPIClientService = deviceAPIClientService; } + + public DeviceLifecycleStateManager getDeviceLifecycleStateManager() { + return deviceLifecycleStateManager; + } + + public void setDeviceLifecycleStateManager(DeviceLifecycleStateManager deviceLifecycleStateManager) { + this.deviceLifecycleStateManager = deviceLifecycleStateManager; + } } 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 a266a40499d..1efe03c5f9d 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,6 +25,7 @@ import org.osgi.service.component.ComponentContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; +import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfigurationManagementService; import org.wso2.carbon.device.mgt.common.event.config.EventConfigurationProviderService; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; @@ -48,6 +49,7 @@ import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationSe 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.lifecycleState.DeviceLifecycleConfigManager; import org.wso2.carbon.device.mgt.core.config.tenant.PlatformConfigurationManagementServiceImpl; import org.wso2.carbon.device.mgt.core.config.ui.UIConfigurationManager; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; @@ -58,6 +60,7 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.device.details.mgt.impl.DeviceInformationManagerImpl; import org.wso2.carbon.device.mgt.core.event.config.EventConfigurationProviderServiceImpl; import org.wso2.carbon.device.mgt.core.geo.service.GeoLocationProviderServiceImpl; +import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.metadata.mgt.MetadataManagementServiceImpl; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl; @@ -76,6 +79,8 @@ import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.impl.SearchManagerServiceImpl; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl; +import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; +import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementServiceImpl; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; @@ -274,6 +279,19 @@ public class DeviceManagementServiceComponent { if (log.isDebugEnabled()) { log.debug("Device management core bundle has been successfully initialized"); } + + /* Initializing DeviceLifecycleState Configuration */ + List deviceLifecycleStates = DeviceLifecycleConfigManager.getInstance(). + getDeviceLifecycleConfig().getDeviceLifecycleStates(); + DeviceLifecycleStateManager deviceLifecycleStateManager = new DeviceLifecycleStateManager(); + deviceLifecycleStateManager.init(deviceLifecycleStates); + DeviceManagementDataHolder.getInstance().setDeviceLifecycleStateManager(deviceLifecycleStateManager); + componentContext.getBundleContext().registerService(DeviceLifecycleStateManager.class.getName(), + deviceLifecycleStateManager, null); + + DeviceStateManagementService deviceStateManagementService = new DeviceStateManagementServiceImpl(); + componentContext.getBundleContext().registerService(DeviceStateManagementService.class.getName(), + deviceStateManagementService, null); } catch (Throwable e) { log.error("Error occurred while initializing device management core bundle", e); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java new file mode 100644 index 00000000000..dde06468584 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2022, 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.device.mgt.core.lifeCycle; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* this class has the methods to check whether the status is valid or status change is valid +deviceLifecycleStates details are coming from lifecycle-states.xml file*/ +public class DeviceLifecycleStateManager { + private Map deviceLifecycleStates; + private static final Log log = LogFactory.getLog(DeviceLifecycleStateManager.class); + + public Map getDeviceLifecycleStates() { + return deviceLifecycleStates; + } + + public void setDeviceLifecycleStates(Map deviceLifecycleStates) { + this.deviceLifecycleStates = deviceLifecycleStates; + } + + public void init(List states) { + deviceLifecycleStates = new HashMap<>(); + for (DeviceLifecycleState deviceLifecycleState : states) { + deviceLifecycleStates.put(deviceLifecycleState.getName(), deviceLifecycleState); + } + } + + public List getNextLifecycleStates(String currentLifecycleState) { + return deviceLifecycleStates.get(currentLifecycleState).getProceedingStates(); + } + + public boolean isValidStateChange(String currentStatus, String nextStatus) { + boolean validChange = false; + List proceedingstates = deviceLifecycleStates.get(currentStatus).getProceedingStates(); + for (String proceedingState : proceedingstates) { + if (proceedingState.equals(nextStatus)) { + validChange = true; + break; + } + } + return validChange; + } + + public boolean isValidState(String nextStatus) { + boolean isValid = false; + List states = new ArrayList<>(deviceLifecycleStates.keySet()); + for (String state : states) { + if (state.equals(nextStatus)) { + isValid = true; + break; + } + } + return isValid; + } +} 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 97f58b3f3c8..cfbe8a34802 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 @@ -2121,10 +2121,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv log.debug("get status history of device: " + device.getDeviceIdentifier()); } try { + DeviceManagementDAOFactory.openConnection(); int tenantId = this.getTenantId(); return deviceStatusDAO.getStatus(device.getId(), tenantId, fromDate, toDate, billingStatus); } catch (DeviceManagementDAOException e) { - DeviceManagementDAOFactory.rollbackTransaction(); +// DeviceManagementDAOFactory.rollbackTransaction(); String msg = "Error occurred while retrieving status history"; log.error(msg, e); throw new DeviceManagementException(msg, e); @@ -2132,6 +2133,8 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv String msg = "Error occurred in retrieving status history for device :" + device.getDeviceIdentifier(); log.error(msg, e); throw new DeviceManagementException(msg, e); + } finally { + DeviceManagementDAOFactory.closeConnection(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java new file mode 100644 index 00000000000..dbf44d2581a --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2022, 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. + * + */ +/* + * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.core.service; + +import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; +import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; + +import java.util.List; + +/** + * This interface manages the device lifecycle, such as statuschange and add status to table + */ +public interface DeviceStateManagementService { + + /** + * This method change the device status and store it in a table + * + * @param enrolmentInfo Enrollment Information about the device + * @param nextStatus Next status of the device + * @return LifecycleStateDevice which contain current and previoius status + * @throws InvalidStatusException If there is a invalid status or invalid status change + * @throws DeviceManagementDAOException if the device cannot be found + */ + LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) + throws InvalidStatusException, DeviceStatusException; + + /** + * Get the lifecycle history of the relevent device + * + * @param device Device + * @return List of LifecycleStateDevice + */ + List getDeviceLifecycleHistory(Device device) throws DeviceStatusException; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java new file mode 100644 index 00000000000..742388b0b66 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2022, 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. + * + */ +/* + * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.core.service; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.CarbonContext; +import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; +import org.wso2.carbon.device.mgt.common.exceptions.IllegalTransactionStateException; +import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; +import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; +import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; +import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; +import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; + +import java.sql.SQLException; +import java.util.List; + +public class DeviceStateManagementServiceImpl implements DeviceStateManagementService { + + private static final Log log = LogFactory.getLog(DeviceStateManagementServiceImpl.class); + private final DeviceLifecycleDAO deviceLifecycleDAO; + private final DeviceLifecycleStateManager deviceLifecycleStateManager; + + public DeviceStateManagementServiceImpl() { + this.deviceLifecycleDAO = DeviceManagementDAOFactory.getDeviceLifecycleDAO(); + deviceLifecycleStateManager = DeviceManagementDataHolder.getInstance().getDeviceLifecycleStateManager(); + } + + @Override + public LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) throws + InvalidStatusException, DeviceStatusException { + LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice(); + EnrolmentInfo.Status currentStatus = enrolmentInfo.getStatus(); + if (deviceLifecycleStateManager.isValidState(nextStatus.toString())){ + if (deviceLifecycleStateManager.isValidStateChange(currentStatus.toString(), nextStatus.toString())) { + lifecycleStateDevice.setCurrentStatus(nextStatus.toString()); + lifecycleStateDevice.setPreviousStatus(currentStatus.toString()); + } else { + String msg ="'" + currentStatus + "' to '" + nextStatus + "' is not a valid Status change. Enter " + + "valid Status"; + log.error(msg); + throw new InvalidStatusException(msg); + } + } else { + String msg = "'" + nextStatus +"' is not a valid Status. Check the Status"; + log.error(msg); + throw new InvalidStatusException(msg); + } + int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); + int enrolmentId = enrolmentInfo.getId(); + try { + DeviceManagementDAOFactory.beginTransaction(); + int deviceId = deviceLifecycleDAO.getDeviceId(enrolmentId); + deviceLifecycleDAO.changeStatus(enrolmentId, EnrolmentInfo.Status.valueOf( + lifecycleStateDevice.getCurrentStatus()), tenantId); + deviceLifecycleDAO.addStatus(enrolmentId, + EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getCurrentStatus()), + EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getPreviousStatus()), deviceId); + DeviceManagementDAOFactory.commitTransaction(); + return lifecycleStateDevice; + } catch (DeviceManagementDAOException e) { + DeviceManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred in updating status or storing device status"; + log.error(msg, e); + throw new DeviceStatusException(msg, e); + } catch (IllegalTransactionStateException e) { + String msg = "Error occurred while updating and storing(Transaction Error) device status"; + log.error(msg, e); + throw new DeviceStatusException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Error occurred in DeviceManagementDAOFactory"; + log.error(msg, e); + throw new InvalidStatusException(msg, e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + } + + @Override + public List getDeviceLifecycleHistory(Device device) throws DeviceStatusException { + int id = device.getId(); + try { + DeviceManagementDAOFactory.openConnection(); + List listLifecycle = deviceLifecycleDAO.getDeviceLifecycle(id); + return listLifecycle; + } catch (DeviceManagementDAOException e) { + String msg = "Error occurred while getting lifrcycle history"; + log.error(msg, e); + throw new DeviceStatusException(msg, e); + } catch (SQLException e) { + throw new RuntimeException(e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql index d3b81f2655c..395124a9879 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql @@ -112,6 +112,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); +ALTER TABLE DM_DEVICE_STATUS ADD PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL; + CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml new file mode 100644 index 00000000000..ef5c6441076 --- /dev/null +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml @@ -0,0 +1,116 @@ + + + + + + + + ACTIVE + + + + + UNREACHABLE + REMOVED + + + + + INACTIVE + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + ACTIVE + CREATED + + + + \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index 0e8d1b8466d..3db934311ea 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -115,12 +115,15 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, + PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_status_device FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE CASCADE ON UPDATE CASCADE ); +ALTER TABLE DM_DEVICE_STATUS ADD PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL; + CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql index 33ac7964dd4..4e354a98808 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql @@ -138,6 +138,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( CREATE INDEX IDX_ENROLMENT_FK_DEVICE_ID ON DM_ENROLMENT(DEVICE_ID); CREATE INDEX IDX_ENROLMENT_DEVICE_ID_TENANT_ID ON DM_ENROLMENT(DEVICE_ID, TENANT_ID); CREATE INDEX IDX_ENROLMENT_DEVICE_ID_TENANT_ID_STATUS ON DM_ENROLMENT(DEVICE_ID, TENANT_ID, STATUS); +ALTER TABLE DM_DEVICE_STATUS ADD PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL; CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, From a5177208f8f760c9b318daabc0e85ed2532451da Mon Sep 17 00:00:00 2001 From: osh Date: Wed, 25 Jan 2023 19:18:33 +0530 Subject: [PATCH 024/101] Add icon and resolve bug fixes https://roadmap.entgra.net/issues/9274 --- .../jaxrs/service/api/WhiteLabelService.java | 57 ++++++++++- .../service/impl/WhiteLabelServiceImpl.java | 41 ++++++-- .../impl/util/RequestValidationUtil.java | 8 ++ .../src/main/webapp/WEB-INF/web.xml | 5 +- .../metadata/mgt/WhiteLabelArtifactPath.java | 12 ++- .../common/metadata/mgt/WhiteLabelImage.java | 3 +- .../mgt/WhiteLabelManagementService.java | 16 +++- .../common/metadata/mgt/WhiteLabelTheme.java | 9 ++ .../mgt/WhiteLabelThemeCreateRequest.java | 9 ++ .../mgt/whitelabel/WhiteLabelImages.java | 10 ++ .../mgt/WhiteLabelManagementServiceImpl.java | 96 +++++++++++++++---- .../mgt/util/WhiteLabelStorageUtil.java | 28 ++++-- .../src/main/resources/conf/cdm-config.xml | 1 + .../repository/conf/cdm-config.xml.j2 | 1 + 14 files changed, 251 insertions(+), 45 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java index 5a7d715658d..8617d6ec1b4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java @@ -17,7 +17,6 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.api; - import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -28,6 +27,7 @@ import io.swagger.annotations.Info; import io.swagger.annotations.ResponseHeader; import io.swagger.annotations.SwaggerDefinition; import io.swagger.annotations.Tag; +import io.swagger.annotations.ApiParam; import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.apimgt.annotations.api.Scope; import org.wso2.carbon.apimgt.annotations.api.Scopes; @@ -40,6 +40,7 @@ import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -86,7 +87,7 @@ import javax.ws.rs.core.Response; public interface WhiteLabelService { @GET - @Path("/favicon") + @Path("/{tenantDomain}/favicon") @ApiOperation( httpMethod = HTTPConstants.HEADER_GET, value = "Get whitelabel favicon", @@ -117,10 +118,13 @@ public interface WhiteLabelService { "\n Server error occurred while getting white label artifact.", response = ErrorResponse.class) }) - Response getWhiteLabelFavicon(); + Response getWhiteLabelFavicon( @ApiParam( + name = "tenantDomain", + value = "The tenant domain.", + required = true) @PathParam("tenantDomain") String tenantDomain); @GET - @Path("/logo") + @Path("/{tenantDomain}/logo") @ApiOperation( httpMethod = HTTPConstants.HEADER_GET, value = "Get whitelabel logo", @@ -152,7 +156,50 @@ public interface WhiteLabelService { "\n Server error occurred while getting white label artifact.", response = ErrorResponse.class) }) - Response getWhiteLabelLogo(); + Response getWhiteLabelLogo( + @ApiParam( + name = "tenantDomain", + value = "The tenant domain.", + required = true) + @PathParam("tenantDomain") String tenantDomain); + + @GET + @Path("/{tenantDomain}/icon") + @ApiOperation( + httpMethod = HTTPConstants.HEADER_GET, + value = "Get whitelabel logo icon", + notes = "Get whitelabel logo icon for the tenant of the logged in user", + tags = "Tenant Metadata Management" + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully retrieved white label logo.", + response = Metadata.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 500, + message = "Internal Server Error. " + + "\n Server error occurred while getting white label artifact.", + response = ErrorResponse.class) + }) + Response getWhiteLabelLogoIcon( @ApiParam( + name = "tenantDomain", + value = "The tenant domain.", + required = true) @PathParam("tenantDomain") String tenantDomain); @PUT @ApiOperation( diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index c61b9034cd7..573b954df5c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -20,7 +20,9 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.FileResponse; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelTheme; @@ -33,6 +35,7 @@ import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.ByteArrayInputStream; @@ -50,10 +53,10 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { @GET @Override - @Path("/favicon") - public Response getWhiteLabelFavicon() { + @Path("/{tenantDomain}/favicon") + public Response getWhiteLabelFavicon(@PathParam("tenantDomain") String tenantDomain) { try { - FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(); + FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(tenantDomain); return sendFileStream(fileResponse); } catch (NotFoundException e) { String msg = "Favicon white label image cannot be found in the system. Updating the whitelabel theme might" + @@ -69,10 +72,29 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { @GET @Override - @Path("/logo") - public Response getWhiteLabelLogo() { + @Path("/{tenantDomain}/logo") + public Response getWhiteLabelLogo(@PathParam("tenantDomain") String tenantDomain) { try { - FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(); + FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(tenantDomain); + return sendFileStream(fileResponse); + } catch (NotFoundException e) { + String msg = "Logo white label image cannot be found in the system. Updating the whitelabel theme might" + + "help restore it"; + log.error(msg, e); + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); + } catch (MetadataManagementException e) { + String msg = "Error occurred while getting logo"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + } + } + + @GET + @Override + @Path("/{tenantDomain}/icon") + public Response getWhiteLabelLogoIcon(@PathParam("tenantDomain") String tenantDomain) { + try { + FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogoIcon(tenantDomain); return sendFileStream(fileResponse); } catch (NotFoundException e) { String msg = "Logo white label image cannot be found in the system. Updating the whitelabel theme might" + @@ -104,7 +126,8 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { @Override public Response getWhiteLabelTheme() { try { - WhiteLabelTheme whiteLabelTheme = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelTheme(); + String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(); + WhiteLabelTheme whiteLabelTheme = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelTheme(tenantDomain); return Response.status(Response.Status.CREATED).entity(whiteLabelTheme).build(); } catch (MetadataManagementException e) { String msg = "Error occurred while deleting whitelabel for tenant"; @@ -114,6 +137,10 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { String msg = "Not white label theme configured for this tenant"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while retrieving tenant details of whitelabel"; + log.error(msg, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index 838983d4962..564e16f8dde 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -696,6 +696,13 @@ public class RequestValidationUtil { new ErrorResponse.ErrorResponseBuilder() .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); } + if (whiteLabelThemeCreateRequest.getLogoIcon() == null) { + String msg = "Logo Icon is required to whitelabel"; + log.error(msg); + throw new InputValidationException( + new ErrorResponse.ErrorResponseBuilder() + .setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + } if (whiteLabelThemeCreateRequest.getFooterText() == null) { String msg = "Footer text is required to whitelabel"; log.error(msg); @@ -713,6 +720,7 @@ public class RequestValidationUtil { try { validateWhiteLabelImage(whiteLabelThemeCreateRequest.getFavicon()); validateWhiteLabelImage(whiteLabelThemeCreateRequest.getLogo()); + validateWhiteLabelImage(whiteLabelThemeCreateRequest.getLogoIcon()); } catch (InputValidationException e) { String msg = "Payload contains invalid base64 files"; log.error(msg, e); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml index 5cc5c012ff2..00c784efc5a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/webapp/WEB-INF/web.xml @@ -49,8 +49,9 @@ nonSecuredEndPoints /api/device-mgt/v1.0/users/validate, - /api/device-mgt/v1.0/whitelabel/favicon, - /api/device-mgt/v1.0/whitelabel/logo + /api/device-mgt/v1.0/whitelabel/.*/favicon, + /api/device-mgt/v1.0/whitelabel/.*/logo, + /api/device-mgt/v1.0/whitelabel/.*/icon, diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java index 7cf63688087..22a839803d3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java @@ -21,14 +21,16 @@ package org.wso2.carbon.device.mgt.common.metadata.mgt; public class WhiteLabelArtifactPath { private String faviconPath; private String logoPath; + private String logoIconPath; public WhiteLabelArtifactPath() { } - public WhiteLabelArtifactPath(String faviconPath, String logoPath) { + public WhiteLabelArtifactPath(String faviconPath, String logoPath, String logoIconPath) { this.faviconPath = faviconPath; this.logoPath = logoPath; + this.logoIconPath = logoIconPath; } public String getFaviconPath() { @@ -46,4 +48,12 @@ public class WhiteLabelArtifactPath { public void setLogoPath(String logoPath) { this.logoPath = logoPath; } + + public String getLogoIconPath() { + return logoIconPath; + } + + public void setLogoIconPath(String logoIconPath) { + this.logoIconPath = logoIconPath; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java index ba9e6f82f25..2e8a4da3477 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java @@ -40,7 +40,8 @@ public class WhiteLabelImage { public enum ImageName { FAVICON, - LOGO; + LOGO, + LOGO_ICON; @Override public String toString() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java index 68a630a19f1..b028c40d7a4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.common.metadata.mgt; import org.wso2.carbon.device.mgt.common.FileResponse; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; @@ -33,7 +34,7 @@ public interface WhiteLabelManagementService { * @throws MetadataManagementException if error occurred while retrieving favicon * @throws NotFoundException if favicon is not found */ - FileResponse getWhiteLabelFavicon() throws + FileResponse getWhiteLabelFavicon(String tenantDomain) throws MetadataManagementException, NotFoundException; /** @@ -42,7 +43,16 @@ public interface WhiteLabelManagementService { * @throws MetadataManagementException if error occurred while retrieving logo * @throws NotFoundException if logo is not found */ - FileResponse getWhiteLabelLogo() throws + FileResponse getWhiteLabelLogo(String tenantDomain) throws + MetadataManagementException, NotFoundException; + + /** + * Use to get byte content of logo icon whitelabel image + * @return byte content of logo icon + * @throws MetadataManagementException if error occurred while retrieving logo icon + * @throws NotFoundException if logo icon is not found + */ + FileResponse getWhiteLabelLogoIcon(String tenantDomain) throws MetadataManagementException, NotFoundException; /** @@ -69,5 +79,5 @@ public interface WhiteLabelManagementService { * This method is useful to get existing white label theme * @throws MetadataManagementException if error while getting existing white label theme */ - WhiteLabelTheme getWhiteLabelTheme() throws MetadataManagementException, NotFoundException; + WhiteLabelTheme getWhiteLabelTheme(String tenantDomain) throws MetadataManagementException, NotFoundException, DeviceManagementException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java index 0b71979843d..5761d727cdc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java @@ -21,6 +21,7 @@ package org.wso2.carbon.device.mgt.common.metadata.mgt; public class WhiteLabelTheme { private WhiteLabelImage faviconImage; private WhiteLabelImage logoImage; + private WhiteLabelImage logoIconImage; private String footerText; private String appTitle; @@ -55,4 +56,12 @@ public class WhiteLabelTheme { public void setAppTitle(String appTitle) { this.appTitle = appTitle; } + + public WhiteLabelImage getLogoIconImage() { + return logoIconImage; + } + + public void setLogoIconImage(WhiteLabelImage logoIconImage) { + this.logoIconImage = logoIconImage; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java index 4b720eeec4f..e6d4c2e7280 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java @@ -21,6 +21,7 @@ package org.wso2.carbon.device.mgt.common.metadata.mgt; public class WhiteLabelThemeCreateRequest { private WhiteLabelImageRequestPayload favicon; private WhiteLabelImageRequestPayload logo; + private WhiteLabelImageRequestPayload logoIcon; private String footerText; private String appTitle; @@ -55,4 +56,12 @@ public class WhiteLabelThemeCreateRequest { public void setAppTitle(String appTitle) { this.appTitle = appTitle; } + + public WhiteLabelImageRequestPayload getLogoIcon() { + return logoIcon; + } + + public void setLogoIcon(WhiteLabelImageRequestPayload logoIcon) { + this.logoIcon = logoIcon; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java index 69ea8fa1d8a..76734f785eb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java @@ -28,6 +28,7 @@ public class WhiteLabelImages { private String defaultImagesLocation; private String defaultFaviconName; private String defaultLogoName; + private String defaultLogoIconName; @XmlElement(name = "StoragePath", required = true) public String getStoragePath() { @@ -61,6 +62,15 @@ public class WhiteLabelImages { return defaultImagesLocation; } + @XmlElement(name = "DefaultLogoIconName", required = true) + public String getDefaultLogoIconName() { + return defaultLogoIconName; + } + + public void setDefaultLogoIconName(String defaultLogoIconName) { + this.defaultLogoIconName = defaultLogoIconName; + } + public void setDefaultImagesLocation(String defaultImagesLocation) { this.defaultImagesLocation = defaultImagesLocation; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index cb46ec25d3b..ada1b7a9791 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -26,9 +26,11 @@ import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.Base64File; import org.wso2.carbon.device.mgt.common.FileResponse; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; @@ -48,6 +50,8 @@ import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOExc import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.util.MetadataConstants; import org.wso2.carbon.device.mgt.core.metadata.mgt.util.WhiteLabelStorageUtil; +import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -67,38 +71,62 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } @Override - public FileResponse getWhiteLabelFavicon() throws MetadataManagementException, NotFoundException { + public FileResponse getWhiteLabelFavicon(String tenantDomain) throws MetadataManagementException, NotFoundException { try { - WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); - return getImageFileResponse(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(tenantDomain); + return getImageFileResponse(whiteLabelTheme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON, tenantDomain); } catch (IOException e) { String msg = "Error occurred while getting byte content of favicon"; log.error(msg, e); throw new MetadataManagementException(msg, e); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting tenant details of favicon"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } + } + + @Override + public FileResponse getWhiteLabelLogo(String tenantDomain) throws MetadataManagementException, NotFoundException { + try { + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(tenantDomain); + return getImageFileResponse(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO, tenantDomain); + } catch (IOException e) { + String msg = "Error occurred while getting byte content of logo"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting tenant details of logo"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); } } @Override - public FileResponse getWhiteLabelLogo() throws MetadataManagementException, NotFoundException { + public FileResponse getWhiteLabelLogoIcon(String tenantDomain) throws MetadataManagementException, NotFoundException { try { - WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(); - return getImageFileResponse(whiteLabelTheme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); + WhiteLabelTheme whiteLabelTheme = getWhiteLabelTheme(tenantDomain); + return getImageFileResponse(whiteLabelTheme.getLogoIconImage(), WhiteLabelImage.ImageName.LOGO_ICON, tenantDomain); } catch (IOException e) { String msg = "Error occurred while getting byte content of logo"; log.error(msg, e); throw new MetadataManagementException(msg, e); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting tenant details of icon"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); } } /** * Useful to get white label image file response for provided {@link WhiteLabelImage.ImageName} */ - private FileResponse getImageFileResponse(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) throws - IOException, MetadataManagementException, NotFoundException { + private FileResponse getImageFileResponse(WhiteLabelImage image, WhiteLabelImage.ImageName imageName, String tenantDomain) throws + IOException, MetadataManagementException, NotFoundException, DeviceManagementException { if (image.getImageLocationType() == WhiteLabelImage.ImageLocationType.URL) { return getImageFileResponseFromUrl(image.getImageLocation()); } - return WhiteLabelStorageUtil.getWhiteLabelImageStream(image, imageName); + return WhiteLabelStorageUtil.getWhiteLabelImageStream(image, imageName, tenantDomain); } /** @@ -169,10 +197,12 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ String appTitle = getDefaultAppTitle(); WhiteLabelImage favicon = constructDefaultFaviconImage(); WhiteLabelImage logo = constructDefaultLogoImage(); + WhiteLabelImage logoIcon = constructDefaultLogoIconImage(); WhiteLabelTheme defaultTheme = new WhiteLabelTheme(); defaultTheme.setFooterText(footerText); defaultTheme.setAppTitle(appTitle); defaultTheme.setLogoImage(logo); + defaultTheme.setLogoIconImage(logoIcon); defaultTheme.setFaviconImage(favicon); return defaultTheme; } @@ -227,6 +257,21 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return logo; } + /** + * This is useful to construct and get the default logo whitelabel image + * + * @return {@link WhiteLabelImage} + */ + private WhiteLabelImage constructDefaultLogoIconImage() { + MetaDataConfiguration metaDataConfiguration = DeviceConfigurationManager.getInstance(). + getDeviceManagementConfig().getMetaDataConfiguration(); + WhiteLabelConfiguration whiteLabelConfiguration = metaDataConfiguration.getWhiteLabelConfiguration(); + WhiteLabelImage logoIcon = new WhiteLabelImage(); + logoIcon.setImageLocation(whiteLabelConfiguration.getWhiteLabelImages().getDefaultLogoIconName()); + setDefaultWhiteLabelImageCommonProperties(logoIcon); + return logoIcon; + } + /** * This is useful to set common properties such as DEFAULT_FILE type for {@link WhiteLabelImage.ImageLocationType} * for default white label image bean{@link WhiteLabelImage} @@ -242,18 +287,24 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ log.debug("Creating Metadata : [" + createWhiteLabelTheme.toString() + "]"); } int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(true); File existingFaviconImage = null; File existingLogoImage = null; + File existingLogoIconImage = null; try { - WhiteLabelTheme theme = getWhiteLabelTheme(); + WhiteLabelTheme theme = getWhiteLabelTheme(tenantDomain); if (theme.getFaviconImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { - existingFaviconImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON); + existingFaviconImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getFaviconImage(), WhiteLabelImage.ImageName.FAVICON, tenantDomain); } if (theme.getLogoImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { - existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getLogoImage(), WhiteLabelImage.ImageName.LOGO); + existingLogoImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getLogoImage(), WhiteLabelImage.ImageName.LOGO, tenantDomain); + } + if (theme.getLogoIconImage().getImageLocationType() == WhiteLabelImage.ImageLocationType.CUSTOM_FILE) { + existingLogoIconImage = WhiteLabelStorageUtil.getWhiteLabelImageFile(theme.getLogoIconImage(), WhiteLabelImage.ImageName.LOGO_ICON, tenantDomain); } storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getFavicon(), WhiteLabelImage.ImageName.FAVICON, tenantId); storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getLogo(), WhiteLabelImage.ImageName.LOGO, tenantId); + storeWhiteLabelImageIfRequired(createWhiteLabelTheme.getLogoIcon(), WhiteLabelImage.ImageName.LOGO_ICON, tenantId); WhiteLabelTheme whiteLabelTheme = constructWhiteLabelTheme(createWhiteLabelTheme); Metadata metadataWhiteLabelTheme = constructWhiteLabelThemeMetadata(whiteLabelTheme); try { @@ -266,12 +317,12 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ return whiteLabelTheme; } catch (MetadataManagementDAOException e) { MetadataManagementDAOFactory.rollbackTransaction(); - restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); + restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, existingLogoIconImage, tenantId); String msg = "Error occurred while creating the metadata entry. " + createWhiteLabelTheme; log.error(msg, e); throw new MetadataManagementException(msg, e); } catch (TransactionManagementException e) { - restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, tenantId); + restoreWhiteLabelImages(existingFaviconImage, existingLogoImage, existingLogoIconImage, tenantId); String msg = "Error occurred while opening a connection to the data source"; log.error(msg, e); throw new MetadataManagementException("Error occurred while creating metadata record", e); @@ -282,6 +333,11 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ String msg = "Error occurred while retrieving existing white label theme"; log.error(msg, e); throw new MetadataManagementException(msg, e); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting tenant details of white label"; + log.error(msg, e); + throw new MetadataManagementException(msg, e); + } } @@ -294,7 +350,7 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ * @param existingFavicon existing favicon image file * @param existingLogo existing logo image file */ - private void restoreWhiteLabelImages(File existingFavicon, File existingLogo, int tenantId) + private void restoreWhiteLabelImages(File existingFavicon, File existingLogo, File existingLogoIcon, int tenantId) throws MetadataManagementException { WhiteLabelStorageUtil.deleteWhiteLabelImageForTenantIfExists(tenantId); if (existingFavicon != null) { @@ -303,6 +359,9 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ if (existingLogo != null) { WhiteLabelStorageUtil.storeWhiteLabelImage(existingLogo, WhiteLabelImage.ImageName.LOGO, tenantId); } + if (existingLogoIcon != null) { + WhiteLabelStorageUtil.storeWhiteLabelImage(existingLogoIcon, WhiteLabelImage.ImageName.LOGO_ICON, tenantId); + } } /** @@ -328,10 +387,13 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ WhiteLabelTheme whiteLabelTheme = new WhiteLabelTheme(); WhiteLabelImageRequestPayload faviconPayload = whiteLabelThemeCreateRequest.getFavicon(); WhiteLabelImageRequestPayload logoPayload = whiteLabelThemeCreateRequest.getLogo(); + WhiteLabelImageRequestPayload logoIconPayload = whiteLabelThemeCreateRequest.getLogoIcon(); WhiteLabelImage faviconImage = constructWhiteLabelImageDTO(faviconPayload); WhiteLabelImage logoImage = constructWhiteLabelImageDTO(logoPayload); + WhiteLabelImage logoIconImage = constructWhiteLabelImageDTO(logoIconPayload); whiteLabelTheme.setFaviconImage(faviconImage); whiteLabelTheme.setLogoImage(logoImage); + whiteLabelTheme.setLogoIconImage(logoIconImage); whiteLabelTheme.setFooterText(whiteLabelThemeCreateRequest.getFooterText()); whiteLabelTheme.setAppTitle(whiteLabelThemeCreateRequest.getAppTitle()); return whiteLabelTheme; @@ -367,8 +429,8 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ } @Override - public WhiteLabelTheme getWhiteLabelTheme() throws MetadataManagementException, NotFoundException { - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + public WhiteLabelTheme getWhiteLabelTheme(String tenantDomain) throws MetadataManagementException, NotFoundException, DeviceManagementException { + int tenantId = DeviceManagerUtil.getTenantId(tenantDomain); if (log.isDebugEnabled()) { log.debug("Retrieving whitelabel theme for tenant: " + tenantId); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index c426c86b694..5fe4d9dfcc8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.Base64File; import org.wso2.carbon.device.mgt.common.FileResponse; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.MetadataManagementException; import org.wso2.carbon.device.mgt.common.exceptions.NotFoundException; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelImage; @@ -31,6 +32,8 @@ import org.wso2.carbon.device.mgt.core.common.util.FileUtil; import org.wso2.carbon.device.mgt.core.common.util.StorageManagementUtil; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; import org.wso2.carbon.device.mgt.core.config.metadata.mgt.MetaDataConfiguration; +import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -115,9 +118,9 @@ public class WhiteLabelStorageUtil { * @param imageName (i.e: LOGO) * @return white label image file {@link File} */ - public static File getWhiteLabelImageFile(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) - throws MetadataManagementException { - String fullPathToImage = getPathToImage(image, imageName); + public static File getWhiteLabelImageFile(WhiteLabelImage image, WhiteLabelImage.ImageName imageName, String tenantDomain) + throws MetadataManagementException, DeviceManagementException { + String fullPathToImage = getPathToImage(image, imageName, tenantDomain); return new File(fullPathToImage); } @@ -128,10 +131,10 @@ public class WhiteLabelStorageUtil { * @param imageName (i.e: LOGO) * @return white label image input stream */ - public static FileResponse getWhiteLabelImageStream(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) - throws MetadataManagementException, NotFoundException { + public static FileResponse getWhiteLabelImageStream(WhiteLabelImage image, WhiteLabelImage.ImageName imageName, String tenantDomain) + throws MetadataManagementException, NotFoundException, DeviceManagementException { FileResponse fileResponse = new FileResponse(); - String fullPathToFile = getPathToImage(image, imageName); + String fullPathToFile = getPathToImage(image, imageName, tenantDomain); try { InputStream imageStream = StorageManagementUtil.getInputStream(fullPathToFile); if (imageStream == null) { @@ -159,15 +162,22 @@ public class WhiteLabelStorageUtil { * @param imageName (i.e: LOGO) * @return Full path to white label image in the system */ - private static String getPathToImage(WhiteLabelImage image, WhiteLabelImage.ImageName imageName) - throws MetadataManagementException { + private static String getPathToImage(WhiteLabelImage image, WhiteLabelImage.ImageName imageName, String tenantDomain) + throws MetadataManagementException, DeviceManagementException { WhiteLabelImage.ImageLocationType imageLocationType = image.getImageLocationType(); if (imageLocationType == WhiteLabelImage.ImageLocationType.URL) { String msg = "White label images of URL type is not stored, hence it doesn't have a path in file system."; log.error(msg); throw new MetadataManagementException(msg); } - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + int tenantId = 0; + try { + tenantId = DeviceManagerUtil.getTenantId(tenantDomain); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting tenant details of logo"; + log.error(msg, e); + throw new DeviceManagementException(msg, e); + } String fileName = image.getImageLocation(); String filePath = String.valueOf(tenantId); if (imageLocationType == WhiteLabelImage.ImageLocationType.DEFAULT_FILE) { diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index fcae0ca5e0b..989e6209a73 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -197,6 +197,7 @@ repository/resources/whitelabel favicon.png logo.png + icon.png default diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index f8c736a56df..c985f6d0684 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -336,6 +336,7 @@ repository/resources/whitelabel favicon.png logo.png + icon.png default From d69619bf65d27be5b184c516544f52d3f4744425 Mon Sep 17 00:00:00 2001 From: prathabanKavin Date: Thu, 26 Jan 2023 14:49:12 +0530 Subject: [PATCH 025/101] Fix api errors in Lifecycle methods --- .../impl/admin/DeviceManagementAdminServiceImpl.java | 6 +++--- .../mgt/core/service/DeviceStateManagementServiceImpl.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index 0351e629fdd..6407ada6f12 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -321,7 +321,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); } LifecycleStateDevice updatedInfo = DeviceMgtAPIUtils.getDeviceStateManagementService() - .changeDeviceStatus(device, nextStatus); + .changeDeviceStatus(device.getEnrolmentInfo(), nextStatus); return Response.status(Response.Status.OK).entity(updatedInfo).build(); } catch (InvalidStatusException e) { String msg = "Error occured while changing status: Invalid status or invalid status change"; @@ -373,8 +373,8 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe return Response.status(Response.Status.NOT_FOUND).build(); } LifecycleStateDeviceList states = new LifecycleStateDeviceList(); - result = DeviceMgtAPIUtils.getDeviceStateManagementService() - .getDeviceLifecycleHistory(request, device); + result = (PaginationResult) DeviceMgtAPIUtils.getDeviceStateManagementService() + .getDeviceLifecycleHistory(device); states.setLifecycleStates((List) result.getData()); states.setCount(result.getRecordsTotal()); return Response.status(Response.Status.OK).entity(states).build(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java index 742388b0b66..863e27b4565 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java @@ -124,7 +124,7 @@ public class DeviceStateManagementServiceImpl implements DeviceStateManagementSe List listLifecycle = deviceLifecycleDAO.getDeviceLifecycle(id); return listLifecycle; } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while getting lifrcycle history"; + String msg = "Error occurred while getting lifecycle history"; log.error(msg, e); throw new DeviceStatusException(msg, e); } catch (SQLException e) { From a7cf4fa86c2b829a4bf8e6757e29979cb15b0fe7 Mon Sep 17 00:00:00 2001 From: Rushdi Mohamed Date: Thu, 26 Jan 2023 14:34:24 +0000 Subject: [PATCH 026/101] Add pagination sort by column (#48) ## Purpose Fixes [issues/9743](https://roadmap.entgra.net/issues/9743) ## Improvement Sort in ASC OR DESC on pagination requested by column name Co-authored-by: Rushdi Co-authored-by: Pahansith Gunathilake Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/48 Co-authored-by: Rushdi Mohamed Co-committed-by: Rushdi Mohamed --- .../device/mgt/common/PaginationRequest.java | 30 ++++++++- .../carbon/device/mgt/common/SortColumn.java | 62 +++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/SortColumn.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationRequest.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationRequest.java index 29bb7922e97..9a24b5c7f35 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationRequest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/PaginationRequest.java @@ -44,6 +44,7 @@ public class PaginationRequest { private Map property = new HashMap<>(); private List statusList = new ArrayList<>(); private OperationLogFilters operationLogFilters = new OperationLogFilters(); + private List sortColumn = new ArrayList<>(); public OperationLogFilters getOperationLogFilters() { return operationLogFilters; } @@ -172,11 +173,38 @@ public class PaginationRequest { this.filter = filter; } + public void setSortColumn(List sortColumn) { this.sortColumn = sortColumn; } + + public List getSortColumn() { return sortColumn; } + + /** + * Convert SortColumns field parameter and splitting string into columnName and sortType + * + * @param sortColumns which is separated by a colon(:) and first will be the columnNane and the second will be type ASC or DESC, + * if there is no colon(:) detected, ASC will be default + * (Ex: sort=col1:ASC&sort=col2:DESC, sort=col1&sort=col2:DESC) + * @return sortColumnList as a list of sortColumn + */ + public void setSortColumns(List sortColumns) { + List sortColumnList = new ArrayList<>(); + SortColumn sortColumn; + String[] sorting; + for (String sortBy: sortColumns) { + sortColumn = new SortColumn(); + sorting = sortBy.split(":"); + sortColumn.setName(sorting[0]); + sortColumn.setType(sorting.length >= 2 && (sorting[1].equalsIgnoreCase("desc")) + ? SortColumn.types.DESC : SortColumn.types.ASC); + sortColumnList.add(sortColumn); + } + setSortColumn(sortColumnList); + } + @Override public String toString() { return "Device type '" + this.deviceType + "' Device Name '" + this.deviceName + "' row count: " + this.rowCount + " Owner role '" + this.ownerRole + "' owner pattern '" + this.ownerPattern + "' ownership " + this.ownership + "' Status '" + this.statusList + "' owner '" + this.owner + "' groupId: " + this.groupId - + " start index: " + this.startIndex; + + " start index: " + this.startIndex + ", SortColumns: " + this.sortColumn; } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/SortColumn.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/SortColumn.java new file mode 100644 index 00000000000..8e6d4915ea1 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/SortColumn.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (https://entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common; + +/** + * This class holds required parameters for a querying a sort by column in pagination. + * + */ +public class SortColumn { + String name; + SortColumn.types type; + + public enum types { + ASC, DESC + } + + /** + * ColumnName setter method + * @param name of the column + */ + public void setName(String name) { this.name = name; } + + /** + * get the name of the column + * @return name + */ + public String getName() { return name; } + + /** + * Column sort type + * @param type of sort as ASC or DESC + */ + public void setType(SortColumn.types type) { this.type = type; } + + /** + * get column sort type + * @return type of sort + */ + public SortColumn.types getType() { return type; } + + @Override + public String toString() { + return "Column Name - " + this.name + ", Type - " + this.type ; + } + +} From 86f709a74a50172491f4d82199502078a436b503 Mon Sep 17 00:00:00 2001 From: Pahansith Date: Thu, 26 Jan 2023 22:21:24 +0530 Subject: [PATCH 027/101] Revert "Fix api errors in Lifecycle methods" This reverts commit d69619bf65d27be5b184c516544f52d3f4744425. --- .../impl/admin/DeviceManagementAdminServiceImpl.java | 6 +++--- .../mgt/core/service/DeviceStateManagementServiceImpl.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index 6407ada6f12..0351e629fdd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -321,7 +321,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); } LifecycleStateDevice updatedInfo = DeviceMgtAPIUtils.getDeviceStateManagementService() - .changeDeviceStatus(device.getEnrolmentInfo(), nextStatus); + .changeDeviceStatus(device, nextStatus); return Response.status(Response.Status.OK).entity(updatedInfo).build(); } catch (InvalidStatusException e) { String msg = "Error occured while changing status: Invalid status or invalid status change"; @@ -373,8 +373,8 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe return Response.status(Response.Status.NOT_FOUND).build(); } LifecycleStateDeviceList states = new LifecycleStateDeviceList(); - result = (PaginationResult) DeviceMgtAPIUtils.getDeviceStateManagementService() - .getDeviceLifecycleHistory(device); + result = DeviceMgtAPIUtils.getDeviceStateManagementService() + .getDeviceLifecycleHistory(request, device); states.setLifecycleStates((List) result.getData()); states.setCount(result.getRecordsTotal()); return Response.status(Response.Status.OK).entity(states).build(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java index 863e27b4565..742388b0b66 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java @@ -124,7 +124,7 @@ public class DeviceStateManagementServiceImpl implements DeviceStateManagementSe List listLifecycle = deviceLifecycleDAO.getDeviceLifecycle(id); return listLifecycle; } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while getting lifecycle history"; + String msg = "Error occurred while getting lifrcycle history"; log.error(msg, e); throw new DeviceStatusException(msg, e); } catch (SQLException e) { From 9ef3e0cf6ee33bfb60b4bc3bcd96e6ddfe05b2ec Mon Sep 17 00:00:00 2001 From: Pahansith Date: Thu, 26 Jan 2023 22:22:20 +0530 Subject: [PATCH 028/101] Revert "Change the device status and see the device status lifecycle history" This reverts commit df6a8e20a38812507bf73562b4e6f7b1b38e8172. --- .../jaxrs/beans/LifecycleStateDeviceList.java | 47 ----- .../admin/DeviceManagementAdminService.java | 146 --------------- .../DeviceManagementAdminServiceImpl.java | 107 ----------- .../device/mgt/jaxrs/util/Constants.java | 1 - .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 13 -- .../mgt/common/DeviceManagementConstants.java | 1 - .../mgt/common/LifecycleStateDevice.java | 96 ---------- .../mgt/DeviceLifecycleState.java | 80 -------- .../exceptions/DeviceStatusException.java | 30 --- .../exceptions/InvalidStatusException.java | 28 --- .../config/DeviceConfigurationManager.java | 1 - .../lifecycleState/DeviceLifecycleConfig.java | 46 ----- .../DeviceLifecycleConfigManager.java | 89 --------- .../mgt/core/dao/DeviceLifecycleDAO.java | 72 -------- .../core/dao/DeviceManagementDAOFactory.java | 4 - .../core/dao/impl/DeviceLifecycleDAOImpl.java | 174 ------------------ .../mgt/core/dao/impl/EnrollmentDAOImpl.java | 19 +- .../internal/DeviceManagementDataHolder.java | 10 - .../DeviceManagementServiceComponent.java | 18 -- .../DeviceLifecycleStateManager.java | 79 -------- .../DeviceManagementProviderServiceImpl.java | 5 +- .../service/DeviceStateManagementService.java | 72 -------- .../DeviceStateManagementServiceImpl.java | 136 -------------- .../src/test/resources/sql/h2.sql | 2 - .../main/resources/conf/lifecycle-states.xml | 116 ------------ .../src/main/resources/dbscripts/cdm/h2.sql | 3 - .../main/resources/dbscripts/cdm/mysql.sql | 1 - 27 files changed, 6 insertions(+), 1390 deletions(-) delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java delete mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java deleted file mode 100644 index d53db399d00..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2022, 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.device.mgt.jaxrs.beans; - -import io.swagger.annotations.ApiModelProperty; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; - -import java.util.ArrayList; -import java.util.List; - -public class LifecycleStateDeviceList extends BasePaginatedResult { - - private List lifecycleStates = new ArrayList<>(); - - @ApiModelProperty(value = "List of lifecycleStates history returned") - public List getLifecycleStates() { - return lifecycleStates; - } - - public void setLifecycleStates(List lifecycleStates) { - this.lifecycleStates = lifecycleStates; - } - - @Override - public String toString() { - return "LifecycleStateDeviceList{" + - "lifecycleStates=" + lifecycleStates + - '}'; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java index 17136a7e516..b0c850de950 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java @@ -34,7 +34,6 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.api.admin; -import io.entgra.application.mgt.common.dto.ApplicationDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -50,8 +49,6 @@ import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.apimgt.annotations.api.Scope; import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; @@ -122,13 +119,6 @@ import java.util.List; roles = {"Internal/devicemgt-admin"}, permissions = {"/device-mgt/admin/devices/usage/view"} ), - @Scope( - name = "Change device status.", - description = "Change device status.", - key = "perm:admin:devices:change-status", - roles = {"Internal/devicemgt-admin"}, - permissions = {"/device-mgt/admin/devices/change-status"} - ), } ) public interface DeviceManagementAdminService { @@ -515,140 +505,4 @@ public interface DeviceManagementAdminService { @QueryParam("endDate") Timestamp endDate); - @POST - @Produces(MediaType.APPLICATION_JSON) - @Consumes(MediaType.APPLICATION_JSON) - @Path("/status") - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - consumes = MediaType.APPLICATION_JSON, - httpMethod = "POST", - value = "Update and post device's State", - notes = "Use this API to change the state of the device", - tags = "Device Management Administrative Service", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:change-status") - }) - } - ) - @ApiResponses( - value = { - @ApiResponse( - code = 201, - message = "OK. \n Successfully added a lifecycle state.", - response = ApplicationDTO.class), - @ApiResponse( - code = 400, - message = "Bad Request. \n " + - "Lifecycle State changing request contains unacceptable or vulnerable data"), - @ApiResponse( - code = 403, - message = "Don't have permission to change the lifecycle state of a lifecycle state."), - @ApiResponse( - code = 404, - message = "NOT FOUND. \n Error occurred while adding new lifecycle state.", - response = io.entgra.application.mgt.common.ErrorResponse.class), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n Error occurred adding a lifecycle state.", - response = io.entgra.application.mgt.common.ErrorResponse.class) - }) - Response changeDeviceStatus( - @ApiParam( - name = "deviceId", - value = "The device identifier of the device.", - required = true) - @QueryParam("deviceId") - @Size(max = 45) - String deviceId, - @ApiParam( - name = "nextStatus", - value = "The device's next state.", - required = true) - @QueryParam("nextStatus") - EnrolmentInfo.Status nextStatus); - - @GET - @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{deviceId}/lifecycle") - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - httpMethod = "GET", - value = "Get Device's lifecycle history", - notes = "Get the lifecycle history of the device, since the enrolement", - tags = "Device Management Administrative Service", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:view") - }) - } - ) - @ApiResponses( - value = { - @ApiResponse( - code = 200, - message = "OK. \n Successfully fetched the status history of matching devices.", - response = List.class, - responseHeaders = { - @ResponseHeader( - name = "Content-Type", - description = "The content type of the body"), - @ResponseHeader( - name = "ETag", - description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), - @ResponseHeader( - name = "Last-Modified", - description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), - }), - @ApiResponse( - code = 304, - message = "Not Modified. Empty body because the client already has the latest version" + - " of the requested resource.\n"), - @ApiResponse( - code = 400, - message = "Bad Request. \n Invalid request or validation error.", - response = ErrorResponse.class), - @ApiResponse( - code = 404, - message = "Not Found. \n A device with the specified device type and id was not found.", - response = ErrorResponse.class), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n " + - "Server error occurred while retrieving the device details.", - response = ErrorResponse.class) - }) - Response getDeviceLifecycle( - @ApiParam( - name = "DeviceId", - value = "Device ID.", - required = true) - @PathParam("deviceId") - @Size(max = 45) - String id, - @ApiParam( - name = "type", - value = "The device type, such as ios, android, or windows.", - required = true) - @PathParam("type") - @Size(max = 45) - String type, - @ApiParam( - name = "offset", - value = "The starting pagination index for the complete list of qualified items.", - required = false, - defaultValue = "0") - @QueryParam("offset") - int offset, - @ApiParam( - name = "limit", - value = "Provide how many device details you require from the starting pagination index/offset.", - required = false, - defaultValue = "5") - @QueryParam("limit") - int limit) throws DeviceManagementException; - } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index 0351e629fdd..acadf926f2b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -40,12 +40,9 @@ import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.CarbonContext; 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.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; import org.wso2.carbon.device.mgt.common.MDMAppConstants; import org.wso2.carbon.device.mgt.common.PaginationRequest; -import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; @@ -53,18 +50,14 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration import org.wso2.carbon.device.mgt.common.exceptions.BadRequestException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; import org.wso2.carbon.device.mgt.common.exceptions.UserNotFoundException; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; -import org.wso2.carbon.device.mgt.jaxrs.beans.LifecycleStateDeviceList; import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceManagementAdminService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; -import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; @@ -290,104 +283,4 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } - - /** - * This change the device status - * - * @param deviceId Id of the device - * @param nextStatus next status of the device - * @return response - */ - @POST - @Path("/status") - public Response changeDeviceStatus( - @QueryParam("deviceId") String deviceId, - @QueryParam("nextStatus") EnrolmentInfo.Status nextStatus) { - - try { - if (nextStatus == null) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Next status is required") - .build()).build(); - } - - RequestValidationUtil.validateDeviceIdentifier(Constants.ANY, deviceId); - DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); - Device device = dms.getDevice(deviceId, false); - if (device == null) { - String message = "Device does not exist with id '" + deviceId + "'"; - log.error(message); - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); - } - LifecycleStateDevice updatedInfo = DeviceMgtAPIUtils.getDeviceStateManagementService() - .changeDeviceStatus(device, nextStatus); - return Response.status(Response.Status.OK).entity(updatedInfo).build(); - } catch (InvalidStatusException e) { - String msg = "Error occured while changing status: Invalid status or invalid status change"; - log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); - } catch (DeviceManagementException e) { - String msg = "Error occurred while getting the device '" + deviceId + "'"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } catch (DeviceStatusException e) { - String msg = "Error occurred while getting device Status"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - } - - /** - * Get the devicelifecycle history - * - * @param type Device type - * @param deviceId Device id - * @param offset is starting number of the record which we want tot get - * @param limit is the number of records we want starting from offset - * @return lifecycle history - */ - - @Override - @GET - @Path("/{type}/{deviceId}/lifecycle") - public Response getDeviceLifecycle( - @PathParam("type") String type, - @PathParam("deviceId") String deviceId, - @QueryParam("offset") int offset, - @QueryParam("limit") int limit) { - - try { - RequestValidationUtil.validatePaginationParameters(offset, limit); - PaginationRequest request = new PaginationRequest(offset, limit); - PaginationResult result; - - RequestValidationUtil.validateDeviceIdentifier(type, deviceId); - DeviceManagementProviderService deviceManagementProviderService = - DeviceMgtAPIUtils.getDeviceManagementService(); - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(deviceId, type); - Device device = deviceManagementProviderService.getDevice(deviceIdentifier, false); - if (device == null) { - return Response.status(Response.Status.NOT_FOUND).build(); - } - LifecycleStateDeviceList states = new LifecycleStateDeviceList(); - result = DeviceMgtAPIUtils.getDeviceStateManagementService() - .getDeviceLifecycleHistory(request, device); - states.setLifecycleStates((List) result.getData()); - states.setCount(result.getRecordsTotal()); - return Response.status(Response.Status.OK).entity(states).build(); - } catch (DeviceManagementException e) { - String msg = "Error occurred while getting the device '" + deviceId + "'"; - log.error(msg); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } catch (DeviceStatusException e) { - String msg = "Error occurred while getting device Status"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java index 95fadfb4526..d7462993a92 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java @@ -58,7 +58,6 @@ public class Constants { "core.polcy.AndroidPolicyPayloadValidator"; public static final String IOS = "ios"; public static final String WINDOWS = "windows"; - public static final String ANY = "any"; public final class OperationStatus { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 5806d948c16..92bc2790d49 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -86,7 +86,6 @@ import org.wso2.carbon.device.mgt.core.permission.mgt.PermissionUtils; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; -import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.traccar.api.service.DeviceAPIClientService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeVersionWrapper; @@ -272,18 +271,6 @@ public class DeviceMgtAPIUtils { } } - public static DeviceStateManagementService getDeviceStateManagementService() { - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - DeviceStateManagementService deviceStateManagementService = - (DeviceStateManagementService) ctx.getOSGiService(DeviceStateManagementService.class, null); - if (deviceStateManagementService == null) { - String msg = "DeviceStateManagementService service has not initialized."; - log.error(msg); - throw new IllegalStateException(msg); - } - return deviceStateManagementService; - } - public static DeviceManagementProviderService getDeviceManagementService() { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); DeviceManagementProviderService deviceManagementProviderService = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java index 3bbaf472507..154594678c7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java @@ -28,7 +28,6 @@ public final class DeviceManagementConstants { public static final String SECURE_VAULT_NS = "http://org.wso2.securevault/configuration"; public static final String DEVICE_CONFIG_XML_NAME = "cdm-config.xml"; public static final String UI_CONFIG_XML_NAME = "mdm-ui-config.xml"; - public static final String DEVICE_LIFECYCLE_STATES_XML_NAME = "lifecycle-states.xml"; } public static final class SecureValueProperties { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java deleted file mode 100644 index fe968c0b235..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.common; - -import java.util.Date; - -/** - * Information of the device lifecycle - */ -public class LifecycleStateDevice { - - private int deviceId; - private String currentStatus; - private String previousStatus; - private String updatedBy; - private Date updatedAt; - - public LifecycleStateDevice() { - } - - public LifecycleStateDevice(int deviceId, String currentStatus, String previousStatus, String updatedBy, - Date updatedAt) { - this.deviceId = deviceId; - this.currentStatus = currentStatus; - this.previousStatus = previousStatus; - this.updatedBy = updatedBy; - this.updatedAt = updatedAt; - } - - public String getCurrentStatus() { - return currentStatus; - } - - public void setCurrentStatus(String currentStatus) { - this.currentStatus = currentStatus; - } - - public String getPreviousStatus() { - return previousStatus; - } - - public void setPreviousStatus(String previousStatus) { - this.previousStatus = previousStatus; - } - - public String getUpdatedBy() { - return updatedBy; - } - - public void setUpdatedBy(String updatedBy) { - this.updatedBy = updatedBy; - } - - public Date getUpdatedAt() { - return updatedAt; - } - - public void setUpdatedAt(Date updatedAt) { - this.updatedAt = updatedAt; - } - - public int getDeviceId() { - return deviceId; - } - - public void setDeviceId(int deviceId) { - this.deviceId = deviceId; - } - - @Override - public String toString() { - return "LifecycleStateDevice{" + - "deviceId=" + deviceId + - ", currentStatus='" + currentStatus + '\'' + - ", previousStatus='" + previousStatus + '\'' + - ", updatedBy='" + updatedBy + '\'' + - ", updatedAt=" + updatedAt + - '}'; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java deleted file mode 100644 index 3211a7149e1..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, 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. - * - */ -/* - * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.common.configuration.mgt; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import java.util.List; - -/** - * Bean of the DeviceLifecycleState - */ -@XmlRootElement(name = "LifecycleState") -public class DeviceLifecycleState { - - private String name; - private List proceedingStates; - - @XmlAttribute(name = "name") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @XmlElementWrapper(name = "ProceedingStates") - @XmlElement(name = "State") - public List getProceedingStates() { - return proceedingStates; - } - - public void setProceedingStates(List proceedingStates) { - this.proceedingStates = proceedingStates; - } - - @Override - public String toString() { - return "DeviceLifecycleState{" + - "name='" + name + '\'' + - ", proceedingStates=" + proceedingStates + - '}'; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java deleted file mode 100644 index 706f14f0d62..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.wso2.carbon.device.mgt.common.exceptions; - -public class DeviceStatusException extends Exception{ - - private static final long serialVersionUID = 1608833587090532707L; - - public DeviceStatusException() { - } - - public DeviceStatusException(String msg, Exception nestedEx) { - super(msg, nestedEx); - } - - - public DeviceStatusException(String message) { - super(message); - } - - public DeviceStatusException(String message, Throwable cause) { - super(message, cause); - } - - public DeviceStatusException(Throwable cause) { - super(cause); - } - - public DeviceStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java deleted file mode 100644 index 3c3f0c9b47b..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.wso2.carbon.device.mgt.common.exceptions; - -public class InvalidStatusException extends Exception{ - - private static final long serialVersionUID = -7379721600057895944L; - - - public InvalidStatusException() { - } - - public InvalidStatusException(String message) { - super(message); - } - - public InvalidStatusException(String message, Throwable cause) { - super(message, cause); - } - - public InvalidStatusException(Throwable cause) { - super(cause); - } - - public InvalidStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } - - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java index 0ea2660762e..027ddd2417c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java @@ -40,7 +40,6 @@ public class DeviceConfigurationManager { private static final String DEVICE_MGT_CONFIG_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + DeviceManagementConstants.DataSourceProperties.DEVICE_CONFIG_XML_NAME; - private static final String DEVICE_MGT_CONFIG_SCHEMA_PATH = "resources/config/schema/device-mgt-config-schema.xsd"; public static DeviceConfigurationManager getInstance() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java deleted file mode 100644 index bdafeae3201..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2022, 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.device.mgt.core.config.lifecycleState; - -import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import java.util.List; - -/** - * Represents Device lifecycle status configuration. - */ -@XmlRootElement(name = "LifecycleManagementConfiguration") -public class DeviceLifecycleConfig { - - private List deviceLifecycleStates; - - @XmlElementWrapper(name = "LifecycleStates") - @XmlElement(name = "LifecycleState") - public List getDeviceLifecycleStates() { - return deviceLifecycleStates; - } - - public void setDeviceLifecycleStates(List deviceLifecycleStates) { - this.deviceLifecycleStates = deviceLifecycleStates; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java deleted file mode 100644 index b4b941fd18c..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2022, 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.device.mgt.core.config.lifecycleState; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; -import org.wso2.carbon.utils.CarbonUtils; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import java.io.File; - -/** - * Class responsible for the LifecycleStates configuration initialization. - */ -public class DeviceLifecycleConfigManager { - - private static final Log log = LogFactory.getLog(DeviceLifecycleConfigManager.class); - private DeviceLifecycleConfig deviceLifecycleConfig; - private static volatile DeviceLifecycleConfigManager deviceLifecycleConfigManager; - private static final String DEVICE_LIFECYCLE_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator - + DeviceManagementConstants.DataSourceProperties.DEVICE_LIFECYCLE_STATES_XML_NAME; - - private DeviceLifecycleConfigManager() { - } - - public static DeviceLifecycleConfigManager getInstance() { - if (deviceLifecycleConfigManager == null) { - synchronized (DeviceLifecycleConfigManager.class) { - if (deviceLifecycleConfigManager == null) { - deviceLifecycleConfigManager = new DeviceLifecycleConfigManager(); - try { - deviceLifecycleConfigManager.initConfig(); - } catch (Exception e) { - log.error(e); - } - } else { - try { - deviceLifecycleConfigManager.initConfig(); - } catch (Exception e) { - log.error(e); - } - } - } - } - return deviceLifecycleConfigManager; - } - - public synchronized void initConfig() { - try { - File deviceLifecycleConfig = new File(DEVICE_LIFECYCLE_PATH); - JAXBContext jaxbContext = JAXBContext.newInstance(DeviceLifecycleConfig.class); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - this.deviceLifecycleConfig = (DeviceLifecycleConfig) unmarshaller.unmarshal(deviceLifecycleConfig); - - } catch (JAXBException e) { - String msg = "Error occured while initializing deviceLifecycle config"; - log.error(msg, e); - throw new RuntimeException(e); - } catch (Exception e) { - String msg = "Error(Exception) occured while initializing deviceLifecycle config"; - log.error(msg, e); - throw new RuntimeException(e); - } - } - - public DeviceLifecycleConfig getDeviceLifecycleConfig() { - return deviceLifecycleConfig; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java deleted file mode 100644 index 874e39e34dd..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2022, 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.device.mgt.core.dao; - -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; - -import java.util.List; - -/** - * Device status relevent DAO activity - */ -public interface DeviceLifecycleDAO { - - /** - * can change the relevent device's status - * - * @param enrolmentId Enrolment Id - * @param status changing status - * @param tenantId tenantId - * @return true or false - * @throws DeviceManagementDAOException when device no found - */ - boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) throws DeviceManagementDAOException; - - /** - * Add the changed status - * - * @param enrolmentId Enrolment Id - * @param currentStatus Current Status - * @param previousStatus Previous Status - * @param deviceId Id of the device - * @return Added or not, true or false - * @throws DeviceManagementDAOException When device not found - */ - boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, - int deviceId) throws DeviceManagementDAOException; - - /** - * Get Device ID - * - * @param enrolmentId Enrolment ID - * @return Device id - * @throws DeviceManagementDAOException when device not found - */ - int getDeviceId(int enrolmentId) throws DeviceManagementDAOException; - - /** - * Get the lifecycle history of the device - * - * @param id id of the device - * @return List of LifecycleStateDevice - */ - List getDeviceLifecycle(int id) throws DeviceManagementDAOException; -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java index 5157860705f..cbd7c697f4a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java @@ -125,10 +125,6 @@ public class DeviceManagementDAOFactory { return new EnrollmentDAOImpl(); } - public static DeviceLifecycleDAO getDeviceLifecycleDAO() { - return new DeviceLifecycleDAOImpl(); - } - public static TrackerDAO getTrackerDAO() { if (databaseEngine != null) { switch (databaseEngine) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java deleted file mode 100644 index cfefbaad086..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2022, 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.device.mgt.core.dao.impl; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; -import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class DeviceLifecycleDAOImpl implements DeviceLifecycleDAO { - - private static final Log log = LogFactory.getLog(DeviceLifecycleDAOImpl.class); - - private Connection getConnection() throws SQLException { - return DeviceManagementDAOFactory.getConnection(); - } - - @Override - public boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) - throws DeviceManagementDAOException { - Connection conn; - PreparedStatement stmt = null; - Timestamp updateTime = new Timestamp(new Date().getTime()); - try { - conn = this.getConnection(); - String sql = "UPDATE DM_ENROLMENT SET STATUS = ?, DATE_OF_LAST_UPDATE = ? WHERE ID = ? AND TENANT_ID = ?"; - stmt = conn.prepareStatement(sql); - stmt.setString(1, status.toString()); - stmt.setTimestamp(2, updateTime); - stmt.setInt(3, enrolmentId); - stmt.setInt(4, tenantId); - int updatedRowCount = stmt.executeUpdate(); - if (updatedRowCount != 1) { - throw new DeviceManagementDAOException("Error occurred while setting the status of device enrolment: " + - updatedRowCount + " rows were updated instead of one row!!!"); - } - } catch (SQLException e) { - String msg = "Error occurred while changing status of the device which has " + enrolmentId + " enrolmentId"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return true; - } - - @Override - public boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, - int deviceId) throws DeviceManagementDAOException { - Connection conn; - String changedBy = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); - if (changedBy == null) { - changedBy = DeviceManagementConstants.MaintenanceProperties.MAINTENANCE_USER; - } - PreparedStatement stmt = null; - Timestamp updateTime = new Timestamp(new Date().getTime()); - try { - conn = this.getConnection(); - String sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, " + - "PREVIOUS_STATUS) VALUES(?, ?, ?, ?, ?, ?)"; - stmt = conn.prepareStatement(sql); - stmt.setInt(1, enrolmentId); - stmt.setInt(2, deviceId); - stmt.setString(3, currentStatus.toString()); - stmt.setTimestamp(4, updateTime); - stmt.setString(5, changedBy); - stmt.setString(6, previousStatus.toString()); - stmt.executeUpdate(); - } catch (SQLException e) { - String msg = "Error occurred while inserting device lifecycle"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return true; - } - - public int getDeviceId(int enrolmentId) throws DeviceManagementDAOException { - int deviceId; - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - try { - conn = this.getConnection(); - String sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; - stmt = conn.prepareStatement(sql); - stmt.setInt(1, enrolmentId); - rs = stmt.executeQuery(); - if (rs.next()) { - deviceId = rs.getInt("DEVICE_ID"); - } else { - // if there were no records corresponding to the enrolment id this is a problem. i.e. enrolment - // id is invalid - throw new DeviceManagementDAOException("Error occurred while getting the status of device enrolment: " + - "no record for enrolment id " + enrolmentId); - } - } catch (SQLException e) { - String msg = "Error occurred while getiing the device if which has " + enrolmentId + " enrolmentId"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return deviceId; - } - - @Override - public List getDeviceLifecycle(int id) throws DeviceManagementDAOException { - List result = new ArrayList<>(); - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - try { - conn = this.getConnection(); - String sql = "SELECT DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, PREVIOUS_STATUS FROM DM_DEVICE_STATUS " + - "WHERE DEVICE_ID = ?"; - - stmt = conn.prepareStatement(sql); - stmt.setInt(1, id); - rs = stmt.executeQuery(); - - while (rs.next()) { - LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice( - rs.getInt("DEVICE_ID"), - rs.getString("STATUS"), - rs.getString("PREVIOUS_STATUS"), - rs.getString("CHANGED_BY"), - new Date(rs.getTimestamp("UPDATE_TIME").getTime()) - ); - result.add(lifecycleStateDevice); - } - } catch (SQLException e) { - String msg = "Error occurred while getiing the device lifecycle which has " + id + " deviceId"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return result; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java index 2ae2fb8b60a..7b3e08cd509 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java @@ -348,7 +348,7 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { DeviceManagementDAOUtil.cleanupResources(stmt, null); // if there was no record for the enrolment or the previous status is not the same as the current status // we'll add a record - if (previousStatus == null || previousStatus != status) { + if (previousStatus == null || previousStatus != status){ if (deviceId == -1) { // we need the device id in order to add a new record, therefore we get it from the enrolment table sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; @@ -364,16 +364,8 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { } DeviceManagementDAOUtil.cleanupResources(stmt, null); } - sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY"; - if (previousStatus != null) { - sql += ", PREVIOUS_STATUS"; - } - sql += ") VALUES(?, ?, ?, ?, ?"; - if (previousStatus != null) { - sql += ", ?"; - } - sql += ")"; + sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY) VALUES(?, ?, ?, ?, ?)"; stmt = conn.prepareStatement(sql); Timestamp updateTime = new Timestamp(new Date().getTime()); stmt.setInt(1, enrolmentId); @@ -381,10 +373,9 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { stmt.setString(3, status.toString()); stmt.setTimestamp(4, updateTime); stmt.setString(5, changedBy); - if (previousStatus != null) { - stmt.setString(6, previousStatus.toString()); - } - stmt.executeUpdate(); + stmt.execute(); + } else { + // no need to update status since the last recorded status is the same as the current status } } catch (SQLException e) { throw new DeviceManagementDAOException("Error occurred while setting the status of device", e); 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 a5331d3c0ef..6a69cb02ba5 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 @@ -34,7 +34,6 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeServiceIdentifier; import org.wso2.carbon.device.mgt.core.geo.task.GeoFenceEventOperationManager; -import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.operation.timeout.task.OperationTimeoutTaskManagerService; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.push.notification.mgt.PushNotificationProviderRepository; @@ -87,7 +86,6 @@ public class DeviceManagementDataHolder { private OperationTimeoutTaskManagerService operationTimeoutTaskManagerService; private DeviceAPIClientService deviceAPIClientService; - private DeviceLifecycleStateManager deviceLifecycleStateManager; private final Map deviceStatusTaskPluginConfigs = Collections.synchronizedMap( new HashMap<>()); @@ -361,12 +359,4 @@ public class DeviceManagementDataHolder { public void setDeviceAPIClientService(DeviceAPIClientService deviceAPIClientService) { this.deviceAPIClientService = deviceAPIClientService; } - - public DeviceLifecycleStateManager getDeviceLifecycleStateManager() { - return deviceLifecycleStateManager; - } - - public void setDeviceLifecycleStateManager(DeviceLifecycleStateManager deviceLifecycleStateManager) { - this.deviceLifecycleStateManager = deviceLifecycleStateManager; - } } 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 1efe03c5f9d..a266a40499d 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,7 +25,6 @@ import org.osgi.service.component.ComponentContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; -import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfigurationManagementService; import org.wso2.carbon.device.mgt.common.event.config.EventConfigurationProviderService; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; @@ -49,7 +48,6 @@ import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationSe 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.lifecycleState.DeviceLifecycleConfigManager; import org.wso2.carbon.device.mgt.core.config.tenant.PlatformConfigurationManagementServiceImpl; import org.wso2.carbon.device.mgt.core.config.ui.UIConfigurationManager; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; @@ -60,7 +58,6 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.device.details.mgt.impl.DeviceInformationManagerImpl; import org.wso2.carbon.device.mgt.core.event.config.EventConfigurationProviderServiceImpl; import org.wso2.carbon.device.mgt.core.geo.service.GeoLocationProviderServiceImpl; -import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.metadata.mgt.MetadataManagementServiceImpl; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl; @@ -79,8 +76,6 @@ import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.impl.SearchManagerServiceImpl; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl; -import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; -import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementServiceImpl; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; @@ -279,19 +274,6 @@ public class DeviceManagementServiceComponent { if (log.isDebugEnabled()) { log.debug("Device management core bundle has been successfully initialized"); } - - /* Initializing DeviceLifecycleState Configuration */ - List deviceLifecycleStates = DeviceLifecycleConfigManager.getInstance(). - getDeviceLifecycleConfig().getDeviceLifecycleStates(); - DeviceLifecycleStateManager deviceLifecycleStateManager = new DeviceLifecycleStateManager(); - deviceLifecycleStateManager.init(deviceLifecycleStates); - DeviceManagementDataHolder.getInstance().setDeviceLifecycleStateManager(deviceLifecycleStateManager); - componentContext.getBundleContext().registerService(DeviceLifecycleStateManager.class.getName(), - deviceLifecycleStateManager, null); - - DeviceStateManagementService deviceStateManagementService = new DeviceStateManagementServiceImpl(); - componentContext.getBundleContext().registerService(DeviceStateManagementService.class.getName(), - deviceStateManagementService, null); } catch (Throwable e) { log.error("Error occurred while initializing device management core bundle", e); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java deleted file mode 100644 index dde06468584..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2022, 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.device.mgt.core.lifeCycle; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/* this class has the methods to check whether the status is valid or status change is valid -deviceLifecycleStates details are coming from lifecycle-states.xml file*/ -public class DeviceLifecycleStateManager { - private Map deviceLifecycleStates; - private static final Log log = LogFactory.getLog(DeviceLifecycleStateManager.class); - - public Map getDeviceLifecycleStates() { - return deviceLifecycleStates; - } - - public void setDeviceLifecycleStates(Map deviceLifecycleStates) { - this.deviceLifecycleStates = deviceLifecycleStates; - } - - public void init(List states) { - deviceLifecycleStates = new HashMap<>(); - for (DeviceLifecycleState deviceLifecycleState : states) { - deviceLifecycleStates.put(deviceLifecycleState.getName(), deviceLifecycleState); - } - } - - public List getNextLifecycleStates(String currentLifecycleState) { - return deviceLifecycleStates.get(currentLifecycleState).getProceedingStates(); - } - - public boolean isValidStateChange(String currentStatus, String nextStatus) { - boolean validChange = false; - List proceedingstates = deviceLifecycleStates.get(currentStatus).getProceedingStates(); - for (String proceedingState : proceedingstates) { - if (proceedingState.equals(nextStatus)) { - validChange = true; - break; - } - } - return validChange; - } - - public boolean isValidState(String nextStatus) { - boolean isValid = false; - List states = new ArrayList<>(deviceLifecycleStates.keySet()); - for (String state : states) { - if (state.equals(nextStatus)) { - isValid = true; - break; - } - } - return isValid; - } -} 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 77c8c38f83d..d28a3065143 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 @@ -2123,11 +2123,10 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv log.debug("get status history of device: " + device.getDeviceIdentifier()); } try { - DeviceManagementDAOFactory.openConnection(); int tenantId = this.getTenantId(); return deviceStatusDAO.getStatus(device.getId(), tenantId, fromDate, toDate, billingStatus); } catch (DeviceManagementDAOException e) { -// DeviceManagementDAOFactory.rollbackTransaction(); + DeviceManagementDAOFactory.rollbackTransaction(); String msg = "Error occurred while retrieving status history"; log.error(msg, e); throw new DeviceManagementException(msg, e); @@ -2135,8 +2134,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv String msg = "Error occurred in retrieving status history for device :" + device.getDeviceIdentifier(); log.error(msg, e); throw new DeviceManagementException(msg, e); - } finally { - DeviceManagementDAOFactory.closeConnection(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java deleted file mode 100644 index dbf44d2581a..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2022, 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. - * - */ -/* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.core.service; - -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; - -import java.util.List; - -/** - * This interface manages the device lifecycle, such as statuschange and add status to table - */ -public interface DeviceStateManagementService { - - /** - * This method change the device status and store it in a table - * - * @param enrolmentInfo Enrollment Information about the device - * @param nextStatus Next status of the device - * @return LifecycleStateDevice which contain current and previoius status - * @throws InvalidStatusException If there is a invalid status or invalid status change - * @throws DeviceManagementDAOException if the device cannot be found - */ - LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) - throws InvalidStatusException, DeviceStatusException; - - /** - * Get the lifecycle history of the relevent device - * - * @param device Device - * @return List of LifecycleStateDevice - */ - List getDeviceLifecycleHistory(Device device) throws DeviceStatusException; -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java deleted file mode 100644 index 742388b0b66..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) 2022, 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. - * - */ -/* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.core.service; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.context.CarbonContext; -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; -import org.wso2.carbon.device.mgt.common.exceptions.IllegalTransactionStateException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; -import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; -import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; -import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; - -import java.sql.SQLException; -import java.util.List; - -public class DeviceStateManagementServiceImpl implements DeviceStateManagementService { - - private static final Log log = LogFactory.getLog(DeviceStateManagementServiceImpl.class); - private final DeviceLifecycleDAO deviceLifecycleDAO; - private final DeviceLifecycleStateManager deviceLifecycleStateManager; - - public DeviceStateManagementServiceImpl() { - this.deviceLifecycleDAO = DeviceManagementDAOFactory.getDeviceLifecycleDAO(); - deviceLifecycleStateManager = DeviceManagementDataHolder.getInstance().getDeviceLifecycleStateManager(); - } - - @Override - public LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) throws - InvalidStatusException, DeviceStatusException { - LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice(); - EnrolmentInfo.Status currentStatus = enrolmentInfo.getStatus(); - if (deviceLifecycleStateManager.isValidState(nextStatus.toString())){ - if (deviceLifecycleStateManager.isValidStateChange(currentStatus.toString(), nextStatus.toString())) { - lifecycleStateDevice.setCurrentStatus(nextStatus.toString()); - lifecycleStateDevice.setPreviousStatus(currentStatus.toString()); - } else { - String msg ="'" + currentStatus + "' to '" + nextStatus + "' is not a valid Status change. Enter " + - "valid Status"; - log.error(msg); - throw new InvalidStatusException(msg); - } - } else { - String msg = "'" + nextStatus +"' is not a valid Status. Check the Status"; - log.error(msg); - throw new InvalidStatusException(msg); - } - int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); - int enrolmentId = enrolmentInfo.getId(); - try { - DeviceManagementDAOFactory.beginTransaction(); - int deviceId = deviceLifecycleDAO.getDeviceId(enrolmentId); - deviceLifecycleDAO.changeStatus(enrolmentId, EnrolmentInfo.Status.valueOf( - lifecycleStateDevice.getCurrentStatus()), tenantId); - deviceLifecycleDAO.addStatus(enrolmentId, - EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getCurrentStatus()), - EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getPreviousStatus()), deviceId); - DeviceManagementDAOFactory.commitTransaction(); - return lifecycleStateDevice; - } catch (DeviceManagementDAOException e) { - DeviceManagementDAOFactory.rollbackTransaction(); - String msg = "Error occurred in updating status or storing device status"; - log.error(msg, e); - throw new DeviceStatusException(msg, e); - } catch (IllegalTransactionStateException e) { - String msg = "Error occurred while updating and storing(Transaction Error) device status"; - log.error(msg, e); - throw new DeviceStatusException(msg, e); - } catch (TransactionManagementException e) { - String msg = "Error occurred in DeviceManagementDAOFactory"; - log.error(msg, e); - throw new InvalidStatusException(msg, e); - } finally { - DeviceManagementDAOFactory.closeConnection(); - } - } - - @Override - public List getDeviceLifecycleHistory(Device device) throws DeviceStatusException { - int id = device.getId(); - try { - DeviceManagementDAOFactory.openConnection(); - List listLifecycle = deviceLifecycleDAO.getDeviceLifecycle(id); - return listLifecycle; - } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while getting lifrcycle history"; - log.error(msg, e); - throw new DeviceStatusException(msg, e); - } catch (SQLException e) { - throw new RuntimeException(e); - } finally { - DeviceManagementDAOFactory.closeConnection(); - } - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql index 395124a9879..d3b81f2655c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql @@ -112,8 +112,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); -ALTER TABLE DM_DEVICE_STATUS ADD PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL; - CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml deleted file mode 100644 index ef5c6441076..00000000000 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - ACTIVE - - - - - UNREACHABLE - REMOVED - - - - - INACTIVE - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - ACTIVE - CREATED - - - - \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index 3db934311ea..0e8d1b8466d 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -115,15 +115,12 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, - PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_status_device FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE CASCADE ON UPDATE CASCADE ); -ALTER TABLE DM_DEVICE_STATUS ADD PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL; - CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql index 4e354a98808..33ac7964dd4 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql @@ -138,7 +138,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( CREATE INDEX IDX_ENROLMENT_FK_DEVICE_ID ON DM_ENROLMENT(DEVICE_ID); CREATE INDEX IDX_ENROLMENT_DEVICE_ID_TENANT_ID ON DM_ENROLMENT(DEVICE_ID, TENANT_ID); CREATE INDEX IDX_ENROLMENT_DEVICE_ID_TENANT_ID_STATUS ON DM_ENROLMENT(DEVICE_ID, TENANT_ID, STATUS); -ALTER TABLE DM_DEVICE_STATUS ADD PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL; CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, From cf305362b40a26a2a8fc66e50ecd0c993ea96b4e Mon Sep 17 00:00:00 2001 From: builder Date: Fri, 27 Jan 2023 19:20:08 +0530 Subject: [PATCH 029/101] [maven-release-plugin] prepare release v5.0.16 --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 748108ec609..7af3c3a01ae 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 45a1ab13817..c5966f69ae5 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 15bce921232..8bed46ff0e3 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 781fa794dbe..f0edd92c872 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 21f5069a74c..978268e6acd 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 1783073616e..e3a11df699f 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 95cc7dbf4ba..9bdc36e6151 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index e7a8040eef8..5c77a81b228 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 03da5eb4af3..2da538bbd19 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 1d064a5656e..6b049a95915 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 20525b51422..ba32af1afd1 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index c09f37daa44..626cf97b305 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 26c496befd0..58b20d279c8 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 93e0c641b49..1f9af2b5550 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 54ddd889e8f..94736a3ef5a 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 2c882ffc3cb..9c6102cdc7a 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index f246e392fa1..32abf335b48 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 3cc8edac9a2..67773992f62 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 58475ac289d..f7d2fdb9228 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 156ccf9cb01..de48baebf5f 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index f6175594545..4d95d71580d 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 8521489c1c9..f59efa75eee 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index a780123240d..ebb44f6e005 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 21986acdcc7..b5636dc88fc 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 4153e2c3374..da06425cd1b 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 2dd1025f8bd..f0a20a772e9 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 65c27150c01..f24306264ac 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index a6f43d0f7d8..01d006fc1bc 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 7687af14ec2..ea89d437497 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 250d1b27559..6f06591e92f 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 27e81b20862..4492587c178 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index ac1d9433dbb..1f898e639bc 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 61cc4740967..7ec4e28d02b 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 6173c124e8d..436e308dec8 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index d232be71b83..70bc34091c8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index bdc879561d3..f349e40f1a6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml 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 6176c74ff5a..7027bdb19cb 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml 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 index 5f934cdba4f..e35031d5c1c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 78d65441e79..c28feb1f9c0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 01a2b614150..925052b0cab 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 62f34fec47c..506cd32ddae 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 12b187f60bd..8038a5e3a67 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 2f143b316a3..4e57f82e000 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 4ca291c2998..c406c9f014c 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 12f156ebe63..68fa0ca3dec 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index adbad363b8c..445de9b55c4 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 5ea8b324a79..4a8b51f96c4 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index e37d88532b7..22d49411ae3 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index be0b657d10e..c6c62708b41 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index c7893323ec0..f2a3f19db8b 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 40b9eca423f..d45e9190c02 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index fb2fb758157..68bb5696589 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 7d745fe4893..07c38d07903 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 949fd17fb83..2c6bde93b98 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 157cd9b525e..36a3368a22d 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 4b595c67131..591e22ac63c 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 26692cbe038..344debb7895 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index e6a9a9be204..0c1acb421cf 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 8477f978796..2950f329361 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 9dc0e25218b..76d42b172c2 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 3ffd5ca3386..1c7a9d4aaf5 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 32f3e183cdd..f8d732dd0e5 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 30a1342c734..af8a760f7de 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 1526f52946f..30b2fae1906 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index 3e0c361e024..ccb405ea8ac 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index ba1696ca435..f99278d15f7 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index 8a676873d8b..b9f17e5aedf 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 6c9e2929aee..7d5a130a33e 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index ef802e791ff..84a7ea607d8 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 9beeb2a45fc..c6086158091 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index a29aef3b8b8..b3548e544e2 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 66b040bcdd3..36cc8b37d24 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 0653561d5e2..0bb6b55ad5c 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 30215f2ee20..69c5e6ef0cd 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 0d39f02701c..e52d31fa01a 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index cc903aa17e0..3f843763146 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 29aacad17b6..63c71bc9df7 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index a4b1e41bbcf..2a1520581e1 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index b1bb7519b3f..b3eb5ffb5b0 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index c4aa1edfee4..ca6a749d403 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 23097f159c5..02e61a944fd 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 56eeb0bfcc0..05bb14da8f0 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index a930e180c05..67abc698e4c 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 86c64be0431..03048e2e784 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index fcb0afbb857..c3eeeca917c 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index cf1749359d3..4ba7e5a07d4 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index e33829a360c..d5f56e66e63 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index f0e0bd1b1a3..074b5d21055 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 900ec36b6a2..d37d2aec52f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml 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 e72a0e0e0c5..6ad7c9f03fc 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 6aa8b07dbe7..16050f8a0d8 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 7892b1fd484..8c8e5b507c4 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 39703223a50..6b6b6d4589c 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index cfb3303f014..36163de76bd 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 36fae9c7942..01aabff9495 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 0c6770578df..ff2f2d1671c 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 0478dbb17bc..93096fa1a28 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index f6907c375e5..b1feab4c9d8 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 2f0bb51811a..79db9183c4c 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index aa42bb243ce..d1730541f0f 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 7942210a3f8..897d948d086 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index 9620d1cea1c..e8f4f7d8ba5 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 1420821a234..1cfe5c8fc50 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index b8c13455138..eeb5633b6cd 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 82269506f9b..7771cdb043b 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 322a15b651b..ca070c26cfd 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.16-SNAPSHOT + 5.0.16 ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 01f400a3dad..f4be06d2318 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16-SNAPSHOT + 5.0.16 ../../pom.xml diff --git a/pom.xml b/pom.xml index aa41e4956d6..1bcd8ca4543 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.16-SNAPSHOT + 5.0.16 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - HEAD + v5.0.16 @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.16-SNAPSHOT + 5.0.16 4.7.35 From 071b9486bb227e7ff82f9e14b20c4ee2f56a34f0 Mon Sep 17 00:00:00 2001 From: builder Date: Fri, 27 Jan 2023 19:20:14 +0530 Subject: [PATCH 030/101] [maven-release-plugin] prepare for next development iteration --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 7af3c3a01ae..bc77e97bc2b 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index c5966f69ae5..5113864d19c 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 8bed46ff0e3..32df0002a55 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index f0edd92c872..728851ef38e 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 978268e6acd..cc7611730c8 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index e3a11df699f..9773a973fff 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 9bdc36e6151..af6f9902723 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 5c77a81b228..3209c1930d9 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 2da538bbd19..72753654afb 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 6b049a95915..4767eb8ccc4 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index ba32af1afd1..13d844372e9 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 626cf97b305..60cb7564ec4 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 58b20d279c8..4a2a85283f9 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 1f9af2b5550..ca28a4fd427 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 94736a3ef5a..d79e130aa08 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 9c6102cdc7a..aeffd64b75a 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 32abf335b48..4a1945078b4 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 67773992f62..2006236912e 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index f7d2fdb9228..3e2eb6aba4f 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index de48baebf5f..c03158f34df 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 4d95d71580d..2184cb821de 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index f59efa75eee..473f58ee25d 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index ebb44f6e005..7d3b251c7fa 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index b5636dc88fc..0fdbb381589 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index da06425cd1b..7dece8d92c9 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index f0a20a772e9..fab80c86120 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index f24306264ac..4b5b078aa82 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 01d006fc1bc..59edf0d48d5 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index ea89d437497..a955ac7a02f 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 6f06591e92f..d97c7272b0c 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 4492587c178..4c16f24ff18 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 1f898e639bc..837bb27d07c 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 7ec4e28d02b..e885c0956c0 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 436e308dec8..6182f300cd6 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 70bc34091c8..d9a956d1b5a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index f349e40f1a6..429fed59c2d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml 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 7027bdb19cb..aa41e41e30b 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml 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 index e35031d5c1c..4944d580233 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index c28feb1f9c0..6733f2e25f2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 925052b0cab..aa5a9ada9e4 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 506cd32ddae..8b9688aa1cb 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 8038a5e3a67..640631870a6 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 4e57f82e000..87eeefacdb4 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index c406c9f014c..537815b5127 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 68fa0ca3dec..127428b5af3 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 445de9b55c4..e2f7d96e5ff 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 4a8b51f96c4..c7493fca3f7 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 22d49411ae3..e366aaee36e 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index c6c62708b41..714087fefed 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index f2a3f19db8b..46231b1b764 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index d45e9190c02..b9ebca38224 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 68bb5696589..d633ccb6a1e 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 07c38d07903..48230dbf9bb 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 2c6bde93b98..05923484747 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 36a3368a22d..e295e9e708d 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 591e22ac63c..e9e21d0ce1d 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 344debb7895..4fdccfb6157 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 0c1acb421cf..c0e795baaf6 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 2950f329361..2f9fe328f54 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 76d42b172c2..3cf1a018775 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 1c7a9d4aaf5..a724b7c167f 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index f8d732dd0e5..947540ab230 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index af8a760f7de..d69d323425a 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 30b2fae1906..970b1f2e2c1 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index ccb405ea8ac..92db34abab7 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index f99278d15f7..13ef7fa6f0e 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index b9f17e5aedf..cacb9db60b8 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 7d5a130a33e..c1724f76526 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 84a7ea607d8..d4a366c4576 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index c6086158091..e7eb0a03d78 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index b3548e544e2..477b78cca8d 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 36cc8b37d24..83ea62c7888 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 0bb6b55ad5c..978b64d5058 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 69c5e6ef0cd..cc6905413db 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index e52d31fa01a..5ee10ff4756 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 3f843763146..29a1b8fe321 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 63c71bc9df7..e68453ae3c1 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index 2a1520581e1..3a473f1be7d 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index b3eb5ffb5b0..1830443b112 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index ca6a749d403..bc895902794 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 02e61a944fd..cab1c4b45ba 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 05bb14da8f0..36886183416 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 67abc698e4c..b2399767ee2 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 03048e2e784..4ea6eef8ce8 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index c3eeeca917c..2d762b92285 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 4ba7e5a07d4..421edce3831 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index d5f56e66e63..cca2850c19f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 074b5d21055..399212de811 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index d37d2aec52f..4e0c0bf76ec 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml 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 6ad7c9f03fc..114e82b22eb 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 16050f8a0d8..d0811506aa0 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 8c8e5b507c4..405cf77df3c 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 6b6b6d4589c..c73df4fd889 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 36163de76bd..d993b05473a 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 01aabff9495..e5b2f4c0387 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index ff2f2d1671c..6e9a45613c4 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 93096fa1a28..e9b3b588bc6 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index b1feab4c9d8..1c4b6b0fde9 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 79db9183c4c..6e11ee2cd8b 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index d1730541f0f..6278f0fac45 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 897d948d086..91521014661 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index e8f4f7d8ba5..ce337bc4628 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 1cfe5c8fc50..114ded253e5 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index eeb5633b6cd..ad1ed21ba0a 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 7771cdb043b..551c0e0ecd6 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index ca070c26cfd..a7ff96c8145 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.16 + 5.0.17-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index f4be06d2318..5ce4fa7d330 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.16 + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 1bcd8ca4543..a2c8d782a83 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.16 + 5.0.17-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - v5.0.16 + HEAD @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.16 + 5.0.17-SNAPSHOT 4.7.35 From 5cf7377a850f9b21afb760cd3bdf1a83bab03eaf Mon Sep 17 00:00:00 2001 From: Rushdi Date: Mon, 30 Jan 2023 13:05:55 +0530 Subject: [PATCH 031/101] Update sendDeviceNameChangedNotification --- .../mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java | 2 +- .../mgt/core/service/DeviceManagementProviderService.java | 2 +- .../mgt/core/service/DeviceManagementProviderServiceImpl.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index d8c6371315b..75702272031 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -618,7 +618,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { persistedDevice.setName(device.getName()); System.out.println("This is rename device"); boolean responseOfmodifyEnrollment = deviceManagementProviderService.modifyEnrollment(persistedDevice); - boolean responseOfDeviceNameChanged = deviceManagementProviderService.SendDeviceNameChangedNotification( + boolean responseOfDeviceNameChanged = deviceManagementProviderService.sendDeviceNameChangedNotification( persistedDevice); boolean response = responseOfmodifyEnrollment && responseOfDeviceNameChanged; 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 f781fd3d75d..4e12d2cf1a4 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 @@ -1031,5 +1031,5 @@ public interface DeviceManagementProviderService { PaginationResult getDevicesDetails(PaginationRequest request, List devicesIds, String groupName) throws DeviceManagementException; - Boolean SendDeviceNameChangedNotification(Device device) throws DeviceManagementException; + Boolean sendDeviceNameChangedNotification(Device device) 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 d28a3065143..7bb7e7c6273 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 @@ -4878,7 +4878,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public Boolean SendDeviceNameChangedNotification(Device device) throws DeviceManagementException { + public Boolean sendDeviceNameChangedNotification(Device device) throws DeviceManagementException { try { ProfileOperation operation = new ProfileOperation(); From db624d26df35260b2588160e36d9568913cad9e3 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Mon, 6 Feb 2023 11:06:05 +0530 Subject: [PATCH 032/101] Add Entgra Device Notification Logger --- .../org.wso2.carbon.device.mgt.core/pom.xml | 8 +++++++- .../mgt/NotificationManagementServiceImpl.java | 9 +++++---- .../logger/io.entgra.notification.logger/pom.xml | 11 +++++------ components/logger/pom.xml | 2 +- pom.xml | 5 +++++ 5 files changed, 23 insertions(+), 12 deletions(-) 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 aa41e41e30b..491d213d9a2 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 @@ -112,7 +112,9 @@ org.wso2.carbon.event.processor.stub, org.wso2.carbon.identity.jwt.client.extension.service, org.apache.commons.codec.binary, - io.entgra.server.bootup.heartbeat.beacon + io.entgra.server.bootup.heartbeat.beacon, + io.entgra.device.mgt.extensions.logger.*, + io.entgra.logger.*, !org.wso2.carbon.device.mgt.core.internal, @@ -347,6 +349,10 @@ okhttp compile + + org.wso2.carbon.devicemgt + io.entgra.notification.logger + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java index 3371f8d8048..0e7867b0d1b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java @@ -18,8 +18,9 @@ package org.wso2.carbon.device.mgt.core.notification.mgt; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import io.entgra.device.mgt.extensions.logger.spi.EntgraLogger; +import io.entgra.notification.logger.DeviceLogContext; +import io.entgra.notification.logger.impl.EntgraLoggerImpl; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; @@ -45,8 +46,8 @@ import java.util.List; */ public class NotificationManagementServiceImpl implements NotificationManagementService { - private static final Log log = LogFactory.getLog(NotificationManagementServiceImpl.class); - + private static final EntgraLogger log = new EntgraLoggerImpl(NotificationManagementServiceImpl.class); + DeviceLogContext.Builder deviceLogContexBuilder = new DeviceLogContext.Builder(); private NotificationDAO notificationDAO; public NotificationManagementServiceImpl() { diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index ced09b31577..6b96ad58c22 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -25,17 +25,13 @@ org.wso2.carbon.devicemgt logger - 5.0.16-SNAPSHOT + 5.0.17-SNAPSHOT io.entgra.notification.logger bundle - - org.wso2.carbon.devicemgt - io.entgra.device.mgt.extensions.logger - org.wso2.carbon org.wso2.carbon.logging @@ -45,8 +41,11 @@ org.testng testng + + org.wso2.carbon.devicemgt + io.entgra.device.mgt.extensions.logger + - 5.0.16-SNAPSHOT 8 diff --git a/components/logger/pom.xml b/components/logger/pom.xml index b65b0e419d3..4312ce069ab 100644 --- a/components/logger/pom.xml +++ b/components/logger/pom.xml @@ -24,7 +24,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.16-SNAPSHOT + 5.0.17-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index b55d87112c4..d8dcfcc2e06 100644 --- a/pom.xml +++ b/pom.xml @@ -349,6 +349,11 @@ org.wso2.carbon.apimgt.keymgt.extension.api ${carbon.device.mgt.version} + + org.wso2.carbon.devicemgt + io.entgra.notification.logger + ${carbon.device.mgt.version} + From 9401a4501b579c5e59ae0641eed0ca6e1fe975f5 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Mon, 6 Feb 2023 16:01:24 +0530 Subject: [PATCH 033/101] Add Entgra Device Notification Feature --- .../org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../io.entgra.notification.logger/pom.xml | 2 +- .../pom.xml | 113 ++++++++++++++++++ .../src/main/resources/build.properties | 20 ++++ .../src/main/resources/p2.inf | 1 + features/logger/pom.xml | 40 +++++++ pom.xml | 3 +- 7 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 features/logger/io.entgra.notification.logger.feature/pom.xml create mode 100644 features/logger/io.entgra.notification.logger.feature/src/main/resources/build.properties create mode 100644 features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf create mode 100644 features/logger/pom.xml 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 491d213d9a2..4f1d4198c4d 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 @@ -114,7 +114,7 @@ org.apache.commons.codec.binary, io.entgra.server.bootup.heartbeat.beacon, io.entgra.device.mgt.extensions.logger.*, - io.entgra.logger.*, + io.entgra.notification.logger.* !org.wso2.carbon.device.mgt.core.internal, diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index 6b96ad58c22..261de11b36e 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -77,7 +77,7 @@ org.wso2.carbon.context;version="[4.4,5) - io.entgra.logger.* + io.entgra.notification.logger.* diff --git a/features/logger/io.entgra.notification.logger.feature/pom.xml b/features/logger/io.entgra.notification.logger.feature/pom.xml new file mode 100644 index 00000000000..4f55882374b --- /dev/null +++ b/features/logger/io.entgra.notification.logger.feature/pom.xml @@ -0,0 +1,113 @@ + + + + + + + + org.wso2.carbon.devicemgt + logger-feature + 5.0.17-SNAPSHOT + ../pom.xml + + + 4.0.0 + io.entgra.notification.logger.feature + pom + Entgra - Device Notification logger + http://entgra.io + + This feature bundles for the Entgra Notification logger + + + + + org.wso2.carbon + org.wso2.carbon.logging + provided + + + org.testng + testng + + + org.wso2.carbon.devicemgt + io.entgra.device.mgt.extensions.logger + + + + + + + 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 + + + io.entgra.notification.logger + ../../../features/etc/feature.properties + + + org.wso2.carbon.p2.category.type:server + org.eclipse.equinox.p2.type.group:true + + + + + org.wso2.carbon.devicemgt:io.entgra.notification.logger:${carbon.device.mgt.version} + + + + + + + + + diff --git a/features/logger/io.entgra.notification.logger.feature/src/main/resources/build.properties b/features/logger/io.entgra.notification.logger.feature/src/main/resources/build.properties new file mode 100644 index 00000000000..e98fb2729fb --- /dev/null +++ b/features/logger/io.entgra.notification.logger.feature/src/main/resources/build.properties @@ -0,0 +1,20 @@ +# +# Copyright (C) 2018 - 2023 Entgra (Pvt) Ltd, Inc - All Rights Reserved. +# +# Unauthorised copying/redistribution of this file, via any medium is strictly prohibited. +# +# Licensed under the Entgra Commercial License, Version 1.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://entgra.io/licenses/entgra-commercial/1.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. +# + +custom = true diff --git a/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf b/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf new file mode 100644 index 00000000000..7ab37b9d7d7 --- /dev/null +++ b/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf @@ -0,0 +1 @@ +instructions.configure = \ \ No newline at end of file diff --git a/features/logger/pom.xml b/features/logger/pom.xml new file mode 100644 index 00000000000..0c6d141df36 --- /dev/null +++ b/features/logger/pom.xml @@ -0,0 +1,40 @@ + + + + + + + + org.wso2.carbon.devicemgt + carbon-devicemgt + 5.0.17-SNAPSHOT + ../../pom.xml + + + 4.0.0 + logger-feature + pom + Entgra - Logger Feature + http://entgra.io + + + io.entgra.notification.logger.feature + + + diff --git a/pom.xml b/pom.xml index d8dcfcc2e06..9e24936534d 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,7 @@ components/heartbeat-management + components/logger components/device-mgt components/device-mgt-extensions components/identity-extensions @@ -46,6 +47,7 @@ components/transport-mgt components/analytics-mgt components/webapp-authenticator-framework + features/logger features/device-mgt features/apimgt-extensions features/application-mgt @@ -58,7 +60,6 @@ features/transport-mgt features/analytics-mgt features/webapp-authenticator-framework - components/logger From 2e2e9abc90dfe81250ee7f012a85252c013a9c12 Mon Sep 17 00:00:00 2001 From: Navod Zoysa Date: Tue, 7 Feb 2023 05:18:07 +0000 Subject: [PATCH 034/101] Add Android alternate app install permission to UI config (#55) ## Purpose Add permission scope for alternate app install feature so that the operation can be triggered through device operation UI. Issue - https://roadmap.entgra.net/issues/9641 Co-authored-by: navodzoysa Co-authored-by: Pahansith Gunathilake Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/55 Co-authored-by: Navod Zoysa Co-committed-by: Navod Zoysa --- .../src/main/resources/conf/mdm-ui-config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 56fbaadc0bc..3ecfc5c1dbd 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -212,6 +212,7 @@ perm:admin:tenant:view perm:admin:metadata:view perm:admin:usage:view + perm:android:alternate-install device-mgt From 7f327bac0850a7748baab5f65969af4b4a0e2257 Mon Sep 17 00:00:00 2001 From: Kavin Prathaban Date: Tue, 7 Feb 2023 06:52:04 +0000 Subject: [PATCH 035/101] Change the device status and see the device status lifecycle history (#58) ## Purpose * Fixes https://roadmap.entgra.net/issues/9266 ## Feature * Change device's status and view device's status life-cycle history ## Approach * Created a API for change status and store changed status in to database. * Created another API to view the device's life-cycle status history. * lifecycle of the status is as shown in the diagram. * lifecycle Status are taken from a xml file. Co-authored-by: prathabanKavin Co-authored-by: Pahansith Gunathilake Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/58 Co-authored-by: Kavin Prathaban Co-committed-by: Kavin Prathaban --- .../jaxrs/beans/LifecycleStateDeviceList.java | 47 +++++ .../admin/DeviceManagementAdminService.java | 146 +++++++++++++++ .../DeviceManagementAdminServiceImpl.java | 105 +++++++++++ .../device/mgt/jaxrs/util/Constants.java | 1 + .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 13 ++ .../mgt/common/DeviceManagementConstants.java | 1 + .../mgt/common/LifecycleStateDevice.java | 96 ++++++++++ .../mgt/DeviceLifecycleState.java | 80 ++++++++ .../exceptions/DeviceStatusException.java | 48 +++++ .../exceptions/InvalidStatusException.java | 46 +++++ .../config/DeviceConfigurationManager.java | 1 + .../lifecycleState/DeviceLifecycleConfig.java | 46 +++++ .../DeviceLifecycleConfigManager.java | 89 +++++++++ .../mgt/core/dao/DeviceLifecycleDAO.java | 72 ++++++++ .../core/dao/DeviceManagementDAOFactory.java | 4 + .../core/dao/impl/DeviceLifecycleDAOImpl.java | 174 ++++++++++++++++++ .../mgt/core/dao/impl/EnrollmentDAOImpl.java | 19 +- .../internal/DeviceManagementDataHolder.java | 10 + .../DeviceManagementServiceComponent.java | 18 ++ .../DeviceLifecycleStateManager.java | 79 ++++++++ .../DeviceManagementProviderServiceImpl.java | 5 +- .../service/DeviceStateManagementService.java | 53 ++++++ .../DeviceStateManagementServiceImpl.java | 120 ++++++++++++ .../src/test/resources/sql/h2.sql | 2 + .../main/resources/conf/lifecycle-states.xml | 116 ++++++++++++ .../src/main/resources/conf/mdm-ui-config.xml | 1 + .../src/main/resources/dbscripts/cdm/h2.sql | 2 + .../main/resources/dbscripts/cdm/mysql.sql | 1 + 28 files changed, 1389 insertions(+), 6 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java create mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java new file mode 100644 index 00000000000..8f726ffb581 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2023, 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.device.mgt.jaxrs.beans; + +import io.swagger.annotations.ApiModelProperty; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; + +import java.util.ArrayList; +import java.util.List; + +public class LifecycleStateDeviceList extends BasePaginatedResult { + + private List lifecycleStates = new ArrayList<>(); + + @ApiModelProperty(value = "List of lifecycleStates history returned") + public List getLifecycleStates() { + return lifecycleStates; + } + + public void setLifecycleStates(List lifecycleStates) { + this.lifecycleStates = lifecycleStates; + } + + @Override + public String toString() { + return "LifecycleStateDeviceList{" + + "lifecycleStates=" + lifecycleStates + + '}'; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java index b0c850de950..17136a7e516 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java @@ -34,6 +34,7 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.api.admin; +import io.entgra.application.mgt.common.dto.ApplicationDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -49,6 +50,8 @@ import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.apimgt.annotations.api.Scope; import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; @@ -119,6 +122,13 @@ import java.util.List; roles = {"Internal/devicemgt-admin"}, permissions = {"/device-mgt/admin/devices/usage/view"} ), + @Scope( + name = "Change device status.", + description = "Change device status.", + key = "perm:admin:devices:change-status", + roles = {"Internal/devicemgt-admin"}, + permissions = {"/device-mgt/admin/devices/change-status"} + ), } ) public interface DeviceManagementAdminService { @@ -505,4 +515,140 @@ public interface DeviceManagementAdminService { @QueryParam("endDate") Timestamp endDate); + @POST + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + @Path("/status") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + consumes = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Update and post device's State", + notes = "Use this API to change the state of the device", + tags = "Device Management Administrative Service", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:change-status") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 201, + message = "OK. \n Successfully added a lifecycle state.", + response = ApplicationDTO.class), + @ApiResponse( + code = 400, + message = "Bad Request. \n " + + "Lifecycle State changing request contains unacceptable or vulnerable data"), + @ApiResponse( + code = 403, + message = "Don't have permission to change the lifecycle state of a lifecycle state."), + @ApiResponse( + code = 404, + message = "NOT FOUND. \n Error occurred while adding new lifecycle state.", + response = io.entgra.application.mgt.common.ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n Error occurred adding a lifecycle state.", + response = io.entgra.application.mgt.common.ErrorResponse.class) + }) + Response changeDeviceStatus( + @ApiParam( + name = "deviceId", + value = "The device identifier of the device.", + required = true) + @QueryParam("deviceId") + @Size(max = 45) + String deviceId, + @ApiParam( + name = "nextStatus", + value = "The device's next state.", + required = true) + @QueryParam("nextStatus") + EnrolmentInfo.Status nextStatus); + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/{type}/{deviceId}/lifecycle") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get Device's lifecycle history", + notes = "Get the lifecycle history of the device, since the enrolement", + tags = "Device Management Administrative Service", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:view") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched the status history of matching devices.", + response = List.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. Empty body because the client already has the latest version" + + " of the requested resource.\n"), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 404, + message = "Not Found. \n A device with the specified device type and id was not found.", + response = ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n " + + "Server error occurred while retrieving the device details.", + response = ErrorResponse.class) + }) + Response getDeviceLifecycle( + @ApiParam( + name = "DeviceId", + value = "Device ID.", + required = true) + @PathParam("deviceId") + @Size(max = 45) + String id, + @ApiParam( + name = "type", + value = "The device type, such as ios, android, or windows.", + required = true) + @PathParam("type") + @Size(max = 45) + String type, + @ApiParam( + name = "offset", + value = "The starting pagination index for the complete list of qualified items.", + required = false, + defaultValue = "0") + @QueryParam("offset") + int offset, + @ApiParam( + name = "limit", + value = "Provide how many device details you require from the starting pagination index/offset.", + required = false, + defaultValue = "5") + @QueryParam("limit") + int limit) throws DeviceManagementException; + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index acadf926f2b..847a416fae6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -40,9 +40,12 @@ import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.CarbonContext; 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.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; import org.wso2.carbon.device.mgt.common.MDMAppConstants; import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; @@ -50,14 +53,18 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration import org.wso2.carbon.device.mgt.common.exceptions.BadRequestException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; +import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; import org.wso2.carbon.device.mgt.common.exceptions.UserNotFoundException; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; +import org.wso2.carbon.device.mgt.jaxrs.beans.LifecycleStateDeviceList; import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceManagementAdminService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; +import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; @@ -283,4 +290,102 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } + + /** + * This change the device status + * + * @param deviceId Id of the device + * @param nextStatus next status of the device + * @return response + */ + @POST + @Path("/status") + public Response changeDeviceStatus( + @QueryParam("deviceId") String deviceId, + @QueryParam("nextStatus") EnrolmentInfo.Status nextStatus) { + + try { + if (nextStatus == null) { + return Response.status(Response.Status.BAD_REQUEST).entity( + new ErrorResponse.ErrorResponseBuilder().setMessage("Next status is required") + .build()).build(); + } + RequestValidationUtil.validateDeviceIdentifier(Constants.ANY, deviceId); + DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); + Device device = dms.getDevice(deviceId, false); + if (device == null) { + String message = "Device does not exist with id '" + deviceId + "'"; + log.error(message); + return Response.status(Response.Status.NOT_FOUND).entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); + } + LifecycleStateDevice updatedInfo = DeviceMgtAPIUtils.getDeviceStateManagementService() + .changeDeviceStatus(device.getEnrolmentInfo(), nextStatus); + return Response.status(Response.Status.OK).entity(updatedInfo).build(); + } catch (InvalidStatusException e) { + String msg = "Error occured while changing status: Invalid status or invalid status change"; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting the device '" + deviceId + "'"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (DeviceStatusException e) { + String msg = "Error occurred while getting device Status"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + } + + /** + * Get the devicelifecycle history + * + * @param type Device type + * @param deviceId Device id + * @param offset is starting number of the record which we want tot get + * @param limit is the number of records we want starting from offset + * @return lifecycle history + */ + + @Override + @GET + @Path("/{type}/{deviceId}/lifecycle") + public Response getDeviceLifecycle( + @PathParam("type") String type, + @PathParam("deviceId") String deviceId, + @QueryParam("offset") int offset, + @QueryParam("limit") int limit) { + + try { + RequestValidationUtil.validatePaginationParameters(offset, limit); + PaginationRequest request = new PaginationRequest(offset, limit); + + RequestValidationUtil.validateDeviceIdentifier(type, deviceId); + DeviceManagementProviderService deviceManagementProviderService = + DeviceMgtAPIUtils.getDeviceManagementService(); + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(deviceId, type); + Device device = deviceManagementProviderService.getDevice(deviceIdentifier, false); + if (device == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + LifecycleStateDeviceList states = new LifecycleStateDeviceList(); + PaginationResult result = DeviceMgtAPIUtils.getDeviceStateManagementService() + .getDeviceLifecycleHistory(request, device); + states.setLifecycleStates((List) result.getData()); + states.setCount(result.getRecordsTotal()); + return Response.status(Response.Status.OK).entity(states).build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while getting the device '" + deviceId + "'"; + log.error(msg); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (DeviceStatusException e) { + String msg = "Error occurred while getting device Status"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java index d7462993a92..95fadfb4526 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java @@ -58,6 +58,7 @@ public class Constants { "core.polcy.AndroidPolicyPayloadValidator"; public static final String IOS = "ios"; public static final String WINDOWS = "windows"; + public static final String ANY = "any"; public final class OperationStatus { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 92bc2790d49..5806d948c16 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -86,6 +86,7 @@ import org.wso2.carbon.device.mgt.core.permission.mgt.PermissionUtils; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; +import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.traccar.api.service.DeviceAPIClientService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeVersionWrapper; @@ -271,6 +272,18 @@ public class DeviceMgtAPIUtils { } } + public static DeviceStateManagementService getDeviceStateManagementService() { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + DeviceStateManagementService deviceStateManagementService = + (DeviceStateManagementService) ctx.getOSGiService(DeviceStateManagementService.class, null); + if (deviceStateManagementService == null) { + String msg = "DeviceStateManagementService service has not initialized."; + log.error(msg); + throw new IllegalStateException(msg); + } + return deviceStateManagementService; + } + public static DeviceManagementProviderService getDeviceManagementService() { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); DeviceManagementProviderService deviceManagementProviderService = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java index 154594678c7..3bbaf472507 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java @@ -28,6 +28,7 @@ public final class DeviceManagementConstants { public static final String SECURE_VAULT_NS = "http://org.wso2.securevault/configuration"; public static final String DEVICE_CONFIG_XML_NAME = "cdm-config.xml"; public static final String UI_CONFIG_XML_NAME = "mdm-ui-config.xml"; + public static final String DEVICE_LIFECYCLE_STATES_XML_NAME = "lifecycle-states.xml"; } public static final class SecureValueProperties { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java new file mode 100644 index 00000000000..4cdcf474928 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common; + +import java.util.Date; + +/** + * Information of the device lifecycle + */ +public class LifecycleStateDevice { + + private int deviceId; + private String currentStatus; + private String previousStatus; + private String updatedBy; + private Date updatedAt; + + public LifecycleStateDevice() { + } + + public LifecycleStateDevice(int deviceId, String currentStatus, String previousStatus, String updatedBy, + Date updatedAt) { + this.deviceId = deviceId; + this.currentStatus = currentStatus; + this.previousStatus = previousStatus; + this.updatedBy = updatedBy; + this.updatedAt = updatedAt; + } + + public String getCurrentStatus() { + return currentStatus; + } + + public void setCurrentStatus(String currentStatus) { + this.currentStatus = currentStatus; + } + + public String getPreviousStatus() { + return previousStatus; + } + + public void setPreviousStatus(String previousStatus) { + this.previousStatus = previousStatus; + } + + public String getUpdatedBy() { + return updatedBy; + } + + public void setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public int getDeviceId() { + return deviceId; + } + + public void setDeviceId(int deviceId) { + this.deviceId = deviceId; + } + + @Override + public String toString() { + return "LifecycleStateDevice{" + + "deviceId=" + deviceId + + ", currentStatus='" + currentStatus + '\'' + + ", previousStatus='" + previousStatus + '\'' + + ", updatedBy='" + updatedBy + '\'' + + ", updatedAt=" + updatedAt + + '}'; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java new file mode 100644 index 00000000000..e625c3a8c6d --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016, 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. + * + */ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common.configuration.mgt; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; + +/** + * Bean of the DeviceLifecycleState + */ +@XmlRootElement(name = "LifecycleState") +public class DeviceLifecycleState { + + private String name; + private List proceedingStates; + + @XmlAttribute(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @XmlElementWrapper(name = "ProceedingStates") + @XmlElement(name = "State") + public List getProceedingStates() { + return proceedingStates; + } + + public void setProceedingStates(List proceedingStates) { + this.proceedingStates = proceedingStates; + } + + @Override + public String toString() { + return "DeviceLifecycleState{" + + "name='" + name + '\'' + + ", proceedingStates=" + proceedingStates + + '}'; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java new file mode 100644 index 00000000000..63a80b7fff9 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common.exceptions; + +public class DeviceStatusException extends Exception{ + + private static final long serialVersionUID = 1608833587090532707L; + + public DeviceStatusException() { + } + + public DeviceStatusException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + + public DeviceStatusException(String message) { + super(message); + } + + public DeviceStatusException(String message, Throwable cause) { + super(message, cause); + } + + public DeviceStatusException(Throwable cause) { + super(cause); + } + + public DeviceStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java new file mode 100644 index 00000000000..35f454da739 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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.device.mgt.common.exceptions; + +public class InvalidStatusException extends Exception{ + + private static final long serialVersionUID = -7379721600057895944L; + + + public InvalidStatusException() { + } + + public InvalidStatusException(String message) { + super(message); + } + + public InvalidStatusException(String message, Throwable cause) { + super(message, cause); + } + + public InvalidStatusException(Throwable cause) { + super(cause); + } + + public InvalidStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java index 027ddd2417c..0ea2660762e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java @@ -40,6 +40,7 @@ public class DeviceConfigurationManager { private static final String DEVICE_MGT_CONFIG_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + DeviceManagementConstants.DataSourceProperties.DEVICE_CONFIG_XML_NAME; + private static final String DEVICE_MGT_CONFIG_SCHEMA_PATH = "resources/config/schema/device-mgt-config-schema.xsd"; public static DeviceConfigurationManager getInstance() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java new file mode 100644 index 00000000000..b1484abc086 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.config.lifecycleState; + +import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; + +/** + * Represents Device lifecycle status configuration. + */ +@XmlRootElement(name = "LifecycleManagementConfiguration") +public class DeviceLifecycleConfig { + + private List deviceLifecycleStates; + + @XmlElementWrapper(name = "LifecycleStates") + @XmlElement(name = "LifecycleState") + public List getDeviceLifecycleStates() { + return deviceLifecycleStates; + } + + public void setDeviceLifecycleStates(List deviceLifecycleStates) { + this.deviceLifecycleStates = deviceLifecycleStates; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java new file mode 100644 index 00000000000..3d0ae0b25f7 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.config.lifecycleState; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; +import org.wso2.carbon.utils.CarbonUtils; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; +import java.io.File; + +/** + * Class responsible for the LifecycleStates configuration initialization. + */ +public class DeviceLifecycleConfigManager { + + private static final Log log = LogFactory.getLog(DeviceLifecycleConfigManager.class); + private DeviceLifecycleConfig deviceLifecycleConfig; + private static volatile DeviceLifecycleConfigManager deviceLifecycleConfigManager; + private static final String DEVICE_LIFECYCLE_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + + DeviceManagementConstants.DataSourceProperties.DEVICE_LIFECYCLE_STATES_XML_NAME; + + private DeviceLifecycleConfigManager() { + } + + public static DeviceLifecycleConfigManager getInstance() { + if (deviceLifecycleConfigManager == null) { + synchronized (DeviceLifecycleConfigManager.class) { + if (deviceLifecycleConfigManager == null) { + deviceLifecycleConfigManager = new DeviceLifecycleConfigManager(); + try { + deviceLifecycleConfigManager.initConfig(); + } catch (Exception e) { + log.error(e); + } + } else { + try { + deviceLifecycleConfigManager.initConfig(); + } catch (Exception e) { + log.error(e); + } + } + } + } + return deviceLifecycleConfigManager; + } + + public synchronized void initConfig() { + try { + File deviceLifecycleConfig = new File(DEVICE_LIFECYCLE_PATH); + JAXBContext jaxbContext = JAXBContext.newInstance(DeviceLifecycleConfig.class); + Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); + this.deviceLifecycleConfig = (DeviceLifecycleConfig) unmarshaller.unmarshal(deviceLifecycleConfig); + + } catch (JAXBException e) { + String msg = "Error occured while initializing deviceLifecycle config"; + log.error(msg, e); + throw new RuntimeException(e); + } catch (Exception e) { + String msg = "Error(Exception) occured while initializing deviceLifecycle config"; + log.error(msg, e); + throw new RuntimeException(e); + } + } + + public DeviceLifecycleConfig getDeviceLifecycleConfig() { + return deviceLifecycleConfig; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java new file mode 100644 index 00000000000..88039e119b2 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.dao; + +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; + +import java.util.List; + +/** + * Device status relevent DAO activity + */ +public interface DeviceLifecycleDAO { + + /** + * can change the relevent device's status + * + * @param enrolmentId Enrolment Id + * @param status changing status + * @param tenantId tenantId + * @return true or false + * @throws DeviceManagementDAOException when device no found + */ + boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) throws DeviceManagementDAOException; + + /** + * Add the changed status + * + * @param enrolmentId Enrolment Id + * @param currentStatus Current Status + * @param previousStatus Previous Status + * @param deviceId Id of the device + * @return Added or not, true or false + * @throws DeviceManagementDAOException When device not found + */ + boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, + int deviceId) throws DeviceManagementDAOException; + + /** + * Get Device ID + * + * @param enrolmentId Enrolment ID + * @return Device id + * @throws DeviceManagementDAOException when device not found + */ + int getDeviceId(int enrolmentId) throws DeviceManagementDAOException; + + /** + * Get the lifecycle history of the device + * + * @param id id of the device + * @return List of LifecycleStateDevice + */ + List getDeviceLifecycle(int id) throws DeviceManagementDAOException; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java index cbd7c697f4a..5157860705f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java @@ -125,6 +125,10 @@ public class DeviceManagementDAOFactory { return new EnrollmentDAOImpl(); } + public static DeviceLifecycleDAO getDeviceLifecycleDAO() { + return new DeviceLifecycleDAOImpl(); + } + public static TrackerDAO getTrackerDAO() { if (databaseEngine != null) { switch (databaseEngine) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java new file mode 100644 index 00000000000..d01960383f5 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.dao.impl; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; +import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; +import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class DeviceLifecycleDAOImpl implements DeviceLifecycleDAO { + + private static final Log log = LogFactory.getLog(DeviceLifecycleDAOImpl.class); + + private Connection getConnection() throws SQLException { + return DeviceManagementDAOFactory.getConnection(); + } + + @Override + public boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) + throws DeviceManagementDAOException { + Connection conn; + PreparedStatement stmt = null; + Timestamp updateTime = new Timestamp(new Date().getTime()); + try { + conn = this.getConnection(); + String sql = "UPDATE DM_ENROLMENT SET STATUS = ?, DATE_OF_LAST_UPDATE = ? WHERE ID = ? AND TENANT_ID = ?"; + stmt = conn.prepareStatement(sql); + stmt.setString(1, status.toString()); + stmt.setTimestamp(2, updateTime); + stmt.setInt(3, enrolmentId); + stmt.setInt(4, tenantId); + int updatedRowCount = stmt.executeUpdate(); + if (updatedRowCount != 1) { + throw new DeviceManagementDAOException("Error occurred while setting the status of device enrolment: " + + updatedRowCount + " rows were updated instead of one row!!!"); + } + } catch (SQLException e) { + String msg = "Error occurred while changing status of the device which has " + enrolmentId + " enrolmentId"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + return true; + } + + @Override + public boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, + int deviceId) throws DeviceManagementDAOException { + Connection conn; + String changedBy = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); + if (changedBy == null) { + changedBy = DeviceManagementConstants.MaintenanceProperties.MAINTENANCE_USER; + } + PreparedStatement stmt = null; + Timestamp updateTime = new Timestamp(new Date().getTime()); + try { + conn = this.getConnection(); + String sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, " + + "PREVIOUS_STATUS) VALUES(?, ?, ?, ?, ?, ?)"; + stmt = conn.prepareStatement(sql); + stmt.setInt(1, enrolmentId); + stmt.setInt(2, deviceId); + stmt.setString(3, currentStatus.toString()); + stmt.setTimestamp(4, updateTime); + stmt.setString(5, changedBy); + stmt.setString(6, previousStatus.toString()); + stmt.executeUpdate(); + } catch (SQLException e) { + String msg = "Error occurred while inserting device lifecycle"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + return true; + } + + public int getDeviceId(int enrolmentId) throws DeviceManagementDAOException { + int deviceId; + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + try { + conn = this.getConnection(); + String sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; + stmt = conn.prepareStatement(sql); + stmt.setInt(1, enrolmentId); + rs = stmt.executeQuery(); + if (rs.next()) { + deviceId = rs.getInt("DEVICE_ID"); + } else { + // if there were no records corresponding to the enrolment id this is a problem. i.e. enrolment + // id is invalid + throw new DeviceManagementDAOException("Error occurred while getting the status of device enrolment: " + + "no record for enrolment id " + enrolmentId); + } + } catch (SQLException e) { + String msg = "Error occurred while getiing the device if which has " + enrolmentId + " enrolmentId"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + return deviceId; + } + + @Override + public List getDeviceLifecycle(int id) throws DeviceManagementDAOException { + List result = new ArrayList<>(); + Connection conn; + PreparedStatement stmt = null; + ResultSet rs = null; + try { + conn = this.getConnection(); + String sql = "SELECT DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, PREVIOUS_STATUS FROM DM_DEVICE_STATUS " + + "WHERE DEVICE_ID = ?"; + + stmt = conn.prepareStatement(sql); + stmt.setInt(1, id); + rs = stmt.executeQuery(); + + while (rs.next()) { + LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice( + rs.getInt("DEVICE_ID"), + rs.getString("STATUS"), + rs.getString("PREVIOUS_STATUS"), + rs.getString("CHANGED_BY"), + new Date(rs.getTimestamp("UPDATE_TIME").getTime()) + ); + result.add(lifecycleStateDevice); + } + } catch (SQLException e) { + String msg = "Error occurred while getiing the device lifecycle which has " + id + " deviceId"; + log.error(msg, e); + throw new DeviceManagementDAOException(msg, e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, rs); + } + return result; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java index 7b3e08cd509..2ae2fb8b60a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java @@ -348,7 +348,7 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { DeviceManagementDAOUtil.cleanupResources(stmt, null); // if there was no record for the enrolment or the previous status is not the same as the current status // we'll add a record - if (previousStatus == null || previousStatus != status){ + if (previousStatus == null || previousStatus != status) { if (deviceId == -1) { // we need the device id in order to add a new record, therefore we get it from the enrolment table sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; @@ -364,8 +364,16 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { } DeviceManagementDAOUtil.cleanupResources(stmt, null); } + sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY"; + if (previousStatus != null) { + sql += ", PREVIOUS_STATUS"; + } + sql += ") VALUES(?, ?, ?, ?, ?"; + if (previousStatus != null) { + sql += ", ?"; + } + sql += ")"; - sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY) VALUES(?, ?, ?, ?, ?)"; stmt = conn.prepareStatement(sql); Timestamp updateTime = new Timestamp(new Date().getTime()); stmt.setInt(1, enrolmentId); @@ -373,9 +381,10 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { stmt.setString(3, status.toString()); stmt.setTimestamp(4, updateTime); stmt.setString(5, changedBy); - stmt.execute(); - } else { - // no need to update status since the last recorded status is the same as the current status + if (previousStatus != null) { + stmt.setString(6, previousStatus.toString()); + } + stmt.executeUpdate(); } } catch (SQLException e) { throw new DeviceManagementDAOException("Error occurred while setting the status of device", e); 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 6a69cb02ba5..a5331d3c0ef 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 @@ -34,6 +34,7 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeServiceIdentifier; import org.wso2.carbon.device.mgt.core.geo.task.GeoFenceEventOperationManager; +import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.operation.timeout.task.OperationTimeoutTaskManagerService; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.push.notification.mgt.PushNotificationProviderRepository; @@ -86,6 +87,7 @@ public class DeviceManagementDataHolder { private OperationTimeoutTaskManagerService operationTimeoutTaskManagerService; private DeviceAPIClientService deviceAPIClientService; + private DeviceLifecycleStateManager deviceLifecycleStateManager; private final Map deviceStatusTaskPluginConfigs = Collections.synchronizedMap( new HashMap<>()); @@ -359,4 +361,12 @@ public class DeviceManagementDataHolder { public void setDeviceAPIClientService(DeviceAPIClientService deviceAPIClientService) { this.deviceAPIClientService = deviceAPIClientService; } + + public DeviceLifecycleStateManager getDeviceLifecycleStateManager() { + return deviceLifecycleStateManager; + } + + public void setDeviceLifecycleStateManager(DeviceLifecycleStateManager deviceLifecycleStateManager) { + this.deviceLifecycleStateManager = deviceLifecycleStateManager; + } } 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 a266a40499d..1efe03c5f9d 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,6 +25,7 @@ import org.osgi.service.component.ComponentContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; +import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfigurationManagementService; import org.wso2.carbon.device.mgt.common.event.config.EventConfigurationProviderService; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; @@ -48,6 +49,7 @@ import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationSe 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.lifecycleState.DeviceLifecycleConfigManager; import org.wso2.carbon.device.mgt.core.config.tenant.PlatformConfigurationManagementServiceImpl; import org.wso2.carbon.device.mgt.core.config.ui.UIConfigurationManager; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; @@ -58,6 +60,7 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.device.details.mgt.impl.DeviceInformationManagerImpl; import org.wso2.carbon.device.mgt.core.event.config.EventConfigurationProviderServiceImpl; import org.wso2.carbon.device.mgt.core.geo.service.GeoLocationProviderServiceImpl; +import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.metadata.mgt.MetadataManagementServiceImpl; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl; @@ -76,6 +79,8 @@ import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.impl.SearchManagerServiceImpl; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl; +import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; +import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementServiceImpl; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; @@ -274,6 +279,19 @@ public class DeviceManagementServiceComponent { if (log.isDebugEnabled()) { log.debug("Device management core bundle has been successfully initialized"); } + + /* Initializing DeviceLifecycleState Configuration */ + List deviceLifecycleStates = DeviceLifecycleConfigManager.getInstance(). + getDeviceLifecycleConfig().getDeviceLifecycleStates(); + DeviceLifecycleStateManager deviceLifecycleStateManager = new DeviceLifecycleStateManager(); + deviceLifecycleStateManager.init(deviceLifecycleStates); + DeviceManagementDataHolder.getInstance().setDeviceLifecycleStateManager(deviceLifecycleStateManager); + componentContext.getBundleContext().registerService(DeviceLifecycleStateManager.class.getName(), + deviceLifecycleStateManager, null); + + DeviceStateManagementService deviceStateManagementService = new DeviceStateManagementServiceImpl(); + componentContext.getBundleContext().registerService(DeviceStateManagementService.class.getName(), + deviceStateManagementService, null); } catch (Throwable e) { log.error("Error occurred while initializing device management core bundle", e); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java new file mode 100644 index 00000000000..3bf86d35f00 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.lifeCycle; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* this class has the methods to check whether the status is valid or status change is valid +deviceLifecycleStates details are coming from lifecycle-states.xml file*/ +public class DeviceLifecycleStateManager { + private Map deviceLifecycleStates; + private static final Log log = LogFactory.getLog(DeviceLifecycleStateManager.class); + + public Map getDeviceLifecycleStates() { + return deviceLifecycleStates; + } + + public void setDeviceLifecycleStates(Map deviceLifecycleStates) { + this.deviceLifecycleStates = deviceLifecycleStates; + } + + public void init(List states) { + deviceLifecycleStates = new HashMap<>(); + for (DeviceLifecycleState deviceLifecycleState : states) { + deviceLifecycleStates.put(deviceLifecycleState.getName(), deviceLifecycleState); + } + } + + public List getNextLifecycleStates(String currentLifecycleState) { + return deviceLifecycleStates.get(currentLifecycleState).getProceedingStates(); + } + + public boolean isValidStateChange(String currentStatus, String nextStatus) { + boolean validChange = false; + List proceedingstates = deviceLifecycleStates.get(currentStatus).getProceedingStates(); + for (String proceedingState : proceedingstates) { + if (proceedingState.equals(nextStatus)) { + validChange = true; + break; + } + } + return validChange; + } + + public boolean isValidState(String nextStatus) { + boolean isValid = false; + List states = new ArrayList<>(deviceLifecycleStates.keySet()); + for (String state : states) { + if (state.equals(nextStatus)) { + isValid = true; + break; + } + } + return isValid; + } +} 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 7bb7e7c6273..dfeaa0fb5b2 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 @@ -2123,10 +2123,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv log.debug("get status history of device: " + device.getDeviceIdentifier()); } try { + DeviceManagementDAOFactory.openConnection(); int tenantId = this.getTenantId(); return deviceStatusDAO.getStatus(device.getId(), tenantId, fromDate, toDate, billingStatus); } catch (DeviceManagementDAOException e) { - DeviceManagementDAOFactory.rollbackTransaction(); +// DeviceManagementDAOFactory.rollbackTransaction(); String msg = "Error occurred while retrieving status history"; log.error(msg, e); throw new DeviceManagementException(msg, e); @@ -2134,6 +2135,8 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv String msg = "Error occurred in retrieving status history for device :" + device.getDeviceIdentifier(); log.error(msg, e); throw new DeviceManagementException(msg, e); + } finally { + DeviceManagementDAOFactory.closeConnection(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java new file mode 100644 index 00000000000..6bd87cd294d --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.service; + +import org.wso2.carbon.device.mgt.common.*; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; +import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; + +import java.util.List; + +/** + * This interface manages the device lifecycle, such as status change and add status to table + */ +public interface DeviceStateManagementService { + + /** + * This method change the device status and store it in a table + * + * @param enrolmentInfo Enrollment Information about the device + * @param nextStatus Next status of the device + * @return LifecycleStateDevice which contain current and previous status + * @throws InvalidStatusException If there is a invalid status or invalid status change + * @throws DeviceManagementDAOException if the device cannot be found + */ + LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) + throws InvalidStatusException, DeviceStatusException; + + /** + * Get the lifecycle history of the relevant device + * + * @param device Device + * @return List of LifecycleStateDevice + */ + PaginationResult getDeviceLifecycleHistory(PaginationRequest request, Device device) throws DeviceStatusException; +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java new file mode 100644 index 00000000000..63ba1e6366e --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java @@ -0,0 +1,120 @@ +/* + * Copyright (c) 2023, 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.device.mgt.core.service; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.CarbonContext; +import org.wso2.carbon.device.mgt.common.*; +import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; +import org.wso2.carbon.device.mgt.common.exceptions.IllegalTransactionStateException; +import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; +import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; +import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; +import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; +import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; +import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; +import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; + +import java.sql.SQLException; +import java.util.List; + +public class DeviceStateManagementServiceImpl implements DeviceStateManagementService { + + private static final Log log = LogFactory.getLog(DeviceStateManagementServiceImpl.class); + private final DeviceLifecycleDAO deviceLifecycleDAO; + private final DeviceLifecycleStateManager deviceLifecycleStateManager; + + public DeviceStateManagementServiceImpl() { + this.deviceLifecycleDAO = DeviceManagementDAOFactory.getDeviceLifecycleDAO(); + deviceLifecycleStateManager = DeviceManagementDataHolder.getInstance().getDeviceLifecycleStateManager(); + } + + @Override + public LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) throws + InvalidStatusException, DeviceStatusException { + LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice(); + EnrolmentInfo.Status currentStatus = enrolmentInfo.getStatus(); + if (deviceLifecycleStateManager.isValidState(nextStatus.toString())){ + if (deviceLifecycleStateManager.isValidStateChange(currentStatus.toString(), nextStatus.toString())) { + lifecycleStateDevice.setCurrentStatus(nextStatus.toString()); + lifecycleStateDevice.setPreviousStatus(currentStatus.toString()); + } else { + String msg ="'" + currentStatus + "' to '" + nextStatus + "' is not a valid Status change. Enter " + + "valid Status"; + log.error(msg); + throw new InvalidStatusException(msg); + } + } else { + String msg = "'" + nextStatus +"' is not a valid Status. Check the Status"; + log.error(msg); + throw new InvalidStatusException(msg); + } + int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); + int enrolmentId = enrolmentInfo.getId(); + try { + DeviceManagementDAOFactory.beginTransaction(); + int deviceId = deviceLifecycleDAO.getDeviceId(enrolmentId); + deviceLifecycleDAO.changeStatus(enrolmentId, EnrolmentInfo.Status.valueOf( + lifecycleStateDevice.getCurrentStatus()), tenantId); + deviceLifecycleDAO.addStatus(enrolmentId, + EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getCurrentStatus()), + EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getPreviousStatus()), deviceId); + DeviceManagementDAOFactory.commitTransaction(); + return lifecycleStateDevice; + } catch (DeviceManagementDAOException e) { + DeviceManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred in updating status or storing device status"; + log.error(msg, e); + throw new DeviceStatusException(msg, e); + } catch (IllegalTransactionStateException e) { + String msg = "Error occurred while updating and storing(Transaction Error) device status"; + log.error(msg, e); + throw new DeviceStatusException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Error occurred in DeviceManagementDAOFactory"; + log.error(msg, e); + throw new InvalidStatusException(msg, e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + } + + @Override + public PaginationResult getDeviceLifecycleHistory(PaginationRequest request, Device device) throws DeviceStatusException { + int id = device.getId(); + PaginationResult paginationResult = new PaginationResult(); + try { + DeviceManagementDAOFactory.openConnection(); + List listLifecycle = deviceLifecycleDAO.getDeviceLifecycle(id); + paginationResult.setData(listLifecycle); + return paginationResult; + } catch (DeviceManagementDAOException e) { + String msg = "Error occurred while getting lifrcycle history"; + log.error(msg, e); + throw new DeviceStatusException(msg, e); + } catch (SQLException e) { + throw new RuntimeException(e); + } finally { + DeviceManagementDAOFactory.closeConnection(); + } + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql index d3b81f2655c..8682e9e7db9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql @@ -106,12 +106,14 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, + PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_status_device FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); + CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml new file mode 100644 index 00000000000..3954e9b8494 --- /dev/null +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml @@ -0,0 +1,116 @@ + + + + + + + + ACTIVE + + + + + UNREACHABLE + REMOVED + + + + + INACTIVE + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + REMOVED + + + + + ACTIVE + CREATED + + + + \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 3ecfc5c1dbd..9e2761a6c88 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -124,6 +124,7 @@ perm:users:send-invitation perm:admin-users:view perm:admin:devices:update-enrollment + perm:admin:devices:change-status perm:groups:devices perm:groups:update perm:groups:add diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index 0e8d1b8466d..da7e7dbc345 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -115,12 +115,14 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, + PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_status_device FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE CASCADE ON UPDATE CASCADE ); + CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql index 33ac7964dd4..f925e646f64 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql @@ -129,6 +129,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, + PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_STATUS_DEVICE FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, From 12b3b1a41dd0fb398c30a8e8882e7a2a376e8e83 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Tue, 7 Feb 2023 22:08:11 +0530 Subject: [PATCH 036/101] Add missing dependency --- components/logger/io.entgra.notification.logger/pom.xml | 1 - .../logger/io.entgra.notification.logger.feature/pom.xml | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index 261de11b36e..c363f724b5f 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -35,7 +35,6 @@ org.wso2.carbon org.wso2.carbon.logging - provided org.testng diff --git a/features/logger/io.entgra.notification.logger.feature/pom.xml b/features/logger/io.entgra.notification.logger.feature/pom.xml index 4f55882374b..6c600e7c12d 100644 --- a/features/logger/io.entgra.notification.logger.feature/pom.xml +++ b/features/logger/io.entgra.notification.logger.feature/pom.xml @@ -40,7 +40,6 @@ org.wso2.carbon org.wso2.carbon.logging - provided org.testng @@ -50,6 +49,10 @@ org.wso2.carbon.devicemgt io.entgra.device.mgt.extensions.logger + + org.wso2.carbon.devicemgt + io.entgra.notification.logger + From 846d7a0f59b2e1723b3e1538fbe32e7289917077 Mon Sep 17 00:00:00 2001 From: Kavin Prathaban Date: Wed, 8 Feb 2023 11:17:02 +0000 Subject: [PATCH 037/101] Add support to perform group operations (#59) ## Purpose * Fixes https://roadmap.entgra.net/issues/8916 ## Description * Created a new API to check whether groups has relevant(Android, iOS, Windows) device types. Co-authored-by: Arshana Co-authored-by: prathabanKavin Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/59 Co-authored-by: Kavin Prathaban Co-committed-by: Kavin Prathaban --- .../service/api/DeviceManagementService.java | 10 +-- .../service/api/GroupManagementService.java | 61 +++++++++++++++++++ .../impl/DeviceManagementServiceImpl.java | 7 +-- .../impl/GroupManagementServiceImpl.java | 18 ++++++ .../impl/DeviceManagementServiceImplTest.java | 4 +- .../common/group/mgt/DeviceTypesOfGroups.java | 60 ++++++++++++++++++ .../GroupManagementProviderService.java | 8 +++ .../GroupManagementProviderServiceImpl.java | 59 ++++++++++++++++++ .../src/main/resources/conf/mdm-ui-config.xml | 1 + 9 files changed, 212 insertions(+), 16 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/group/mgt/DeviceTypesOfGroups.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index 585e4ffecfe..3304be7c143 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -1209,7 +1209,7 @@ public interface DeviceManagementService { @GET @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{id}/features") + @Path("/device-type/{type}/features") @ApiOperation( produces = MediaType.APPLICATION_JSON, httpMethod = "GET", @@ -1280,14 +1280,6 @@ public interface DeviceManagementService { @PathParam("type") @Size(max = 45) String type, - @ApiParam( - name = "id", - value = "The device identifier of the device.\n" + - "INFO: Make sure to add the ID of a device that is already registered with WSO2 IoTS.", - required = true) - @PathParam("id") - @Size(max = 45) - String id, @ApiParam( name = "If-Modified-Since", value = "Checks if the requested variant was modified, since the specified date-time. \n" + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/GroupManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/GroupManagementService.java index 1162c55f45c..96b3188f70d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/GroupManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/GroupManagementService.java @@ -192,6 +192,13 @@ import java.util.List; key = "perm:groups:device", roles = {"Internal/devicemgt-user"}, permissions = {"/device-mgt/groups/devices/view"} + ), + @Scope( + name = "View whether the groups has relevant device types", + description = "View whether the groups has relevant device types", + key = "perm:groups:devices-types", + roles = {"Internal/devicemgt-user"}, + permissions = {"/device-mgt/groups/devices/types"} ) } ) @@ -1185,4 +1192,58 @@ public interface GroupManagementService { @QueryParam("requireGroupProps") boolean requireGroupProps); + @Path("/device-types") + @POST + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = HTTPConstants.HEADER_GET, + value = "Getting Details whether the groups has relevant device type or not", + notes = "Getting Details whether the groups has relevant device type or not.", + tags = "Device Group Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:groups:devices-types") + }) + }, + nickname = "getGroupByGroupNameFilter" + ) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "OK. \n Successfully fetched the device types of groups.", + response = DeviceGroup.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource has been modified the last time.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. \n Empty body because the client has already the latest version of " + + "the requested resource."), + @ApiResponse( + code = 404, + message = "Error occurred", + response = ErrorResponse.class), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported."), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n Server error occurred while fetching the group details.", + response = ErrorResponse.class) + }) + Response getGroupHasDeviceTypes( + @ApiParam( + name = "identifiers", + value = "GET list of identifiers.", + required = true) + List identifiers); + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 75702272031..3bcdeafbabe 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -890,16 +890,14 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { } @GET - @Path("/{type}/{id}/features") + @Path("/device-type/{type}/features") @Override public Response getFeaturesOfDevice( @PathParam("type") @Size(max = 45) String type, - @PathParam("id") @Size(max = 45) String id, @HeaderParam("If-Modified-Since") String ifModifiedSince) { List features = new ArrayList<>(); DeviceManagementProviderService dms; try { - RequestValidationUtil.validateDeviceIdentifier(type, id); dms = DeviceMgtAPIUtils.getDeviceManagementService(); FeatureManager fm; try { @@ -913,8 +911,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { features = fm.getFeatures(); } } catch (DeviceManagementException e) { - String msg = "Error occurred while retrieving the list of features of '" + type + "' device, which " + - "carries the id '" + id + "'"; + String msg = "Error occurred while retrieving the list of features of '" + type + "'"; log.error(msg, e); return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java index 8927ea533d6..898ffb6c23a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java @@ -48,6 +48,7 @@ import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; +import org.wso2.carbon.device.mgt.common.group.mgt.DeviceTypesOfGroups; import org.wso2.carbon.device.mgt.common.group.mgt.GroupAlreadyExistException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupNotExistException; @@ -66,6 +67,7 @@ import org.wso2.carbon.policy.mgt.common.PolicyManagementException; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; +import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; @@ -429,4 +431,20 @@ public class GroupManagementServiceImpl implements GroupManagementService { } } + @POST + @Path("/device-types") + @Override + public Response getGroupHasDeviceTypes(List identifiers) { + try { + DeviceTypesOfGroups deviceTypesOfGroups = DeviceMgtAPIUtils.getGroupManagementProviderService() + .getDeviceTypesOfGroups(identifiers); + + return Response.status(Response.Status.OK).entity(deviceTypesOfGroups).build(); + } catch (GroupManagementException e) { + String msg = "Only numbers can exists in a group ID or Invalid Group ID provided."; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } + } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/test/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImplTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/test/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImplTest.java index 7b995660ad7..db085319f0c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/test/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImplTest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/test/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImplTest.java @@ -590,7 +590,7 @@ public class DeviceManagementServiceImplTest { PowerMockito.stub(PowerMockito.method(DeviceMgtAPIUtils.class, "getDeviceManagementService")) .toReturn(this.deviceManagementProviderService); Response response = this.deviceManagementService - .getFeaturesOfDevice(TEST_DEVICE_TYPE, UUID.randomUUID().toString(), null); + .getFeaturesOfDevice(TEST_DEVICE_TYPE, null); Assert.assertEquals(response.getStatus(), Response.Status.OK.getStatusCode()); } @@ -601,7 +601,7 @@ public class DeviceManagementServiceImplTest { Mockito.when(this.deviceManagementProviderService.getFeatureManager(Mockito.anyString())) .thenThrow(new DeviceTypeNotFoundException()); Response response = this.deviceManagementService - .getFeaturesOfDevice(TEST_DEVICE_TYPE, UUID.randomUUID().toString(), null); + .getFeaturesOfDevice(TEST_DEVICE_TYPE, null); Assert.assertEquals(response.getStatus(), Response.Status.NOT_FOUND.getStatusCode()); Mockito.reset(this.deviceManagementProviderService); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/group/mgt/DeviceTypesOfGroups.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/group/mgt/DeviceTypesOfGroups.java new file mode 100644 index 00000000000..66bde2dc830 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/group/mgt/DeviceTypesOfGroups.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2022, Entgra (pvt) Ltd. (https://entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.common.group.mgt; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; + +@ApiModel(value = "DeviceTypesOfGroups", description = "This class carries whether the groups has device type or not.") +public class DeviceTypesOfGroups implements Serializable { + + private static final long serialVersionUID = 5562356373277828099L; + @ApiModelProperty(name = "hasAndroid", value = "groups has Android devices.") + private boolean hasAndroid; + @ApiModelProperty(name = "id", value = "groups has iOS devices.") + private boolean hasIos; + @ApiModelProperty(name = "hasAndroid", value = "groups has Windows devices.") + private boolean hasWindows; + + public boolean isHasAndroid() { + return hasAndroid; + } + + public void setHasAndroid(boolean hasAndroid) { + this.hasAndroid = hasAndroid; + } + + public boolean isHasIos() { + return hasIos; + } + + public void setHasIos(boolean hasIos) { + this.hasIos = hasIos; + } + + public boolean isHasWindows() { + return hasWindows; + } + + public void setHasWindows(boolean hasWindows) { + this.hasWindows = hasWindows; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderService.java index 5028f2560b0..8f12f8a1df6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderService.java @@ -41,6 +41,7 @@ import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; import org.wso2.carbon.device.mgt.common.GroupPaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup; +import org.wso2.carbon.device.mgt.common.group.mgt.DeviceTypesOfGroups; import org.wso2.carbon.device.mgt.common.group.mgt.GroupAlreadyExistException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupNotExistException; @@ -335,4 +336,11 @@ public interface GroupManagementProviderService { */ boolean isDeviceMappedToGroup(int groupId, DeviceIdentifier deviceIdentifier) throws GroupManagementException; + /** + * + * @param identifiers identifiers of groups + * @return whether the groups has android, iOS, Windows device types + * @throws GroupManagementException + */ + DeviceTypesOfGroups getDeviceTypesOfGroups(List identifiers) throws GroupManagementException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderServiceImpl.java index aed9bc8782e..9981333428d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/GroupManagementProviderServiceImpl.java @@ -43,6 +43,7 @@ import org.wso2.carbon.context.CarbonContext; 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.DeviceManagementConstants; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; import org.wso2.carbon.device.mgt.common.GroupPaginationRequest; @@ -51,6 +52,7 @@ import org.wso2.carbon.device.mgt.common.exceptions.TrackerAlreadyExistException import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; +import org.wso2.carbon.device.mgt.common.group.mgt.DeviceTypesOfGroups; import org.wso2.carbon.device.mgt.common.group.mgt.GroupAlreadyExistException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.group.mgt.GroupNotExistException; @@ -79,6 +81,7 @@ import java.util.stream.Collectors; public class GroupManagementProviderServiceImpl implements GroupManagementProviderService { private static final Log log = LogFactory.getLog(GroupManagementProviderServiceImpl.class); + private static final String DEVICE_STATUS_REMOVED = "REMOVED"; private final GroupDAO groupDAO; private final DeviceDAO deviceDAO; @@ -1379,4 +1382,60 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid createGroupWithChildren(nextParentGroup, childrenGroups, requireGroupProps, tenantId, depth, counter); } } + @Override + public DeviceTypesOfGroups getDeviceTypesOfGroups(List identifiers) throws GroupManagementException { + DeviceTypesOfGroups deviceTypesOfGroups = new DeviceTypesOfGroups(); + List groupsIDs = new ArrayList<>(); + try { + for (String id : identifiers) { + groupsIDs.add(Integer.parseInt(id)); + } + + List deviceIDs = new ArrayList<>(); + List allDevices = new ArrayList<>(); + for (Integer groupID : groupsIDs) { + DeviceGroup deviceGroup = getGroup(groupID, false); + if (deviceGroup == null) { + String errorMessage = "Invalid Group ID provided."; + log.error(errorMessage); + throw new GroupManagementException(errorMessage); + } + List devices = getAllDevicesOfGroup(deviceGroup.getName(), false); + for (Device device : devices) { + if (!DEVICE_STATUS_REMOVED.equals(device.getEnrolmentInfo().getStatus().toString()) + && !deviceIDs.contains(device.getDeviceIdentifier())) { + deviceIDs.add(device.getDeviceIdentifier()); + allDevices.add(device); + } + } + } + + for (Device device : allDevices) { + if (DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID.equals(device.getType())) { + deviceTypesOfGroups.setHasAndroid(true); + break; + } + } + for (Device device : allDevices) { + if (DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_IOS.equals(device.getType())) { + deviceTypesOfGroups.setHasIos(true); + break; + } + } + for (Device device : allDevices) { + if (DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_WINDOWS.equals(device.getType())) { + deviceTypesOfGroups.setHasWindows(true); + break; + } + } + + } catch (NumberFormatException e) { + String errorMessage = "Only numbers can exists in a group ID"; + log.error(errorMessage); + throw new GroupManagementException(errorMessage, e); + + } + + return deviceTypesOfGroups; + } } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 9e2761a6c88..151d03081c6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -130,6 +130,7 @@ perm:groups:add perm:groups:device perm:groups:devices-count + perm:groups:devices-types perm:groups:remove perm:groups:groups perm:groups:groups-view From 50bc5560f81dfb0c0ff1353c15a55278d70584e9 Mon Sep 17 00:00:00 2001 From: builder Date: Thu, 9 Feb 2023 22:41:16 +0530 Subject: [PATCH 038/101] [maven-release-plugin] prepare release v5.0.17 --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index bc77e97bc2b..6c5d045b6b0 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 5113864d19c..235edac5c8e 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 32df0002a55..c0b27062791 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 728851ef38e..6fe6f61801f 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index cc7611730c8..a6cd49aa6d2 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 9773a973fff..ac1fac0086f 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index af6f9902723..c4d1a941019 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 3209c1930d9..025bab59316 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 72753654afb..687d3ae09bc 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 4767eb8ccc4..a27c8b3810c 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 13d844372e9..9236ee19fff 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 60cb7564ec4..e96ebedb0e8 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 4a2a85283f9..2f9872d3fe8 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index ca28a4fd427..2c186e094c0 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index d79e130aa08..fbf76db21ff 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index aeffd64b75a..7fb3ff3e660 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 4a1945078b4..863adbade5f 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 2006236912e..c2d512debb7 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 3e2eb6aba4f..62f81ac0bea 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index c03158f34df..4a1210d5eef 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 2184cb821de..13a8fd46092 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 473f58ee25d..79da421033b 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 7d3b251c7fa..60023a4042e 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 0fdbb381589..5fd448e3040 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 7dece8d92c9..c9abe4bc0cf 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index fab80c86120..90fec2f7715 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 4b5b078aa82..913e4083729 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 59edf0d48d5..a9f35995d02 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index a955ac7a02f..f41ea5a73a6 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index d97c7272b0c..3b3dd6186b2 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 4c16f24ff18..a988cb9fba2 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 837bb27d07c..1782da7204c 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index e885c0956c0..991fabee004 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 6182f300cd6..018cd9a6655 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index d9a956d1b5a..97690c02dbf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 429fed59c2d..f59efa84b29 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml 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 aa41e41e30b..1e5a45c7b79 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml 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 index 4944d580233..1a8cef642dd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 6733f2e25f2..8a8ba472017 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index aa5a9ada9e4..9438160d31c 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 8b9688aa1cb..79065b1fa0d 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 640631870a6..d7acac22b95 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 87eeefacdb4..ebb744dd462 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 537815b5127..b35bdc410c0 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 127428b5af3..4e0c5329b82 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index e2f7d96e5ff..966a96811af 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index c7493fca3f7..36a3bd462e3 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index e366aaee36e..4d32dc94f2a 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 714087fefed..14bb51cb2fc 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 46231b1b764..00dc3fcb825 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index b9ebca38224..24eb6e03596 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index d633ccb6a1e..8be9962f91a 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 48230dbf9bb..966c6f6cfe7 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 05923484747..33a4a03182c 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index e295e9e708d..4dd24aa83a9 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index e9e21d0ce1d..a9137ebf0d6 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 4fdccfb6157..5fb2f2f874a 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index c0e795baaf6..ef994b4c8c9 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 2f9fe328f54..5a32b1c03c9 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 3cf1a018775..9a37a41f6bc 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index a724b7c167f..efdd670b972 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 947540ab230..2d24337f81f 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index d69d323425a..7249cca87e7 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 970b1f2e2c1..e064cdd589d 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index 92db34abab7..e0e175f141a 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 13ef7fa6f0e..13c79d3b645 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index cacb9db60b8..fe6402990a5 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index c1724f76526..54134e8d346 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index d4a366c4576..3eb6c3263e4 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index e7eb0a03d78..d7d49d21cf2 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 477b78cca8d..bc60692a315 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 83ea62c7888..24faa2422b6 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 978b64d5058..1bdc67ccd13 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index cc6905413db..6cccc2f4b59 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 5ee10ff4756..d0a07f4fd46 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 29a1b8fe321..5bbae44740b 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index e68453ae3c1..e706ec43fb9 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index 3a473f1be7d..bd48b68992f 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 1830443b112..8e5b805a360 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index bc895902794..b51e141a422 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index cab1c4b45ba..9e00b41ff04 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 36886183416..a5da56cfac6 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index b2399767ee2..ca9340fe806 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 4ea6eef8ce8..389077ee6d0 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 2d762b92285..bdb8762c2c2 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 421edce3831..8116e362604 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index cca2850c19f..876d9e2a2f2 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 399212de811..cc2daa05937 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 4e0c0bf76ec..8b843297c54 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml 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 114e82b22eb..7bd12159f48 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index d0811506aa0..f68be88be42 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 405cf77df3c..f9c27dbc9b3 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index c73df4fd889..27f34a3b333 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index d993b05473a..26866078304 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index e5b2f4c0387..4aaab874b42 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 6e9a45613c4..cea649cfdc5 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index e9b3b588bc6..3f3a51c211f 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 1c4b6b0fde9..6b0101928ce 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 6e11ee2cd8b..3b8dda7bf41 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 6278f0fac45..20b4c71c769 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 91521014661..b12a285dd1f 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index ce337bc4628..6667657bf14 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 114ded253e5..2c4f36e7560 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index ad1ed21ba0a..44605a33d16 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 551c0e0ecd6..97fe73f8740 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index a7ff96c8145..61351a74ae1 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.17-SNAPSHOT + 5.0.17 ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 5ce4fa7d330..868704ce91d 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.17 ../../pom.xml diff --git a/pom.xml b/pom.xml index a2c8d782a83..08c39e6352e 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.17-SNAPSHOT + 5.0.17 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - HEAD + v5.0.17 @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.17-SNAPSHOT + 5.0.17 4.7.35 From 9f724eeffb8dacad923ac5343dd55b96eddc6e81 Mon Sep 17 00:00:00 2001 From: builder Date: Thu, 9 Feb 2023 22:41:22 +0530 Subject: [PATCH 039/101] [maven-release-plugin] prepare for next development iteration --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 6c5d045b6b0..d70c0ca1a65 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 235edac5c8e..7f48ee778aa 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index c0b27062791..c72fe8330cf 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 6fe6f61801f..c7ca19233c7 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index a6cd49aa6d2..8809ee9b530 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index ac1fac0086f..91c8be1b25c 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index c4d1a941019..0178bb19911 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 025bab59316..35bca75691b 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 687d3ae09bc..24c985bc9e1 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index a27c8b3810c..3dfae0fca95 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 9236ee19fff..bab6ad88216 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index e96ebedb0e8..6cfba47bdae 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 2f9872d3fe8..24a88dd76a7 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 2c186e094c0..3c5113bed4d 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index fbf76db21ff..28e54812824 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 7fb3ff3e660..568df11d300 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 863adbade5f..d5067a7ddf6 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index c2d512debb7..06b79ff98b9 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 62f81ac0bea..dede5f7b581 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 4a1210d5eef..425194fdeb9 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 13a8fd46092..85f44817739 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 79da421033b..4f187f8fcbb 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 60023a4042e..24a2abb37bc 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 5fd448e3040..ae5b8fb3fac 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index c9abe4bc0cf..6be2fd1060d 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 90fec2f7715..2d998a536a7 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 913e4083729..b0830a4e082 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index a9f35995d02..d871838af9f 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index f41ea5a73a6..6ea80a8a75a 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 3b3dd6186b2..9842d9288e7 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index a988cb9fba2..6916955830b 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 1782da7204c..5e3f99a9b4d 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 991fabee004..dea67ca1360 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 018cd9a6655..ba61e6e4120 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 97690c02dbf..d4636fb38b8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index f59efa84b29..b5d57d04a83 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml 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 1e5a45c7b79..4c9290c51c0 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml 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 index 1a8cef642dd..38530d050d4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 8a8ba472017..6c5a37fbf05 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 9438160d31c..66d4b02d408 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 79065b1fa0d..07205713d06 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index d7acac22b95..504d3fa9d0b 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index ebb744dd462..e16985f43b2 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index b35bdc410c0..3c88ebb28bf 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 4e0c5329b82..96864a53060 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 966a96811af..9a54d938327 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 36a3bd462e3..8942a3f9c91 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 4d32dc94f2a..f9edf1c7318 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 14bb51cb2fc..f397d1dcab7 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 00dc3fcb825..7e34bc473a7 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 24eb6e03596..d7acc0042e2 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 8be9962f91a..b40a345a1f9 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 966c6f6cfe7..81fd137a3ca 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 33a4a03182c..08315e2d99a 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 4dd24aa83a9..949f74355c4 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index a9137ebf0d6..20b72eb899b 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 5fb2f2f874a..b2da708556c 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index ef994b4c8c9..d60ea0428fb 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 5a32b1c03c9..8f76290333e 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 9a37a41f6bc..59e9ba4d633 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index efdd670b972..c0ea222c42b 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 2d24337f81f..3b77ae690d6 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 7249cca87e7..2cfbd7db64b 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index e064cdd589d..9317c878f6a 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index e0e175f141a..b8e7990ce8d 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 13c79d3b645..091a8e7a539 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index fe6402990a5..36af5ae46e8 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 54134e8d346..e1eb8b7f1e4 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 3eb6c3263e4..7eb12817b70 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index d7d49d21cf2..a95bd7942f8 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index bc60692a315..0b1d61f93ad 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 24faa2422b6..35f13f08481 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 1bdc67ccd13..22ea84f4845 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 6cccc2f4b59..aa080a89e74 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index d0a07f4fd46..655b0041f30 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 5bbae44740b..e694d461365 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index e706ec43fb9..c68e9fdfe20 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index bd48b68992f..d1c61af118d 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 8e5b805a360..54127bb98d3 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index b51e141a422..994b45fbbef 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 9e00b41ff04..bc15576bafd 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index a5da56cfac6..f13958625a9 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index ca9340fe806..8e45c0e8816 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 389077ee6d0..a5c672cf0a8 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index bdb8762c2c2..5518af85232 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 8116e362604..c01e742a884 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 876d9e2a2f2..7f5ef9ee7e3 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index cc2daa05937..5394c4a505b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 8b843297c54..1dee95b8e88 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml 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 7bd12159f48..eed7ea45c36 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index f68be88be42..ccc3d1f8fb8 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index f9c27dbc9b3..b7e70e5351b 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 27f34a3b333..40fa9115785 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 26866078304..522369e3c39 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 4aaab874b42..2dfc1e7e36c 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index cea649cfdc5..8eaecd1417c 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 3f3a51c211f..8a7eab21959 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 6b0101928ce..50a0594de7f 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 3b8dda7bf41..e0fc29c91ba 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 20b4c71c769..3c234dae47e 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index b12a285dd1f..1e6c5928a7e 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index 6667657bf14..f9d362b1099 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 2c4f36e7560..48ed209d245 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index 44605a33d16..a15d3e971d7 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 97fe73f8740..51a8067aaeb 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 61351a74ae1..e1dd5f11906 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.17 + 5.0.18-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 868704ce91d..d435f128e33 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17 + 5.0.18-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 08c39e6352e..c067c38664a 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.17 + 5.0.18-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - v5.0.17 + HEAD @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.17 + 5.0.18-SNAPSHOT 4.7.35 From 5228a8440059ff53c07b2cd6a3dc943aff82f223 Mon Sep 17 00:00:00 2001 From: Pahansith Date: Fri, 10 Feb 2023 17:53:05 +0530 Subject: [PATCH 040/101] Revert "Change the device status and see the device status lifecycle history (#58)" This reverts commit 7f327bac0850a7748baab5f65969af4b4a0e2257. --- .../jaxrs/beans/LifecycleStateDeviceList.java | 47 ----- .../admin/DeviceManagementAdminService.java | 146 --------------- .../DeviceManagementAdminServiceImpl.java | 105 ----------- .../device/mgt/jaxrs/util/Constants.java | 1 - .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 13 -- .../mgt/common/DeviceManagementConstants.java | 1 - .../mgt/common/LifecycleStateDevice.java | 96 ---------- .../mgt/DeviceLifecycleState.java | 80 -------- .../exceptions/DeviceStatusException.java | 48 ----- .../exceptions/InvalidStatusException.java | 46 ----- .../config/DeviceConfigurationManager.java | 1 - .../lifecycleState/DeviceLifecycleConfig.java | 46 ----- .../DeviceLifecycleConfigManager.java | 89 --------- .../mgt/core/dao/DeviceLifecycleDAO.java | 72 -------- .../core/dao/DeviceManagementDAOFactory.java | 4 - .../core/dao/impl/DeviceLifecycleDAOImpl.java | 174 ------------------ .../mgt/core/dao/impl/EnrollmentDAOImpl.java | 19 +- .../internal/DeviceManagementDataHolder.java | 10 - .../DeviceManagementServiceComponent.java | 18 -- .../DeviceLifecycleStateManager.java | 79 -------- .../DeviceManagementProviderServiceImpl.java | 5 +- .../service/DeviceStateManagementService.java | 53 ------ .../DeviceStateManagementServiceImpl.java | 120 ------------ .../src/test/resources/sql/h2.sql | 2 - .../main/resources/conf/lifecycle-states.xml | 116 ------------ .../src/main/resources/conf/mdm-ui-config.xml | 1 - .../src/main/resources/dbscripts/cdm/h2.sql | 2 - .../main/resources/dbscripts/cdm/mysql.sql | 1 - 28 files changed, 6 insertions(+), 1389 deletions(-) delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java delete mode 100644 features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java deleted file mode 100644 index 8f726ffb581..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/LifecycleStateDeviceList.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.jaxrs.beans; - -import io.swagger.annotations.ApiModelProperty; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; - -import java.util.ArrayList; -import java.util.List; - -public class LifecycleStateDeviceList extends BasePaginatedResult { - - private List lifecycleStates = new ArrayList<>(); - - @ApiModelProperty(value = "List of lifecycleStates history returned") - public List getLifecycleStates() { - return lifecycleStates; - } - - public void setLifecycleStates(List lifecycleStates) { - this.lifecycleStates = lifecycleStates; - } - - @Override - public String toString() { - return "LifecycleStateDeviceList{" + - "lifecycleStates=" + lifecycleStates + - '}'; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java index 17136a7e516..b0c850de950 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/DeviceManagementAdminService.java @@ -34,7 +34,6 @@ */ package org.wso2.carbon.device.mgt.jaxrs.service.api.admin; -import io.entgra.application.mgt.common.dto.ApplicationDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -50,8 +49,6 @@ import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.apimgt.annotations.api.Scope; import org.wso2.carbon.apimgt.annotations.api.Scopes; import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; @@ -122,13 +119,6 @@ import java.util.List; roles = {"Internal/devicemgt-admin"}, permissions = {"/device-mgt/admin/devices/usage/view"} ), - @Scope( - name = "Change device status.", - description = "Change device status.", - key = "perm:admin:devices:change-status", - roles = {"Internal/devicemgt-admin"}, - permissions = {"/device-mgt/admin/devices/change-status"} - ), } ) public interface DeviceManagementAdminService { @@ -515,140 +505,4 @@ public interface DeviceManagementAdminService { @QueryParam("endDate") Timestamp endDate); - @POST - @Produces(MediaType.APPLICATION_JSON) - @Consumes(MediaType.APPLICATION_JSON) - @Path("/status") - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - consumes = MediaType.APPLICATION_JSON, - httpMethod = "POST", - value = "Update and post device's State", - notes = "Use this API to change the state of the device", - tags = "Device Management Administrative Service", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:change-status") - }) - } - ) - @ApiResponses( - value = { - @ApiResponse( - code = 201, - message = "OK. \n Successfully added a lifecycle state.", - response = ApplicationDTO.class), - @ApiResponse( - code = 400, - message = "Bad Request. \n " + - "Lifecycle State changing request contains unacceptable or vulnerable data"), - @ApiResponse( - code = 403, - message = "Don't have permission to change the lifecycle state of a lifecycle state."), - @ApiResponse( - code = 404, - message = "NOT FOUND. \n Error occurred while adding new lifecycle state.", - response = io.entgra.application.mgt.common.ErrorResponse.class), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n Error occurred adding a lifecycle state.", - response = io.entgra.application.mgt.common.ErrorResponse.class) - }) - Response changeDeviceStatus( - @ApiParam( - name = "deviceId", - value = "The device identifier of the device.", - required = true) - @QueryParam("deviceId") - @Size(max = 45) - String deviceId, - @ApiParam( - name = "nextStatus", - value = "The device's next state.", - required = true) - @QueryParam("nextStatus") - EnrolmentInfo.Status nextStatus); - - @GET - @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{deviceId}/lifecycle") - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - httpMethod = "GET", - value = "Get Device's lifecycle history", - notes = "Get the lifecycle history of the device, since the enrolement", - tags = "Device Management Administrative Service", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:devices:view") - }) - } - ) - @ApiResponses( - value = { - @ApiResponse( - code = 200, - message = "OK. \n Successfully fetched the status history of matching devices.", - response = List.class, - responseHeaders = { - @ResponseHeader( - name = "Content-Type", - description = "The content type of the body"), - @ResponseHeader( - name = "ETag", - description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), - @ResponseHeader( - name = "Last-Modified", - description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), - }), - @ApiResponse( - code = 304, - message = "Not Modified. Empty body because the client already has the latest version" + - " of the requested resource.\n"), - @ApiResponse( - code = 400, - message = "Bad Request. \n Invalid request or validation error.", - response = ErrorResponse.class), - @ApiResponse( - code = 404, - message = "Not Found. \n A device with the specified device type and id was not found.", - response = ErrorResponse.class), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n " + - "Server error occurred while retrieving the device details.", - response = ErrorResponse.class) - }) - Response getDeviceLifecycle( - @ApiParam( - name = "DeviceId", - value = "Device ID.", - required = true) - @PathParam("deviceId") - @Size(max = 45) - String id, - @ApiParam( - name = "type", - value = "The device type, such as ios, android, or windows.", - required = true) - @PathParam("type") - @Size(max = 45) - String type, - @ApiParam( - name = "offset", - value = "The starting pagination index for the complete list of qualified items.", - required = false, - defaultValue = "0") - @QueryParam("offset") - int offset, - @ApiParam( - name = "limit", - value = "Provide how many device details you require from the starting pagination index/offset.", - required = false, - defaultValue = "5") - @QueryParam("limit") - int limit) throws DeviceManagementException; - } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index 847a416fae6..acadf926f2b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -40,12 +40,9 @@ import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.CarbonContext; 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.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; import org.wso2.carbon.device.mgt.common.MDMAppConstants; import org.wso2.carbon.device.mgt.common.PaginationRequest; -import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; @@ -53,18 +50,14 @@ import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration import org.wso2.carbon.device.mgt.common.exceptions.BadRequestException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceNotFoundException; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; import org.wso2.carbon.device.mgt.common.exceptions.UserNotFoundException; import org.wso2.carbon.device.mgt.common.PaginationResult; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; -import org.wso2.carbon.device.mgt.jaxrs.beans.LifecycleStateDeviceList; import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceManagementAdminService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; -import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; @@ -290,102 +283,4 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } - - /** - * This change the device status - * - * @param deviceId Id of the device - * @param nextStatus next status of the device - * @return response - */ - @POST - @Path("/status") - public Response changeDeviceStatus( - @QueryParam("deviceId") String deviceId, - @QueryParam("nextStatus") EnrolmentInfo.Status nextStatus) { - - try { - if (nextStatus == null) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Next status is required") - .build()).build(); - } - RequestValidationUtil.validateDeviceIdentifier(Constants.ANY, deviceId); - DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); - Device device = dms.getDevice(deviceId, false); - if (device == null) { - String message = "Device does not exist with id '" + deviceId + "'"; - log.error(message); - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); - } - LifecycleStateDevice updatedInfo = DeviceMgtAPIUtils.getDeviceStateManagementService() - .changeDeviceStatus(device.getEnrolmentInfo(), nextStatus); - return Response.status(Response.Status.OK).entity(updatedInfo).build(); - } catch (InvalidStatusException e) { - String msg = "Error occured while changing status: Invalid status or invalid status change"; - log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); - } catch (DeviceManagementException e) { - String msg = "Error occurred while getting the device '" + deviceId + "'"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } catch (DeviceStatusException e) { - String msg = "Error occurred while getting device Status"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - } - - /** - * Get the devicelifecycle history - * - * @param type Device type - * @param deviceId Device id - * @param offset is starting number of the record which we want tot get - * @param limit is the number of records we want starting from offset - * @return lifecycle history - */ - - @Override - @GET - @Path("/{type}/{deviceId}/lifecycle") - public Response getDeviceLifecycle( - @PathParam("type") String type, - @PathParam("deviceId") String deviceId, - @QueryParam("offset") int offset, - @QueryParam("limit") int limit) { - - try { - RequestValidationUtil.validatePaginationParameters(offset, limit); - PaginationRequest request = new PaginationRequest(offset, limit); - - RequestValidationUtil.validateDeviceIdentifier(type, deviceId); - DeviceManagementProviderService deviceManagementProviderService = - DeviceMgtAPIUtils.getDeviceManagementService(); - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(deviceId, type); - Device device = deviceManagementProviderService.getDevice(deviceIdentifier, false); - if (device == null) { - return Response.status(Response.Status.NOT_FOUND).build(); - } - LifecycleStateDeviceList states = new LifecycleStateDeviceList(); - PaginationResult result = DeviceMgtAPIUtils.getDeviceStateManagementService() - .getDeviceLifecycleHistory(request, device); - states.setLifecycleStates((List) result.getData()); - states.setCount(result.getRecordsTotal()); - return Response.status(Response.Status.OK).entity(states).build(); - } catch (DeviceManagementException e) { - String msg = "Error occurred while getting the device '" + deviceId + "'"; - log.error(msg); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } catch (DeviceStatusException e) { - String msg = "Error occurred while getting device Status"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } - } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java index 95fadfb4526..d7462993a92 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/Constants.java @@ -58,7 +58,6 @@ public class Constants { "core.polcy.AndroidPolicyPayloadValidator"; public static final String IOS = "ios"; public static final String WINDOWS = "windows"; - public static final String ANY = "any"; public final class OperationStatus { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 5806d948c16..92bc2790d49 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -86,7 +86,6 @@ import org.wso2.carbon.device.mgt.core.permission.mgt.PermissionUtils; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; -import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.traccar.api.service.DeviceAPIClientService; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeVersionWrapper; @@ -272,18 +271,6 @@ public class DeviceMgtAPIUtils { } } - public static DeviceStateManagementService getDeviceStateManagementService() { - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - DeviceStateManagementService deviceStateManagementService = - (DeviceStateManagementService) ctx.getOSGiService(DeviceStateManagementService.class, null); - if (deviceStateManagementService == null) { - String msg = "DeviceStateManagementService service has not initialized."; - log.error(msg); - throw new IllegalStateException(msg); - } - return deviceStateManagementService; - } - public static DeviceManagementProviderService getDeviceManagementService() { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); DeviceManagementProviderService deviceManagementProviderService = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java index 3bbaf472507..154594678c7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java @@ -28,7 +28,6 @@ public final class DeviceManagementConstants { public static final String SECURE_VAULT_NS = "http://org.wso2.securevault/configuration"; public static final String DEVICE_CONFIG_XML_NAME = "cdm-config.xml"; public static final String UI_CONFIG_XML_NAME = "mdm-ui-config.xml"; - public static final String DEVICE_LIFECYCLE_STATES_XML_NAME = "lifecycle-states.xml"; } public static final class SecureValueProperties { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java deleted file mode 100644 index 4cdcf474928..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/LifecycleStateDevice.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.common; - -import java.util.Date; - -/** - * Information of the device lifecycle - */ -public class LifecycleStateDevice { - - private int deviceId; - private String currentStatus; - private String previousStatus; - private String updatedBy; - private Date updatedAt; - - public LifecycleStateDevice() { - } - - public LifecycleStateDevice(int deviceId, String currentStatus, String previousStatus, String updatedBy, - Date updatedAt) { - this.deviceId = deviceId; - this.currentStatus = currentStatus; - this.previousStatus = previousStatus; - this.updatedBy = updatedBy; - this.updatedAt = updatedAt; - } - - public String getCurrentStatus() { - return currentStatus; - } - - public void setCurrentStatus(String currentStatus) { - this.currentStatus = currentStatus; - } - - public String getPreviousStatus() { - return previousStatus; - } - - public void setPreviousStatus(String previousStatus) { - this.previousStatus = previousStatus; - } - - public String getUpdatedBy() { - return updatedBy; - } - - public void setUpdatedBy(String updatedBy) { - this.updatedBy = updatedBy; - } - - public Date getUpdatedAt() { - return updatedAt; - } - - public void setUpdatedAt(Date updatedAt) { - this.updatedAt = updatedAt; - } - - public int getDeviceId() { - return deviceId; - } - - public void setDeviceId(int deviceId) { - this.deviceId = deviceId; - } - - @Override - public String toString() { - return "LifecycleStateDevice{" + - "deviceId=" + deviceId + - ", currentStatus='" + currentStatus + '\'' + - ", previousStatus='" + previousStatus + '\'' + - ", updatedBy='" + updatedBy + '\'' + - ", updatedAt=" + updatedAt + - '}'; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java deleted file mode 100644 index e625c3a8c6d..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/configuration/mgt/DeviceLifecycleState.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, 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. - * - */ -/* - * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.common.configuration.mgt; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import java.util.List; - -/** - * Bean of the DeviceLifecycleState - */ -@XmlRootElement(name = "LifecycleState") -public class DeviceLifecycleState { - - private String name; - private List proceedingStates; - - @XmlAttribute(name = "name") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @XmlElementWrapper(name = "ProceedingStates") - @XmlElement(name = "State") - public List getProceedingStates() { - return proceedingStates; - } - - public void setProceedingStates(List proceedingStates) { - this.proceedingStates = proceedingStates; - } - - @Override - public String toString() { - return "DeviceLifecycleState{" + - "name='" + name + '\'' + - ", proceedingStates=" + proceedingStates + - '}'; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java deleted file mode 100644 index 63a80b7fff9..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/DeviceStatusException.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.common.exceptions; - -public class DeviceStatusException extends Exception{ - - private static final long serialVersionUID = 1608833587090532707L; - - public DeviceStatusException() { - } - - public DeviceStatusException(String msg, Exception nestedEx) { - super(msg, nestedEx); - } - - - public DeviceStatusException(String message) { - super(message); - } - - public DeviceStatusException(String message, Throwable cause) { - super(message, cause); - } - - public DeviceStatusException(Throwable cause) { - super(cause); - } - - public DeviceStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java deleted file mode 100644 index 35f454da739..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/InvalidStatusException.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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.device.mgt.common.exceptions; - -public class InvalidStatusException extends Exception{ - - private static final long serialVersionUID = -7379721600057895944L; - - - public InvalidStatusException() { - } - - public InvalidStatusException(String message) { - super(message); - } - - public InvalidStatusException(String message, Throwable cause) { - super(message, cause); - } - - public InvalidStatusException(Throwable cause) { - super(cause); - } - - public InvalidStatusException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } - - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java index 0ea2660762e..027ddd2417c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java @@ -40,7 +40,6 @@ public class DeviceConfigurationManager { private static final String DEVICE_MGT_CONFIG_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + DeviceManagementConstants.DataSourceProperties.DEVICE_CONFIG_XML_NAME; - private static final String DEVICE_MGT_CONFIG_SCHEMA_PATH = "resources/config/schema/device-mgt-config-schema.xsd"; public static DeviceConfigurationManager getInstance() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java deleted file mode 100644 index b1484abc086..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfig.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.config.lifecycleState; - -import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import java.util.List; - -/** - * Represents Device lifecycle status configuration. - */ -@XmlRootElement(name = "LifecycleManagementConfiguration") -public class DeviceLifecycleConfig { - - private List deviceLifecycleStates; - - @XmlElementWrapper(name = "LifecycleStates") - @XmlElement(name = "LifecycleState") - public List getDeviceLifecycleStates() { - return deviceLifecycleStates; - } - - public void setDeviceLifecycleStates(List deviceLifecycleStates) { - this.deviceLifecycleStates = deviceLifecycleStates; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java deleted file mode 100644 index 3d0ae0b25f7..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/lifecycleState/DeviceLifecycleConfigManager.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.config.lifecycleState; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; -import org.wso2.carbon.utils.CarbonUtils; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import java.io.File; - -/** - * Class responsible for the LifecycleStates configuration initialization. - */ -public class DeviceLifecycleConfigManager { - - private static final Log log = LogFactory.getLog(DeviceLifecycleConfigManager.class); - private DeviceLifecycleConfig deviceLifecycleConfig; - private static volatile DeviceLifecycleConfigManager deviceLifecycleConfigManager; - private static final String DEVICE_LIFECYCLE_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator - + DeviceManagementConstants.DataSourceProperties.DEVICE_LIFECYCLE_STATES_XML_NAME; - - private DeviceLifecycleConfigManager() { - } - - public static DeviceLifecycleConfigManager getInstance() { - if (deviceLifecycleConfigManager == null) { - synchronized (DeviceLifecycleConfigManager.class) { - if (deviceLifecycleConfigManager == null) { - deviceLifecycleConfigManager = new DeviceLifecycleConfigManager(); - try { - deviceLifecycleConfigManager.initConfig(); - } catch (Exception e) { - log.error(e); - } - } else { - try { - deviceLifecycleConfigManager.initConfig(); - } catch (Exception e) { - log.error(e); - } - } - } - } - return deviceLifecycleConfigManager; - } - - public synchronized void initConfig() { - try { - File deviceLifecycleConfig = new File(DEVICE_LIFECYCLE_PATH); - JAXBContext jaxbContext = JAXBContext.newInstance(DeviceLifecycleConfig.class); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - this.deviceLifecycleConfig = (DeviceLifecycleConfig) unmarshaller.unmarshal(deviceLifecycleConfig); - - } catch (JAXBException e) { - String msg = "Error occured while initializing deviceLifecycle config"; - log.error(msg, e); - throw new RuntimeException(e); - } catch (Exception e) { - String msg = "Error(Exception) occured while initializing deviceLifecycle config"; - log.error(msg, e); - throw new RuntimeException(e); - } - } - - public DeviceLifecycleConfig getDeviceLifecycleConfig() { - return deviceLifecycleConfig; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java deleted file mode 100644 index 88039e119b2..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceLifecycleDAO.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.dao; - -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; - -import java.util.List; - -/** - * Device status relevent DAO activity - */ -public interface DeviceLifecycleDAO { - - /** - * can change the relevent device's status - * - * @param enrolmentId Enrolment Id - * @param status changing status - * @param tenantId tenantId - * @return true or false - * @throws DeviceManagementDAOException when device no found - */ - boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) throws DeviceManagementDAOException; - - /** - * Add the changed status - * - * @param enrolmentId Enrolment Id - * @param currentStatus Current Status - * @param previousStatus Previous Status - * @param deviceId Id of the device - * @return Added or not, true or false - * @throws DeviceManagementDAOException When device not found - */ - boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, - int deviceId) throws DeviceManagementDAOException; - - /** - * Get Device ID - * - * @param enrolmentId Enrolment ID - * @return Device id - * @throws DeviceManagementDAOException when device not found - */ - int getDeviceId(int enrolmentId) throws DeviceManagementDAOException; - - /** - * Get the lifecycle history of the device - * - * @param id id of the device - * @return List of LifecycleStateDevice - */ - List getDeviceLifecycle(int id) throws DeviceManagementDAOException; -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java index 5157860705f..cbd7c697f4a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java @@ -125,10 +125,6 @@ public class DeviceManagementDAOFactory { return new EnrollmentDAOImpl(); } - public static DeviceLifecycleDAO getDeviceLifecycleDAO() { - return new DeviceLifecycleDAOImpl(); - } - public static TrackerDAO getTrackerDAO() { if (databaseEngine != null) { switch (databaseEngine) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java deleted file mode 100644 index d01960383f5..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceLifecycleDAOImpl.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.dao.impl; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.LifecycleStateDevice; -import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class DeviceLifecycleDAOImpl implements DeviceLifecycleDAO { - - private static final Log log = LogFactory.getLog(DeviceLifecycleDAOImpl.class); - - private Connection getConnection() throws SQLException { - return DeviceManagementDAOFactory.getConnection(); - } - - @Override - public boolean changeStatus(int enrolmentId, EnrolmentInfo.Status status, int tenantId) - throws DeviceManagementDAOException { - Connection conn; - PreparedStatement stmt = null; - Timestamp updateTime = new Timestamp(new Date().getTime()); - try { - conn = this.getConnection(); - String sql = "UPDATE DM_ENROLMENT SET STATUS = ?, DATE_OF_LAST_UPDATE = ? WHERE ID = ? AND TENANT_ID = ?"; - stmt = conn.prepareStatement(sql); - stmt.setString(1, status.toString()); - stmt.setTimestamp(2, updateTime); - stmt.setInt(3, enrolmentId); - stmt.setInt(4, tenantId); - int updatedRowCount = stmt.executeUpdate(); - if (updatedRowCount != 1) { - throw new DeviceManagementDAOException("Error occurred while setting the status of device enrolment: " + - updatedRowCount + " rows were updated instead of one row!!!"); - } - } catch (SQLException e) { - String msg = "Error occurred while changing status of the device which has " + enrolmentId + " enrolmentId"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return true; - } - - @Override - public boolean addStatus(int enrolmentId, EnrolmentInfo.Status currentStatus, EnrolmentInfo.Status previousStatus, - int deviceId) throws DeviceManagementDAOException { - Connection conn; - String changedBy = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); - if (changedBy == null) { - changedBy = DeviceManagementConstants.MaintenanceProperties.MAINTENANCE_USER; - } - PreparedStatement stmt = null; - Timestamp updateTime = new Timestamp(new Date().getTime()); - try { - conn = this.getConnection(); - String sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, " + - "PREVIOUS_STATUS) VALUES(?, ?, ?, ?, ?, ?)"; - stmt = conn.prepareStatement(sql); - stmt.setInt(1, enrolmentId); - stmt.setInt(2, deviceId); - stmt.setString(3, currentStatus.toString()); - stmt.setTimestamp(4, updateTime); - stmt.setString(5, changedBy); - stmt.setString(6, previousStatus.toString()); - stmt.executeUpdate(); - } catch (SQLException e) { - String msg = "Error occurred while inserting device lifecycle"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return true; - } - - public int getDeviceId(int enrolmentId) throws DeviceManagementDAOException { - int deviceId; - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - try { - conn = this.getConnection(); - String sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; - stmt = conn.prepareStatement(sql); - stmt.setInt(1, enrolmentId); - rs = stmt.executeQuery(); - if (rs.next()) { - deviceId = rs.getInt("DEVICE_ID"); - } else { - // if there were no records corresponding to the enrolment id this is a problem. i.e. enrolment - // id is invalid - throw new DeviceManagementDAOException("Error occurred while getting the status of device enrolment: " + - "no record for enrolment id " + enrolmentId); - } - } catch (SQLException e) { - String msg = "Error occurred while getiing the device if which has " + enrolmentId + " enrolmentId"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); - } - return deviceId; - } - - @Override - public List getDeviceLifecycle(int id) throws DeviceManagementDAOException { - List result = new ArrayList<>(); - Connection conn; - PreparedStatement stmt = null; - ResultSet rs = null; - try { - conn = this.getConnection(); - String sql = "SELECT DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY, PREVIOUS_STATUS FROM DM_DEVICE_STATUS " + - "WHERE DEVICE_ID = ?"; - - stmt = conn.prepareStatement(sql); - stmt.setInt(1, id); - rs = stmt.executeQuery(); - - while (rs.next()) { - LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice( - rs.getInt("DEVICE_ID"), - rs.getString("STATUS"), - rs.getString("PREVIOUS_STATUS"), - rs.getString("CHANGED_BY"), - new Date(rs.getTimestamp("UPDATE_TIME").getTime()) - ); - result.add(lifecycleStateDevice); - } - } catch (SQLException e) { - String msg = "Error occurred while getiing the device lifecycle which has " + id + " deviceId"; - log.error(msg, e); - throw new DeviceManagementDAOException(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return result; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java index 2ae2fb8b60a..7b3e08cd509 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/EnrollmentDAOImpl.java @@ -348,7 +348,7 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { DeviceManagementDAOUtil.cleanupResources(stmt, null); // if there was no record for the enrolment or the previous status is not the same as the current status // we'll add a record - if (previousStatus == null || previousStatus != status) { + if (previousStatus == null || previousStatus != status){ if (deviceId == -1) { // we need the device id in order to add a new record, therefore we get it from the enrolment table sql = "SELECT DEVICE_ID FROM DM_ENROLMENT WHERE ID = ?"; @@ -364,16 +364,8 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { } DeviceManagementDAOUtil.cleanupResources(stmt, null); } - sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY"; - if (previousStatus != null) { - sql += ", PREVIOUS_STATUS"; - } - sql += ") VALUES(?, ?, ?, ?, ?"; - if (previousStatus != null) { - sql += ", ?"; - } - sql += ")"; + sql = "INSERT INTO DM_DEVICE_STATUS (ENROLMENT_ID, DEVICE_ID, STATUS, UPDATE_TIME, CHANGED_BY) VALUES(?, ?, ?, ?, ?)"; stmt = conn.prepareStatement(sql); Timestamp updateTime = new Timestamp(new Date().getTime()); stmt.setInt(1, enrolmentId); @@ -381,10 +373,9 @@ public class EnrollmentDAOImpl implements EnrollmentDAO { stmt.setString(3, status.toString()); stmt.setTimestamp(4, updateTime); stmt.setString(5, changedBy); - if (previousStatus != null) { - stmt.setString(6, previousStatus.toString()); - } - stmt.executeUpdate(); + stmt.execute(); + } else { + // no need to update status since the last recorded status is the same as the current status } } catch (SQLException e) { throw new DeviceManagementDAOException("Error occurred while setting the status of device", e); 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 a5331d3c0ef..6a69cb02ba5 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 @@ -34,7 +34,6 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeServiceIdentifier; import org.wso2.carbon.device.mgt.core.geo.task.GeoFenceEventOperationManager; -import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.operation.timeout.task.OperationTimeoutTaskManagerService; import org.wso2.carbon.device.mgt.core.privacy.PrivacyComplianceProvider; import org.wso2.carbon.device.mgt.core.push.notification.mgt.PushNotificationProviderRepository; @@ -87,7 +86,6 @@ public class DeviceManagementDataHolder { private OperationTimeoutTaskManagerService operationTimeoutTaskManagerService; private DeviceAPIClientService deviceAPIClientService; - private DeviceLifecycleStateManager deviceLifecycleStateManager; private final Map deviceStatusTaskPluginConfigs = Collections.synchronizedMap( new HashMap<>()); @@ -361,12 +359,4 @@ public class DeviceManagementDataHolder { public void setDeviceAPIClientService(DeviceAPIClientService deviceAPIClientService) { this.deviceAPIClientService = deviceAPIClientService; } - - public DeviceLifecycleStateManager getDeviceLifecycleStateManager() { - return deviceLifecycleStateManager; - } - - public void setDeviceLifecycleStateManager(DeviceLifecycleStateManager deviceLifecycleStateManager) { - this.deviceLifecycleStateManager = deviceLifecycleStateManager; - } } 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 1efe03c5f9d..a266a40499d 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,7 +25,6 @@ import org.osgi.service.component.ComponentContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; -import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfigurationManagementService; import org.wso2.carbon.device.mgt.common.event.config.EventConfigurationProviderService; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; @@ -49,7 +48,6 @@ import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationSe 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.lifecycleState.DeviceLifecycleConfigManager; import org.wso2.carbon.device.mgt.core.config.tenant.PlatformConfigurationManagementServiceImpl; import org.wso2.carbon.device.mgt.core.config.ui.UIConfigurationManager; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; @@ -60,7 +58,6 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag import org.wso2.carbon.device.mgt.core.device.details.mgt.impl.DeviceInformationManagerImpl; import org.wso2.carbon.device.mgt.core.event.config.EventConfigurationProviderServiceImpl; import org.wso2.carbon.device.mgt.core.geo.service.GeoLocationProviderServiceImpl; -import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; import org.wso2.carbon.device.mgt.core.metadata.mgt.MetadataManagementServiceImpl; import org.wso2.carbon.device.mgt.core.metadata.mgt.dao.MetadataManagementDAOFactory; import org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImpl; @@ -79,8 +76,6 @@ import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.impl.SearchManagerServiceImpl; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl; -import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementService; -import org.wso2.carbon.device.mgt.core.service.DeviceStateManagementServiceImpl; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService; @@ -279,19 +274,6 @@ public class DeviceManagementServiceComponent { if (log.isDebugEnabled()) { log.debug("Device management core bundle has been successfully initialized"); } - - /* Initializing DeviceLifecycleState Configuration */ - List deviceLifecycleStates = DeviceLifecycleConfigManager.getInstance(). - getDeviceLifecycleConfig().getDeviceLifecycleStates(); - DeviceLifecycleStateManager deviceLifecycleStateManager = new DeviceLifecycleStateManager(); - deviceLifecycleStateManager.init(deviceLifecycleStates); - DeviceManagementDataHolder.getInstance().setDeviceLifecycleStateManager(deviceLifecycleStateManager); - componentContext.getBundleContext().registerService(DeviceLifecycleStateManager.class.getName(), - deviceLifecycleStateManager, null); - - DeviceStateManagementService deviceStateManagementService = new DeviceStateManagementServiceImpl(); - componentContext.getBundleContext().registerService(DeviceStateManagementService.class.getName(), - deviceStateManagementService, null); } catch (Throwable e) { log.error("Error occurred while initializing device management core bundle", e); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java deleted file mode 100644 index 3bf86d35f00..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/lifeCycle/DeviceLifecycleStateManager.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.lifeCycle; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.configuration.mgt.DeviceLifecycleState; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/* this class has the methods to check whether the status is valid or status change is valid -deviceLifecycleStates details are coming from lifecycle-states.xml file*/ -public class DeviceLifecycleStateManager { - private Map deviceLifecycleStates; - private static final Log log = LogFactory.getLog(DeviceLifecycleStateManager.class); - - public Map getDeviceLifecycleStates() { - return deviceLifecycleStates; - } - - public void setDeviceLifecycleStates(Map deviceLifecycleStates) { - this.deviceLifecycleStates = deviceLifecycleStates; - } - - public void init(List states) { - deviceLifecycleStates = new HashMap<>(); - for (DeviceLifecycleState deviceLifecycleState : states) { - deviceLifecycleStates.put(deviceLifecycleState.getName(), deviceLifecycleState); - } - } - - public List getNextLifecycleStates(String currentLifecycleState) { - return deviceLifecycleStates.get(currentLifecycleState).getProceedingStates(); - } - - public boolean isValidStateChange(String currentStatus, String nextStatus) { - boolean validChange = false; - List proceedingstates = deviceLifecycleStates.get(currentStatus).getProceedingStates(); - for (String proceedingState : proceedingstates) { - if (proceedingState.equals(nextStatus)) { - validChange = true; - break; - } - } - return validChange; - } - - public boolean isValidState(String nextStatus) { - boolean isValid = false; - List states = new ArrayList<>(deviceLifecycleStates.keySet()); - for (String state : states) { - if (state.equals(nextStatus)) { - isValid = true; - break; - } - } - return isValid; - } -} 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 dfeaa0fb5b2..7bb7e7c6273 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 @@ -2123,11 +2123,10 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv log.debug("get status history of device: " + device.getDeviceIdentifier()); } try { - DeviceManagementDAOFactory.openConnection(); int tenantId = this.getTenantId(); return deviceStatusDAO.getStatus(device.getId(), tenantId, fromDate, toDate, billingStatus); } catch (DeviceManagementDAOException e) { -// DeviceManagementDAOFactory.rollbackTransaction(); + DeviceManagementDAOFactory.rollbackTransaction(); String msg = "Error occurred while retrieving status history"; log.error(msg, e); throw new DeviceManagementException(msg, e); @@ -2135,8 +2134,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv String msg = "Error occurred in retrieving status history for device :" + device.getDeviceIdentifier(); log.error(msg, e); throw new DeviceManagementException(msg, e); - } finally { - DeviceManagementDAOFactory.closeConnection(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java deleted file mode 100644 index 6bd87cd294d..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementService.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.service; - -import org.wso2.carbon.device.mgt.common.*; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; - -import java.util.List; - -/** - * This interface manages the device lifecycle, such as status change and add status to table - */ -public interface DeviceStateManagementService { - - /** - * This method change the device status and store it in a table - * - * @param enrolmentInfo Enrollment Information about the device - * @param nextStatus Next status of the device - * @return LifecycleStateDevice which contain current and previous status - * @throws InvalidStatusException If there is a invalid status or invalid status change - * @throws DeviceManagementDAOException if the device cannot be found - */ - LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) - throws InvalidStatusException, DeviceStatusException; - - /** - * Get the lifecycle history of the relevant device - * - * @param device Device - * @return List of LifecycleStateDevice - */ - PaginationResult getDeviceLifecycleHistory(PaginationRequest request, Device device) throws DeviceStatusException; -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java deleted file mode 100644 index 63ba1e6366e..00000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceStateManagementServiceImpl.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (c) 2023, 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.device.mgt.core.service; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.context.CarbonContext; -import org.wso2.carbon.device.mgt.common.*; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceStatusException; -import org.wso2.carbon.device.mgt.common.exceptions.IllegalTransactionStateException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidStatusException; -import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException; -import org.wso2.carbon.device.mgt.core.dao.DeviceLifecycleDAO; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; -import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; -import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; -import org.wso2.carbon.device.mgt.core.lifeCycle.DeviceLifecycleStateManager; -import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; - -import java.sql.SQLException; -import java.util.List; - -public class DeviceStateManagementServiceImpl implements DeviceStateManagementService { - - private static final Log log = LogFactory.getLog(DeviceStateManagementServiceImpl.class); - private final DeviceLifecycleDAO deviceLifecycleDAO; - private final DeviceLifecycleStateManager deviceLifecycleStateManager; - - public DeviceStateManagementServiceImpl() { - this.deviceLifecycleDAO = DeviceManagementDAOFactory.getDeviceLifecycleDAO(); - deviceLifecycleStateManager = DeviceManagementDataHolder.getInstance().getDeviceLifecycleStateManager(); - } - - @Override - public LifecycleStateDevice changeDeviceStatus(EnrolmentInfo enrolmentInfo, EnrolmentInfo.Status nextStatus) throws - InvalidStatusException, DeviceStatusException { - LifecycleStateDevice lifecycleStateDevice = new LifecycleStateDevice(); - EnrolmentInfo.Status currentStatus = enrolmentInfo.getStatus(); - if (deviceLifecycleStateManager.isValidState(nextStatus.toString())){ - if (deviceLifecycleStateManager.isValidStateChange(currentStatus.toString(), nextStatus.toString())) { - lifecycleStateDevice.setCurrentStatus(nextStatus.toString()); - lifecycleStateDevice.setPreviousStatus(currentStatus.toString()); - } else { - String msg ="'" + currentStatus + "' to '" + nextStatus + "' is not a valid Status change. Enter " + - "valid Status"; - log.error(msg); - throw new InvalidStatusException(msg); - } - } else { - String msg = "'" + nextStatus +"' is not a valid Status. Check the Status"; - log.error(msg); - throw new InvalidStatusException(msg); - } - int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); - int enrolmentId = enrolmentInfo.getId(); - try { - DeviceManagementDAOFactory.beginTransaction(); - int deviceId = deviceLifecycleDAO.getDeviceId(enrolmentId); - deviceLifecycleDAO.changeStatus(enrolmentId, EnrolmentInfo.Status.valueOf( - lifecycleStateDevice.getCurrentStatus()), tenantId); - deviceLifecycleDAO.addStatus(enrolmentId, - EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getCurrentStatus()), - EnrolmentInfo.Status.valueOf(lifecycleStateDevice.getPreviousStatus()), deviceId); - DeviceManagementDAOFactory.commitTransaction(); - return lifecycleStateDevice; - } catch (DeviceManagementDAOException e) { - DeviceManagementDAOFactory.rollbackTransaction(); - String msg = "Error occurred in updating status or storing device status"; - log.error(msg, e); - throw new DeviceStatusException(msg, e); - } catch (IllegalTransactionStateException e) { - String msg = "Error occurred while updating and storing(Transaction Error) device status"; - log.error(msg, e); - throw new DeviceStatusException(msg, e); - } catch (TransactionManagementException e) { - String msg = "Error occurred in DeviceManagementDAOFactory"; - log.error(msg, e); - throw new InvalidStatusException(msg, e); - } finally { - DeviceManagementDAOFactory.closeConnection(); - } - } - - @Override - public PaginationResult getDeviceLifecycleHistory(PaginationRequest request, Device device) throws DeviceStatusException { - int id = device.getId(); - PaginationResult paginationResult = new PaginationResult(); - try { - DeviceManagementDAOFactory.openConnection(); - List listLifecycle = deviceLifecycleDAO.getDeviceLifecycle(id); - paginationResult.setData(listLifecycle); - return paginationResult; - } catch (DeviceManagementDAOException e) { - String msg = "Error occurred while getting lifrcycle history"; - log.error(msg, e); - throw new DeviceStatusException(msg, e); - } catch (SQLException e) { - throw new RuntimeException(e); - } finally { - DeviceManagementDAOFactory.closeConnection(); - } - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql index 8682e9e7db9..d3b81f2655c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/h2.sql @@ -106,14 +106,12 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, - PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_status_device FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); - CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml deleted file mode 100644 index 3954e9b8494..00000000000 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/lifecycle-states.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - ACTIVE - - - - - UNREACHABLE - REMOVED - - - - - INACTIVE - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - REMOVED - - - - - ACTIVE - CREATED - - - - \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 151d03081c6..d36e26a3ccb 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -124,7 +124,6 @@ perm:users:send-invitation perm:admin-users:view perm:admin:devices:update-enrollment - perm:admin:devices:change-status perm:groups:devices perm:groups:update perm:groups:add diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index da7e7dbc345..0e8d1b8466d 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -115,14 +115,12 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, - PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_status_device FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_dm_device_status_enrolment FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE CASCADE ON UPDATE CASCADE ); - CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( ID INTEGER AUTO_INCREMENT NOT NULL, ENROLMENT_ID INTEGER NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql index f925e646f64..33ac7964dd4 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql @@ -129,7 +129,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_STATUS ( STATUS VARCHAR(50) DEFAULT NULL, UPDATE_TIME TIMESTAMP DEFAULT NULL, CHANGED_BY VARCHAR(255) NOT NULL, - PREVIOUS_STATUS VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_STATUS_DEVICE FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, From 0beeedef43b359e0bc4a631da279bee123d587af Mon Sep 17 00:00:00 2001 From: builder Date: Sat, 11 Feb 2023 23:48:21 +0530 Subject: [PATCH 041/101] [maven-release-plugin] prepare release v5.0.18 --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index d70c0ca1a65..149cb24c553 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 7f48ee778aa..72a0956016d 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index c72fe8330cf..cfc30412cbc 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index c7ca19233c7..fda27b127e4 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 8809ee9b530..86aebbb9de3 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 91c8be1b25c..c448b5b51c6 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 0178bb19911..a52faaa6837 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 35bca75691b..77a253cf508 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 24c985bc9e1..430a2434cc5 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 3dfae0fca95..0d780e1cbb7 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index bab6ad88216..b4f70369d81 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 6cfba47bdae..b397b338d54 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 24a88dd76a7..832e3347f98 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 3c5113bed4d..c27645f71bb 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 28e54812824..0714a804e35 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 568df11d300..9e8e8d35d8c 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index d5067a7ddf6..2283ff31b7c 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 06b79ff98b9..b41fec0519a 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index dede5f7b581..5bea6b5fcd5 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 425194fdeb9..dfe958e2ec9 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 85f44817739..0391ef10f80 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 4f187f8fcbb..ca93678df9b 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 24a2abb37bc..c6307139ede 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index ae5b8fb3fac..4ec96206799 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 6be2fd1060d..f5d685cad89 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 2d998a536a7..282d98a27ce 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index b0830a4e082..0c4e2082fc3 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index d871838af9f..4e178da28f3 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 6ea80a8a75a..9885475e653 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 9842d9288e7..3ad344e72c6 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 6916955830b..2b077b26391 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 5e3f99a9b4d..ff437f1bbfa 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index dea67ca1360..eb0524cd103 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index ba61e6e4120..77640fccce0 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index d4636fb38b8..7550460f996 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index b5d57d04a83..c0dc8b5f9d4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml 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 4c9290c51c0..7834e8ef29d 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml 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 index 38530d050d4..dd596d5aa34 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 6c5a37fbf05..c930679e3eb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 66d4b02d408..f2a7b7d5360 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 07205713d06..8fbff8b1e15 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 504d3fa9d0b..09ff63ecf1b 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index e16985f43b2..237621777a9 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 3c88ebb28bf..ad841ce353d 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 96864a53060..9aeb8bbc593 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 9a54d938327..b000d02ff0d 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 8942a3f9c91..c927a1788aa 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index f9edf1c7318..fecdf93cdc4 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index f397d1dcab7..b558eedb53f 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 7e34bc473a7..1051e389caa 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index d7acc0042e2..c33a16da949 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index b40a345a1f9..3cdad6a559c 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 81fd137a3ca..0abcbb5eaf8 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 08315e2d99a..f5888621f48 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 949f74355c4..d210e3f488b 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 20b72eb899b..759c4a3aa9a 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index b2da708556c..3d9b17894a9 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index d60ea0428fb..eb4286d4a34 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 8f76290333e..0449424ce27 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 59e9ba4d633..59fba106323 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index c0ea222c42b..44c89eedbfc 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 3b77ae690d6..bfcea2c67be 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 2cfbd7db64b..feaa327fcfe 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 9317c878f6a..7d7bfe8b40a 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index b8e7990ce8d..f7b9d2e4c69 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 091a8e7a539..03afaa09a7b 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index 36af5ae46e8..c3da9f41146 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index e1eb8b7f1e4..c6a3972329b 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 7eb12817b70..6df0b19524e 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index a95bd7942f8..5e616441592 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 0b1d61f93ad..302c5b2d1f9 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 35f13f08481..e472f56ed26 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 22ea84f4845..e5cca6ca25c 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index aa080a89e74..66568dd7de4 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 655b0041f30..35a55938d57 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index e694d461365..3cdd4efe4e8 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index c68e9fdfe20..3cedc0bc81e 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index d1c61af118d..b5faa2e042a 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 54127bb98d3..58f1709dc26 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 994b45fbbef..4b0d5343a58 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index bc15576bafd..d7b98c63a52 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index f13958625a9..c072cc016c5 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 8e45c0e8816..195d6fd2abb 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index a5c672cf0a8..97336473259 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 5518af85232..c661e19a755 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index c01e742a884..c881ae9c986 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 7f5ef9ee7e3..95cbd2def57 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 5394c4a505b..3fc3addf2c7 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 1dee95b8e88..d38b76c1d86 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml 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 eed7ea45c36..e921cdbd1d1 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index ccc3d1f8fb8..b847c601799 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index b7e70e5351b..f19c732b798 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 40fa9115785..b4af7ebd4ca 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 522369e3c39..9697ee08ec9 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 2dfc1e7e36c..6fbce1de5a4 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 8eaecd1417c..ebfbe07480a 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 8a7eab21959..14e43090150 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 50a0594de7f..de1e873201a 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index e0fc29c91ba..239348cb190 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 3c234dae47e..f7b2be5b0b7 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 1e6c5928a7e..f33cab13a2a 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index f9d362b1099..eac8a6b4943 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 48ed209d245..e132efa89ab 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index a15d3e971d7..3b8dd391af4 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 51a8067aaeb..9601dcce3a7 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index e1dd5f11906..58eae7c6d4e 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.18-SNAPSHOT + 5.0.18 ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index d435f128e33..c69ed1b7919 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18-SNAPSHOT + 5.0.18 ../../pom.xml diff --git a/pom.xml b/pom.xml index c067c38664a..60b20bb54c6 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.18-SNAPSHOT + 5.0.18 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - HEAD + v5.0.18 @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.18-SNAPSHOT + 5.0.18 4.7.35 From d715609b53614e7facef15fcca6cb17a0139b270 Mon Sep 17 00:00:00 2001 From: builder Date: Sat, 11 Feb 2023 23:48:28 +0530 Subject: [PATCH 042/101] [maven-release-plugin] prepare for next development iteration --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 149cb24c553..a4c2ac45857 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 72a0956016d..d9627dd4c68 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index cfc30412cbc..1023761e3d8 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index fda27b127e4..5e099a54460 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 86aebbb9de3..226f71a2819 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index c448b5b51c6..a2e6d02ffd5 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index a52faaa6837..3f29d8f5db2 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 77a253cf508..1db14c86db6 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 430a2434cc5..97835e7c804 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 0d780e1cbb7..f748dad9a96 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index b4f70369d81..24fa878e3bc 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index b397b338d54..daf70f88415 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 832e3347f98..ef34a74787d 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index c27645f71bb..5b4ce2177a4 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 0714a804e35..729c04a0ea7 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 9e8e8d35d8c..a888a0bdf41 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 2283ff31b7c..8883120c43c 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index b41fec0519a..8d638df716d 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 5bea6b5fcd5..0ead8b8a9b0 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index dfe958e2ec9..9713c4ea128 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 0391ef10f80..7c181847150 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index ca93678df9b..0e9b4a4ed87 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index c6307139ede..941d82d4562 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 4ec96206799..50d7f13304b 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index f5d685cad89..7584058970f 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 282d98a27ce..e618a386bdc 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 0c4e2082fc3..899044e147b 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 4e178da28f3..b9534c9c9c2 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 9885475e653..adcb08c8772 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 3ad344e72c6..204498ea3c3 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 2b077b26391..ec4d7cb47ba 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index ff437f1bbfa..f80fcbeb1eb 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index eb0524cd103..fec507492f7 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 77640fccce0..95bb7c668ba 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 7550460f996..b49c7a0299c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index c0dc8b5f9d4..3b686fe6e34 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml 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 7834e8ef29d..ef94adce4a8 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml 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 index dd596d5aa34..a1e6a0b4e4b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index c930679e3eb..9ba77c4ad9d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index f2a7b7d5360..436a192834d 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 8fbff8b1e15..5a489fb74ea 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 09ff63ecf1b..22913f50e26 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 237621777a9..700239506b8 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index ad841ce353d..507cea2e64b 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 9aeb8bbc593..586de2b47cc 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index b000d02ff0d..609d10008f9 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index c927a1788aa..b02dbd7da21 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index fecdf93cdc4..bca206470be 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index b558eedb53f..96a877190f0 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 1051e389caa..bf5ec91c3dc 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index c33a16da949..00d9b8a2c40 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 3cdad6a559c..e1a7bcc483f 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 0abcbb5eaf8..810bdfb7386 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index f5888621f48..ae2099e21c3 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index d210e3f488b..e3efb077d67 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 759c4a3aa9a..8afeac3dde6 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 3d9b17894a9..4fa91b3806f 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index eb4286d4a34..25a4af38362 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 0449424ce27..6cae6f9ff97 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 59fba106323..40949615c21 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 44c89eedbfc..4dabfd8d693 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index bfcea2c67be..eb5aad04182 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index feaa327fcfe..d4093bac561 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 7d7bfe8b40a..d8a88dc1953 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index f7b9d2e4c69..ab71844dcba 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 03afaa09a7b..976aa4ee7e9 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index c3da9f41146..67e12db3ba6 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index c6a3972329b..af74908a4f8 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 6df0b19524e..35b22f42c34 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 5e616441592..c2710d96ec0 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 302c5b2d1f9..79523aa6a67 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index e472f56ed26..c50d691b8bb 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index e5cca6ca25c..d09c299956e 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 66568dd7de4..0b9c94a5d65 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 35a55938d57..d2099ed0f1f 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 3cdd4efe4e8..57a12c2de78 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 3cedc0bc81e..1195be8f818 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index b5faa2e042a..5b03d5ab3c6 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 58f1709dc26..432994a184a 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 4b0d5343a58..6c1a9076f28 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index d7b98c63a52..0868ada649d 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index c072cc016c5..c9e3a0c5602 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 195d6fd2abb..26329987062 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 97336473259..744eb2e76a4 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index c661e19a755..e63d2d25958 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index c881ae9c986..dcec1c1ce2b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 95cbd2def57..7389b0116e1 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 3fc3addf2c7..f7ce8375e50 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index d38b76c1d86..c8ebd5527fa 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml 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 e921cdbd1d1..685671a6e8a 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index b847c601799..59a498ce343 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index f19c732b798..1f88d5b765b 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index b4af7ebd4ca..d477935ba8b 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 9697ee08ec9..5b8d527eb4e 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 6fbce1de5a4..b6898a23f36 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index ebfbe07480a..00da822151c 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 14e43090150..c4fc708bf5d 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index de1e873201a..62f9d465060 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 239348cb190..a57c1f50ebe 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index f7b2be5b0b7..fa38682e351 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index f33cab13a2a..86a55ac6108 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index eac8a6b4943..451992da88a 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index e132efa89ab..e7013c7d922 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index 3b8dd391af4..169058c88b7 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 9601dcce3a7..c5fc298b558 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 58eae7c6d4e..325623131f5 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.18 + 5.0.19-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index c69ed1b7919..a8ee0db8798 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.18 + 5.0.19-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 60b20bb54c6..0cc945f4838 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.18 + 5.0.19-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - v5.0.18 + HEAD @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.18 + 5.0.19-SNAPSHOT 4.7.35 From 9644dda7ef6e6e7b65279cb159bad9993db02b19 Mon Sep 17 00:00:00 2001 From: Pahansith Date: Wed, 15 Feb 2023 22:06:33 +0530 Subject: [PATCH 043/101] Remove device details loading while processing policies --- .../wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java index 66a71a84263..13e8665102e 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java @@ -1038,7 +1038,7 @@ public class PolicyManagerImpl implements PolicyManager { .getInstance().getDeviceManagementService(); List allDevices; try { - allDevices = deviceManagementService.getAllDevices(); + allDevices = deviceManagementService.getAllDevices(false); } catch (DeviceManagementException e) { throw new PolicyManagementException("Error occurred while getting the devices related to policy id (" + policyId + ")", e); From 9c3020fc77b6dc80e828321ee5e0003f28a4e857 Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Thu, 16 Feb 2023 13:37:19 +0530 Subject: [PATCH 044/101] Add improvements for chat feature --- .../core/metadata/mgt/MetadataManagementServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java index 7d7fd1d7c01..f82c5c32953 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java @@ -20,6 +20,7 @@ package org.wso2.carbon.device.mgt.core.metadata.mgt; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.PaginationResult; @@ -91,8 +92,12 @@ public class MetadataManagementServiceImpl implements MetadataManagementService } try { MetadataManagementDAOFactory.openConnection(); - return metadataDAO.getMetadata( - PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true), metaKey); + if (metaKey.equals("EVALUATE_TENANTS")){ + return metadataDAO.getMetadata(MultitenantConstants.SUPER_TENANT_ID, metaKey); + } else { + return metadataDAO.getMetadata( + PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true), metaKey); + } } catch (MetadataManagementDAOException e) { String msg = "Error occurred while retrieving the metadata entry for metaKey:" + metaKey; log.error(msg, e); From 2926c2e523a882877fa97a0b7541214e76422405 Mon Sep 17 00:00:00 2001 From: Pahansith Date: Thu, 16 Feb 2023 17:39:05 +0530 Subject: [PATCH 045/101] Add unique key constraint into AP_DEVICE_SUBSCRIPTION tables --- .../src/main/resources/dbscripts/cdm/application-mgt/h2.sql | 3 ++- .../src/main/resources/dbscripts/cdm/application-mgt/mssql.sql | 3 ++- .../src/main/resources/dbscripts/cdm/application-mgt/mysql.sql | 3 ++- .../resources/dbscripts/cdm/application-mgt/postgresql.sql | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql index bb85e18ffaf..f9c58618315 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql @@ -117,7 +117,8 @@ CREATE TABLE IF NOT EXISTS AP_DEVICE_SUBSCRIPTION( PRIMARY KEY (ID), CONSTRAINT fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1 FOREIGN KEY (AP_APP_RELEASE_ID) - REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION + REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT uq_AP_DEVICE_SUBSCRIPTION UNIQUE (DM_DEVICE_ID, AP_APP_RELEASE_ID) ); CREATE INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_DEVICE_SUBSCRIPTION (AP_APP_RELEASE_ID ASC); diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql index 754eaca1914..0c55006976f 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql @@ -118,7 +118,8 @@ CREATE TABLE AP_DEVICE_SUBSCRIPTION( PRIMARY KEY (ID), CONSTRAINT fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1 FOREIGN KEY (AP_APP_RELEASE_ID) - REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION + REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT uq_AP_DEVICE_SUBSCRIPTION UNIQUE (DM_DEVICE_ID, AP_APP_RELEASE_ID) ); CREATE INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_DEVICE_SUBSCRIPTION (AP_APP_RELEASE_ID ASC); diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql index 6070139961a..54ba58a9fe2 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql @@ -104,7 +104,8 @@ CREATE TABLE IF NOT EXISTS AP_DEVICE_SUBSCRIPTION( DM_DEVICE_ID INTEGER NOT NULL, AP_APP_RELEASE_ID INTEGER NOT NULL, PRIMARY KEY (ID), - CONSTRAINT fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1 FOREIGN KEY (AP_APP_RELEASE_ID) REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION + CONSTRAINT fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1 FOREIGN KEY (AP_APP_RELEASE_ID) REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT uq_AP_DEVICE_SUBSCRIPTION UNIQUE (DM_DEVICE_ID, AP_APP_RELEASE_ID) ); CREATE INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_DEVICE_SUBSCRIPTION (AP_APP_RELEASE_ID ASC); -- ----------------------------------------------------- diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/postgresql.sql b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/postgresql.sql index 946d720dfd5..e8e1dbb2250 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/postgresql.sql +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/postgresql.sql @@ -129,7 +129,8 @@ CREATE TABLE IF NOT EXISTS AP_DEVICE_SUBSCRIPTION( PRIMARY KEY (ID), CONSTRAINT fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1 FOREIGN KEY (AP_APP_RELEASE_ID) - REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION + REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT uq_AP_DEVICE_SUBSCRIPTION UNIQUE (DM_DEVICE_ID, AP_APP_RELEASE_ID) ); CREATE INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_DEVICE_SUBSCRIPTION (AP_APP_RELEASE_ID ASC); From 73d17e61a823c8b381fbaa7f3652e3bde9366ee8 Mon Sep 17 00:00:00 2001 From: builder Date: Thu, 16 Feb 2023 21:01:22 +0530 Subject: [PATCH 046/101] [maven-release-plugin] prepare release v5.0.19 --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index a4c2ac45857..be09bff55d1 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index d9627dd4c68..b65e14ea172 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 1023761e3d8..557cdf87225 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 5e099a54460..b6e06c8edb7 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 226f71a2819..9279bed7af2 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index a2e6d02ffd5..10a1d5de488 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 3f29d8f5db2..7720cce36dc 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 1db14c86db6..60e0c4174f9 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 97835e7c804..24cb494c905 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index f748dad9a96..ce7a6193c66 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 24fa878e3bc..15cf52497a7 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index daf70f88415..4fffb824436 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index ef34a74787d..6928f434a9d 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 5b4ce2177a4..0637c7a2775 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 729c04a0ea7..86522aeb1f5 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index a888a0bdf41..9365bc3917d 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 8883120c43c..3161b98b4d4 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 8d638df716d..5e770c54f54 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 0ead8b8a9b0..2f8315a4459 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 9713c4ea128..10a48fb4354 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 7c181847150..2297f2b97d8 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 0e9b4a4ed87..a1da82f3acb 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 941d82d4562..d20d5339977 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 50d7f13304b..b9a2f307f47 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 7584058970f..d708aeed48d 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index e618a386bdc..c45d588efdd 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 899044e147b..cb6cb5532a2 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index b9534c9c9c2..9d36c03ecab 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index adcb08c8772..fb3890c27d9 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 204498ea3c3..561c1586b95 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index ec4d7cb47ba..db7defec915 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index f80fcbeb1eb..27ba7a04831 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index fec507492f7..e439937da39 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 95bb7c668ba..2e05346f75c 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index b49c7a0299c..7b9645fd790 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 3b686fe6e34..289ef44aa0b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml 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 ef94adce4a8..b9a433bffdd 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml 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 index a1e6a0b4e4b..a71921687b6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 9ba77c4ad9d..b0f8c9ccb0b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 436a192834d..636bb913e08 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 5a489fb74ea..38bb0c67c78 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 22913f50e26..572a8177e8a 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 700239506b8..80a06eb3a50 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 507cea2e64b..97b2e3e9328 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 586de2b47cc..5867cfcad66 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 609d10008f9..1c1ae092622 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index b02dbd7da21..8552fd710f6 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index bca206470be..33494c170a6 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 96a877190f0..400003a73ba 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index bf5ec91c3dc..1c9e4dd2a84 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 00d9b8a2c40..60d69ff8178 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index e1a7bcc483f..87e44235bb9 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 810bdfb7386..cbbe2c33d14 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index ae2099e21c3..43de3506c7e 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index e3efb077d67..dd20da83eae 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 8afeac3dde6..7354e96a0bb 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 4fa91b3806f..62064d78cb1 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 25a4af38362..75f0e7ebbef 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 6cae6f9ff97..247be201787 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 40949615c21..3ca18429035 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 4dabfd8d693..f91ba43f5ab 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index eb5aad04182..e9c65076b21 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index d4093bac561..1ad9349c53a 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index d8a88dc1953..524acb6e4b4 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index ab71844dcba..3c47a9106e3 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 976aa4ee7e9..7f8ca9af9d2 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index 67e12db3ba6..bd4089b4495 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index af74908a4f8..1ed1703ab59 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 35b22f42c34..f8b5d1fa040 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index c2710d96ec0..96ab37129f8 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 79523aa6a67..40bbd032596 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index c50d691b8bb..4d645a6245a 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index d09c299956e..994fb598021 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 0b9c94a5d65..ff5ccd066c7 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index d2099ed0f1f..b29299d99db 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 57a12c2de78..6f707dcdd64 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 1195be8f818..66af5d4a764 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index 5b03d5ab3c6..e0409a3281d 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 432994a184a..11d60628e5c 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 6c1a9076f28..8eb8994de3a 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 0868ada649d..c8731d62c07 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index c9e3a0c5602..c4d5716bb6e 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 26329987062..e34c700117b 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 744eb2e76a4..1b9b382a863 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index e63d2d25958..b214bfab98a 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index dcec1c1ce2b..65251495353 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 7389b0116e1..08ceae48da2 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index f7ce8375e50..3e1cf443359 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index c8ebd5527fa..8539d27e5bb 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml 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 685671a6e8a..db6d1f99b0b 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 59a498ce343..5646cef9e22 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 1f88d5b765b..769333fab57 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index d477935ba8b..80edabf07db 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 5b8d527eb4e..bd3f516df16 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index b6898a23f36..8be354abc69 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 00da822151c..ad0fee7eb5a 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index c4fc708bf5d..6eb7615ca25 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 62f9d465060..84c39ce1b1a 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index a57c1f50ebe..b879072dffc 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index fa38682e351..9333bae29ec 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 86a55ac6108..a80cf898ed9 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index 451992da88a..cec65734154 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index e7013c7d922..15fc2dbf073 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index 169058c88b7..ee84fb20aee 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index c5fc298b558..65e06ee49c6 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 325623131f5..8a43256669e 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.19-SNAPSHOT + 5.0.19 ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index a8ee0db8798..b579fe203b6 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19-SNAPSHOT + 5.0.19 ../../pom.xml diff --git a/pom.xml b/pom.xml index 0cc945f4838..bf61528ef68 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.19-SNAPSHOT + 5.0.19 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - HEAD + v5.0.19 @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.19-SNAPSHOT + 5.0.19 4.7.35 From 2d56b0ea9a6849ce4e1ac479eda4f49efc6be32c Mon Sep 17 00:00:00 2001 From: builder Date: Thu, 16 Feb 2023 21:01:29 +0530 Subject: [PATCH 047/101] [maven-release-plugin] prepare for next development iteration --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 108 files changed, 110 insertions(+), 110 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index be09bff55d1..564673ef8b2 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index b65e14ea172..1ba9a75dd35 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 557cdf87225..56aacfa64d5 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index b6e06c8edb7..e48aeca1f7d 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 9279bed7af2..ded09a68763 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 10a1d5de488..0918920bdcd 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 7720cce36dc..a064c551c12 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 60e0c4174f9..9ebf10c38f0 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 24cb494c905..95be718e7a0 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index ce7a6193c66..6c7db5b264f 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 15cf52497a7..81aea0503dd 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 4fffb824436..a2c8ece8540 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 6928f434a9d..a67eb8592f4 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 0637c7a2775..4f428505683 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 86522aeb1f5..2e058b82dd6 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 9365bc3917d..e93b7042693 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 3161b98b4d4..adddc4026ad 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 5e770c54f54..ff4e816abc8 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 2f8315a4459..dfb1d480172 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 10a48fb4354..f70a1fa72c6 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 2297f2b97d8..a5a16ab3c67 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index a1da82f3acb..fdd5660b813 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index d20d5339977..99af2f9561b 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index b9a2f307f47..e36b58f55e6 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index d708aeed48d..475c8b4e6e1 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index c45d588efdd..229e8d6e3ec 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index cb6cb5532a2..9a11f603e7a 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 9d36c03ecab..7625a603b3c 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index fb3890c27d9..ec894c79008 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 561c1586b95..2e107b25431 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index db7defec915..1cde061ac14 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 27ba7a04831..3fdd250307a 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index e439937da39..d141f2ff6f2 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 2e05346f75c..2c0ea76ceb3 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 7b9645fd790..aca43d379e3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 289ef44aa0b..1abb0dca0cf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml 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 b9a433bffdd..2572bc79a98 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml 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 index a71921687b6..c359b575eff 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index b0f8c9ccb0b..ce0834d4a76 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 636bb913e08..d21057f7c5d 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 38bb0c67c78..b77baba84fe 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 572a8177e8a..8a34ff769a7 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 80a06eb3a50..15ce3a51ca7 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 97b2e3e9328..7c963d6254d 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 5867cfcad66..b1bdcdf8e33 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 1c1ae092622..d8c8483db22 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 8552fd710f6..0dd2f161874 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 33494c170a6..d13c9bb1ecd 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 400003a73ba..6991bb4e5f0 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 1c9e4dd2a84..2f0a6b7bf64 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 60d69ff8178..a57921baf36 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 87e44235bb9..8e4d752874a 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index cbbe2c33d14..9702d7f32ce 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 43de3506c7e..ae4b3ec78b2 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index dd20da83eae..9f4858d9617 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 7354e96a0bb..b9dc37e51c6 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 62064d78cb1..1124fd5609a 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 75f0e7ebbef..4f4a7e546db 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 247be201787..e16c2d3f4bd 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index 3ca18429035..fdfc56c1dde 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index f91ba43f5ab..6945454311f 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index e9c65076b21..e0ce823ef52 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 1ad9349c53a..6f52cf112cc 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 524acb6e4b4..f9c33243fd9 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index 3c47a9106e3..f6a2860e0bb 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 7f8ca9af9d2..5e789d64cb7 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index bd4089b4495..69c6b280e32 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 1ed1703ab59..c2ee07f0c9e 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index f8b5d1fa040..c169946fd35 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 96ab37129f8..4c1f3edd299 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 40bbd032596..e46d58bb91a 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 4d645a6245a..5e855e60c9a 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 994fb598021..7a149fb63d1 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index ff5ccd066c7..6829f4a0d6d 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index b29299d99db..27a40bd0a40 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 6f707dcdd64..f86d0bb8ef5 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 66af5d4a764..7d18bd12d58 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index e0409a3281d..1dc330f67f2 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 11d60628e5c..f178b51f532 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 8eb8994de3a..b36bc24864d 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index c8731d62c07..822f213a82f 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index c4d5716bb6e..e8121a2b254 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index e34c700117b..469735e0c62 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 1b9b382a863..91fddccc4e0 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index b214bfab98a..92cc4a384ff 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 65251495353..0c2a6df02f9 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 08ceae48da2..701de1d1b7f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 3e1cf443359..7ae15434ee2 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 8539d27e5bb..1f5a22014fd 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml 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 db6d1f99b0b..3d009aa9cb6 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 5646cef9e22..43a0145b6ef 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 769333fab57..e5f9d4a3160 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 80edabf07db..06169633555 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index bd3f516df16..9d375e95c4c 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 8be354abc69..5eced82de50 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index ad0fee7eb5a..0a9bff010ca 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 6eb7615ca25..833e11aba4c 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 84c39ce1b1a..c86636d487e 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index b879072dffc..d0cbbef0274 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 9333bae29ec..5de9c8c47c0 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index a80cf898ed9..1a8e65ea704 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index cec65734154..2ba975d2d49 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 15fc2dbf073..629c08ba50e 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index ee84fb20aee..0afc3933c92 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 65e06ee49c6..66926532640 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 8a43256669e..86fd0c7ae2f 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.19 + 5.0.20-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index b579fe203b6..35e608903c4 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.19 + 5.0.20-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index bf61528ef68..002ad13caa9 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.19 + 5.0.20-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1821,7 +1821,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - v5.0.19 + HEAD @@ -2033,7 +2033,7 @@ 1.2.11.wso2v10 - 5.0.19 + 5.0.20-SNAPSHOT 4.7.35 From 89e72bdf867776be46675b12a8015ec444117a3a Mon Sep 17 00:00:00 2001 From: Chamindu Senanayake Date: Sat, 18 Feb 2023 14:06:02 +0000 Subject: [PATCH 048/101] Add dynamic task manager and task watcher (#65) ## Purpose To Distribute dynamic task execution in multiple nodes. ## Goals This allows distribute task execution in multiple nodes. Especially this is useful, when system has multiple nodes ## Approach - Add task manager to handle dynamic tasks and dynamic task properties while adding task into the wso2 ntask core. - Add task watcher to run periodically after iot server start up and compare tasks from Entgra task manager and wso2 ntask core. - Add configuration to enable task monitoring in task watcher. ## Documentation > N/A ## Automation tests - Unit tests > N/A - Integration tests > N/A ## Security checks > N/A ## Related MRs > N/A ## Test environment Linux 22.04 ## Learning > N/A Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/65 Co-authored-by: Chamindu Senanayake Co-committed-by: Chamindu Senanayake --- components/task-mgt/pom.xml | 41 ++ .../io.entgra.task.mgt.common/pom.xml | 56 +++ .../task/mgt/common/bean/DynamicTask.java | 88 ++++ .../mgt/common/constant/TaskMgtConstant.java | 52 +++ .../IllegalTransactionStateException.java | 44 ++ .../exception/TaskManagementDAOException.java | 31 ++ .../exception/TaskManagementException.java | 29 ++ .../exception/TaskNotFoundException.java | 33 ++ .../TransactionManagementException.java | 44 ++ .../UnsupportedDatabaseEngineException.java | 47 +++ .../mgt/common/spi/TaskManagementService.java | 43 ++ .../io.entgra.task.mgt.core/pom.xml | 132 ++++++ .../core/config/TaskConfigurationManager.java | 79 ++++ .../mgt/core/config/TaskManagementConfig.java | 51 +++ .../TaskManagementConfigRepository.java | 42 ++ .../config/datasource/DataSourceConfig.java | 40 ++ .../datasource/JNDILookupDefinition.java | 79 ++++ .../task/mgt/core/dao/DynamicTaskDAO.java | 42 ++ .../task/mgt/core/dao/DynamicTaskPropDAO.java | 35 ++ .../dao/common/TaskManagementDAOFactory.java | 206 ++++++++++ .../mgt/core/dao/impl/DynamicTaskDAOImpl.java | 176 ++++++++ .../core/dao/impl/DynamicTaskPropDAOImpl.java | 125 ++++++ .../core/dao/util/TaskManagementDAOUtil.java | 111 +++++ .../core/internal/TaskManagerDataHolder.java | 62 +++ .../internal/TaskManagerServiceComponent.java | 134 ++++++ .../service/TaskManagementServiceImpl.java | 386 ++++++++++++++++++ .../mgt/core/util/TaskManagementUtil.java | 80 ++++ components/task-mgt/task-manager/pom.xml | 41 ++ .../io.entgra.task.mgt.watcher/pom.xml | 109 +++++ .../task/mgt/watcher/IoTSStartupHandler.java | 142 +++++++ .../internal/TaskWatcherDataHolder.java | 53 +++ .../internal/TaskWatcherServiceComponent.java | 113 +++++ components/task-mgt/task-watcher/pom.xml | 40 ++ .../src/main/resources/dbscripts/cdm/h2.sql | 22 + .../main/resources/dbscripts/cdm/mssql.sql | 24 ++ .../main/resources/dbscripts/cdm/mysql.sql | 22 + .../main/resources/dbscripts/cdm/oracle.sql | 23 +- .../resources/dbscripts/cdm/postgresql.sql | 22 + .../datasources/heart-beat-datasources.xml.j2 | 8 +- .../datasources/heart-beat-datasources.xml | 8 +- .../io.entgra.task.mgt.feature/pom.xml | 112 +++++ .../src/main/resources/build.properties | 1 + .../main/resources/conf/task-mgt-config.xml | 29 ++ .../repository/conf/task-mgt-config.xml.j2 | 37 ++ .../src/main/resources/p2.inf | 3 + features/task-mgt/pom.xml | 42 ++ pom.xml | 28 +- 47 files changed, 3157 insertions(+), 10 deletions(-) create mode 100755 components/task-mgt/pom.xml create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/bean/DynamicTask.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/IllegalTransactionStateException.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementDAOException.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementException.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskNotFoundException.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TransactionManagementException.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/UnsupportedDatabaseEngineException.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/spi/TaskManagementService.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfig.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfigRepository.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/DataSourceConfig.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/JNDILookupDefinition.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskDAO.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskPropDAO.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskDAOImpl.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerServiceComponent.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java create mode 100755 components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java create mode 100755 components/task-mgt/task-manager/pom.xml create mode 100755 components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml create mode 100755 components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java create mode 100755 components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java create mode 100755 components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java create mode 100755 components/task-mgt/task-watcher/pom.xml create mode 100755 features/task-mgt/io.entgra.task.mgt.feature/pom.xml create mode 100755 features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/build.properties create mode 100755 features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf/task-mgt-config.xml create mode 100755 features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf_templates/templates/repository/conf/task-mgt-config.xml.j2 create mode 100755 features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/p2.inf create mode 100755 features/task-mgt/pom.xml diff --git a/components/task-mgt/pom.xml b/components/task-mgt/pom.xml new file mode 100755 index 00000000000..d9ab379c3b2 --- /dev/null +++ b/components/task-mgt/pom.xml @@ -0,0 +1,41 @@ + + + + + + org.wso2.carbon.devicemgt + carbon-devicemgt + 5.0.20-SNAPSHOT + ../../pom.xml + + + 4.0.0 + task-mgt + pom + Entgra IoT - Task Management Component + http://entgra.io + + + task-manager + task-watcher + + + \ No newline at end of file diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml new file mode 100755 index 00000000000..ad7c991872c --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml @@ -0,0 +1,56 @@ + + + + + task-manager + org.wso2.carbon.devicemgt + 5.0.20-SNAPSHOT + ../pom.xml + + + 4.0.0 + io.entgra.task.mgt.common + bundle + Entgra IoT - Task Management Common + Entgra IoT - Task Management Common + https://entgra.io + + + + + org.apache.felix + maven-bundle-plugin + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + Task Management Common Bundle + + io.entgra.task.mgt.common.* + + + + + + + \ No newline at end of file diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/bean/DynamicTask.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/bean/DynamicTask.java new file mode 100755 index 00000000000..ece8d4dc265 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/bean/DynamicTask.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.bean; + +import java.util.Map; + +public class DynamicTask { + + private int dynamicTaskId; + private String name; + private String cronExpression; + private boolean isEnabled; + private int tenantId; + private String taskClassName; + private Map properties; + + public int getDynamicTaskId() { + return dynamicTaskId; + } + + public void setDynamicTaskId(int dynamicTaskId) { + this.dynamicTaskId = dynamicTaskId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCronExpression() { + return cronExpression; + } + + public void setCronExpression(String cronExpression) { + this.cronExpression = cronExpression; + } + + public boolean isEnabled() { + return isEnabled; + } + + public void setEnabled(boolean enable) { + isEnabled = enable; + } + + public int getTenantId() { + return tenantId; + } + + public void setTenantId(int tenantId) { + this.tenantId = tenantId; + } + + public String getTaskClassName() { + return taskClassName; + } + + public void setTaskClassName(String taskClassName) { + this.taskClassName = taskClassName; + } + + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java new file mode 100755 index 00000000000..5dcc03bd1b7 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.constant; + +public class TaskMgtConstant { + public static final class DataSourceProperties { + private DataSourceProperties() { + throw new AssertionError(); + } + + public static final String DB_CHECK_QUERY = "SELECT * FROM DM_DEVICE"; + public static final String TASK_CONFIG_XML_NAME = "task-mgt-config.xml"; + } + + public static final class DataBaseTypes { + private DataBaseTypes() { + throw new AssertionError(); + } + + public static final String DB_TYPE_MYSQL = "MySQL"; + public static final String DB_TYPE_ORACLE = "Oracle"; + public static final String DB_TYPE_MSSQL = "Microsoft SQL Server"; + public static final String DB_TYPE_DB2 = "DB2"; + public static final String DB_TYPE_H2 = "H2"; + public static final String DB_TYPE_POSTGRESQL = "PostgreSQL"; + } + + public static final class Task { + + public static final String DYNAMIC_TASK_TYPE = "DYNAMIC_TASK"; + public static final String NAME_SEPARATOR = "_"; + public static final String PROPERTY_KEY_COLUMN_NAME = "PROPERTY_NAME"; + public static final String PROPERTY_VALUE_COLUMN_NAME = "PROPERTY_VALUE"; + public static final String __TENANT_ID_PROP__ = "__TENANT_ID_PROP__"; + + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/IllegalTransactionStateException.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/IllegalTransactionStateException.java new file mode 100755 index 00000000000..4c4c996c594 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/IllegalTransactionStateException.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.exception; + +public class IllegalTransactionStateException extends RuntimeException { + + private static final long serialVersionUID = -3151279331929070297L; + + public IllegalTransactionStateException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + public IllegalTransactionStateException(String message, Throwable cause) { + super(message, cause); + } + + public IllegalTransactionStateException(String msg) { + super(msg); + } + + public IllegalTransactionStateException() { + super(); + } + + public IllegalTransactionStateException(Throwable cause) { + super(cause); + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementDAOException.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementDAOException.java new file mode 100755 index 00000000000..9b683dba20e --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementDAOException.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.exception; + +public class TaskManagementDAOException extends Exception { + + public TaskManagementDAOException(String msg) { + super(msg); + } + + public TaskManagementDAOException(String msg, Exception e) { + super(msg, e); + } + + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementException.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementException.java new file mode 100755 index 00000000000..d9705e6438a --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskManagementException.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.exception; + +public class TaskManagementException extends Exception { + + public TaskManagementException(String msg) { + super(msg); + } + + public TaskManagementException(String msg, Exception e) { + super(msg, e); + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskNotFoundException.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskNotFoundException.java new file mode 100755 index 00000000000..2d2f568fe23 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TaskNotFoundException.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.exception; + +/** + * Represents the exception thrown during validating the request. + */ +public class TaskNotFoundException extends Exception { + + public TaskNotFoundException(String message) { + super(message); + } + + public TaskNotFoundException(String message, Exception ex) { + super(message, ex); + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TransactionManagementException.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TransactionManagementException.java new file mode 100755 index 00000000000..5e43237e436 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/TransactionManagementException.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.exception; + +public class TransactionManagementException extends Exception { + + private static final long serialVersionUID = -3151279321929070297L; + + public TransactionManagementException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + public TransactionManagementException(String message, Throwable cause) { + super(message, cause); + } + + public TransactionManagementException(String msg) { + super(msg); + } + + public TransactionManagementException() { + super(); + } + + public TransactionManagementException(Throwable cause) { + super(cause); + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/UnsupportedDatabaseEngineException.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/UnsupportedDatabaseEngineException.java new file mode 100755 index 00000000000..a29f954e12a --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/exception/UnsupportedDatabaseEngineException.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.exception; + +/** + * This runtime exception will be thrown if the server has configured with unsupported DB engine. + */ +public class UnsupportedDatabaseEngineException extends RuntimeException { + + private static final long serialVersionUID = -3151279311929070297L; + + public UnsupportedDatabaseEngineException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + public UnsupportedDatabaseEngineException(String message, Throwable cause) { + super(message, cause); + } + + public UnsupportedDatabaseEngineException(String msg) { + super(msg); + } + + public UnsupportedDatabaseEngineException() { + super(); + } + + public UnsupportedDatabaseEngineException(Throwable cause) { + super(cause); + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/spi/TaskManagementService.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/spi/TaskManagementService.java new file mode 100755 index 00000000000..fac557e0bd3 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/spi/TaskManagementService.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.common.spi; + +import io.entgra.task.mgt.common.exception.TaskNotFoundException; +import io.entgra.task.mgt.common.exception.TaskManagementException; +import io.entgra.task.mgt.common.bean.DynamicTask; + +import java.util.List; + +public interface TaskManagementService { + + void init() throws TaskManagementException; + + void createTask(DynamicTask dynamicTask) throws TaskManagementException; + + void updateTask(int dynamicTaskId, DynamicTask dynamicTask) throws TaskManagementException, TaskNotFoundException; + + void toggleTask(int dynamicTaskId, boolean isEnabled) throws TaskManagementException, TaskNotFoundException; + + void deleteTask(int dynamicTaskId) throws TaskManagementException, TaskNotFoundException; + + List getAllDynamicTasks() throws TaskManagementException; + + DynamicTask getDynamicTaskById(int dynamicTaskId) throws TaskManagementException; + + List getActiveDynamicTasks() throws TaskManagementException; +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml new file mode 100755 index 00000000000..5202f25781c --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml @@ -0,0 +1,132 @@ + + + + + + org.wso2.carbon.devicemgt + task-manager + 5.0.20-SNAPSHOT + ../pom.xml + + + 4.0.0 + io.entgra.task.mgt.core + bundle + Entgra IoT - Task manager Core + Entgra IoT - Task manager Core + http://entgra.io + + + + + org.apache.felix + maven-scr-plugin + + + org.apache.felix + maven-bundle-plugin + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + Task Management Core Bundle + io.entgra.task.mgt.core.internal + + org.osgi.framework.*;version="${imp.package.version.osgi.framework}", + org.osgi.service.*;version="${imp.package.version.osgi.service}", + org.apache.commons.logging, + org.wso2.carbon.ndatasource.core, + org.w3c.dom, + javax.xml.bind.annotation, + javax.xml.bind, + javax.sql, + javax.naming, + io.entgra.task.mgt.common.*, + org.wso2.carbon.utils.*, + org.wso2.carbon.ntask.*, + org.wso2.carbon.device.mgt.core.*, + org.wso2.carbon.device.mgt.common.*, + org.wso2.carbon.context, + io.entgra.server.bootup.heartbeat.beacon.dto, + io.entgra.server.bootup.heartbeat.beacon.exception, + io.entgra.server.bootup.heartbeat.beacon.service, + + + !io.entgra.task.mgt.core.internal, + io.entgra.task.mgt.core.* + + + + + + + + + + org.eclipse.osgi + org.eclipse.osgi + provided + + + org.eclipse.osgi + org.eclipse.osgi.services + provided + + + org.wso2.carbon + org.wso2.carbon.ndatasource.core + provided + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.common + provided + + + org.wso2.carbon + org.wso2.carbon.logging + provided + + + org.wso2.carbon + org.wso2.carbon.utils + provided + + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.core + provided + + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.common + provided + + + org.wso2.carbon.devicemgt + io.entgra.server.bootup.heartbeat.beacon + provided + + + + \ No newline at end of file diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java new file mode 100755 index 00000000000..9700465a1df --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.config; + +import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.exception.TaskManagementException; +import io.entgra.task.mgt.core.util.TaskManagementUtil; +import org.w3c.dom.Document; +import org.wso2.carbon.utils.CarbonUtils; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; +import java.io.File; + +/** + * Class responsible for the task mgt configuration initialization. + */ +public class TaskConfigurationManager { + + private TaskManagementConfig taskManagementConfig; + private static volatile TaskConfigurationManager taskConfigurationManager; + + private static final String TASK_MGT_CONFIG_PATH = + CarbonUtils.getCarbonConfigDirPath() + File.separator + + TaskMgtConstant.DataSourceProperties.TASK_CONFIG_XML_NAME; + + public static TaskConfigurationManager getInstance() { + if (taskConfigurationManager == null) { + synchronized (TaskConfigurationManager.class) { + if (taskConfigurationManager == null) { + taskConfigurationManager = new TaskConfigurationManager(); + } + } + } + return taskConfigurationManager; + } + + public synchronized void initConfig() throws TaskManagementException { + try { + File taskMgtConfig = new File(TASK_MGT_CONFIG_PATH); + Document doc = TaskManagementUtil.convertToDocument(taskMgtConfig); + + /* Un-marshaling Device Management configuration */ + JAXBContext cdmContext = JAXBContext.newInstance(TaskManagementConfig.class); + Unmarshaller unmarshaller = cdmContext.createUnmarshaller(); + //unmarshaller.setSchema(getSchema()); + this.taskManagementConfig = (TaskManagementConfig) unmarshaller.unmarshal(doc); + } catch (JAXBException e) { + throw new TaskManagementException("Error occurred while initializing Data Source config", e); + } + } + + public TaskManagementConfig getTaskManagementConfig() throws TaskManagementException { + if (taskManagementConfig == null) { + initConfig(); + } + return taskManagementConfig; + } + + public void setTaskManagementConfig(TaskManagementConfig taskManagementConfig) { + this.taskManagementConfig = taskManagementConfig; + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfig.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfig.java new file mode 100755 index 00000000000..2b3ae468ac9 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfig.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.config; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Represents Task Mgt configuration. + */ +@XmlRootElement(name = "TaskMgtConfiguration") +@SuppressWarnings("unused") +public final class TaskManagementConfig { + + private TaskManagementConfigRepository taskMgtConfigRepository; + private boolean isTaskWatcherEnabled; + + @XmlElement(name = "ManagementRepository", required = true) + public TaskManagementConfigRepository getTaskMgtConfigRepository() { + return taskMgtConfigRepository; + } + + public void setTaskMgtConfigRepository(TaskManagementConfigRepository taskMgtConfigRepository) { + this.taskMgtConfigRepository = taskMgtConfigRepository; + } + + @XmlElement(name = "TaskWatcherEnable", required = true) + public boolean isTaskWatcherEnabled() { + return isTaskWatcherEnabled; + } + + public void setTaskWatcherEnabled(boolean enabled) { + this.isTaskWatcherEnabled = enabled; + } +} + diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfigRepository.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfigRepository.java new file mode 100755 index 00000000000..a81617f738f --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskManagementConfigRepository.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.config; + +import io.entgra.task.mgt.core.config.datasource.DataSourceConfig; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Class for holding management repository data. + */ +@XmlRootElement(name = "ManagementRepository") +public class TaskManagementConfigRepository { + + private DataSourceConfig dataSourceConfig; + + @XmlElement(name = "DataSourceConfiguration", required = true) + public DataSourceConfig getDataSourceConfig() { + return dataSourceConfig; + } + + public void setDataSourceConfig(DataSourceConfig dataSourceConfig) { + this.dataSourceConfig = dataSourceConfig; + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/DataSourceConfig.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/DataSourceConfig.java new file mode 100755 index 00000000000..b4c4d9fc2d2 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/DataSourceConfig.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.config.datasource; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Class for holding data source configuration in task-mgt-config.xml at parsing with JAXB. + */ +@XmlRootElement(name = "DataSourceConfiguration") +public class DataSourceConfig { + + private JNDILookupDefinition jndiLookupDefinition; + + @XmlElement(name = "JndiLookupDefinition", required = true) + public JNDILookupDefinition getJndiLookupDefinition() { + return jndiLookupDefinition; + } + + public void setJndiLookupDefinition(JNDILookupDefinition jndiLookupDefinition) { + this.jndiLookupDefinition = jndiLookupDefinition; + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/JNDILookupDefinition.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/JNDILookupDefinition.java new file mode 100755 index 00000000000..5101af8d495 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/datasource/JNDILookupDefinition.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.config.datasource; + +import javax.xml.bind.annotation.*; +import java.util.List; + +/** + * Class for hold JndiLookupDefinition of task-mgt-config.xml at parsing with JAXB. + */ +@XmlRootElement(name = "JndiLookupDefinition") +public class JNDILookupDefinition { + + private String jndiName; + private List jndiProperties; + + @XmlElement(name = "Name", required = false) + public String getJndiName() { + return jndiName; + } + + public void setJndiName(String jndiName) { + this.jndiName = jndiName; + } + + @XmlElementWrapper(name = "Environment", required = false) + @XmlElement(name = "Property", nillable = false) + public List getJndiProperties() { + return jndiProperties; + } + + public void setJndiProperties(List jndiProperties) { + this.jndiProperties = jndiProperties; + } + + @XmlRootElement(name = "Property") + public static class JNDIProperty { + + private String name; + + private String value; + + @XmlAttribute(name = "Name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @XmlValue + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } + +} + diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskDAO.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskDAO.java new file mode 100755 index 00000000000..317870dba1a --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskDAO.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.dao; + +import io.entgra.task.mgt.common.bean.DynamicTask; +import io.entgra.task.mgt.common.exception.TaskManagementDAOException; + +import java.util.List; + +/** + * This class represents the key operations associated with dynamic tasks. + */ +public interface DynamicTaskDAO { + + int addTask(DynamicTask dynamicTask) throws TaskManagementDAOException; + + boolean updateDynamicTask(DynamicTask dynamicTask) throws TaskManagementDAOException; + + void deleteDynamicTask(int dynamicTaskId) throws TaskManagementDAOException; + + DynamicTask getDynamicTaskById(int dynamicTaskId) throws TaskManagementDAOException; + + List getAllDynamicTasks() throws TaskManagementDAOException; + + List getActiveDynamicTasks() throws TaskManagementDAOException; + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskPropDAO.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskPropDAO.java new file mode 100755 index 00000000000..b458417298b --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/DynamicTaskPropDAO.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.dao; + +import io.entgra.task.mgt.common.exception.TaskManagementDAOException; + +import java.util.Map; + +/** + * This class represents the key operations associated with dynamic task properties. + */ +public interface DynamicTaskPropDAO { + + void addTaskProperties(int dynamicTaskId, Map properties) throws TaskManagementDAOException; + + Map getDynamicTaskProps(int dynamicTaskId) throws TaskManagementDAOException; + + void updateDynamicTaskProps(int dynamicTaskId, Map properties) + throws TaskManagementDAOException; +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java new file mode 100755 index 00000000000..c5ef61db2a9 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.dao.common; + +import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.exception.IllegalTransactionStateException; +import io.entgra.task.mgt.common.exception.TransactionManagementException; +import io.entgra.task.mgt.common.exception.UnsupportedDatabaseEngineException; +import io.entgra.task.mgt.core.config.datasource.DataSourceConfig; +import io.entgra.task.mgt.core.config.datasource.JNDILookupDefinition; +import io.entgra.task.mgt.core.dao.DynamicTaskDAO; +import io.entgra.task.mgt.core.dao.DynamicTaskPropDAO; +import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; +import io.entgra.task.mgt.core.dao.impl.DynamicTaskDAOImpl; +import io.entgra.task.mgt.core.dao.impl.DynamicTaskPropDAOImpl; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Hashtable; +import java.util.List; + +public class TaskManagementDAOFactory { + + private static DataSource dataSource; + private static String databaseEngine; + private static final Log log = LogFactory.getLog(TaskManagementDAOFactory.class); + private static ThreadLocal currentConnection = new ThreadLocal<>(); + + + public static DynamicTaskDAO getDynamicTaskDAO() { + if (databaseEngine != null) { + switch (databaseEngine) { + case TaskMgtConstant.DataBaseTypes.DB_TYPE_H2: + case TaskMgtConstant.DataBaseTypes.DB_TYPE_MYSQL: + return new DynamicTaskDAOImpl(); + default: + throw new UnsupportedDatabaseEngineException("Unsupported database engine : " + databaseEngine); + } + } + throw new IllegalStateException("Database engine has not initialized properly."); + } + + public static DynamicTaskPropDAO getDynamicTaskPropDAO() { + if (databaseEngine != null) { + switch (databaseEngine) { + case TaskMgtConstant.DataBaseTypes.DB_TYPE_H2: + case TaskMgtConstant.DataBaseTypes.DB_TYPE_MYSQL: + return new DynamicTaskPropDAOImpl(); + default: + throw new UnsupportedDatabaseEngineException("Unsupported database engine : " + databaseEngine); + } + } + throw new IllegalStateException("Database engine has not initialized properly."); + } + + public static void init(DataSourceConfig config) { + dataSource = resolveDataSource(config); + try { + databaseEngine = dataSource.getConnection().getMetaData().getDatabaseProductName(); + } catch (SQLException e) { + log.error("Error occurred while retrieving config.datasource connection", e); + } + } + + public static void init(DataSource dtSource) { + dataSource = dtSource; + try { + databaseEngine = dataSource.getConnection().getMetaData().getDatabaseProductName(); + } catch (SQLException e) { + log.error("Error occurred while retrieving config.datasource connection", e); + } + } + + public static void beginTransaction() throws TransactionManagementException { + Connection conn = currentConnection.get(); + if (conn != null) { + throw new IllegalTransactionStateException("A transaction is already active within the context of " + + "this particular thread. Therefore, calling 'beginTransaction/openConnection' while another " + + "transaction is already active is a sign of improper transaction handling"); + } + try { + conn = dataSource.getConnection(); + conn.setAutoCommit(false); + currentConnection.set(conn); + } catch (SQLException e) { + throw new TransactionManagementException("Error occurred while retrieving config.datasource connection", e); + } + } + + public static void openConnection() throws SQLException { + Connection conn = currentConnection.get(); + if (conn != null) { + throw new IllegalTransactionStateException("A transaction is already active within the context of " + + "this particular thread. Therefore, calling 'beginTransaction/openConnection' while another " + + "transaction is already active is a sign of improper transaction handling"); + } + conn = dataSource.getConnection(); + currentConnection.set(conn); + } + + public static Connection getConnection() throws SQLException { + Connection conn = currentConnection.get(); + if (conn == null) { + throw new IllegalTransactionStateException("No connection is associated with the current transaction. " + + "This might have ideally been caused by not properly initiating the transaction via " + + "'beginTransaction'/'openConnection' methods"); + } + return conn; + } + + public static void commitTransaction() { + Connection conn = currentConnection.get(); + if (conn == null) { + throw new IllegalTransactionStateException("No connection is associated with the current transaction. " + + "This might have ideally been caused by not properly initiating the transaction via " + + "'beginTransaction'/'openConnection' methods"); + } + try { + conn.commit(); + } catch (SQLException e) { + log.error("Error occurred while committing the transaction", e); + } + } + + public static void rollbackTransaction() { + Connection conn = currentConnection.get(); + if (conn == null) { + throw new IllegalTransactionStateException("No connection is associated with the current transaction. " + + "This might have ideally been caused by not properly initiating the transaction via " + + "'beginTransaction'/'openConnection' methods"); + } + try { + conn.rollback(); + } catch (SQLException e) { + log.warn("Error occurred while roll-backing the transaction", e); + } + } + + public static void closeConnection() { + Connection conn = currentConnection.get(); + if (conn == null) { + throw new IllegalTransactionStateException("No connection is associated with the current transaction. " + + "This might have ideally been caused by not properly initiating the transaction via " + + "'beginTransaction'/'openConnection' methods"); + } + try { + conn.close(); + } catch (SQLException e) { + log.warn("Error occurred while close the connection"); + } + currentConnection.remove(); + } + + + /** + * Resolve data source from the data source definition + * + * @param config data source configuration + * @return data source resolved from the data source definition + */ + private static DataSource resolveDataSource(DataSourceConfig config) { + DataSource dataSource = null; + if (config == null) { + throw new RuntimeException( + "Device Management Repository data source configuration " + "is null and " + + "thus, is not initialized"); + } + io.entgra.task.mgt.core.config.datasource.JNDILookupDefinition jndiConfig = config.getJndiLookupDefinition(); + if (jndiConfig != null) { + if (log.isDebugEnabled()) { + log.debug("Initializing Device Management Repository data source using the JNDI " + + "Lookup Definition"); + } + List jndiPropertyList = + jndiConfig.getJndiProperties(); + if (jndiPropertyList != null) { + Hashtable jndiProperties = new Hashtable(); + for (JNDILookupDefinition.JNDIProperty prop : jndiPropertyList) { + jndiProperties.put(prop.getName(), prop.getValue()); + } + dataSource = TaskManagementDAOUtil.lookupDataSource(jndiConfig.getJndiName(), jndiProperties); + } else { + dataSource = TaskManagementDAOUtil.lookupDataSource(jndiConfig.getJndiName(), null); + } + } + return dataSource; + } +} \ No newline at end of file diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskDAOImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskDAOImpl.java new file mode 100755 index 00000000000..80fcb98e154 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskDAOImpl.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.dao.impl; + +import io.entgra.task.mgt.common.bean.DynamicTask; +import io.entgra.task.mgt.common.exception.TaskManagementDAOException; +import io.entgra.task.mgt.core.dao.DynamicTaskDAO; +import io.entgra.task.mgt.core.dao.common.TaskManagementDAOFactory; +import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; + +import java.sql.*; +import java.util.List; + + +public class DynamicTaskDAOImpl implements DynamicTaskDAO { + private static final Log log = LogFactory.getLog(DynamicTaskDAOImpl.class); + + @Override + public int addTask(DynamicTask dynamicTask) throws TaskManagementDAOException { + PreparedStatement stmt = null; + ResultSet rs = null; + int taskId = -1; + try { + Connection conn = TaskManagementDAOFactory.getConnection(); + String sql = "INSERT INTO DYNAMIC_TASK(CRON, NAME, IS_ENABLED, TASK_CLASS_NAME, TENANT_ID) " + + "VALUES (?, ?, ?, ?, ?)"; + + stmt = conn.prepareStatement(sql, new String[]{"DYNAMIC_TASK_ID"}); + stmt.setString(1, dynamicTask.getCronExpression()); + stmt.setString(2, dynamicTask.getName()); + stmt.setBoolean(3, dynamicTask.isEnabled()); + stmt.setString(4, dynamicTask.getTaskClassName()); + stmt.setInt(5, PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId()); + stmt.executeUpdate(); + + rs = stmt.getGeneratedKeys(); + if (rs.next()) { + taskId = rs.getInt(1); + } + return taskId; + } catch (SQLException e) { + String msg = "Error occurred while inserting task '" + dynamicTask.getName() + "'"; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } finally { + TaskManagementDAOUtil.cleanupResources(stmt, null); + } + } + + @Override + public boolean updateDynamicTask(DynamicTask dynamicTask) throws TaskManagementDAOException { + PreparedStatement stmt = null; + int rows; + try { + Connection conn = TaskManagementDAOFactory.getConnection(); + String sql = "UPDATE DYNAMIC_TASK SET CRON = ?,IS_ENABLED = ? WHERE DYNAMIC_TASK_ID = ?"; + stmt = conn.prepareStatement(sql); + stmt.setString(1, dynamicTask.getCronExpression()); + stmt.setBoolean(2, dynamicTask.isEnabled()); + stmt.setInt(3, dynamicTask.getDynamicTaskId()); + rows = stmt.executeUpdate(); + return (rows > 0); + } catch (SQLException e) { + String msg = "Error occurred while updating dynamic task '" + dynamicTask.getDynamicTaskId() + "'"; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } finally { + TaskManagementDAOUtil.cleanupResources(stmt, null); + } + } + + + @Override + public void deleteDynamicTask(int dynamicTaskId) throws TaskManagementDAOException { + if (log.isDebugEnabled()) { + log.debug("Request received in DAO Layer to delete dynamic task with the id: " + dynamicTaskId); + } + String sql = "DELETE FROM DYNAMIC_TASK WHERE DYNAMIC_TASK_ID = ? AND TENANT_ID = ?"; + try { + Connection conn = TaskManagementDAOFactory.getConnection(); + try (PreparedStatement stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) { + stmt.setInt(1, dynamicTaskId); + stmt.setInt(2, PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId()); + stmt.executeUpdate(); + } + } catch (SQLException e) { + String msg = "Error occurred while executing SQL to delete a dynamic task which has the id " + + dynamicTaskId; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } + } + + @Override + public DynamicTask getDynamicTaskById(int dynamicTaskId) throws TaskManagementDAOException { + DynamicTask dynamicTask = null; + try { + Connection conn = TaskManagementDAOFactory.getConnection(); + String sql = "SELECT * FROM DYNAMIC_TASK WHERE DYNAMIC_TASK_ID= ? AND TENANT_ID = ?"; + + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + stmt.setInt(1, dynamicTaskId); + stmt.setInt(2, PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId()); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + dynamicTask = TaskManagementDAOUtil.loadDynamicTask(rs); + } + } + } + } catch (SQLException e) { + String msg = "Error occurred while getting dynamic task data for task identifier '" + + dynamicTask + "'"; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } + return dynamicTask; + } + + @Override + public List getAllDynamicTasks() throws TaskManagementDAOException { + List dynamicTasks = null; + try { + Connection conn = TaskManagementDAOFactory.getConnection(); + String sql = "SELECT * FROM DYNAMIC_TASK"; + + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + try (ResultSet rs = stmt.executeQuery()) { + dynamicTasks = TaskManagementDAOUtil.loadDynamicTasks(rs); + } + } + } catch (SQLException e) { + String msg = "Error occurred while getting all dynamic task data "; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } + return dynamicTasks; + } + + @Override + public List getActiveDynamicTasks() throws TaskManagementDAOException { + List dynamicTasks = null; + try { + Connection conn = TaskManagementDAOFactory.getConnection(); + String sql = "SELECT * FROM DYNAMIC_TASK WHERE IS_ENABLED = 'true' "; + + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + try (ResultSet rs = stmt.executeQuery()) { + dynamicTasks = TaskManagementDAOUtil.loadDynamicTasks(rs); + } + } + } catch (SQLException e) { + String msg = "Error occurred while getting all dynamic task data "; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } + return dynamicTasks; + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java new file mode 100755 index 00000000000..a6e02a96c65 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.dao.impl; + +import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.exception.TaskManagementDAOException; +import io.entgra.task.mgt.core.dao.DynamicTaskPropDAO; +import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; +import io.entgra.task.mgt.core.dao.common.TaskManagementDAOFactory; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.Map; + +public class DynamicTaskPropDAOImpl implements DynamicTaskPropDAO { + + private static final Log log = LogFactory.getLog(DynamicTaskPropDAOImpl.class); + + @Override + public void addTaskProperties(int taskId, Map properties) + throws TaskManagementDAOException { + Connection conn = null; + PreparedStatement stmt = null; + try { + conn = TaskManagementDAOFactory.getConnection(); + stmt = conn.prepareStatement( + "INSERT INTO DYNAMIC_TASK_PROPERTIES(DYNAMIC_TASK_ID, PROPERTY_NAME, " + + "PROPERTY_VALUE, TENANT_ID) VALUES (?, ?, ?, ?)"); + for (String propertyKey : properties.keySet()) { + stmt.setInt(1, taskId); + stmt.setString(2, propertyKey); + stmt.setString(3, properties.get(propertyKey)); + stmt.setInt(4, PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId()); + stmt.addBatch(); + } + stmt.executeBatch(); + } catch (SQLException e) { + String msg = "Error occurred while adding task properties of task '" + taskId + "' to the db."; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } finally { + TaskManagementDAOUtil.cleanupResources(stmt, null); + } + } + + + public Map getDynamicTaskProps(int dynamicTaskId) throws TaskManagementDAOException { + Connection conn = null; + PreparedStatement stmt = null; + ResultSet resultSet = null; + Map properties; + try { + conn = TaskManagementDAOFactory.getConnection(); + stmt = conn.prepareStatement( + "SELECT * FROM DYNAMIC_TASK_PROPERTIES WHERE DYNAMIC_TASK_ID = ?"); + stmt.setInt(1, dynamicTaskId); + resultSet = stmt.executeQuery(); + properties = new HashMap<>(); + while (resultSet.next()) { + properties.put(resultSet.getString(TaskMgtConstant.Task.PROPERTY_KEY_COLUMN_NAME) + , resultSet.getString(TaskMgtConstant.Task.PROPERTY_VALUE_COLUMN_NAME)); + } + } catch (SQLException e) { + String msg = "Error occurred while fetching task properties of : '" + dynamicTaskId + "'"; + log.error(msg, e); + throw new TaskManagementDAOException(msg, e); + } finally { + TaskManagementDAOUtil.cleanupResources(stmt, resultSet); + } + return properties; + } + + @Override + public void updateDynamicTaskProps(int dynamicTaskId, Map properties) + throws TaskManagementDAOException { + if (properties.isEmpty()) { + if (log.isDebugEnabled()) { + log.debug("Property map of task id :" + dynamicTaskId + " is empty."); + } + return; + } + Connection conn; + PreparedStatement stmt = null; + try { + conn = TaskManagementDAOFactory.getConnection(); + stmt = conn.prepareStatement("UPDATE DYNAMIC_TASK_PROPERTIES SET PROPERTY_VALUE = ? " + + "WHERE DYNAMIC_TASK_ID = ? AND PROPERTY_NAME = ?"); + + for (Map.Entry entry : properties.entrySet()) { + stmt.setString(1, entry.getValue()); + stmt.setInt(2, dynamicTaskId); + stmt.setString(3, entry.getKey()); + stmt.addBatch(); + } + stmt.executeBatch(); + } catch (SQLException e) { + throw new TaskManagementDAOException + ("Error occurred while updating device properties to database.", e); + } finally { + DeviceManagementDAOUtil.cleanupResources(stmt, null); + } + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java new file mode 100755 index 00000000000..843fc178aa9 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.dao.util; + +import io.entgra.task.mgt.common.bean.DynamicTask; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.device.mgt.common.Device; + +import javax.naming.InitialContext; +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Hashtable; +import java.util.List; + +public class TaskManagementDAOUtil { + private static final Log log = LogFactory.getLog(TaskManagementDAOUtil.class); + + public static void cleanupResources(Connection conn, PreparedStatement stmt, ResultSet rs) { + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing result set", e); + } + } + if (stmt != null) { + try { + stmt.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing prepared statement", e); + } + } + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing database connection", e); + } + } + } + + public static void cleanupResources(PreparedStatement stmt, ResultSet rs) { + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing result set", e); + } + } + if (stmt != null) { + try { + stmt.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing prepared statement", e); + } + } + } + + public static DataSource lookupDataSource(String dataSourceName, + final Hashtable jndiProperties) { + try { + if (jndiProperties == null || jndiProperties.isEmpty()) { + return (DataSource) InitialContext.doLookup(dataSourceName); + } + final InitialContext context = new InitialContext(jndiProperties); + return (DataSource) context.lookup(dataSourceName); + } catch (Exception e) { + throw new RuntimeException("Error in looking up data source: " + e.getMessage(), e); + } + } + + public static DynamicTask loadDynamicTask(ResultSet rs) throws SQLException { + DynamicTask dynamicTask = new DynamicTask(); + dynamicTask.setDynamicTaskId(rs.getInt("DYNAMIC_TASK_ID")); + dynamicTask.setName(rs.getString("NAME")); + dynamicTask.setCronExpression(rs.getString("CRON")); + dynamicTask.setTaskClassName(rs.getString("TASK_CLASS_NAME")); + dynamicTask.setEnabled(rs.getBoolean("IS_ENABLED")); + dynamicTask.setTenantId(rs.getInt("TENANT_ID")); + return dynamicTask; + } + + public static List loadDynamicTasks(ResultSet rs) throws SQLException { + List dynamicTasks = new ArrayList<>(); + while (rs.next()) { + dynamicTasks.add(loadDynamicTask(rs)); + } + return dynamicTasks; + } + +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java new file mode 100755 index 00000000000..602daa68b94 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.internal; + +import io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService; +import io.entgra.task.mgt.common.spi.TaskManagementService; +import org.wso2.carbon.ntask.core.service.TaskService; + +public class TaskManagerDataHolder { + private TaskManagementService taskManagerService; + private TaskService nTaskService; + + private HeartBeatManagementService heartBeatService; + + private static TaskManagerDataHolder thisInstance = new TaskManagerDataHolder(); + + private TaskManagerDataHolder() { + } + + public static TaskManagerDataHolder getInstance() { + return thisInstance; + } + + public TaskManagementService getTaskManagementService() { + return taskManagerService; + } + + public void setTaskManagementService(TaskManagementService taskManagerService) { + this.taskManagerService = taskManagerService; + } + + public TaskService getnTaskService() { + return nTaskService; + } + + public void setnTaskService(TaskService nTaskService) { + this.nTaskService = nTaskService; + } + + public HeartBeatManagementService getHeartBeatService() { + return heartBeatService; + } + + public void setHeartBeatService(HeartBeatManagementService heartBeatService) { + this.heartBeatService = heartBeatService; + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerServiceComponent.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerServiceComponent.java new file mode 100755 index 00000000000..9021b070eca --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerServiceComponent.java @@ -0,0 +1,134 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.internal; + +import io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService; +import io.entgra.task.mgt.core.config.TaskManagementConfig; +import io.entgra.task.mgt.core.config.datasource.DataSourceConfig; +import io.entgra.task.mgt.common.spi.TaskManagementService; +import io.entgra.task.mgt.core.config.TaskConfigurationManager; +import io.entgra.task.mgt.core.dao.common.TaskManagementDAOFactory; +import io.entgra.task.mgt.core.service.TaskManagementServiceImpl; +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.ndatasource.core.DataSourceService; +import org.wso2.carbon.ntask.core.service.TaskService; + +/** + * @scr.component name="io.entgra.task.mgt.service" immediate="true" + * @scr.reference name="datasource.service" + * interface="org.wso2.carbon.ndatasource.core.DataSourceService" + * cardinality="1..1" + * policy="dynamic" + * bind="setDataSourceService" + * unbind="unsetDataSourceService" + * @scr.reference name="app.mgt.ntask.component" + * interface="org.wso2.carbon.ntask.core.service.TaskService" + * cardinality="1..1" + * policy="dynamic" + * bind="setTaskService" + * unbind="unsetTaskService" + * @scr.reference name="entgra.heart.beat.service" + * interface="io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService" + * cardinality="0..1" + * policy="dynamic" + * bind="setHeartBeatService" + * unbind="unsetHeartBeatService" + */ +public class TaskManagerServiceComponent { + + private static final Log log = LogFactory.getLog(TaskManagerServiceComponent.class); + + protected void activate(ComponentContext ctx) { + + if (log.isDebugEnabled()) { + log.debug("Activating Task Manager Service Component"); + } + try { + TaskManagementConfig taskManagementConfig = TaskConfigurationManager.getInstance() + .getTaskManagementConfig(); + DataSourceConfig dataSourceConfig = taskManagementConfig.getTaskMgtConfigRepository() + .getDataSourceConfig(); + TaskManagementDAOFactory.init(dataSourceConfig); + BundleContext bundleContext = ctx.getBundleContext(); + TaskManagementService taskManagementService = new TaskManagementServiceImpl(); + taskManagementService.init(); + TaskManagerDataHolder.getInstance().setTaskManagementService(taskManagementService); + bundleContext.registerService(TaskManagementService.class.getName() + , taskManagementService, null); + if (log.isDebugEnabled()) { + log.debug("Task Manager Service Component has been successfully activated"); + } + } catch (Throwable e) { + log.error("Error occurred while activating Task Manager Service Component", e); + } + } + + protected void deactivate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + log.debug("De-activating Task Manager Service Component"); + } + } + + protected void setDataSourceService(DataSourceService dataSourceService) { + /* This is to avoid Task Manager Service Component getting initialized before the underlying datasources + are registered */ + if (log.isDebugEnabled()) { + log.debug("Data source service set to Task Manager Service Component "); + } + } + + protected void unsetDataSourceService(DataSourceService dataSourceService) { + //do nothing + } + + @SuppressWarnings("unused") + public void setTaskService(TaskService taskService) { + if (log.isDebugEnabled()) { + log.debug("Setting the task service to Task Manager Service Component"); + } + TaskManagerDataHolder.getInstance().setnTaskService(taskService); + } + + @SuppressWarnings("unused") + protected void unsetTaskService(TaskService taskService) { + if (log.isDebugEnabled()) { + log.debug("Removing the task service from Task Manager Service Component"); + } + TaskManagerDataHolder.getInstance().setnTaskService(null); + } + + @SuppressWarnings("unused") + protected void setHeartBeatService(HeartBeatManagementService heartBeatService) { + if (log.isDebugEnabled()) { + log.debug("Setting heart beat service to Task Manager Service Component"); + } + TaskManagerDataHolder.getInstance().setHeartBeatService(heartBeatService); + } + + @SuppressWarnings("unused") + protected void unsetHeartBeatService(HeartBeatManagementService heartBeatManagementService) { + if (log.isDebugEnabled()) { + log.debug("Removing heart beat service from Task Manager Service Component"); + } + TaskManagerDataHolder.getInstance().setHeartBeatService(null); + } + +} \ No newline at end of file diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java new file mode 100755 index 00000000000..3c053fa1783 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java @@ -0,0 +1,386 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.service; + +import io.entgra.task.mgt.common.bean.DynamicTask; +import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.exception.TaskNotFoundException; +import io.entgra.task.mgt.common.exception.TaskManagementDAOException; +import io.entgra.task.mgt.common.exception.TaskManagementException; +import io.entgra.task.mgt.common.exception.TransactionManagementException; +import io.entgra.task.mgt.common.spi.TaskManagementService; +import io.entgra.task.mgt.core.dao.DynamicTaskDAO; +import io.entgra.task.mgt.core.dao.DynamicTaskPropDAO; +import io.entgra.task.mgt.core.dao.common.TaskManagementDAOFactory; +import io.entgra.task.mgt.core.internal.TaskManagerDataHolder; +import io.entgra.task.mgt.core.util.TaskManagementUtil; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.ntask.common.TaskException; +import org.wso2.carbon.ntask.core.TaskInfo; +import org.wso2.carbon.ntask.core.TaskManager; +import org.wso2.carbon.ntask.core.service.TaskService; + +import java.util.List; +import java.util.Map; + +public class TaskManagementServiceImpl implements TaskManagementService { + private static final Log log = LogFactory.getLog(TaskManagementServiceImpl.class); + + private final DynamicTaskDAO dynamicTaskDAO; + + private final DynamicTaskPropDAO dynamicTaskPropDAO; + private TaskManager taskManager; + + public TaskManagementServiceImpl() { + this.dynamicTaskDAO = TaskManagementDAOFactory.getDynamicTaskDAO(); + this.dynamicTaskPropDAO = TaskManagementDAOFactory.getDynamicTaskPropDAO(); + } + + @Override + public void init() throws TaskManagementException { + TaskService nTaskService = TaskManagerDataHolder.getInstance().getnTaskService(); + if (nTaskService == null) { + String msg = "Unable to load TaskService, hence unable to schedule the task."; + log.error(msg); + throw new TaskManagementException(msg); + } + if (!nTaskService.getRegisteredTaskTypes().contains( + TaskMgtConstant.Task.DYNAMIC_TASK_TYPE)) { + try { + nTaskService.registerTaskType(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + this.taskManager = nTaskService.getTaskManager(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + } catch (TaskException e) { + String msg = "Error occurred while registering task type [" + + TaskMgtConstant.Task.DYNAMIC_TASK_TYPE + + "], hence unable to schedule the task."; + log.error(msg); + throw new TaskManagementException(msg, e); + } + } + } + + @Override + public void createTask(DynamicTask dynamicTask) throws TaskManagementException { + String taskId; + try { + // add into the dynamic task tables + TaskManagementDAOFactory.beginTransaction(); + int dynamicTaskId = dynamicTaskDAO.addTask(dynamicTask); + + Map taskProperties = dynamicTask.getProperties(); + dynamicTaskPropDAO.addTaskProperties(dynamicTaskId, taskProperties); + + // add into the ntask core + taskId = TaskManagementUtil.generateTaskId(dynamicTaskId); + + if (!isTaskExists(taskId)) { + TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); + triggerInfo.setCronExpression(dynamicTask.getCronExpression()); + TaskInfo taskInfo = new TaskInfo(taskId, dynamicTask.getTaskClassName(), taskProperties, triggerInfo); + taskManager.registerTask(taskInfo); + taskManager.scheduleTask(taskId); + if (!dynamicTask.isEnabled()) { + taskManager.pauseTask(taskId); + } + } else { + String msg = "Task '" + taskId + "' is already exists in the ntask core " + + "Hence cannot create another task for the same."; + log.error(msg); + } + + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Failed to add dynamic task " + dynamicTask.getName(); + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to add dynamic task"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TaskException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while scheduling task '" + dynamicTask.getName() + "'"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + } + + @Override + public void updateTask(int dynamicTaskId, DynamicTask dynamicTask) throws TaskManagementException + , TaskNotFoundException { + try { + //Update dynamic task table + TaskManagementDAOFactory.beginTransaction(); + DynamicTask existingTask = dynamicTaskDAO.getDynamicTaskById(dynamicTaskId); + + if (existingTask != null) { + existingTask.setEnabled(dynamicTask.isEnabled()); + existingTask.setCronExpression(dynamicTask.getCronExpression()); + dynamicTaskDAO.updateDynamicTask(existingTask); + if (!dynamicTask.getProperties().isEmpty()) { + dynamicTaskPropDAO.updateDynamicTaskProps(dynamicTaskId, dynamicTask.getProperties()); + } + } else { + String msg = "Task '" + dynamicTaskId + "' is not exists in the dynamic task table."; + log.error(msg); + throw new TaskNotFoundException(msg); + } + + // Update task in the ntask core + String taskId = TaskManagementUtil.generateTaskId(existingTask.getDynamicTaskId()); + if (isTaskExists(taskId)) { + TaskInfo taskInfo = taskManager.getTask(taskId); + if (!dynamicTask.getProperties().isEmpty()) { + taskInfo.setProperties(dynamicTask.getProperties()); + } + TaskInfo.TriggerInfo triggerInfo; + if (taskInfo.getTriggerInfo() == null) { + triggerInfo = new TaskInfo.TriggerInfo(); + } else { + triggerInfo = taskInfo.getTriggerInfo(); + } + triggerInfo.setCronExpression(dynamicTask.getCronExpression()); + taskInfo.setTriggerInfo(triggerInfo); + taskManager.registerTask(taskInfo); + taskManager.rescheduleTask(taskId); + } else { + String msg = "Task '" + taskId + "' is not exists in the n task core " + + "Hence cannot update the task."; + log.error(msg); + } + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Failed to update dynamic task " + dynamicTask.getDynamicTaskId(); + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to update dynamic task"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TaskException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while updating task '" + dynamicTask.getDynamicTaskId() + "'"; + log.error(msg); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + } + + @Override + public void toggleTask(int dynamicTaskId, boolean isEnabled) throws TaskManagementException + , TaskNotFoundException { + + try { + //update dynamic task table + TaskManagementDAOFactory.beginTransaction(); + DynamicTask existingTask = dynamicTaskDAO.getDynamicTaskById(dynamicTaskId); + if (existingTask != null) { + existingTask.setEnabled(isEnabled); + dynamicTaskDAO.updateDynamicTask(existingTask); + } else { + String msg = "Task '" + dynamicTaskId + "' is not exists."; + log.error(msg); + throw new TaskNotFoundException(msg); + } + + // Update task in the ntask core + String taskId = TaskManagementUtil.generateTaskId(existingTask.getDynamicTaskId()); + if (isTaskExists(taskId)) { + if (isEnabled) { + taskManager.resumeTask(taskId); + } else { + taskManager.pauseTask(taskId); + } + } else { + String msg = "Task '" + taskId + "' is not exists in the ntask core " + + "Hence cannot toggle the task in the ntask."; + log.error(msg); + } + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Failed to toggle dynamic task " + dynamicTaskId; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to toggle dynamic task"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TaskException e) { + String msg = "Error occurred while toggling task '" + dynamicTaskId + "' to '" + isEnabled + "'"; + log.error(msg); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + } + + @Override + public void deleteTask(int dynamicTaskId) throws TaskManagementException, TaskNotFoundException { + // delete task from dynamic task table + try { + TaskManagementDAOFactory.beginTransaction(); + DynamicTask existingTask = dynamicTaskDAO.getDynamicTaskById(dynamicTaskId); + if (existingTask != null) { + dynamicTaskDAO.deleteDynamicTask(dynamicTaskId); + } else { + String msg = "Task '" + dynamicTaskId + "' is not exists."; + log.error(msg); + throw new TaskNotFoundException(msg); + } + + String taskId = TaskManagementUtil.generateTaskId(existingTask.getDynamicTaskId()); + if (isTaskExists(taskId)) { + taskManager.deleteTask(taskId); + } else { + String msg = "Task '" + taskId + "' is not exists in the ntask core " + + "Hence cannot delete from the ntask core."; + log.error(msg); + } + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Failed to update dynamic task " + dynamicTaskId; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to delete dynamic task"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TaskException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while retrieving task manager to delete task '" + dynamicTaskId + "'"; + log.error(msg); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + } + + @Override + public List getAllDynamicTasks() throws TaskManagementException { + List dynamicTasks = null; + try { + if (log.isDebugEnabled()) { + log.debug("Fetching the details of all dynamic tasks"); + } + TaskManagementDAOFactory.beginTransaction(); + dynamicTasks = dynamicTaskDAO.getAllDynamicTasks(); + if (dynamicTasks != null) { + for (DynamicTask dynamicTask : dynamicTasks) { + dynamicTask.setProperties(dynamicTaskPropDAO + .getDynamicTaskProps(dynamicTask.getDynamicTaskId())); + } + } + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while fetching all dynamic tasks"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to get all dynamic tasks"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + return dynamicTasks; + } + + @Override + public DynamicTask getDynamicTaskById(int dynamicTaskId) throws TaskManagementException { + DynamicTask dynamicTask = null; + try { + if (log.isDebugEnabled()) { + log.debug("Fetching the details of dynamic task '" + dynamicTaskId + "'"); + } + TaskManagementDAOFactory.beginTransaction(); + dynamicTask = dynamicTaskDAO.getDynamicTaskById(dynamicTaskId); + if (dynamicTask != null) { + dynamicTask.setProperties(dynamicTaskPropDAO.getDynamicTaskProps(dynamicTask.getDynamicTaskId())); + } + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while fetching dynamic task '" + dynamicTaskId + "'"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to get dynamic task '" + dynamicTaskId + "'"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + return dynamicTask; + } + + @Override + public List getActiveDynamicTasks() throws TaskManagementException { + List dynamicTasks = null; + try { + if (log.isDebugEnabled()) { + log.debug("Fetching the details of all active dynamic tasks"); + } + TaskManagementDAOFactory.beginTransaction(); + dynamicTasks = dynamicTaskDAO.getActiveDynamicTasks(); + if (dynamicTasks != null) { + for (DynamicTask dynamicTask : dynamicTasks) { + dynamicTask.setProperties(dynamicTaskPropDAO.getDynamicTaskProps(dynamicTask.getDynamicTaskId())); + } + } + TaskManagementDAOFactory.commitTransaction(); + } catch (TaskManagementDAOException e) { + TaskManagementDAOFactory.rollbackTransaction(); + String msg = "Error occurred while fetching all active dynamic tasks"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } catch (TransactionManagementException e) { + String msg = "Failed to start/open transaction to get all active dynamic tasks"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } finally { + TaskManagementDAOFactory.closeConnection(); + } + return dynamicTasks; + } + + // check whether task exist in the ntask core + private boolean isTaskExists(String taskId) throws TaskManagementException, TaskException { + if (StringUtils.isEmpty(taskId)) { + String msg = "Task ID must not be null or empty."; + log.error(msg); + throw new TaskManagementException(msg); + } + List tasks = taskManager.getAllTasks(); + for (TaskInfo t : tasks) { + if (taskId.equals(t.getName())) { + return true; + } + } + return false; + } +} diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java new file mode 100755 index 00000000000..5b22aa7d6b0 --- /dev/null +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.core.util; + +import com.google.gson.Gson; +import io.entgra.server.bootup.heartbeat.beacon.exception.HeartBeatManagementException; +import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.exception.TaskManagementException; +import io.entgra.task.mgt.core.internal.TaskManagerDataHolder; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.w3c.dom.Document; + +import javax.xml.XMLConstants; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import java.io.File; +import java.io.IOException; +import java.util.Map; + +/** + * Provides utility methods required by the task management bundle. + */ +public class TaskManagementUtil { + + private static final Log log = LogFactory.getLog(TaskManagementUtil.class); + + public static Document convertToDocument(File file) throws TaskManagementException { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + try { + factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); + factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); + DocumentBuilder docBuilder = factory.newDocumentBuilder(); + return docBuilder.parse(file); + } catch (Exception e) { + throw new TaskManagementException( + "Error occurred while parsing file, while converting " + + "to a org.w3c.dom.Document : " + e.getMessage(), e); + } + } + + public static String generateTaskId(int dynamicTaskId) throws TaskManagementException { + try { + int serverHashIdx = TaskManagerDataHolder.getInstance().getHeartBeatService() + .getServerCtxInfo().getLocalServerHashIdx(); + return TaskMgtConstant.Task.DYNAMIC_TASK_TYPE + TaskMgtConstant.Task.NAME_SEPARATOR + dynamicTaskId + + TaskMgtConstant.Task.NAME_SEPARATOR + serverHashIdx; + } catch (HeartBeatManagementException e) { + String msg = "Failed to generate task id for a dynamic task " + dynamicTaskId; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } + } + + public static String generateTaskPropsMD5(Map taskProperties) throws TaskManagementException { + if (taskProperties.containsKey(TaskMgtConstant.Task.__TENANT_ID_PROP__)) { + taskProperties.remove(TaskMgtConstant.Task.__TENANT_ID_PROP__); + } + Gson gson = new Gson(); + String json = gson.toJson(taskProperties); + return DigestUtils.md5Hex(json); + } +} diff --git a/components/task-mgt/task-manager/pom.xml b/components/task-mgt/task-manager/pom.xml new file mode 100755 index 00000000000..a263d338e70 --- /dev/null +++ b/components/task-mgt/task-manager/pom.xml @@ -0,0 +1,41 @@ + + + + + + org.wso2.carbon.devicemgt + task-mgt + 5.0.20-SNAPSHOT + ../pom.xml + + + 4.0.0 + task-manager + Entgra IoT - Task Manager Component + pom + http://entgra.io + + + io.entgra.task.mgt.core + io.entgra.task.mgt.common + + + \ No newline at end of file diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml new file mode 100755 index 00000000000..6b85fee2a7a --- /dev/null +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml @@ -0,0 +1,109 @@ + + + + + + org.wso2.carbon.devicemgt + task-watcher + 5.0.20-SNAPSHOT + ../pom.xml + + + 4.0.0 + io.entgra.task.mgt.watcher + bundle + Entgra IoT - Task Watcher + Entgra IoT - Task Watcher + http://entgra.io + + + + + org.apache.felix + maven-scr-plugin + + + org.apache.felix + maven-bundle-plugin + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + Task Watcher Bundle + io.entgra.task.mgt.watcher.internal + + org.osgi.framework.*;version="${imp.package.version.osgi.framework}", + org.osgi.service.*;version="${imp.package.version.osgi.service}", + org.apache.commons.logging, + org.wso2.carbon.ntask.*, + io.entgra.task.mgt.common.*, + io.entgra.task.mgt.core.*, + org.wso2.carbon.core, + + + io.entgra.task.mgt.watcher.* + + + + + + + + + + org.eclipse.osgi + org.eclipse.osgi + provided + + + org.eclipse.osgi + org.eclipse.osgi.services + provided + + + org.wso2.carbon + org.wso2.carbon.logging + provided + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.core + provided + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.common + provided + + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.core + provided + + + org.wso2.carbon + org.wso2.carbon.core + + + + \ No newline at end of file diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java new file mode 100755 index 00000000000..611cb8e8086 --- /dev/null +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java @@ -0,0 +1,142 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.watcher; + + +import io.entgra.task.mgt.common.bean.DynamicTask; +import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.exception.TaskManagementException; +import io.entgra.task.mgt.core.util.TaskManagementUtil; +import io.entgra.task.mgt.watcher.internal.TaskWatcherDataHolder; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.core.ServerStartupObserver; +import org.wso2.carbon.ntask.common.TaskException; +import org.wso2.carbon.ntask.core.TaskInfo; +import org.wso2.carbon.ntask.core.TaskManager; +import org.wso2.carbon.ntask.core.service.TaskService; + +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +public class IoTSStartupHandler implements ServerStartupObserver { + private static final Log log = LogFactory.getLog(IoTSStartupHandler.class); + + @Override + public void completingServerStartup() { + } + + @Override + public void completedServerStartup() { + Timer timer = new Timer(); + timer.schedule(new TimerTask() { + @Override + public void run() { + compareTasks(); + } + }, 200000, 600000); + } + + private void compareTasks() { + log.info("Comparing Tasks from carbon n task manager and engtra task manager"); + TaskManager taskManager = null; + TaskService nTaskService = TaskWatcherDataHolder.getInstance().getnTaskService(); + if (nTaskService == null) { + String msg = "Unable to load TaskService from the carbon n task core"; + log.error(msg); + } + try { + if (!nTaskService.getRegisteredTaskTypes().contains( + TaskMgtConstant.Task.DYNAMIC_TASK_TYPE)) { + nTaskService.registerTaskType(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + } + taskManager = nTaskService.getTaskManager(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + + List dynamicTasks = TaskWatcherDataHolder.getInstance().getTaskManagementService() + .getAllDynamicTasks(); + List tasks = taskManager.getAllTasks(); + // add or update task into n task core + for (DynamicTask dt : dynamicTasks) { + String generatedTaskId = TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()); + boolean isExist = false; + for (TaskInfo taskInfo : tasks) { + if (taskInfo.getName().equals(generatedTaskId)) { + isExist = true; + TaskInfo.TriggerInfo triggerInfo = taskInfo.getTriggerInfo(); + String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(dt.getProperties()); + String existingTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskInfo.getProperties()); + if (!triggerInfo.getCronExpression().equals(dt.getCronExpression()) + || !dynamicTaskPropMD5.equals(existingTaskPropMD5)) { + triggerInfo.setCronExpression(dt.getCronExpression()); + taskInfo.setTriggerInfo(triggerInfo); + taskInfo.setProperties(dt.getProperties()); + taskManager.registerTask(taskInfo); + taskManager.rescheduleTask(generatedTaskId); + log.debug("Task - '" + generatedTaskId + "' updated according to the dynamic task table"); + } + if (dt.isEnabled() + && taskManager.getTaskState(generatedTaskId) == TaskManager.TaskState.PAUSED) { + taskManager.resumeTask(generatedTaskId); + log.debug("Task - '" + generatedTaskId + "' enabled according to the dynamic task table"); + } else if (!dt.isEnabled() + && taskManager.getTaskState(generatedTaskId) != TaskManager.TaskState.PAUSED) { + taskManager.pauseTask(generatedTaskId); + log.debug("Task - '" + generatedTaskId + "' disabled according to the dynamic task table"); + } + break; + } + } + if (!isExist) { + TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); + triggerInfo.setCronExpression(dt.getCronExpression()); + TaskInfo taskInfo = new TaskInfo(generatedTaskId, dt.getTaskClassName(), + dt.getProperties(), triggerInfo); + taskManager.registerTask(taskInfo); + taskManager.scheduleTask(generatedTaskId); + log.debug("New task -'" + generatedTaskId + "' created according to the dynamic task table"); + } + } + + // Remove deleted items from the n task core + for (TaskInfo taskInfo : tasks) { + boolean isExist = false; + for (DynamicTask dt : dynamicTasks) { + if (taskInfo.getName().equals(TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()))) { + isExist = true; + } + } + if (!isExist) { + taskManager.deleteTask(taskInfo.getName()); + log.debug("Task '" + taskInfo.getName() + "' deleted according to the dynamic task table"); + } + } + log.info("Task Comparison Completed and all tasks in current node are updated"); + } catch ( + TaskException e) { + String msg = "Error occurred while accessing carbon n task manager."; + log.error(msg); + } catch ( + TaskManagementException e) { + String msg = "Error occurred while retrieving all active tasks from entgra task manager"; + log.error(msg); + } + + } +} diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java new file mode 100755 index 00000000000..a464887d0be --- /dev/null +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.watcher.internal; + + +import io.entgra.task.mgt.common.spi.TaskManagementService; +import org.wso2.carbon.ntask.core.service.TaskService; + +public class TaskWatcherDataHolder { + private TaskManagementService taskManagerService; + + private TaskService nTaskService; + + private static TaskWatcherDataHolder thisInstance = new TaskWatcherDataHolder(); + + private TaskWatcherDataHolder() {} + + public static TaskWatcherDataHolder getInstance() { + return thisInstance; + } + + public TaskManagementService getTaskManagementService() { + return taskManagerService; + } + + public void setTaskManagementService(TaskManagementService taskManagerService) { + this.taskManagerService = taskManagerService; + } + + public TaskService getnTaskService() { + return nTaskService; + } + + public void setnTaskService(TaskService nTaskService) { + this.nTaskService = nTaskService; + } + +} diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java new file mode 100755 index 00000000000..735dc653305 --- /dev/null +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * + * Entgra Pvt Ltd. 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 io.entgra.task.mgt.watcher.internal; + + +import io.entgra.task.mgt.common.spi.TaskManagementService; +import io.entgra.task.mgt.core.config.TaskConfigurationManager; +import io.entgra.task.mgt.core.config.TaskManagementConfig; +import io.entgra.task.mgt.watcher.IoTSStartupHandler; +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.core.ServerStartupObserver; +import org.wso2.carbon.ntask.core.service.TaskService; + + +/** + * @scr.component + * name="io.entgra.task.mgt.watcher" immediate="true" + * @scr.reference name="app.mgt.ntask.component" + * interface="org.wso2.carbon.ntask.core.service.TaskService" + * cardinality="1..1" + * policy="dynamic" + * bind="setTaskService" + * unbind="unsetTaskService" + * @scr.reference name="io.entgra.task.mgt.service" + * interface="io.entgra.task.mgt.common.spi.TaskManagementService" + * cardinality="1..1" + * policy="dynamic" + * bind="setTaskMgtService" + * unbind="unsetTaskMgtService" + */ +public class TaskWatcherServiceComponent { + + private static final Log log = LogFactory.getLog(TaskWatcherServiceComponent.class); + + protected void activate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + log.debug("Activating Task Watcher Service Component"); + } + try { + TaskManagementConfig taskManagementConfig = TaskConfigurationManager.getInstance().getTaskManagementConfig(); + if (taskManagementConfig.isTaskWatcherEnabled()) { + BundleContext bundleContext = ctx.getBundleContext(); + bundleContext.registerService(ServerStartupObserver.class.getName(), new IoTSStartupHandler(), null); + } else { + String msg = "Task watcher is not enabled in this environment hence wso2 carbon ntask will not " + + "update according to the task manager "; + log.debug(msg); + } + if (log.isDebugEnabled()) { + log.debug("Task Watcher Service Component has been successfully activated"); + } + } catch (Throwable e) { + log.error("Error occurred while activating Task Watcher Service Component", e); + } + } + + protected void deactivate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + log.debug("De-activating Task Watcher Service Component"); + } + } + + @SuppressWarnings("unused") + public void setTaskService(TaskService taskService) { + if (log.isDebugEnabled()) { + log.debug("Setting the task service to Task Watcher Service Component "); + } + TaskWatcherDataHolder.getInstance().setnTaskService(taskService); + } + + @SuppressWarnings("unused") + protected void unsetTaskService(TaskService taskService) { + if (log.isDebugEnabled()) { + log.debug("Removing the task service from Task Watcher Service Component "); + } + TaskWatcherDataHolder.getInstance().setnTaskService(null); + } + + @SuppressWarnings("unused") + protected void setTaskMgtService(TaskManagementService taskManagementService) { + if (log.isDebugEnabled()) { + log.debug("Setting the task service to Task Watcher Service Component "); + } + TaskWatcherDataHolder.getInstance().setTaskManagementService(taskManagementService); + } + + @SuppressWarnings("unused") + protected void unsetTaskMgtService(TaskManagementService taskManagementService) { + if (log.isDebugEnabled()) { + log.debug("Removing the task service from Task Watcher Service Component "); + } + TaskWatcherDataHolder.getInstance().setTaskManagementService(null); + } + +} \ No newline at end of file diff --git a/components/task-mgt/task-watcher/pom.xml b/components/task-mgt/task-watcher/pom.xml new file mode 100755 index 00000000000..a570d9f2793 --- /dev/null +++ b/components/task-mgt/task-watcher/pom.xml @@ -0,0 +1,40 @@ + + + + + + org.wso2.carbon.devicemgt + task-mgt + 5.0.20-SNAPSHOT + ../pom.xml + + + 4.0.0 + task-watcher + Entgra IoT - Task Watcher Component + pom + http://entgra.io + + + io.entgra.task.mgt.watcher + + + \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index 0e8d1b8466d..f383c5d5b9c 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -765,3 +765,25 @@ CREATE TABLE IF NOT EXISTS DM_EXT_PERMISSION_MAPPING ( TRACCAR_USER_ID INT DEFAULT 0 ); -- END OF DM_EXT_PERMISSION_MAPPING TABLE-- + +-- DYNAMIC TASK TABLES-- +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( + DYNAMIC_TASK_ID INTEGER AUTO_INCREMENT NOT NULL, + NAME VARCHAR(300) DEFAULT NULL , + CRON VARCHAR(8000) DEFAULT NULL, + IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + TASK_CLASS_NAME VARCHAR(8000) DEFAULT NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (DYNAMIC_TASK_ID) +); + +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + DYNAMIC_TASK_ID INTEGER NOT NULL, + PROPERTY_NAME VARCHAR(100) DEFAULT 0, + PROPERTY_VALUE VARCHAR(100) DEFAULT NULL, + TENANT_ID VARCHAR(100), + PRIMARY KEY (DYNAMIC_TASK_ID, PROPERTY_NAME, TENANT_ID), + CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES + DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE +); +-- END OF DYNAMIC TASK TABLE-- \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql index a682f457be6..c2310100cea 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -730,3 +730,27 @@ CREATE TABLE DM_GEOFENCE ( ); -- END OF DM_GEOFENCE TABLE-- + +-- DYNAMIC TASK TABLES-- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DYNAMIC_TASK]') AND TYPE IN (N'U')) +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( + DYNAMIC_TASK_ID INTEGER IDENTITY(1,1) NOT NULL, + NAME VARCHAR(255) DEFAULT NULL , + CRON VARCHAR(8000) DEFAULT NULL, + IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + TASK_CLASS_NAME VARCHAR(8000) DEFAULT NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (DYNAMIC_TASK_ID) +); +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DYNAMIC_TASK_PROPERTIES]') +AND TYPE IN (N'U')) +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + DYNAMIC_TASK_ID INTEGER NOT NULL, + PROPERTY_NAME VARCHAR(100) DEFAULT 0, + PROPERTY_VALUE VARCHAR(100) DEFAULT NULL, + TENANT_ID VARCHAR(100), + PRIMARY KEY (DYNAMIC_TASK_ID, PROPERTY_NAME, TENANT_ID), + CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES + DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE +); +-- END OF DYNAMIC TASK TABLE-- \ No newline at end of file diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql index 33ac7964dd4..17c7460c97e 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mysql.sql @@ -829,3 +829,25 @@ CREATE TABLE IF NOT EXISTS DM_EXT_PERMISSION_MAPPING ( TRACCAR_USER_ID INT DEFAULT 0 ); -- END OF DM_EXT_PERMISSION_MAPPING TABLE-- + +-- DYNAMIC TASK TABLES-- +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( + DYNAMIC_TASK_ID INTEGER AUTO_INCREMENT NOT NULL, + NAME VARCHAR(300) DEFAULT NULL , + CRON VARCHAR(8000) DEFAULT NULL, + IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + TASK_CLASS_NAME VARCHAR(8000) DEFAULT NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (DYNAMIC_TASK_ID) +) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + DYNAMIC_TASK_ID INTEGER NOT NULL, + PROPERTY_NAME VARCHAR(100) DEFAULT 0, + PROPERTY_VALUE VARCHAR(100) DEFAULT NULL, + TENANT_ID VARCHAR(100), + PRIMARY KEY (DYNAMIC_TASK_ID, PROPERTY_NAME, TENANT_ID), + CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES + DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; +-- END OF DYNAMIC TASK TABLE-- diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql index bbfe9bbcfb1..a5d37255488 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/oracle.sql @@ -1096,5 +1096,26 @@ CREATE TABLE DM_GEOFENCE ( TENANT_ID NUMBER(10) DEFAULT 0, CONSTRAINT PK_DM_GEOFENCE PRIMARY KEY (ID) ); - -- END OF DM_GEOFENCE TABLE-- + +-- DYNAMIC TASK TABLES-- +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( + DYNAMIC_TASK_ID NUMBER(10) NOT NULL, + NAME VARCHAR2(300) DEFAULT NULL , + CRON VARCHAR2(8000) DEFAULT NULL, + IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + TASK_CLASS_NAME VARCHAR2(8000) DEFAULT NULL, + TENANT_ID INTEGER DEFAULT 0, + CONSTRAINT PK_DYNAMIC_TASK PRIMARY KEY (DYNAMIC_TASK_ID) +) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + DYNAMIC_TASK_ID INTEGER NOT NULL, + PROPERTY_NAME VARCHAR2(100) DEFAULT 0, + PROPERTY_VALUE VARCHAR2(100) DEFAULT NULL, + TENANT_ID VARCHAR2(100), + CONSTRAINT PK_DYNAMIC_TASK_PROPERTIES PRIMARY KEY (DYNAMIC_TASK_ID, PROPERTY_NAME, TENANT_ID), + CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES + DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; +-- END OF DYNAMIC TASK TABLE-- diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql index 67ba8f1b6ae..731f086c616 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql @@ -750,3 +750,25 @@ CREATE TABLE IF NOT EXISTS DM_GEOFENCE ( ); -- END OF DM_GEOFENCE TABLE-- + +-- DYNAMIC TASK TABLES-- +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( + DYNAMIC_TASK_ID INTEGER DEFAULT NEXTVAL ('DYNAMIC_TASK_seq') NOT NULL, + NAME VARCHAR(300) DEFAULT NULL , + CRON VARCHAR(8000) DEFAULT NULL, + IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + TASK_CLASS_NAME VARCHAR(8000) DEFAULT NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (DYNAMIC_TASK_ID) +) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + DYNAMIC_TASK_ID INTEGER NOT NULL, + PROPERTY_NAME VARCHAR(100) DEFAULT 0, + PROPERTY_VALUE VARCHAR(100) DEFAULT NULL, + TENANT_ID VARCHAR(100), + PRIMARY KEY (DYNAMIC_TASK_ID, PROPERTY_NAME, TENANT_ID), + CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES + DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; +-- END OF DYNAMIC TASK TABLE-- diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/heart-beat-datasources.xml.j2 b/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/heart-beat-datasources.xml.j2 index 524f28c42a9..2360744fe6e 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/heart-beat-datasources.xml.j2 +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/heart-beat-datasources.xml.j2 @@ -39,10 +39,10 @@ <{{property_name}}>{{property_value}} {% endfor %} {% else %} - jdbc:mysql://localhost:3306/heart_beat - root - root - com.mysql.jdbc.Driver + jdbc:h2:./repository/database/HEART_BEAT_DB;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE + wso2carbon + wso2carbon + org.h2.Driver 50 60000 true diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/datasources/heart-beat-datasources.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/datasources/heart-beat-datasources.xml index a3c656b7570..ebbe5087f22 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/datasources/heart-beat-datasources.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/src/main/resources/datasources/heart-beat-datasources.xml @@ -29,10 +29,10 @@ - jdbc:mysql://localhost:3306/heart_beat - root - root - com.mysql.jdbc.Driver + jdbc:h2:./repository/database/HEART_BEAT_DB;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE + wso2carbon + wso2carbon + org.h2.Driver 50 60000 true diff --git a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml new file mode 100755 index 00000000000..c285c53040d --- /dev/null +++ b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml @@ -0,0 +1,112 @@ + + + + + + org.wso2.carbon.devicemgt + carbon-devicemgt + 5.0.20-SNAPSHOT + ../../../pom.xml + + + 4.0.0 + io.entgra.task.mgt.feature + pom + Entgra IoT - Task Manager Feature + http://wso2.org + + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.core + + + org.wso2.carbon.devicemgt + io.entgra.task.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 + + + io.entgra.task.mgt + ../../../features/etc/feature.properties + + + org.wso2.carbon.p2.category.type:server + org.eclipse.equinox.p2.type.group:true + + + + + org.wso2.carbon.devicemgt:io.entgra.task.mgt.core:${carbon.device.mgt.version} + + + org.wso2.carbon.devicemgt:io.entgra.task.mgt.common:${carbon.device.mgt.version} + + + org.wso2.carbon.devicemgt:io.entgra.task.mgt.watcher:${carbon.device.mgt.version} + + + + + + + + + + \ No newline at end of file diff --git a/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/build.properties b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/build.properties new file mode 100755 index 00000000000..9c86577d768 --- /dev/null +++ b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/build.properties @@ -0,0 +1 @@ +custom = true diff --git a/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf/task-mgt-config.xml b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf/task-mgt-config.xml new file mode 100755 index 00000000000..13fe2852587 --- /dev/null +++ b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf/task-mgt-config.xml @@ -0,0 +1,29 @@ + + + + + + + jdbc/DM_DS + + + + false + + diff --git a/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf_templates/templates/repository/conf/task-mgt-config.xml.j2 b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf_templates/templates/repository/conf/task-mgt-config.xml.j2 new file mode 100755 index 00000000000..a6897adf2ee --- /dev/null +++ b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/conf_templates/templates/repository/conf/task-mgt-config.xml.j2 @@ -0,0 +1,37 @@ + + + + + + + {% if task_mgt.datasource.name is defined %} + {{task_mgt.datasource.name}} + {% else %} + jdbc/DM_DS + {% endif %} + + + + {% if task_watcher.conf is defined %} + {{task_watcher.conf.enable}} + {% else %} + false + {% endif %} + + diff --git a/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/p2.inf b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/p2.inf new file mode 100755 index 00000000000..58012d9c018 --- /dev/null +++ b/features/task-mgt/io.entgra.task.mgt.feature/src/main/resources/p2.inf @@ -0,0 +1,3 @@ +instructions.configure = \ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.task.mgt_${feature.version}/conf/task-mgt-config.xml,target:${installFolder}/../../../repository/conf/task-mgt-config.xml,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.task.mgt_${feature.version}/conf_templates/,target:${installFolder}/../../resources/conf/,overwrite:true);\ \ No newline at end of file diff --git a/features/task-mgt/pom.xml b/features/task-mgt/pom.xml new file mode 100755 index 00000000000..26638a6aa2b --- /dev/null +++ b/features/task-mgt/pom.xml @@ -0,0 +1,42 @@ + + + + + + carbon-devicemgt + org.wso2.carbon.devicemgt + 5.0.20-SNAPSHOT + ../../pom.xml + + + 4.0.0 + task-mgt-feature + pom + Entgra IoT - Task Management Feature + http://entgra.io + + + io.entgra.task.mgt.feature + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 002ad13caa9..baed2c75433 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,7 @@ components/transport-mgt components/analytics-mgt components/webapp-authenticator-framework + components/task-mgt features/device-mgt features/apimgt-extensions features/application-mgt @@ -58,6 +59,8 @@ features/transport-mgt features/analytics-mgt features/webapp-authenticator-framework + features/task-mgt + @@ -350,6 +353,29 @@ + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.common + ${carbon.device.mgt.version} + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.core + ${carbon.device.mgt.version} + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.watcher + ${carbon.device.mgt.version} + + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.feature + zip + ${carbon.device.mgt.version} + + org.wso2.carbon @@ -2280,4 +2306,4 @@ - + \ No newline at end of file From 17f28c8b551a81eaee3b066525ee9569d049c330 Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Mon, 20 Feb 2023 03:41:07 +0530 Subject: [PATCH 049/101] Suppress unnecessary logs --- .../details/mgt/impl/DeviceInformationManagerImpl.java | 4 ++-- .../core/service/DeviceManagementProviderServiceImpl.java | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java index 585074894df..b293798ba26 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java @@ -409,7 +409,7 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager { } if (!HttpReportingUtil.isTrackerEnabled()) { if (log.isDebugEnabled()) { - log.info("Traccar is disabled"); + log.debug("Traccar is disabled"); } } } @@ -473,7 +473,7 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager { } if (!HttpReportingUtil.isTrackerEnabled()) { if (log.isDebugEnabled()) { - log.info("Traccar is disabled"); + log.debug("Traccar is disabled"); } } } 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 7bb7e7c6273..9b287756878 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 @@ -444,7 +444,9 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv //Exception was not thrown due to being conflicted with non-traccar features } } else { - log.info("Traccar is disabled"); + if (log.isDebugEnabled()) { + log.debug("Traccar is disabled"); + } } //enroll Traccar device @@ -544,7 +546,9 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv //Exception was not thrown due to being conflicted with non-traccar features } } else { - log.info("Traccar is disabled"); + if (log.isDebugEnabled()) { + log.debug("Traccar is disabled"); + } } //enroll Traccar device return status; From ce0d834b128e7105e6e53cddacffde2a49fd133f Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Mon, 20 Feb 2023 03:41:19 +0530 Subject: [PATCH 050/101] Fix NPE --- .../server/bootup/heartbeat/beacon/dto/ElectedCandidate.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/src/main/java/io/entgra/server/bootup/heartbeat/beacon/dto/ElectedCandidate.java b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/src/main/java/io/entgra/server/bootup/heartbeat/beacon/dto/ElectedCandidate.java index a3920d362bc..99bfa8eba91 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/src/main/java/io/entgra/server/bootup/heartbeat/beacon/dto/ElectedCandidate.java +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/src/main/java/io/entgra/server/bootup/heartbeat/beacon/dto/ElectedCandidate.java @@ -19,13 +19,14 @@ package io.entgra.server.bootup.heartbeat.beacon.dto; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.List; public class ElectedCandidate { private String serverUUID; private Timestamp timeOfElection; - private List acknowledgedTaskList = null; + private List acknowledgedTaskList = new ArrayList<>(); public List getAcknowledgedTaskList() { return acknowledgedTaskList; From a3eca63dfd6b6703119c593ec1cdef15583ff583 Mon Sep 17 00:00:00 2001 From: prathabanKavin Date: Sun, 19 Feb 2023 23:37:22 +0530 Subject: [PATCH 051/101] Fix mssql dbscripts of DM_DB, APPM_DB --- .../dbscripts/cdm/application-mgt/mssql.sql | 26 +++++++++++-- .../main/resources/dbscripts/cdm/mssql.sql | 38 +++++++++---------- 2 files changed, 41 insertions(+), 23 deletions(-) diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql index 0c55006976f..9b2e89b3f71 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql @@ -1,6 +1,7 @@ -- ----------------------------------------------------- -- Table AP_APP -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP]') AND TYPE IN (N'U')) CREATE TABLE AP_APP( ID INTEGER NOT NULL IDENTITY, NAME VARCHAR(350) NOT NULL, @@ -18,6 +19,7 @@ CREATE TABLE AP_APP( -- ----------------------------------------------------- -- Table AP_APP_RELEASE -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_RELEASE]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_RELEASE( ID INTEGER NOT NULL IDENTITY, DESCRIPTION VARCHAR(max) NOT NULL, @@ -52,6 +54,7 @@ CREATE INDEX fk_AP_APP_RELEASE_AP_APP1_idx ON AP_APP_RELEASE (AP_APP_ID ASC); -- ----------------------------------------------------- -- Table AP_APP_REVIEW -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_REVIEW]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_REVIEW( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -74,6 +77,7 @@ CREATE INDEX fk_AP_APP_COMMENT_AP_APP_RELEASE1_idx ON AP_APP_REVIEW (AP_APP_RELE -- ----------------------------------------------------- -- Table AP_APP_LIFECYCLE_STATE -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_LIFECYCLE_STATE]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_LIFECYCLE_STATE( ID INTEGER NOT NULL IDENTITY, CURRENT_STATE VARCHAR(45) NOT NULL, @@ -93,6 +97,7 @@ CREATE INDEX fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1_idx ON AP_APP_LIFECYCLE_S -- ----------------------------------------------------- -- Table AP_APP_TAG -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_TAG]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_TAG( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -103,6 +108,7 @@ CREATE TABLE AP_APP_TAG( -- ----------------------------------------------------- -- Table AP_DEVICE_SUBSCRIPTION -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_DEVICE_SUBSCRIPTION]') AND TYPE IN (N'U')) CREATE TABLE AP_DEVICE_SUBSCRIPTION( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -126,6 +132,7 @@ CREATE INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_DEVICE_SUBSCRIP -- ----------------------------------------------------- -- Table AP_GROUP_SUBSCRIPTION -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_GROUP_SUBSCRIPTION]') AND TYPE IN (N'U')) CREATE TABLE AP_GROUP_SUBSCRIPTION( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -146,6 +153,7 @@ CREATE INDEX fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_GROUP_SUBSCRIPTI -- ----------------------------------------------------- -- Table AP_ROLE_SUBSCRIPTION -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_ROLE_SUBSCRIPTION]') AND TYPE IN (N'U')) CREATE TABLE AP_ROLE_SUBSCRIPTION( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -166,6 +174,7 @@ CREATE INDEX fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_ROLE_SUBSCRIPTION -- ----------------------------------------------------- -- Table AP_UNRESTRICTED_ROLE -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_UNRESTRICTED_ROLE]') AND TYPE IN (N'U')) CREATE TABLE AP_UNRESTRICTED_ROLE( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -181,6 +190,7 @@ CREATE INDEX fk_AP_APP_VISIBILITY_AP_APP1_idx ON AP_UNRESTRICTED_ROLE (AP_APP_ID -- ----------------------------------------------------- -- Table AP_USER_SUBSCRIPTION -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_USER_SUBSCRIPTION]') AND TYPE IN (N'U')) CREATE TABLE AP_USER_SUBSCRIPTION( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -201,6 +211,7 @@ CREATE INDEX fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_USER_SUBSCRIPTION -- ----------------------------------------------------- -- Table AP_APP_CATEGORY -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_CATEGORY]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_CATEGORY( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -212,6 +223,7 @@ CREATE TABLE AP_APP_CATEGORY( -- ----------------------------------------------------- -- Table AP_APP_TAG_MAPPING -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_TAG_MAPPING]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_TAG_MAPPING( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -231,6 +243,7 @@ CREATE INDEX fk_AP_APP_TAG_copy1_AP_APP1_idx ON AP_APP_TAG_MAPPING (AP_APP_ID AS -- ----------------------------------------------------- -- Table AP_APP_CATEGORY_MAPPING -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_CATEGORY_MAPPING]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_CATEGORY_MAPPING( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -250,6 +263,7 @@ CREATE INDEX fk_AP_APP_CATEGORY_copy1_AP_APP1_idx ON AP_APP_CATEGORY_MAPPING (AP -- ----------------------------------------------------- -- Table AP_APP_SUB_OP_MAPPING -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_SUB_OP_MAPPING]') AND TYPE IN (N'U')) CREATE TABLE AP_APP_SUB_OP_MAPPING ( ID INTEGER NOT NULL IDENTITY, TENANT_ID INTEGER NOT NULL, @@ -265,6 +279,7 @@ CREATE INDEX fk_AP_APP_SUB_OP_MAPPING_AP_DEVICE_SUBSCRIPTION1_idx ON AP_APP_SUB_ -- ----------------------------------------------------- -- Table AP_SCHEDULED_SUBSCRIPTION -- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_SCHEDULED_SUBSCRIPTION]') AND TYPE IN (N'U')) CREATE TABLE AP_SCHEDULED_SUBSCRIPTION( ID INTEGER NOT NULL IDENTITY, TASK_NAME VARCHAR(100) NOT NULL, @@ -284,7 +299,8 @@ CREATE TABLE AP_SCHEDULED_SUBSCRIPTION( -- ----------------------------------------------------- -- Table AP_IDENTITY_SERVER -- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS AP_IDENTITY_SERVER ( +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_IDENTITY_SERVER]') AND TYPE IN (N'U')) +CREATE TABLE AP_IDENTITY_SERVER ( ID INTEGER NOT NULL IDENTITY, NAME VARCHAR(255) NOT NULL, PROVIDER_NAME VARCHAR(255) NOT NULL, @@ -299,8 +315,9 @@ CREATE TABLE IF NOT EXISTS AP_IDENTITY_SERVER ( -- ----------------------------------------------------- -- Table AP_IS_SP_APP_MAPPING --- -----------------------------------------------------; -CREATE TABLE IF NOT EXISTS AP_IS_SP_APP_MAPPING ( +-- ----------------------------------------------------- +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_IS_SP_APP_MAPPING]') AND TYPE IN (N'U')) +CREATE TABLE AP_IS_SP_APP_MAPPING ( ID INTEGER NOT NULL IDENTITY, SP_UID VARCHAR(255) NOT NULL, AP_APP_ID INT NOT NULL, @@ -314,7 +331,8 @@ CREATE TABLE IF NOT EXISTS AP_IS_SP_APP_MAPPING ( -- ----------------------------------------------------- -- Table AP_APP_FAVOURITES -- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS AP_APP_FAVOURITES( +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AP_APP_FAVOURITES]') AND TYPE IN (N'U')) +CREATE TABLE AP_APP_FAVOURITES( ID INTEGER NOT NULL IDENTITY, AP_APP_ID INTEGER NOT NULL, USER_NAME VARCHAR(100) NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql index c2310100cea..cad295b5598 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -120,21 +120,6 @@ CREATE TABLE DM_OPERATION ( PRIMARY KEY (ID) ); -IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DM_DEVICE_STATUS]') AND TYPE IN (N'U')) -CREATE TABLE DM_DEVICE_STATUS ( - ID INTEGER IDENTITY(1,1) NOT NULL, - ENROLMENT_ID INTEGER NOT NULL, - DEVICE_ID INTEGER NOT NULL, - STATUS VARCHAR(50) DEFAULT NULL, - UPDATE_TIME DATETIME2 DEFAULT NULL, - CHANGED_BY VARCHAR(255) NOT NULL, - PRIMARY KEY (ID), - CONSTRAINT FK_DM_DEVICE_STATUS_DEVICE FOREIGN KEY (DEVICE_ID) REFERENCES - DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT FK_DM_DEVICE_STATUS_ENROLMENT FOREIGN KEY (ENROLMENT_ID) REFERENCES - DM_ENROLMENT (ID) ON DELETE CASCADE ON UPDATE CASCADE -); - IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DM_ENROLMENT]') AND TYPE IN (N'U')) CREATE TABLE DM_ENROLMENT ( ID INTEGER IDENTITY(1,1) NOT NULL, @@ -151,6 +136,21 @@ CREATE TABLE DM_ENROLMENT ( DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DM_DEVICE_STATUS]') AND TYPE IN (N'U')) +CREATE TABLE DM_DEVICE_STATUS ( + ID INTEGER IDENTITY(1,1) NOT NULL, + ENROLMENT_ID INTEGER NOT NULL, + DEVICE_ID INTEGER NOT NULL, + STATUS VARCHAR(50) DEFAULT NULL, + UPDATE_TIME DATETIME2 DEFAULT NULL, + CHANGED_BY VARCHAR(255) NOT NULL, + PRIMARY KEY (ID), + CONSTRAINT FK_DM_DEVICE_STATUS_DEVICE FOREIGN KEY (DEVICE_ID) REFERENCES + DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT FK_DM_DEVICE_STATUS_ENROLMENT FOREIGN KEY (ENROLMENT_ID) REFERENCES + DM_ENROLMENT (ID) ON DELETE CASCADE ON UPDATE CASCADE +); + IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_ENROLMENT_FK_DEVICE_ID' AND OBJECT_ID = OBJECT_ID('DM_ENROLMENT')) CREATE INDEX IDX_ENROLMENT_FK_DEVICE_ID ON DM_ENROLMENT(DEVICE_ID); IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_ENROLMENT_DEVICE_ID_TENANT_ID' AND OBJECT_ID = OBJECT_ID('DM_ENROLMENT')) @@ -639,10 +639,10 @@ CREATE TABLE DM_OTP_DATA ( USERNAME VARCHAR(500) NOT NULL, EMAIL VARCHAR(100) NOT NULL, EMAIL_TYPE VARCHAR(20) NOT NULL, - META_INFO VARCHAR(20000) NOT NULL, + META_INFO VARCHAR(8000) NOT NULL, CREATED_AT DATETIME2(0) NOT NULL, EXPIRY_TIME INT NOT NULL DEFAULT 3600, - IS_EXPIRED BIT DEFAULT false, + IS_EXPIRED BIT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT email_type_uk UNIQUE (EMAIL, EMAIL_TYPE) ); @@ -718,8 +718,8 @@ CREATE TABLE DM_GEOFENCE ( ID INT IDENTITY NOT NULL, FENCE_NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(MAX) DEFAULT NULL, - LATITUDE DECIMAL(3,5) DEFAULT NULL, - LONGITUDE DECIMAL(3,5) DEFAULT NULL, + LATITUDE DECIMAL(3) DEFAULT NULL, + LONGITUDE DECIMAL(3) DEFAULT NULL, RADIUS DECIMAL(30,4) DEFAULT NULL, GEO_JSON VARCHAR(MAX) DEFAULT NULL, FENCE_SHAPE VARCHAR(100) DEFAULT NULL, From e4a5f49b9c86b9f08cccc310a51cd38e4d84e377 Mon Sep 17 00:00:00 2001 From: prathabanKavin Date: Tue, 21 Feb 2023 15:07:39 +0530 Subject: [PATCH 052/101] Fix dynamic task tables --- .../src/main/resources/dbscripts/cdm/mssql.sql | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql index cad295b5598..32827a1d0c6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -733,18 +733,18 @@ CREATE TABLE DM_GEOFENCE ( -- DYNAMIC TASK TABLES-- IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DYNAMIC_TASK]') AND TYPE IN (N'U')) -CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( +CREATE TABLE DYNAMIC_TASK ( DYNAMIC_TASK_ID INTEGER IDENTITY(1,1) NOT NULL, NAME VARCHAR(255) DEFAULT NULL , CRON VARCHAR(8000) DEFAULT NULL, - IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + IS_ENABLED BIT NOT NULL DEFAULT 0, TASK_CLASS_NAME VARCHAR(8000) DEFAULT NULL, TENANT_ID INTEGER DEFAULT 0, PRIMARY KEY (DYNAMIC_TASK_ID) ); -IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DYNAMIC_TASK_PROPERTIES]') -AND TYPE IN (N'U')) -CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[DYNAMIC_TASK_PROPERTIES]') AND TYPE IN (N'U')) +CREATE TABLE DYNAMIC_TASK_PROPERTIES ( DYNAMIC_TASK_ID INTEGER NOT NULL, PROPERTY_NAME VARCHAR(100) DEFAULT 0, PROPERTY_VALUE VARCHAR(100) DEFAULT NULL, From 78f8e807185c33d9fcbaaa51a3c212a552ce5602 Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Tue, 21 Feb 2023 22:23:10 +0530 Subject: [PATCH 053/101] Enhance dynamic task execution functionality --- .../org.wso2.carbon.device.mgt.core/pom.xml | 5 +++ .../task/impl/OperationTimeoutTask.java | 28 +++--------- .../task/impl/DeviceStatusMonitoringTask.java | 21 +++------ .../task/impl/DeviceDetailsRetrieverTask.java | 8 +--- .../impl/DynamicPartitionedScheduleTask.java | 44 ++++++++++++++++--- ...MgtConstant.java => TaskMgtConstants.java} | 7 +-- .../io.entgra.task.mgt.core/pom.xml | 17 +++++-- .../core/config/TaskConfigurationManager.java | 4 +- .../dao/common/TaskManagementDAOFactory.java | 12 ++--- .../core/dao/impl/DynamicTaskPropDAOImpl.java | 11 +++-- .../core/dao/util/TaskManagementDAOUtil.java | 1 - .../service/TaskManagementServiceImpl.java | 28 ++++++++---- .../mgt/core/util/TaskManagementUtil.java | 14 +++--- .../task/mgt/watcher/IoTSStartupHandler.java | 8 ++-- 14 files changed, 116 insertions(+), 92 deletions(-) rename components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/{TaskMgtConstant.java => TaskMgtConstants.java} (87%) 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 2572bc79a98..a55ae5faff8 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 @@ -103,6 +103,7 @@ org.wso2.carbon.ndatasource.core, org.wso2.carbon.ntask.core.*, org.wso2.carbon.ntask.common, + io.entgra.task.mgt.common.*, org.apache.commons.collections;version="${commons-collections.version.range}", org.wso2.carbon.email.sender.*, io.swagger.annotations.*;resolution:=optional, @@ -347,6 +348,10 @@ okhttp compile + + org.wso2.carbon.devicemgt + io.entgra.task.mgt.common + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/timeout/task/impl/OperationTimeoutTask.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/timeout/task/impl/OperationTimeoutTask.java index 2ee7e320328..c1bd71a2a55 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/timeout/task/impl/OperationTimeoutTask.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/timeout/task/impl/OperationTimeoutTask.java @@ -32,31 +32,10 @@ import org.wso2.carbon.device.mgt.core.task.impl.DynamicPartitionedScheduleTask; import java.util.ArrayList; import java.util.List; -import java.util.Map; public class OperationTimeoutTask extends DynamicPartitionedScheduleTask { private static final Log log = LogFactory.getLog(OperationTimeoutTask.class); - private OperationTimeout operationTimeoutConfig; - - @Override - public void setProperties(Map properties) { - super.setProperties(properties); - String operationTimeoutTaskConfigStr = properties - .get(OperationTimeoutTaskManagerServiceImpl.OPERATION_TIMEOUT_TASK_CONFIG); - Gson gson = new Gson(); - operationTimeoutConfig = gson.fromJson(operationTimeoutTaskConfigStr, OperationTimeout.class); - } - - @Override - public String getProperty(String name) { - return super.getProperty(name); - } - - @Override - public void refreshContext() { - super.refreshContext(); - } @Override protected void setup() { @@ -65,12 +44,15 @@ public class OperationTimeoutTask extends DynamicPartitionedScheduleTask { @Override protected void executeDynamicTask() { + String operationTimeoutTaskConfigStr = getProperty( + OperationTimeoutTaskManagerServiceImpl.OPERATION_TIMEOUT_TASK_CONFIG); + Gson gson = new Gson(); + OperationTimeout operationTimeoutConfig = gson.fromJson(operationTimeoutTaskConfigStr, OperationTimeout.class); try { - long timeMillis = System.currentTimeMillis() - operationTimeoutConfig.getTimeout() * 60 * 1000; List deviceTypes = new ArrayList<>(); if (operationTimeoutConfig.getDeviceTypes().size() == 1 && - "ALL".equals(operationTimeoutConfig.getDeviceTypes().get( 0))) { + "ALL".equals(operationTimeoutConfig.getDeviceTypes().get(0))) { try { List deviceTypeList = DeviceManagementDataHolder.getInstance() .getDeviceManagementProvider().getDeviceTypes(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/status/task/impl/DeviceStatusMonitoringTask.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/status/task/impl/DeviceStatusMonitoringTask.java index 5182fc36516..9d2e1ee7ce2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/status/task/impl/DeviceStatusMonitoringTask.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/status/task/impl/DeviceStatusMonitoringTask.java @@ -37,7 +37,6 @@ import org.wso2.carbon.device.mgt.core.task.impl.DynamicPartitionedScheduleTask; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * This implements the Task service which monitors the device activity periodically & update the device-status if @@ -47,19 +46,8 @@ public class DeviceStatusMonitoringTask extends DynamicPartitionedScheduleTask { private static final Log log = LogFactory.getLog(DeviceStatusMonitoringTask.class); private String deviceType; - private DeviceStatusTaskPluginConfig deviceStatusTaskPluginConfig; private int deviceTypeId = -1; - @Override - public void setProperties(Map properties) { - super.setProperties(properties); - deviceType = properties.get(DeviceStatusTaskManagerServiceImpl.DEVICE_TYPE); - deviceTypeId = Integer.parseInt(properties.get(DeviceStatusTaskManagerServiceImpl.DEVICE_TYPE_ID)); - String deviceStatusTaskConfigStr = properties.get(DeviceStatusTaskManagerServiceImpl.DEVICE_STATUS_TASK_CONFIG); - Gson gson = new Gson(); - deviceStatusTaskPluginConfig = gson.fromJson(deviceStatusTaskConfigStr, DeviceStatusTaskPluginConfig.class); - } - @Override protected void setup() { } @@ -92,6 +80,11 @@ public class DeviceStatusMonitoringTask extends DynamicPartitionedScheduleTask { @Override public void executeDynamicTask() { + deviceType = getProperty(DeviceStatusTaskManagerServiceImpl.DEVICE_TYPE); + deviceTypeId = Integer.parseInt(getProperty(DeviceStatusTaskManagerServiceImpl.DEVICE_TYPE_ID)); + String deviceStatusTaskConfigStr = getProperty(DeviceStatusTaskManagerServiceImpl.DEVICE_STATUS_TASK_CONFIG); + Gson gson = new Gson(); + DeviceStatusTaskPluginConfig deviceStatusTaskPluginConfig = gson.fromJson(deviceStatusTaskConfigStr, DeviceStatusTaskPluginConfig.class); try { List enrolmentInfoTobeUpdated = new ArrayList<>(); List allDevicesForMonitoring = getAllDevicesForMonitoring(); @@ -102,10 +95,10 @@ public class DeviceStatusMonitoringTask extends DynamicPartitionedScheduleTask { EnrolmentInfo enrolmentInfo = monitoringData.getDevice().getEnrolmentInfo(); EnrolmentInfo.Status status = null; - if (lastUpdatedTime >= this.deviceStatusTaskPluginConfig + if (lastUpdatedTime >= deviceStatusTaskPluginConfig .getIdleTimeToMarkInactive()) { status = EnrolmentInfo.Status.INACTIVE; - } else if (lastUpdatedTime >= this.deviceStatusTaskPluginConfig + } else if (lastUpdatedTime >= deviceStatusTaskPluginConfig .getIdleTimeToMarkUnreachable()) { status = EnrolmentInfo.Status.UNREACHABLE; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java index 0c6f77c15de..a13031eabb7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DeviceDetailsRetrieverTask.java @@ -48,7 +48,6 @@ import org.wso2.carbon.device.mgt.core.task.DeviceMgtTaskException; import org.wso2.carbon.device.mgt.core.task.DeviceTaskManager; import java.util.List; -import java.util.Map; public class DeviceDetailsRetrieverTask extends DynamicPartitionedScheduleTask { @@ -56,14 +55,9 @@ public class DeviceDetailsRetrieverTask extends DynamicPartitionedScheduleTask { private String deviceType; private DeviceManagementProviderService deviceManagementProviderService; - @Override - public void setProperties(Map map) { - super.setProperties(map); - deviceType = map.get("DEVICE_TYPE"); - } - @Override public void executeDynamicTask() { + deviceType = getProperty("DEVICE_TYPE"); deviceManagementProviderService = DeviceManagementDataHolder.getInstance() .getDeviceManagementProvider(); OperationMonitoringTaskConfig operationMonitoringTaskConfig = deviceManagementProviderService diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java index 0bbb59d2bda..6ce1ac5b6b1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java @@ -19,10 +19,11 @@ package org.wso2.carbon.device.mgt.core.task.impl; import io.entgra.server.bootup.heartbeat.beacon.exception.HeartBeatManagementException; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.ServerCtxInfo; import org.wso2.carbon.device.mgt.common.DynamicTaskContext; +import org.wso2.carbon.device.mgt.common.ServerCtxInfo; import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder; import org.wso2.carbon.ntask.core.Task; @@ -37,11 +38,11 @@ public abstract class DynamicPartitionedScheduleTask implements Task { private Map properties; @Override - public void setProperties(Map properties) { + public final void setProperties(Map properties) { this.properties = properties; } - public String getProperty(String name) { + public final String getProperty(String name) { if (properties == null) { return null; } @@ -62,7 +63,7 @@ public abstract class DynamicPartitionedScheduleTask implements Task { } } } catch (HeartBeatManagementException e) { - log.error("Error Instantiating Variables necessary for Dynamic Task Scheduling. Dynamic Tasks will not function." , e); + log.error("Error Instantiating Variables necessary for Dynamic Task Scheduling. Dynamic Tasks will not function.", e); } setup(); } @@ -70,11 +71,40 @@ public abstract class DynamicPartitionedScheduleTask implements Task { @Override public final void execute() { refreshContext(); - executeDynamicTask(); + if (taskContext != null && taskContext.isPartitioningEnabled()) { + String localHashIndex = getProperty(TaskMgtConstants.Task.LOCAL_HASH_INDEX); + // These tasks are not dynamically scheduled. They are added via a config so scheduled in each node + // during the server startup + if (localHashIndex == null ) { + if (log.isDebugEnabled()) { + log.debug("Executing startup scheduled task (" + getTaskName() + ")"); + } + executeDynamicTask(); + return; + } + if (localHashIndex.equals(String.valueOf(taskContext.getServerHashIndex()))) { + if (log.isDebugEnabled()) { + log.debug("Executing dynamically scheduled task (" + getTaskName() + + ") for current server hash index: " + localHashIndex); + } + executeDynamicTask(); + } else { + if (log.isDebugEnabled()) { + log.debug("Ignoring execution of task (" + getTaskName() + + ") not belonging to current serer hash index: " + localHashIndex); + } + } + } else { + executeDynamicTask(); + } + } + + public String getTaskName() { + return getProperty(TaskMgtConstants.Task.LOCAL_TASK_NAME); } - public void refreshContext(){ - if(taskContext != null && taskContext.isPartitioningEnabled()) { + public void refreshContext() { + if (taskContext != null && taskContext.isPartitioningEnabled()) { try { updateContext(); } catch (HeartBeatManagementException e) { diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstants.java similarity index 87% rename from components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java rename to components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstants.java index 5dcc03bd1b7..2ffe9609642 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstant.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/src/main/java/io/entgra/task/mgt/common/constant/TaskMgtConstants.java @@ -17,7 +17,7 @@ */ package io.entgra.task.mgt.common.constant; -public class TaskMgtConstant { +public class TaskMgtConstants { public static final class DataSourceProperties { private DataSourceProperties() { throw new AssertionError(); @@ -46,7 +46,8 @@ public class TaskMgtConstant { public static final String NAME_SEPARATOR = "_"; public static final String PROPERTY_KEY_COLUMN_NAME = "PROPERTY_NAME"; public static final String PROPERTY_VALUE_COLUMN_NAME = "PROPERTY_VALUE"; - public static final String __TENANT_ID_PROP__ = "__TENANT_ID_PROP__"; - + public static final String TENANT_ID_PROP = "__TENANT_ID_PROP__"; + public static final String LOCAL_HASH_INDEX = "__LOCAL_HASH_INDEX__"; + public static final String LOCAL_TASK_NAME = "__LOCAL_TASK_NAME__"; } } diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml index 5202f25781c..f0ffd6c1f54 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml @@ -63,10 +63,12 @@ javax.naming, io.entgra.task.mgt.common.*, org.wso2.carbon.utils.*, - org.wso2.carbon.ntask.*, - org.wso2.carbon.device.mgt.core.*, + org.wso2.carbon.ntask.core.*, + org.wso2.carbon.ntask.common, org.wso2.carbon.device.mgt.common.*, org.wso2.carbon.context, + org.apache.commons.codec.binary;version="${commons-codec.wso2.osgi.version.range}", + org.apache.commons.codec.digest;version="${commons-codec.wso2.osgi.version.range}", io.entgra.server.bootup.heartbeat.beacon.dto, io.entgra.server.bootup.heartbeat.beacon.exception, io.entgra.server.bootup.heartbeat.beacon.service, @@ -113,8 +115,8 @@ provided - org.wso2.carbon.devicemgt - org.wso2.carbon.device.mgt.core + commons-codec.wso2 + commons-codec provided @@ -127,6 +129,13 @@ io.entgra.server.bootup.heartbeat.beacon provided + + + + org.wso2.carbon.commons + org.wso2.carbon.ntask.core + provided + \ No newline at end of file diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java index 9700465a1df..2779a07ff9e 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/config/TaskConfigurationManager.java @@ -17,7 +17,7 @@ */ package io.entgra.task.mgt.core.config; -import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.TaskManagementException; import io.entgra.task.mgt.core.util.TaskManagementUtil; import org.w3c.dom.Document; @@ -38,7 +38,7 @@ public class TaskConfigurationManager { private static final String TASK_MGT_CONFIG_PATH = CarbonUtils.getCarbonConfigDirPath() + File.separator + - TaskMgtConstant.DataSourceProperties.TASK_CONFIG_XML_NAME; + TaskMgtConstants.DataSourceProperties.TASK_CONFIG_XML_NAME; public static TaskConfigurationManager getInstance() { if (taskConfigurationManager == null) { diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java index c5ef61db2a9..c8f8623777b 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/common/TaskManagementDAOFactory.java @@ -17,7 +17,7 @@ */ package io.entgra.task.mgt.core.dao.common; -import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.IllegalTransactionStateException; import io.entgra.task.mgt.common.exception.TransactionManagementException; import io.entgra.task.mgt.common.exception.UnsupportedDatabaseEngineException; @@ -25,9 +25,9 @@ import io.entgra.task.mgt.core.config.datasource.DataSourceConfig; import io.entgra.task.mgt.core.config.datasource.JNDILookupDefinition; import io.entgra.task.mgt.core.dao.DynamicTaskDAO; import io.entgra.task.mgt.core.dao.DynamicTaskPropDAO; -import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; import io.entgra.task.mgt.core.dao.impl.DynamicTaskDAOImpl; import io.entgra.task.mgt.core.dao.impl.DynamicTaskPropDAOImpl; +import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -48,8 +48,8 @@ public class TaskManagementDAOFactory { public static DynamicTaskDAO getDynamicTaskDAO() { if (databaseEngine != null) { switch (databaseEngine) { - case TaskMgtConstant.DataBaseTypes.DB_TYPE_H2: - case TaskMgtConstant.DataBaseTypes.DB_TYPE_MYSQL: + case TaskMgtConstants.DataBaseTypes.DB_TYPE_H2: + case TaskMgtConstants.DataBaseTypes.DB_TYPE_MYSQL: return new DynamicTaskDAOImpl(); default: throw new UnsupportedDatabaseEngineException("Unsupported database engine : " + databaseEngine); @@ -61,8 +61,8 @@ public class TaskManagementDAOFactory { public static DynamicTaskPropDAO getDynamicTaskPropDAO() { if (databaseEngine != null) { switch (databaseEngine) { - case TaskMgtConstant.DataBaseTypes.DB_TYPE_H2: - case TaskMgtConstant.DataBaseTypes.DB_TYPE_MYSQL: + case TaskMgtConstants.DataBaseTypes.DB_TYPE_H2: + case TaskMgtConstants.DataBaseTypes.DB_TYPE_MYSQL: return new DynamicTaskPropDAOImpl(); default: throw new UnsupportedDatabaseEngineException("Unsupported database engine : " + databaseEngine); diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java index a6e02a96c65..66d6920feb5 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/impl/DynamicTaskPropDAOImpl.java @@ -17,15 +17,14 @@ */ package io.entgra.task.mgt.core.dao.impl; -import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.TaskManagementDAOException; import io.entgra.task.mgt.core.dao.DynamicTaskPropDAO; -import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; import io.entgra.task.mgt.core.dao.common.TaskManagementDAOFactory; +import io.entgra.task.mgt.core.dao.util.TaskManagementDAOUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; import java.sql.Connection; import java.sql.PreparedStatement; @@ -79,8 +78,8 @@ public class DynamicTaskPropDAOImpl implements DynamicTaskPropDAO { resultSet = stmt.executeQuery(); properties = new HashMap<>(); while (resultSet.next()) { - properties.put(resultSet.getString(TaskMgtConstant.Task.PROPERTY_KEY_COLUMN_NAME) - , resultSet.getString(TaskMgtConstant.Task.PROPERTY_VALUE_COLUMN_NAME)); + properties.put(resultSet.getString(TaskMgtConstants.Task.PROPERTY_KEY_COLUMN_NAME) + , resultSet.getString(TaskMgtConstants.Task.PROPERTY_VALUE_COLUMN_NAME)); } } catch (SQLException e) { String msg = "Error occurred while fetching task properties of : '" + dynamicTaskId + "'"; @@ -119,7 +118,7 @@ public class DynamicTaskPropDAOImpl implements DynamicTaskPropDAO { throw new TaskManagementDAOException ("Error occurred while updating device properties to database.", e); } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, null); + TaskManagementDAOUtil.cleanupResources(stmt, null); } } } diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java index 843fc178aa9..c9ba9ea07ae 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/dao/util/TaskManagementDAOUtil.java @@ -20,7 +20,6 @@ package io.entgra.task.mgt.core.dao.util; import io.entgra.task.mgt.common.bean.DynamicTask; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.Device; import javax.naming.InitialContext; import javax.sql.DataSource; diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java index 3c053fa1783..e2deb157777 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Entgra Pvt Ltd. (http://www.wso2.org) All Rights Reserved. + * Copyright (c) 2023, Entgra Pvt Ltd. (https://entgra.io) All Rights Reserved. * * Entgra Pvt Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -17,11 +17,12 @@ */ package io.entgra.task.mgt.core.service; +import io.entgra.server.bootup.heartbeat.beacon.exception.HeartBeatManagementException; import io.entgra.task.mgt.common.bean.DynamicTask; -import io.entgra.task.mgt.common.constant.TaskMgtConstant; -import io.entgra.task.mgt.common.exception.TaskNotFoundException; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.TaskManagementDAOException; import io.entgra.task.mgt.common.exception.TaskManagementException; +import io.entgra.task.mgt.common.exception.TaskNotFoundException; import io.entgra.task.mgt.common.exception.TransactionManagementException; import io.entgra.task.mgt.common.spi.TaskManagementService; import io.entgra.task.mgt.core.dao.DynamicTaskDAO; @@ -62,13 +63,13 @@ public class TaskManagementServiceImpl implements TaskManagementService { throw new TaskManagementException(msg); } if (!nTaskService.getRegisteredTaskTypes().contains( - TaskMgtConstant.Task.DYNAMIC_TASK_TYPE)) { + TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { try { - nTaskService.registerTaskType(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); - this.taskManager = nTaskService.getTaskManager(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + this.taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); } catch (TaskException e) { String msg = "Error occurred while registering task type [" - + TaskMgtConstant.Task.DYNAMIC_TASK_TYPE + + TaskMgtConstants.Task.DYNAMIC_TASK_TYPE + "], hence unable to schedule the task."; log.error(msg); throw new TaskManagementException(msg, e); @@ -90,6 +91,17 @@ public class TaskManagementServiceImpl implements TaskManagementService { // add into the ntask core taskId = TaskManagementUtil.generateTaskId(dynamicTaskId); + try { + int serverHashIdx = TaskManagerDataHolder.getInstance().getHeartBeatService() + .getServerCtxInfo().getLocalServerHashIdx(); + taskProperties.put(TaskMgtConstants.Task.LOCAL_HASH_INDEX, String.valueOf(serverHashIdx)); + taskProperties.put(TaskMgtConstants.Task.LOCAL_TASK_NAME, taskId); + } catch (HeartBeatManagementException e) { + String msg = "Unexpected exception when getting server hash index."; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } + if (!isTaskExists(taskId)) { TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); triggerInfo.setCronExpression(dynamicTask.getCronExpression()); @@ -101,7 +113,7 @@ public class TaskManagementServiceImpl implements TaskManagementService { } } else { String msg = "Task '" + taskId + "' is already exists in the ntask core " - + "Hence cannot create another task for the same."; + + "Hence not creating another task for the same name."; log.error(msg); } diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java index 5b22aa7d6b0..fdfdaeaf4f2 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java @@ -19,7 +19,7 @@ package io.entgra.task.mgt.core.util; import com.google.gson.Gson; import io.entgra.server.bootup.heartbeat.beacon.exception.HeartBeatManagementException; -import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.TaskManagementException; import io.entgra.task.mgt.core.internal.TaskManagerDataHolder; import org.apache.commons.codec.digest.DigestUtils; @@ -31,7 +31,6 @@ import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.File; -import java.io.IOException; import java.util.Map; /** @@ -60,8 +59,8 @@ public class TaskManagementUtil { try { int serverHashIdx = TaskManagerDataHolder.getInstance().getHeartBeatService() .getServerCtxInfo().getLocalServerHashIdx(); - return TaskMgtConstant.Task.DYNAMIC_TASK_TYPE + TaskMgtConstant.Task.NAME_SEPARATOR + dynamicTaskId - + TaskMgtConstant.Task.NAME_SEPARATOR + serverHashIdx; + return TaskMgtConstants.Task.DYNAMIC_TASK_TYPE + TaskMgtConstants.Task.NAME_SEPARATOR + dynamicTaskId + + TaskMgtConstants.Task.NAME_SEPARATOR + serverHashIdx; } catch (HeartBeatManagementException e) { String msg = "Failed to generate task id for a dynamic task " + dynamicTaskId; log.error(msg, e); @@ -70,11 +69,12 @@ public class TaskManagementUtil { } public static String generateTaskPropsMD5(Map taskProperties) throws TaskManagementException { - if (taskProperties.containsKey(TaskMgtConstant.Task.__TENANT_ID_PROP__)) { - taskProperties.remove(TaskMgtConstant.Task.__TENANT_ID_PROP__); - } + taskProperties.remove(TaskMgtConstants.Task.TENANT_ID_PROP); + taskProperties.remove(TaskMgtConstants.Task.LOCAL_HASH_INDEX); + taskProperties.remove(TaskMgtConstants.Task.LOCAL_TASK_NAME); Gson gson = new Gson(); String json = gson.toJson(taskProperties); return DigestUtils.md5Hex(json); } + } diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java index 611cb8e8086..824cb57295c 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java @@ -20,7 +20,7 @@ package io.entgra.task.mgt.watcher; import io.entgra.task.mgt.common.bean.DynamicTask; -import io.entgra.task.mgt.common.constant.TaskMgtConstant; +import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.TaskManagementException; import io.entgra.task.mgt.core.util.TaskManagementUtil; import io.entgra.task.mgt.watcher.internal.TaskWatcherDataHolder; @@ -64,10 +64,10 @@ public class IoTSStartupHandler implements ServerStartupObserver { } try { if (!nTaskService.getRegisteredTaskTypes().contains( - TaskMgtConstant.Task.DYNAMIC_TASK_TYPE)) { - nTaskService.registerTaskType(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { + nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); } - taskManager = nTaskService.getTaskManager(TaskMgtConstant.Task.DYNAMIC_TASK_TYPE); + taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); List dynamicTasks = TaskWatcherDataHolder.getInstance().getTaskManagementService() .getAllDynamicTasks(); From fb3797774e8f4413bf306bcd7c65afb79c0708a6 Mon Sep 17 00:00:00 2001 From: prathabanKavin Date: Thu, 23 Feb 2023 00:36:14 +0530 Subject: [PATCH 054/101] Add fix to load apps and create app --- .../dao/impl/application/SQLServerApplicationDAOImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/dao/impl/application/SQLServerApplicationDAOImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/dao/impl/application/SQLServerApplicationDAOImpl.java index 9ad0b9d4c0c..bfce4e31fa0 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/dao/impl/application/SQLServerApplicationDAOImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/dao/impl/application/SQLServerApplicationDAOImpl.java @@ -94,6 +94,7 @@ public class SQLServerApplicationDAOImpl extends GenericApplicationDAOImpl { || StringUtils.isNotEmpty(filter.getAppReleaseType())) { sql += "LEFT JOIN AP_APP_RELEASE ON AP_APP.ID = AP_APP_RELEASE.AP_APP_ID "; } + sql += "WHERE AP_APP.TENANT_ID = ? "; if (StringUtils.isNotEmpty(filter.getAppType()) && !Constants.ALL.equalsIgnoreCase(filter.getAppType())) { sql += "AND AP_APP.TYPE = ? "; } @@ -128,7 +129,7 @@ public class SQLServerApplicationDAOImpl extends GenericApplicationDAOImpl { sql += filter.getSortBy() +" "; } if (filter.getLimit() != -1) { - sql += "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY "; + sql += "OFFSET ? ROWS FETCH NEXT ? ROWS ONLY "; } sql += ") AS app_data ON app_data.ID = AP_APP.ID " + "LEFT JOIN (" @@ -145,6 +146,7 @@ public class SQLServerApplicationDAOImpl extends GenericApplicationDAOImpl { Connection conn = this.getDBConnection(); try (PreparedStatement stmt = conn.prepareStatement(sql)) { int paramIndex = 1; + stmt.setInt(paramIndex++, tenantId); if (StringUtils.isNotEmpty(filter.getAppType()) && !Constants.ALL.equalsIgnoreCase(filter.getAppType())) { stmt.setString(paramIndex++, filter.getAppType()); } From 1db4b4095e528ea1ff862b9ed7f743b1707f87ce Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Thu, 23 Feb 2023 13:00:52 +0530 Subject: [PATCH 055/101] Enhance dynamic task watcher functionality --- .../impl/DynamicPartitionedScheduleTask.java | 3 +- .../core/internal/TaskManagerDataHolder.java | 2 +- .../service/TaskManagementServiceImpl.java | 6 +- .../io.entgra.task.mgt.watcher/pom.xml | 39 +++- .../task/mgt/watcher/IoTSStartupHandler.java | 212 ++++++++++++------ .../internal/TaskWatcherDataHolder.java | 24 +- .../internal/TaskWatcherServiceComponent.java | 60 ++++- 7 files changed, 268 insertions(+), 78 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java index 6ce1ac5b6b1..ad3269be004 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/task/impl/DynamicPartitionedScheduleTask.java @@ -77,7 +77,8 @@ public abstract class DynamicPartitionedScheduleTask implements Task { // during the server startup if (localHashIndex == null ) { if (log.isDebugEnabled()) { - log.debug("Executing startup scheduled task (" + getTaskName() + ")"); + log.debug("Executing startup scheduled task (" + getTaskName() + ") with class: " + + this.getClass().getName()); } executeDynamicTask(); return; diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java index 602daa68b94..8de0cbb40fe 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/internal/TaskManagerDataHolder.java @@ -27,7 +27,7 @@ public class TaskManagerDataHolder { private HeartBeatManagementService heartBeatService; - private static TaskManagerDataHolder thisInstance = new TaskManagerDataHolder(); + private static final TaskManagerDataHolder thisInstance = new TaskManagerDataHolder(); private TaskManagerDataHolder() { } diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java index e2deb157777..c206d77dc35 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java @@ -293,7 +293,7 @@ public class TaskManagementServiceImpl implements TaskManagementService { @Override public List getAllDynamicTasks() throws TaskManagementException { - List dynamicTasks = null; + List dynamicTasks; try { if (log.isDebugEnabled()) { log.debug("Fetching the details of all dynamic tasks"); @@ -324,7 +324,7 @@ public class TaskManagementServiceImpl implements TaskManagementService { @Override public DynamicTask getDynamicTaskById(int dynamicTaskId) throws TaskManagementException { - DynamicTask dynamicTask = null; + DynamicTask dynamicTask; try { if (log.isDebugEnabled()) { log.debug("Fetching the details of dynamic task '" + dynamicTaskId + "'"); @@ -352,7 +352,7 @@ public class TaskManagementServiceImpl implements TaskManagementService { @Override public List getActiveDynamicTasks() throws TaskManagementException { - List dynamicTasks = null; + List dynamicTasks; try { if (log.isDebugEnabled()) { log.debug("Fetching the details of all active dynamic tasks"); diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml index 6b85fee2a7a..d546c286989 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml @@ -52,13 +52,18 @@ Task Watcher Bundle io.entgra.task.mgt.watcher.internal - org.osgi.framework.*;version="${imp.package.version.osgi.framework}", - org.osgi.service.*;version="${imp.package.version.osgi.service}", - org.apache.commons.logging, - org.wso2.carbon.ntask.*, + io.entgra.server.bootup.heartbeat.beacon.*, io.entgra.task.mgt.common.*, io.entgra.task.mgt.core.*, + org.apache.commons.logging, + org.osgi.framework.*;version="${imp.package.version.osgi.framework}", + org.osgi.service.*;version="${imp.package.version.osgi.service}", + org.wso2.carbon.context, org.wso2.carbon.core, + org.wso2.carbon.device.mgt.common.*, + org.wso2.carbon.ntask.*, + org.wso2.carbon.user.api, + org.wso2.carbon.user.core.*, io.entgra.task.mgt.watcher.* @@ -95,14 +100,40 @@ io.entgra.task.mgt.common provided + + org.wso2.carbon.devicemgt + org.wso2.carbon.device.mgt.common + provided + org.wso2.carbon.devicemgt org.wso2.carbon.device.mgt.core provided + + org.wso2.carbon.devicemgt + io.entgra.server.bootup.heartbeat.beacon + provided + org.wso2.carbon org.wso2.carbon.core + provided + + + org.wso2.carbon + org.wso2.carbon.user.core + provided + + + org.wso2.carbon + org.wso2.carbon.user.api + provided + + + org.wso2.carbon + org.wso2.carbon.utils + provided diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java index 824cb57295c..1c48d81f217 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java @@ -18,7 +18,7 @@ package io.entgra.task.mgt.watcher; - +import io.entgra.server.bootup.heartbeat.beacon.exception.HeartBeatManagementException; import io.entgra.task.mgt.common.bean.DynamicTask; import io.entgra.task.mgt.common.constant.TaskMgtConstants; import io.entgra.task.mgt.common.exception.TaskManagementException; @@ -26,13 +26,21 @@ import io.entgra.task.mgt.core.util.TaskManagementUtil; import io.entgra.task.mgt.watcher.internal.TaskWatcherDataHolder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.ntask.common.TaskException; import org.wso2.carbon.ntask.core.TaskInfo; import org.wso2.carbon.ntask.core.TaskManager; import org.wso2.carbon.ntask.core.service.TaskService; +import org.wso2.carbon.user.api.Tenant; +import org.wso2.carbon.user.api.UserStoreException; +import org.wso2.carbon.user.core.service.RealmService; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -49,93 +57,169 @@ public class IoTSStartupHandler implements ServerStartupObserver { timer.schedule(new TimerTask() { @Override public void run() { - compareTasks(); + try { + compareTasks(); + } catch (Exception e) { + log.error("Error occurred when comparing tasks.", e); + } } }, 200000, 600000); } private void compareTasks() { - log.info("Comparing Tasks from carbon n task manager and engtra task manager"); - TaskManager taskManager = null; + if (log.isDebugEnabled()) { + log.debug("Comparing Tasks from carbon nTask manager and entgra task manager"); + } + TaskManager taskManager; TaskService nTaskService = TaskWatcherDataHolder.getInstance().getnTaskService(); if (nTaskService == null) { - String msg = "Unable to load TaskService from the carbon n task core"; + String msg = "Unable to load TaskService from the carbon nTask core"; log.error(msg); + return; } try { - if (!nTaskService.getRegisteredTaskTypes().contains( - TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { - nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); - } - taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); - List dynamicTasks = TaskWatcherDataHolder.getInstance().getTaskManagementService() .getAllDynamicTasks(); - List tasks = taskManager.getAllTasks(); - // add or update task into n task core + Map> tenantedDynamicTasks = new HashMap<>(); + List dts; for (DynamicTask dt : dynamicTasks) { - String generatedTaskId = TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()); - boolean isExist = false; - for (TaskInfo taskInfo : tasks) { - if (taskInfo.getName().equals(generatedTaskId)) { - isExist = true; - TaskInfo.TriggerInfo triggerInfo = taskInfo.getTriggerInfo(); - String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(dt.getProperties()); - String existingTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskInfo.getProperties()); - if (!triggerInfo.getCronExpression().equals(dt.getCronExpression()) - || !dynamicTaskPropMD5.equals(existingTaskPropMD5)) { - triggerInfo.setCronExpression(dt.getCronExpression()); - taskInfo.setTriggerInfo(triggerInfo); - taskInfo.setProperties(dt.getProperties()); - taskManager.registerTask(taskInfo); - taskManager.rescheduleTask(generatedTaskId); - log.debug("Task - '" + generatedTaskId + "' updated according to the dynamic task table"); + if (tenantedDynamicTasks.containsKey(dt.getTenantId())) { + dts = tenantedDynamicTasks.get(dt.getTenantId()); + } else { + dts = new ArrayList<>(); + } + dts.add(dt); + tenantedDynamicTasks.put(dt.getTenantId(), dts); + } + for (Integer tenantId : tenantedDynamicTasks.keySet()) { + if (tenantId == -1) { + log.warn("Found " + tenantedDynamicTasks.get(tenantId).size() + + " invalid tasks without a valid tenant id."); + continue; + } + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenantId, true); + if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { + nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + } + taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + List tasks = taskManager.getAllTasks(); + // add or update task into nTask core + for (DynamicTask dt : tenantedDynamicTasks.get(tenantId)) { + String generatedTaskId = TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()); + Map taskProperties = dt.getProperties(); + try { + int serverHashIdx = TaskWatcherDataHolder.getInstance().getHeartBeatService() + .getServerCtxInfo().getLocalServerHashIdx(); + taskProperties.put(TaskMgtConstants.Task.LOCAL_HASH_INDEX, String.valueOf(serverHashIdx)); + taskProperties.put(TaskMgtConstants.Task.LOCAL_TASK_NAME, generatedTaskId); + } catch (HeartBeatManagementException e) { + String msg = "Unexpected exception when getting server hash index."; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } + boolean isExist = false; + for (TaskInfo taskInfo : tasks) { + if (taskInfo.getName().equals(generatedTaskId)) { + isExist = true; + TaskInfo.TriggerInfo triggerInfo = taskInfo.getTriggerInfo(); + String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskProperties); + String existingTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskInfo.getProperties()); + if (!triggerInfo.getCronExpression().equals(dt.getCronExpression()) + || !dynamicTaskPropMD5.equals(existingTaskPropMD5)) { + triggerInfo.setCronExpression(dt.getCronExpression()); + taskInfo.setTriggerInfo(triggerInfo); + taskInfo.setProperties(taskProperties); + taskManager.registerTask(taskInfo); + taskManager.rescheduleTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("Task - '" + generatedTaskId + "' updated according to the dynamic task table"); + } + } + if (dt.isEnabled() + && taskManager.getTaskState(generatedTaskId) == TaskManager.TaskState.PAUSED) { + taskManager.resumeTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("Task - '" + generatedTaskId + "' enabled according to the dynamic task table"); + } + } else if (!dt.isEnabled() + && taskManager.getTaskState(generatedTaskId) != TaskManager.TaskState.PAUSED) { + taskManager.pauseTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("Task - '" + generatedTaskId + "' disabled according to the dynamic task table"); + } + } + break; } - if (dt.isEnabled() - && taskManager.getTaskState(generatedTaskId) == TaskManager.TaskState.PAUSED) { - taskManager.resumeTask(generatedTaskId); - log.debug("Task - '" + generatedTaskId + "' enabled according to the dynamic task table"); - } else if (!dt.isEnabled() - && taskManager.getTaskState(generatedTaskId) != TaskManager.TaskState.PAUSED) { - taskManager.pauseTask(generatedTaskId); - log.debug("Task - '" + generatedTaskId + "' disabled according to the dynamic task table"); + } + if (!isExist) { + TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); + triggerInfo.setCronExpression(dt.getCronExpression()); + TaskInfo taskInfo = new TaskInfo(generatedTaskId, dt.getTaskClassName(), + taskProperties, triggerInfo); + taskManager.registerTask(taskInfo); + taskManager.scheduleTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("New task -'" + generatedTaskId + "' created according to the dynamic task table"); } - break; } } - if (!isExist) { - TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); - triggerInfo.setCronExpression(dt.getCronExpression()); - TaskInfo taskInfo = new TaskInfo(generatedTaskId, dt.getTaskClassName(), - dt.getProperties(), triggerInfo); - taskManager.registerTask(taskInfo); - taskManager.scheduleTask(generatedTaskId); - log.debug("New task -'" + generatedTaskId + "' created according to the dynamic task table"); + PrivilegedCarbonContext.endTenantFlow(); + } + + List tenants = new ArrayList<>(); + try { + RealmService realmService = TaskWatcherDataHolder.getInstance().getRealmService(); + Tenant[] tenantArray = realmService.getTenantManager().getAllTenants(); + if (tenantArray != null && tenantArray.length != 0) { + tenants.addAll(Arrays.asList(tenantArray)); } + Tenant superTenant = new Tenant(); + superTenant.setId(-1234); + tenants.add(superTenant); + } catch (UserStoreException e) { + String msg = "Unable to load tenants"; + log.error(msg, e); + return; } - // Remove deleted items from the n task core - for (TaskInfo taskInfo : tasks) { - boolean isExist = false; - for (DynamicTask dt : dynamicTasks) { - if (taskInfo.getName().equals(TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()))) { - isExist = true; - } + for (Tenant tenant : tenants) { + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenant.getId(), true); + if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { + nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); } - if (!isExist) { - taskManager.deleteTask(taskInfo.getName()); - log.debug("Task '" + taskInfo.getName() + "' deleted according to the dynamic task table"); + taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + List tasks = taskManager.getAllTasks(); + // Remove deleted items from the nTask core + for (TaskInfo taskInfo : tasks) { + boolean isExist = false; + for (DynamicTask dt : dynamicTasks) { + if (tenant.getId() == dt.getTenantId() && + taskInfo.getName().equals(TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()))) { + isExist = true; + break; + } + } + if (!isExist) { + taskManager.deleteTask(taskInfo.getName()); + if (log.isDebugEnabled()) { + log.debug("Task '" + taskInfo.getName() + "' deleted according to the dynamic task table"); + } + } } + PrivilegedCarbonContext.endTenantFlow(); } - log.info("Task Comparison Completed and all tasks in current node are updated"); - } catch ( - TaskException e) { - String msg = "Error occurred while accessing carbon n task manager."; - log.error(msg); - } catch ( - TaskManagementException e) { + + if (log.isDebugEnabled()) { + log.debug("Task Comparison Completed and all tasks in current node are updated"); + } + } catch (TaskException e) { + String msg = "Error occurred while accessing carbon nTask manager."; + log.error(msg, e); + } catch (TaskManagementException e) { String msg = "Error occurred while retrieving all active tasks from entgra task manager"; - log.error(msg); + log.error(msg, e); } } diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java index a464887d0be..9e2953ae25d 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherDataHolder.java @@ -17,16 +17,20 @@ */ package io.entgra.task.mgt.watcher.internal; - +import io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService; import io.entgra.task.mgt.common.spi.TaskManagementService; import org.wso2.carbon.ntask.core.service.TaskService; +import org.wso2.carbon.user.core.service.RealmService; public class TaskWatcherDataHolder { private TaskManagementService taskManagerService; private TaskService nTaskService; - private static TaskWatcherDataHolder thisInstance = new TaskWatcherDataHolder(); + private HeartBeatManagementService heartBeatService; + private RealmService realmService; + + private static final TaskWatcherDataHolder thisInstance = new TaskWatcherDataHolder(); private TaskWatcherDataHolder() {} @@ -50,4 +54,20 @@ public class TaskWatcherDataHolder { this.nTaskService = nTaskService; } + public HeartBeatManagementService getHeartBeatService() { + return heartBeatService; + } + + public void setHeartBeatService(HeartBeatManagementService heartBeatService) { + this.heartBeatService = heartBeatService; + } + + public RealmService getRealmService() { + return this.realmService; + } + + public void setRealmService(RealmService realmService) { + this.realmService = realmService; + } + } diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java index 735dc653305..209113df84a 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/internal/TaskWatcherServiceComponent.java @@ -17,7 +17,7 @@ */ package io.entgra.task.mgt.watcher.internal; - +import io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService; import io.entgra.task.mgt.common.spi.TaskManagementService; import io.entgra.task.mgt.core.config.TaskConfigurationManager; import io.entgra.task.mgt.core.config.TaskManagementConfig; @@ -28,7 +28,7 @@ import org.osgi.framework.BundleContext; import org.osgi.service.component.ComponentContext; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.ntask.core.service.TaskService; - +import org.wso2.carbon.user.core.service.RealmService; /** * @scr.component @@ -45,6 +45,18 @@ import org.wso2.carbon.ntask.core.service.TaskService; * policy="dynamic" * bind="setTaskMgtService" * unbind="unsetTaskMgtService" + * @scr.reference name="entgra.heart.beat.service" + * interface="io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService" + * cardinality="0..1" + * policy="dynamic" + * bind="setHeartBeatService" + * unbind="unsetHeartBeatService" + * @scr.reference name="user.realmservice.default" + * interface="org.wso2.carbon.user.core.service.RealmService" + * cardinality="1..1" + * policy="dynamic" + * bind="setRealmService" + * unbind="unsetRealmService" */ public class TaskWatcherServiceComponent { @@ -110,4 +122,46 @@ public class TaskWatcherServiceComponent { TaskWatcherDataHolder.getInstance().setTaskManagementService(null); } -} \ No newline at end of file + @SuppressWarnings("unused") + protected void setHeartBeatService(HeartBeatManagementService heartBeatService) { + if (log.isDebugEnabled()) { + log.debug("Setting heart beat service to Task Manager Service Component"); + } + TaskWatcherDataHolder.getInstance().setHeartBeatService(heartBeatService); + } + + @SuppressWarnings("unused") + protected void unsetHeartBeatService(HeartBeatManagementService heartBeatManagementService) { + if (log.isDebugEnabled()) { + log.debug("Removing heart beat service from Task Manager Service Component"); + } + TaskWatcherDataHolder.getInstance().setHeartBeatService(null); + } + + /** + * Sets Realm Service. + * + * @param realmService An instance of RealmService + */ + @SuppressWarnings("unused") + protected void setRealmService(RealmService realmService) { + if (log.isDebugEnabled()) { + log.debug("Setting Realm Service"); + } + TaskWatcherDataHolder.getInstance().setRealmService(realmService); + } + + /** + * Unsets Realm Service. + * + * @param realmService An instance of RealmService + */ + @SuppressWarnings("unused") + protected void unsetRealmService(RealmService realmService) { + if (log.isDebugEnabled()) { + log.debug("Unsetting Realm Service"); + } + TaskWatcherDataHolder.getInstance().setRealmService(null); + } + +} From 5fca50f8d7068d3db239362efad3b854b40e2486 Mon Sep 17 00:00:00 2001 From: prathabanKavin Date: Fri, 24 Feb 2023 10:25:13 +0530 Subject: [PATCH 056/101] Change latitude and longitude datatype --- .../src/main/resources/dbscripts/cdm/mssql.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql index 32827a1d0c6..1c22ba25fc6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -718,8 +718,8 @@ CREATE TABLE DM_GEOFENCE ( ID INT IDENTITY NOT NULL, FENCE_NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(MAX) DEFAULT NULL, - LATITUDE DECIMAL(3) DEFAULT NULL, - LONGITUDE DECIMAL(3) DEFAULT NULL, + LATITUDE FLOAT DEFAULT NULL, + LONGITUDE FLOAT DEFAULT NULL, RADIUS DECIMAL(30,4) DEFAULT NULL, GEO_JSON VARCHAR(MAX) DEFAULT NULL, FENCE_SHAPE VARCHAR(100) DEFAULT NULL, From 0a9b20e0fca77e6d91a2014c344da7481c5d14d4 Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Fri, 24 Feb 2023 17:29:50 +0530 Subject: [PATCH 057/101] Fix issues with unnecessary task deletion --- .../mgt/core/util/TaskManagementUtil.java | 8 +- .../task/mgt/watcher/IoTSStartupHandler.java | 272 ++++++++++-------- 2 files changed, 156 insertions(+), 124 deletions(-) diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java index fdfdaeaf4f2..747f7cfd324 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java @@ -59,8 +59,7 @@ public class TaskManagementUtil { try { int serverHashIdx = TaskManagerDataHolder.getInstance().getHeartBeatService() .getServerCtxInfo().getLocalServerHashIdx(); - return TaskMgtConstants.Task.DYNAMIC_TASK_TYPE + TaskMgtConstants.Task.NAME_SEPARATOR + dynamicTaskId - + TaskMgtConstants.Task.NAME_SEPARATOR + serverHashIdx; + return generateTaskId(dynamicTaskId, serverHashIdx); } catch (HeartBeatManagementException e) { String msg = "Failed to generate task id for a dynamic task " + dynamicTaskId; log.error(msg, e); @@ -68,6 +67,11 @@ public class TaskManagementUtil { } } + public static String generateTaskId(int dynamicTaskId, int serverHashIdx) { + return TaskMgtConstants.Task.DYNAMIC_TASK_TYPE + TaskMgtConstants.Task.NAME_SEPARATOR + dynamicTaskId + + TaskMgtConstants.Task.NAME_SEPARATOR + serverHashIdx; + } + public static String generateTaskPropsMD5(Map taskProperties) throws TaskManagementException { taskProperties.remove(TaskMgtConstants.Task.TENANT_ID_PROP); taskProperties.remove(TaskMgtConstants.Task.LOCAL_HASH_INDEX); diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java index 1c48d81f217..8ae40d6a264 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java @@ -41,6 +41,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.Timer; import java.util.TimerTask; @@ -70,7 +71,6 @@ public class IoTSStartupHandler implements ServerStartupObserver { if (log.isDebugEnabled()) { log.debug("Comparing Tasks from carbon nTask manager and entgra task manager"); } - TaskManager taskManager; TaskService nTaskService = TaskWatcherDataHolder.getInstance().getnTaskService(); if (nTaskService == null) { String msg = "Unable to load TaskService from the carbon nTask core"; @@ -80,147 +80,175 @@ public class IoTSStartupHandler implements ServerStartupObserver { try { List dynamicTasks = TaskWatcherDataHolder.getInstance().getTaskManagementService() .getAllDynamicTasks(); - Map> tenantedDynamicTasks = new HashMap<>(); - List dts; - for (DynamicTask dt : dynamicTasks) { - if (tenantedDynamicTasks.containsKey(dt.getTenantId())) { - dts = tenantedDynamicTasks.get(dt.getTenantId()); - } else { - dts = new ArrayList<>(); - } - dts.add(dt); - tenantedDynamicTasks.put(dt.getTenantId(), dts); + + scheduleMissingTasks(nTaskService, dynamicTasks); + deleteObsoleteTasks(nTaskService, dynamicTasks); + + if (log.isDebugEnabled()) { + log.debug("Task Comparison Completed and all tasks in current node are updated"); } - for (Integer tenantId : tenantedDynamicTasks.keySet()) { - if (tenantId == -1) { - log.warn("Found " + tenantedDynamicTasks.get(tenantId).size() + - " invalid tasks without a valid tenant id."); - continue; - } - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenantId, true); - if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { - nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + } catch (TaskException e) { + String msg = "Error occurred while accessing carbon nTask manager."; + log.error(msg, e); + } catch (TaskManagementException e) { + String msg = "Error occurred while retrieving all active tasks from entgra task manager"; + log.error(msg, e); + } + + } + + private static void scheduleMissingTasks(TaskService nTaskService, List dynamicTasks) + throws TaskException, TaskManagementException { + Map> tenantedDynamicTasks = new HashMap<>(); + List dts; + for (DynamicTask dt : dynamicTasks) { + if (tenantedDynamicTasks.containsKey(dt.getTenantId())) { + dts = tenantedDynamicTasks.get(dt.getTenantId()); + } else { + dts = new ArrayList<>(); + } + dts.add(dt); + tenantedDynamicTasks.put(dt.getTenantId(), dts); + } + TaskManager taskManager; + for (Integer tenantId : tenantedDynamicTasks.keySet()) { + if (tenantId == -1) { + log.warn("Found " + tenantedDynamicTasks.get(tenantId).size() + + " invalid tasks without a valid tenant id."); + continue; + } + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenantId, true); + if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { + nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + } + taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + List tasks = taskManager.getAllTasks(); + // add or update task into nTask core + for (DynamicTask dt : tenantedDynamicTasks.get(tenantId)) { + String generatedTaskId = TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()); + Map taskProperties = dt.getProperties(); + try { + int serverHashIdx = TaskWatcherDataHolder.getInstance().getHeartBeatService() + .getServerCtxInfo().getLocalServerHashIdx(); + taskProperties.put(TaskMgtConstants.Task.LOCAL_HASH_INDEX, String.valueOf(serverHashIdx)); + taskProperties.put(TaskMgtConstants.Task.LOCAL_TASK_NAME, generatedTaskId); + } catch (HeartBeatManagementException e) { + String msg = "Unexpected exception when getting server hash index."; + log.error(msg, e); + throw new TaskManagementException(msg, e); } - taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); - List tasks = taskManager.getAllTasks(); - // add or update task into nTask core - for (DynamicTask dt : tenantedDynamicTasks.get(tenantId)) { - String generatedTaskId = TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()); - Map taskProperties = dt.getProperties(); - try { - int serverHashIdx = TaskWatcherDataHolder.getInstance().getHeartBeatService() - .getServerCtxInfo().getLocalServerHashIdx(); - taskProperties.put(TaskMgtConstants.Task.LOCAL_HASH_INDEX, String.valueOf(serverHashIdx)); - taskProperties.put(TaskMgtConstants.Task.LOCAL_TASK_NAME, generatedTaskId); - } catch (HeartBeatManagementException e) { - String msg = "Unexpected exception when getting server hash index."; - log.error(msg, e); - throw new TaskManagementException(msg, e); - } - boolean isExist = false; - for (TaskInfo taskInfo : tasks) { - if (taskInfo.getName().equals(generatedTaskId)) { - isExist = true; - TaskInfo.TriggerInfo triggerInfo = taskInfo.getTriggerInfo(); - String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskProperties); - String existingTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskInfo.getProperties()); - if (!triggerInfo.getCronExpression().equals(dt.getCronExpression()) - || !dynamicTaskPropMD5.equals(existingTaskPropMD5)) { - triggerInfo.setCronExpression(dt.getCronExpression()); - taskInfo.setTriggerInfo(triggerInfo); - taskInfo.setProperties(taskProperties); - taskManager.registerTask(taskInfo); - taskManager.rescheduleTask(generatedTaskId); - if (log.isDebugEnabled()) { - log.debug("Task - '" + generatedTaskId + "' updated according to the dynamic task table"); - } + boolean isExist = false; + for (TaskInfo taskInfo : tasks) { + if (taskInfo.getName().equals(generatedTaskId)) { + isExist = true; + TaskInfo.TriggerInfo triggerInfo = taskInfo.getTriggerInfo(); + String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskProperties); + String existingTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskInfo.getProperties()); + if (!triggerInfo.getCronExpression().equals(dt.getCronExpression()) + || !dynamicTaskPropMD5.equals(existingTaskPropMD5)) { + triggerInfo.setCronExpression(dt.getCronExpression()); + taskInfo.setTriggerInfo(triggerInfo); + taskInfo.setProperties(taskProperties); + taskManager.registerTask(taskInfo); + taskManager.rescheduleTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("Task - '" + generatedTaskId + "' updated according to the dynamic task table"); } - if (dt.isEnabled() - && taskManager.getTaskState(generatedTaskId) == TaskManager.TaskState.PAUSED) { - taskManager.resumeTask(generatedTaskId); - if (log.isDebugEnabled()) { - log.debug("Task - '" + generatedTaskId + "' enabled according to the dynamic task table"); - } - } else if (!dt.isEnabled() - && taskManager.getTaskState(generatedTaskId) != TaskManager.TaskState.PAUSED) { - taskManager.pauseTask(generatedTaskId); - if (log.isDebugEnabled()) { - log.debug("Task - '" + generatedTaskId + "' disabled according to the dynamic task table"); - } + } + if (dt.isEnabled() + && taskManager.getTaskState(generatedTaskId) == TaskManager.TaskState.PAUSED) { + taskManager.resumeTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("Task - '" + generatedTaskId + "' enabled according to the dynamic task table"); + } + } else if (!dt.isEnabled() + && taskManager.getTaskState(generatedTaskId) != TaskManager.TaskState.PAUSED) { + taskManager.pauseTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("Task - '" + generatedTaskId + "' disabled according to the dynamic task table"); } - break; } + break; } - if (!isExist) { - TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); - triggerInfo.setCronExpression(dt.getCronExpression()); - TaskInfo taskInfo = new TaskInfo(generatedTaskId, dt.getTaskClassName(), - taskProperties, triggerInfo); - taskManager.registerTask(taskInfo); - taskManager.scheduleTask(generatedTaskId); - if (log.isDebugEnabled()) { - log.debug("New task -'" + generatedTaskId + "' created according to the dynamic task table"); - } + } + if (!isExist) { + TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); + triggerInfo.setCronExpression(dt.getCronExpression()); + TaskInfo taskInfo = new TaskInfo(generatedTaskId, dt.getTaskClassName(), + taskProperties, triggerInfo); + taskManager.registerTask(taskInfo); + taskManager.scheduleTask(generatedTaskId); + if (log.isDebugEnabled()) { + log.debug("New task -'" + generatedTaskId + "' created according to the dynamic task table"); } } - PrivilegedCarbonContext.endTenantFlow(); } + PrivilegedCarbonContext.endTenantFlow(); + } + } - List tenants = new ArrayList<>(); - try { - RealmService realmService = TaskWatcherDataHolder.getInstance().getRealmService(); - Tenant[] tenantArray = realmService.getTenantManager().getAllTenants(); - if (tenantArray != null && tenantArray.length != 0) { - tenants.addAll(Arrays.asList(tenantArray)); - } - Tenant superTenant = new Tenant(); - superTenant.setId(-1234); - tenants.add(superTenant); - } catch (UserStoreException e) { - String msg = "Unable to load tenants"; - log.error(msg, e); - return; + private static void deleteObsoleteTasks(TaskService nTaskService, List dynamicTasks) + throws TaskManagementException, TaskException { + + List tenants = new ArrayList<>(); + try { + RealmService realmService = TaskWatcherDataHolder.getInstance().getRealmService(); + Tenant[] tenantArray = realmService.getTenantManager().getAllTenants(); + if (tenantArray != null && tenantArray.length != 0) { + tenants.addAll(Arrays.asList(tenantArray)); } + Tenant superTenant = new Tenant(); + superTenant.setId(-1234); + tenants.add(superTenant); + } catch (UserStoreException e) { + String msg = "Unable to load tenants"; + log.error(msg, e); + return; + } - for (Tenant tenant : tenants) { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenant.getId(), true); - if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { - nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); - } - taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); - List tasks = taskManager.getAllTasks(); - // Remove deleted items from the nTask core - for (TaskInfo taskInfo : tasks) { - boolean isExist = false; - for (DynamicTask dt : dynamicTasks) { + TaskManager taskManager; + Set hashIds; + try { + hashIds = TaskWatcherDataHolder.getInstance().getHeartBeatService().getActiveServers().keySet(); + } catch (HeartBeatManagementException e) { + String msg = "Unexpected exception when getting hash indexes of active servers"; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } + + for (Tenant tenant : tenants) { + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenant.getId(), true); + if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { + nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + } + taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); + List tasks = taskManager.getAllTasks(); + // Remove deleted items from the nTask core + for (TaskInfo taskInfo : tasks) { + boolean isExist = false; + for (DynamicTask dt : dynamicTasks) { + for (int hid : hashIds) { if (tenant.getId() == dt.getTenantId() && - taskInfo.getName().equals(TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()))) { + taskInfo.getName().equals(TaskManagementUtil.generateTaskId(dt.getDynamicTaskId(), hid))) { isExist = true; break; } } - if (!isExist) { - taskManager.deleteTask(taskInfo.getName()); - if (log.isDebugEnabled()) { - log.debug("Task '" + taskInfo.getName() + "' deleted according to the dynamic task table"); - } + if (isExist) { + break; + } + } + if (!isExist) { + taskManager.deleteTask(taskInfo.getName()); + if (log.isDebugEnabled()) { + log.debug("Task '" + taskInfo.getName() + "' deleted according to the dynamic task table"); } } - PrivilegedCarbonContext.endTenantFlow(); - } - - if (log.isDebugEnabled()) { - log.debug("Task Comparison Completed and all tasks in current node are updated"); } - } catch (TaskException e) { - String msg = "Error occurred while accessing carbon nTask manager."; - log.error(msg, e); - } catch (TaskManagementException e) { - String msg = "Error occurred while retrieving all active tasks from entgra task manager"; - log.error(msg, e); + PrivilegedCarbonContext.endTenantFlow(); } - } + } From ce20ead035f0655eeb41a65086b4e89363b63ebc Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Fri, 24 Feb 2023 23:41:46 +0530 Subject: [PATCH 058/101] Fix issues with task id getting null --- .../service/TaskManagementServiceImpl.java | 3 +- .../mgt/core/util/TaskManagementUtil.java | 2 +- .../task/mgt/watcher/IoTSStartupHandler.java | 36 +++++++++++-------- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java index c206d77dc35..fe3a7cb97e6 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/service/TaskManagementServiceImpl.java @@ -62,8 +62,7 @@ public class TaskManagementServiceImpl implements TaskManagementService { log.error(msg); throw new TaskManagementException(msg); } - if (!nTaskService.getRegisteredTaskTypes().contains( - TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { + if (!nTaskService.getRegisteredTaskTypes().contains(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE)) { try { nTaskService.registerTaskType(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); this.taskManager = nTaskService.getTaskManager(TaskMgtConstants.Task.DYNAMIC_TASK_TYPE); diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java index 747f7cfd324..5308fc29c9c 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/src/main/java/io/entgra/task/mgt/core/util/TaskManagementUtil.java @@ -72,7 +72,7 @@ public class TaskManagementUtil { + TaskMgtConstants.Task.NAME_SEPARATOR + serverHashIdx; } - public static String generateTaskPropsMD5(Map taskProperties) throws TaskManagementException { + public static String generateTaskPropsMD5(Map taskProperties) { taskProperties.remove(TaskMgtConstants.Task.TENANT_ID_PROP); taskProperties.remove(TaskMgtConstants.Task.LOCAL_HASH_INDEX); taskProperties.remove(TaskMgtConstants.Task.LOCAL_TASK_NAME); diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java index 8ae40d6a264..355fba38250 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/src/main/java/io/entgra/task/mgt/watcher/IoTSStartupHandler.java @@ -64,7 +64,7 @@ public class IoTSStartupHandler implements ServerStartupObserver { log.error("Error occurred when comparing tasks.", e); } } - }, 200000, 600000); + }, 200000, 300000); } private void compareTasks() { @@ -127,29 +127,18 @@ public class IoTSStartupHandler implements ServerStartupObserver { // add or update task into nTask core for (DynamicTask dt : tenantedDynamicTasks.get(tenantId)) { String generatedTaskId = TaskManagementUtil.generateTaskId(dt.getDynamicTaskId()); - Map taskProperties = dt.getProperties(); - try { - int serverHashIdx = TaskWatcherDataHolder.getInstance().getHeartBeatService() - .getServerCtxInfo().getLocalServerHashIdx(); - taskProperties.put(TaskMgtConstants.Task.LOCAL_HASH_INDEX, String.valueOf(serverHashIdx)); - taskProperties.put(TaskMgtConstants.Task.LOCAL_TASK_NAME, generatedTaskId); - } catch (HeartBeatManagementException e) { - String msg = "Unexpected exception when getting server hash index."; - log.error(msg, e); - throw new TaskManagementException(msg, e); - } boolean isExist = false; for (TaskInfo taskInfo : tasks) { if (taskInfo.getName().equals(generatedTaskId)) { isExist = true; TaskInfo.TriggerInfo triggerInfo = taskInfo.getTriggerInfo(); - String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskProperties); + String dynamicTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(dt.getProperties()); String existingTaskPropMD5 = TaskManagementUtil.generateTaskPropsMD5(taskInfo.getProperties()); if (!triggerInfo.getCronExpression().equals(dt.getCronExpression()) || !dynamicTaskPropMD5.equals(existingTaskPropMD5)) { triggerInfo.setCronExpression(dt.getCronExpression()); taskInfo.setTriggerInfo(triggerInfo); - taskInfo.setProperties(taskProperties); + taskInfo.setProperties(populateTaskProperties(tenantId, generatedTaskId, dt.getProperties())); taskManager.registerTask(taskInfo); taskManager.rescheduleTask(generatedTaskId); if (log.isDebugEnabled()) { @@ -176,7 +165,7 @@ public class IoTSStartupHandler implements ServerStartupObserver { TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(); triggerInfo.setCronExpression(dt.getCronExpression()); TaskInfo taskInfo = new TaskInfo(generatedTaskId, dt.getTaskClassName(), - taskProperties, triggerInfo); + populateTaskProperties(tenantId, generatedTaskId, dt.getProperties()), triggerInfo); taskManager.registerTask(taskInfo); taskManager.scheduleTask(generatedTaskId); if (log.isDebugEnabled()) { @@ -188,6 +177,23 @@ public class IoTSStartupHandler implements ServerStartupObserver { } } + private static Map populateTaskProperties(int tenantId, String generatedTaskId, + Map taskProperties) + throws TaskManagementException { + try { + int serverHashIdx = TaskWatcherDataHolder.getInstance().getHeartBeatService() + .getServerCtxInfo().getLocalServerHashIdx(); + taskProperties.put(TaskMgtConstants.Task.LOCAL_HASH_INDEX, String.valueOf(serverHashIdx)); + taskProperties.put(TaskMgtConstants.Task.LOCAL_TASK_NAME, generatedTaskId); + taskProperties.put(TaskMgtConstants.Task.TENANT_ID_PROP, String.valueOf(tenantId)); + return taskProperties; + } catch (HeartBeatManagementException e) { + String msg = "Unexpected exception when getting server hash index."; + log.error(msg, e); + throw new TaskManagementException(msg, e); + } + } + private static void deleteObsoleteTasks(TaskService nTaskService, List dynamicTasks) throws TaskManagementException, TaskException { From 66afe95fe9ecb0476cd916eb31c50c70c2b262d1 Mon Sep 17 00:00:00 2001 From: osh Date: Sun, 5 Mar 2023 14:49:34 +0530 Subject: [PATCH 059/101] Add api for self guide enrollment fixes https://roadmap.entgra.net/issues/9939 --- .../service/api/DeviceManagementService.java | 370 ++++++++++-------- .../impl/DeviceManagementServiceImpl.java | 41 ++ .../DeviceManagementProviderService.java | 4 + .../DeviceManagementProviderServiceImpl.java | 185 ++++++++- 4 files changed, 441 insertions(+), 159 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index 3304be7c143..f4eb04cb42f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -54,6 +54,7 @@ import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.Feature; import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; +import org.wso2.carbon.device.mgt.common.geo.service.Alert; import org.wso2.carbon.device.mgt.common.operation.mgt.Activity; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; @@ -66,6 +67,7 @@ import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.beans.OperationRequest; import org.wso2.carbon.device.mgt.jaxrs.beans.OperationStatusBean; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import javax.validation.constraints.Size; @@ -553,12 +555,12 @@ public interface DeviceManagementService { required = false, defaultValue = "0") @QueryParam("offset") int offset, - @ApiParam( - name = "limit", - value = "Provide how many device details you require from the starting pagination index/offset.", - required = false, - defaultValue = "100") - @QueryParam("limit") int limit + @ApiParam( + name = "limit", + value = "Provide how many device details you require from the starting pagination index/offset.", + required = false, + defaultValue = "100") + @QueryParam("limit") int limit ); @GET @@ -802,6 +804,59 @@ public interface DeviceManagementService { @QueryParam("requireDeviceInfo") boolean requireDeviceInfo); + @POST + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.MULTIPART_FORM_DATA) + @Path("/enrollment/guide") + @ApiOperation( + consumes = MediaType.MULTIPART_FORM_DATA, + produces = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Sending Enrollment Mode chosen by customer", + notes = "Enrollment mode selected and path is sent as parameters", + tags = "Device Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully mailed the Enrollment Guide of customer.", + response = Device.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n " + + "Server error occurred while sending mail of the Enrollment Guide.", + response = ErrorResponse.class) + }) + Response sendEnrollmentGuide( + @ApiParam( + name = "enrolmentGuide", + value = "The details of the enrolment path suggested.", + required = true) + MultipartFile enrolmentGuide); + @POST @Produces(MediaType.APPLICATION_JSON) @Path("/type/any/list") @@ -1399,15 +1454,15 @@ public interface DeviceManagementService { @ResponseHeader( name = "ETag", description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), @ResponseHeader( name = "Last-Modified", description = "Date and time the resource was last modified. \n" + - "Used by caches, or in conditional requests.")}), + "Used by caches, or in conditional requests.")}), @ApiResponse( code = 304, message = "Not Modified. \n " + - "Empty body because the client already has the latest version of the requested resource.\n"), + "Empty body because the client already has the latest version of the requested resource.\n"), @ApiResponse( code = 400, message = "Bad Request. \n Invalid request or validation error.", @@ -1425,7 +1480,7 @@ public interface DeviceManagementService { @ApiResponse( code = 500, message = "Internal Server Error. \n " + - "Server error occurred while getting the device details.", + "Server error occurred while getting the device details.", response = ErrorResponse.class) }) Response queryDevicesByProperties( @@ -1447,7 +1502,7 @@ public interface DeviceManagementService { name = "device property map", value = "properties by which devices need filtered", required = true) - PropertyMap map); + PropertyMap map); @GET @Produces(MediaType.APPLICATION_JSON) @@ -1873,140 +1928,141 @@ public interface DeviceManagementService { @Size(max = 45) String id); - @GET - @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{id}/getstatushistory") - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - httpMethod = "GET", - value = "Get Device status history", - notes = "Get a list of status history associated with the device type and id", - tags = "Device Management", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") - }) - } - ) - @ApiResponses( - value = { - @ApiResponse( - code = 200, - message = "OK. \n Successfully fetched the status history of matching devices.", - response = List.class, - responseHeaders = { - @ResponseHeader( - name = "Content-Type", - description = "The content type of the body"), - @ResponseHeader( - name = "ETag", - description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), - @ResponseHeader( - name = "Last-Modified", - description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), - }), - @ApiResponse( - code = 304, - message = "Not Modified. Empty body because the client already has the latest version" + - " of the requested resource.\n"), - @ApiResponse( - code = 400, - message = "Bad Request. \n Invalid request or validation error.", - response = ErrorResponse.class), - @ApiResponse( - code = 404, - message = "Not Found. \n A device with the specified device type and id was not found.", - response = ErrorResponse.class), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n " + - "Server error occurred while retrieving the device details.", - response = ErrorResponse.class) - }) + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/{type}/{id}/getstatushistory") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get Device status history", + notes = "Get a list of status history associated with the device type and id", + tags = "Device Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched the status history of matching devices.", + response = List.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. Empty body because the client already has the latest version" + + " of the requested resource.\n"), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 404, + message = "Not Found. \n A device with the specified device type and id was not found.", + response = ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n " + + "Server error occurred while retrieving the device details.", + response = ErrorResponse.class) + }) Response getDeviceStatusHistory( - @ApiParam( - name = "type", - value = "The device type, such as ios, android, or windows.", - required = true) - @PathParam("type") - @Size(max = 45) - String type, - @ApiParam( - name = "id", - value = "Device ID.", - required = true) - @PathParam("id") - @Size(max = 45) - String id); - @GET - @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{id}/getenrolmentstatushistory") - @ApiOperation( - produces = MediaType.APPLICATION_JSON, - httpMethod = "GET", - value = "Get Device Current Enrolment status history", - notes = "Get a list of status history associated with the device type and id for the current enrolment", - tags = "Device Management", - extensions = { - @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") - }) - } - ) - @ApiResponses( - value = { - @ApiResponse( - code = 200, - message = "OK. \n Successfully fetched the status history of matching devices.", - response = List.class, - responseHeaders = { - @ResponseHeader( - name = "Content-Type", - description = "The content type of the body"), - @ResponseHeader( - name = "ETag", - description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), - @ResponseHeader( - name = "Last-Modified", - description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), - }), - @ApiResponse( - code = 304, - message = "Not Modified. Empty body because the client already has the latest version" + - " of the requested resource.\n"), - @ApiResponse( - code = 400, - message = "Bad Request. \n Invalid request or validation error.", - response = ErrorResponse.class), - @ApiResponse( - code = 404, - message = "Not Found. \n A device with the specified device type and id was not found.", - response = ErrorResponse.class), - @ApiResponse( - code = 500, - message = "Internal Server Error. \n " + - "Server error occurred while retrieving the device details.", - response = ErrorResponse.class) - }) + @ApiParam( + name = "type", + value = "The device type, such as ios, android, or windows.", + required = true) + @PathParam("type") + @Size(max = 45) + String type, + @ApiParam( + name = "id", + value = "Device ID.", + required = true) + @PathParam("id") + @Size(max = 45) + String id); + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/{type}/{id}/getenrolmentstatushistory") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Get Device Current Enrolment status history", + notes = "Get a list of status history associated with the device type and id for the current enrolment", + tags = "Device Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched the status history of matching devices.", + response = List.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. Empty body because the client already has the latest version" + + " of the requested resource.\n"), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 404, + message = "Not Found. \n A device with the specified device type and id was not found.", + response = ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n " + + "Server error occurred while retrieving the device details.", + response = ErrorResponse.class) + }) Response getCurrentEnrolmentDeviceStatusHistory( - @ApiParam( - name = "type", - value = "The device type, such as ios, android, or windows.", - required = true) - @PathParam("type") - @Size(max = 45) - String type, - @ApiParam( - name = "id", - value = "Device ID.", - required = true) - @PathParam("id") - @Size(max = 45) - String id); + @ApiParam( + name = "type", + value = "The device type, such as ios, android, or windows.", + required = true) + @PathParam("type") + @Size(max = 45) + String type, + @ApiParam( + name = "id", + value = "Device ID.", + required = true) + @PathParam("id") + @Size(max = 45) + String id); @PUT @Produces(MediaType.APPLICATION_JSON) @@ -2171,16 +2227,16 @@ public interface DeviceManagementService { @ResponseHeader( name = "ETag", description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), @ResponseHeader( name = "Last-Modified", description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), }), @ApiResponse( code = 304, message = "Not Modified. Empty body because the client already has the latest version" + - " of the requested resource.\n"), + " of the requested resource.\n"), @ApiResponse( code = 400, message = "Bad Request. \n Invalid request or validation error.", @@ -2192,7 +2248,7 @@ public interface DeviceManagementService { @ApiResponse( code = 500, message = "Internal Server Error. \n " + - "Server error occurred while retrieving the device details.", + "Server error occurred while retrieving the device details.", response = ErrorResponse.class) }) Response getDeviceCountByStatus( @@ -2240,16 +2296,16 @@ public interface DeviceManagementService { @ResponseHeader( name = "ETag", description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), @ResponseHeader( name = "Last-Modified", description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), }), @ApiResponse( code = 304, message = "Not Modified. Empty body because the client already has the latest version" + - " of the requested resource.\n"), + " of the requested resource.\n"), @ApiResponse( code = 400, message = "Bad Request. \n Invalid request or validation error.", @@ -2261,7 +2317,7 @@ public interface DeviceManagementService { @ApiResponse( code = 500, message = "Internal Server Error. \n " + - "Server error occurred while retrieving the device details.", + "Server error occurred while retrieving the device details.", response = ErrorResponse.class) }) Response getDeviceIdentifiersByStatus( @@ -2310,16 +2366,16 @@ public interface DeviceManagementService { @ResponseHeader( name = "ETag", description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), @ResponseHeader( name = "Last-Modified", description = "Date and time the resource has been modified the last time.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), }), @ApiResponse( code = 304, message = "Not Modified. Empty body because the client already has the latest " + - "version of the requested resource."), + "version of the requested resource."), @ApiResponse( code = 400, message = "Bad Request. \n Invalid request or validation error.", @@ -2331,7 +2387,7 @@ public interface DeviceManagementService { @ApiResponse( code = 500, message = "Internal Server Error. \n " + - "Server error occurred while retrieving information requested device.", + "Server error occurred while retrieving information requested device.", response = ErrorResponse.class) }) Response bulkUpdateDeviceStatus( @@ -2642,11 +2698,11 @@ public interface DeviceManagementService { @ResponseHeader( name = "ETag", description = "Entity Tag of the response resource.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), @ResponseHeader( name = "Last-Modified", description = "Date and time the resource was last modified.\n" + - "Used by caches, or in conditional requests."), + "Used by caches, or in conditional requests."), }), @ApiResponse( code = 500, diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 3bcdeafbabe..78c2280d4e6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -68,6 +68,7 @@ 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.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; +import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.device.details.DeviceData; import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; @@ -101,6 +102,7 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; +import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.traccar.api.service.DeviceAPIClientService; import org.wso2.carbon.device.mgt.core.traccar.api.service.impl.DeviceAPIClientServiceImpl; @@ -130,6 +132,7 @@ import org.wso2.carbon.policy.mgt.core.PolicyManagerService; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; import org.wso2.carbon.utils.multitenancy.MultitenantUtils; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import javax.ws.rs.Consumes; @@ -144,6 +147,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; +import java.io.IOException; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -816,6 +820,43 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.OK).entity(device).build(); } + @POST + @Path("/enrollment/guide") + @Override + public Response sendEnrollmentGuide(MultipartFile enrolmentGuide) { + if (log.isDebugEnabled()) { + log.debug("Sending enrollment invitation mail to existing user."); + } + DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); + try { +// Set recipients = new HashSet<>(); +// recipients.add(email); +// Properties props = new Properties(); +// props.setProperty("enrolment-guide", enrolmentGuide); +// +// EmailMetaInfo metaInfo = new EmailMetaInfo(recipients, props); +// dms.sendEnrolmentInvitation("enrolment-guide-template", metaInfo); + dms.sendEnrolmentGuide(enrolmentGuide); + return Response.status(Response.Status.OK).entity("Invitation mails have been sent.").build(); + } catch (DeviceManagementException e) { + String msg = "Error occurred while inviting user to enrol their device"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (ConfigurationManagementException e) { + String msg = "Error occurred while sending the email invitations. Mail server not configured."; + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (IOException e) { + e.printStackTrace(); + String msg = "testtttt."; + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } +// return Response.status(Response.Status.OK).entity("Invitation mails have been sent.").build(); + } + + @POST @Path("/type/any/list") @Override 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 4e12d2cf1a4..2be028d0a2b 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 @@ -66,7 +66,9 @@ import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion; import org.wso2.carbon.device.mgt.common.geo.service.GeoCluster; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.sql.SQLException; import java.sql.Timestamp; import java.util.Collection; @@ -645,6 +647,8 @@ public interface DeviceManagementProviderService { void sendEnrolmentInvitation(String templateName, EmailMetaInfo metaInfo) throws DeviceManagementException, ConfigurationManagementException; + void sendEnrolmentGuide(MultipartFile enrolmentGuide) throws DeviceManagementException, ConfigurationManagementException, IOException; + void sendRegistrationEmail(EmailMetaInfo metaInfo) throws DeviceManagementException, ConfigurationManagementException; FeatureManager getFeatureManager(String deviceType) throws DeviceTypeNotFoundException; 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 7bb7e7c6273..28c79fa7a38 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 @@ -38,6 +38,7 @@ package org.wso2.carbon.device.mgt.core.service; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import org.apache.commons.collections.map.SingletonMap; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -160,12 +161,13 @@ import org.wso2.carbon.stratos.common.beans.TenantInfoBean; import org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.utils.multitenancy.MultitenantConstants; +import org.springframework.web.multipart.MultipartFile; +import javax.mail.*; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; -import java.io.IOException; -import java.io.StringWriter; +import java.io.*; import java.lang.reflect.Type; import java.sql.SQLException; import java.sql.Timestamp; @@ -185,6 +187,12 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeMessage; +import javax.mail.internet.MimeBodyPart; +import javax.mail.internet.MimeMultipart; +import javax.ws.rs.core.MultivaluedMap; + public class DeviceManagementProviderServiceImpl implements DeviceManagementProviderService, PluginInitializationListener { @@ -198,6 +206,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv private final ApplicationDAO applicationDAO; private MetadataDAO metadataDAO; private final DeviceStatusDAO deviceStatusDAO; + int count = 0; public DeviceManagementProviderServiceImpl() { this.pluginRepository = new DeviceManagementPluginRepository(); @@ -1551,6 +1560,178 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } } + // save to somewhere + private void writeFile(byte[] content, String filename) throws IOException { + + File file = new File(filename); + + if (!file.exists()) { + file.createNewFile(); + } + + FileOutputStream fop = new FileOutputStream(file); + + fop.write(content); + fop.flush(); + fop.close(); + + } + + @Override + public void sendEnrolmentGuide(MultipartFile enrolmentGuide) throws DeviceManagementException, ConfigurationManagementException, IOException { + +// String fileName = ""; +// MultivaluedMap multivaluedMap = null; +// String fileName = null; +// InputStream inputStream = null; +// String uploadFilePath = null; +// +// Map> map = enrolmentGuide.getFormDataMap(); +// List inputParts = map.get("file"); +// +// for (InputPart inputPart : inputParts) { +// +// try { +// +// multivaluedMap = inputPart.getHeaders(); +// fileName = getFileName(multivaluedMap); +// +// //convert the uploaded file to inputstream +// InputStream inputStream = inputPart.getBody(InputStream.class,null); +// +// byte [] bytes = IOUtils.toByteArray(inputStream); +// +// //constructs upload file path +// fileName = UPLOADED_FILE_PATH + fileName; +// +// writeFile(bytes,fileName); +// +// System.out.println("Done"); +// +// } catch (IOException e) { +// e.printStackTrace(); +// } +// +// } + + // Recipient's email ID needs to be mentioned. + +// String charset = enrolmentGuide.getFormDataMap().get("_charset_").get(0).getBodyAsString(); +// File file = (File) enrolmentGuide.getFormDataMap().get("file").get(0); + String to = "oshani@entgra.io"; + + // Sender's email ID needs to be mentioned + String from = "oshsilva1996@gmail.com"; + + // Assuming you are sending email from through gmails smtp + String host = "smtp.gmail.com"; + + // Get system properties + Properties properties = System.getProperties(); + + // Setup mail server + properties.put("mail.smtp.host", host); + properties.put("mail.smtp.port", "465"); + properties.put("mail.smtp.ssl.enable", "true"); + properties.put("mail.smtp.auth", "true"); + + // Get the Session object.// and pass username and password + Session session = Session.getInstance(properties, new javax.mail.Authenticator() { + + protected PasswordAuthentication getPasswordAuthentication() { + + return new PasswordAuthentication("oshsilva1996@gmail.com", "layzvxhcxlwzkgwf"); + + } + + }); + + // Used to debug SMTP issues + session.setDebug(true); + + try { + // Create a default MimeMessage object. + MimeMessage message = new MimeMessage(session); + + // Set From: header field of the header. + message.setFrom(new InternetAddress(from)); + + // Set To: header field of the header. + message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); + +// // Set Subject: header field + message.setSubject("Enrollment Guide Triggered " + ++count); + +// message.setText(enrolmentGuide); + +// Multipart multipart = new MimeMultipart(); +// +// MimeBodyPart attachmentPart = new MimeBodyPart(); +// +// MimeBodyPart textPart = new MimeBodyPart(); +// +// try { +// +//// String charset = enrolmentGuide.getFormDataMap().get("_charset_").get(0).getBodyAsString(); +//// InputPart file = enrolmentGuide.getFormDataMap().get("file").get(0); +//// InputStream inputStream = file.getBody(InputStream.class, null); +//// BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, charset)); +//// String line; +//// StringBuilder content = new StringBuilder(); +//// while ((line = br.readLine()) != null) { +//// content.append(line); +//// } +//// +//// writeFile(content, "test"); +//// +//// File f =new File("H:\\pepipost_tutorials\\javaemail1.PNG"); +// +// attachmentPart.attachFile(file); +// textPart.setText("This is text"); +// multipart.addBodyPart(textPart); +// multipart.addBodyPart(attachmentPart); +// +// } catch (IOException e) { +// +// e.printStackTrace(); +// +// } +// +// message.setContent(multipart); + + System.out.println("sending..."); + // Send message + Transport.send(message); + System.out.println("Sent message successfully...."); + } catch (MessagingException mex) { + mex.printStackTrace(); + } +// +// try { +// // Create a default MimeMessage object. +// MimeMessage message = new MimeMessage(session); +// +// // Set From: header field of the header. +// message.setFrom(new InternetAddress(from)); +// +// // Set To: header field of the header. +// message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); +// +// // Set Subject: header field +// message.setSubject("Enrollment Guide Triggered " + ++count); +// +// // Now set the actual message +// message.setText("enrolmentGuide"); +// +// System.out.println("sending..."); +// // Send message +// Transport.send(message); +// System.out.println("Sent message successfully...."); +// } catch (MessagingException mex) { +// mex.printStackTrace(); +// } + } + @Override public void sendRegistrationEmail(EmailMetaInfo metaInfo) throws DeviceManagementException, ConfigurationManagementException { From 79a2d573fac310cef20301f7bbf297f177123717 Mon Sep 17 00:00:00 2001 From: osh Date: Thu, 9 Mar 2023 11:58:09 +0530 Subject: [PATCH 060/101] Fix build failure fixes https://roadmap.entgra.net/issues/9939 --- .../service/api/DeviceManagementService.java | 3 +- .../impl/DeviceManagementServiceImpl.java | 22 +--- .../DeviceManagementProviderService.java | 4 +- .../DeviceManagementProviderServiceImpl.java | 119 +----------------- 4 files changed, 8 insertions(+), 140 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index f4eb04cb42f..2b9a2254f21 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -67,7 +67,6 @@ import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.beans.OperationRequest; import org.wso2.carbon.device.mgt.jaxrs.beans.OperationStatusBean; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; -import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import javax.validation.constraints.Size; @@ -855,7 +854,7 @@ public interface DeviceManagementService { name = "enrolmentGuide", value = "The details of the enrolment path suggested.", required = true) - MultipartFile enrolmentGuide); + String enrolmentGuide); @POST @Produces(MediaType.APPLICATION_JSON) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 78c2280d4e6..80e70aaeff7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -132,7 +132,6 @@ import org.wso2.carbon.policy.mgt.core.PolicyManagerService; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; import org.wso2.carbon.utils.multitenancy.MultitenantUtils; -import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import javax.ws.rs.Consumes; @@ -823,37 +822,20 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { @POST @Path("/enrollment/guide") @Override - public Response sendEnrollmentGuide(MultipartFile enrolmentGuide) { + public Response sendEnrollmentGuide(String enrolmentGuide) { if (log.isDebugEnabled()) { log.debug("Sending enrollment invitation mail to existing user."); } DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); try { -// Set recipients = new HashSet<>(); -// recipients.add(email); -// Properties props = new Properties(); -// props.setProperty("enrolment-guide", enrolmentGuide); -// -// EmailMetaInfo metaInfo = new EmailMetaInfo(recipients, props); -// dms.sendEnrolmentInvitation("enrolment-guide-template", metaInfo); dms.sendEnrolmentGuide(enrolmentGuide); return Response.status(Response.Status.OK).entity("Invitation mails have been sent.").build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while inviting user to enrol their device"; + String msg = "Error occurred sending mail to group in enrollment guide"; log.error(msg, e); return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } catch (ConfigurationManagementException e) { - String msg = "Error occurred while sending the email invitations. Mail server not configured."; - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); - } catch (IOException e) { - e.printStackTrace(); - String msg = "testtttt."; - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } -// return Response.status(Response.Status.OK).entity("Invitation mails have been sent.").build(); } 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 2be028d0a2b..4ea3cd30de5 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 @@ -66,8 +66,8 @@ import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion; import org.wso2.carbon.device.mgt.common.geo.service.GeoCluster; -import org.springframework.web.multipart.MultipartFile; +import javax.mail.MessagingException; import java.io.IOException; import java.sql.SQLException; import java.sql.Timestamp; @@ -647,7 +647,7 @@ public interface DeviceManagementProviderService { void sendEnrolmentInvitation(String templateName, EmailMetaInfo metaInfo) throws DeviceManagementException, ConfigurationManagementException; - void sendEnrolmentGuide(MultipartFile enrolmentGuide) throws DeviceManagementException, ConfigurationManagementException, IOException; + void sendEnrolmentGuide(String enrolmentGuide) throws DeviceManagementException; void sendRegistrationEmail(EmailMetaInfo metaInfo) throws DeviceManagementException, ConfigurationManagementException; 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 16b562b35b3..8e38720f40a 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 @@ -161,7 +161,6 @@ import org.wso2.carbon.stratos.common.beans.TenantInfoBean; import org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.utils.multitenancy.MultitenantConstants; -import org.springframework.web.multipart.MultipartFile; import javax.mail.*; import javax.xml.bind.JAXBContext; @@ -1582,52 +1581,13 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public void sendEnrolmentGuide(MultipartFile enrolmentGuide) throws DeviceManagementException, ConfigurationManagementException, IOException { - -// String fileName = ""; -// MultivaluedMap multivaluedMap = null; -// String fileName = null; -// InputStream inputStream = null; -// String uploadFilePath = null; -// -// Map> map = enrolmentGuide.getFormDataMap(); -// List inputParts = map.get("file"); -// -// for (InputPart inputPart : inputParts) { -// -// try { -// -// multivaluedMap = inputPart.getHeaders(); -// fileName = getFileName(multivaluedMap); -// -// //convert the uploaded file to inputstream -// InputStream inputStream = inputPart.getBody(InputStream.class,null); -// -// byte [] bytes = IOUtils.toByteArray(inputStream); -// -// //constructs upload file path -// fileName = UPLOADED_FILE_PATH + fileName; -// -// writeFile(bytes,fileName); -// -// System.out.println("Done"); -// -// } catch (IOException e) { -// e.printStackTrace(); -// } -// -// } - - // Recipient's email ID needs to be mentioned. + public void sendEnrolmentGuide(String enrolmentGuide) { -// String charset = enrolmentGuide.getFormDataMap().get("_charset_").get(0).getBodyAsString(); -// File file = (File) enrolmentGuide.getFormDataMap().get("file").get(0); String to = "oshani@entgra.io"; // Sender's email ID needs to be mentioned String from = "oshsilva1996@gmail.com"; - // Assuming you are sending email from through gmails smtp String host = "smtp.gmail.com"; // Get system properties @@ -1639,13 +1599,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.auth", "true"); - // Get the Session object.// and pass username and password + // Get the Session object Session session = Session.getInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication("oshsilva1996@gmail.com", "layzvxhcxlwzkgwf"); - } }); @@ -1654,86 +1612,15 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv session.setDebug(true); try { - // Create a default MimeMessage object. MimeMessage message = new MimeMessage(session); - - // Set From: header field of the header. message.setFrom(new InternetAddress(from)); - - // Set To: header field of the header. message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); - -// // Set Subject: header field message.setSubject("Enrollment Guide Triggered " + ++count); - -// message.setText(enrolmentGuide); - -// Multipart multipart = new MimeMultipart(); -// -// MimeBodyPart attachmentPart = new MimeBodyPart(); -// -// MimeBodyPart textPart = new MimeBodyPart(); -// -// try { -// -//// String charset = enrolmentGuide.getFormDataMap().get("_charset_").get(0).getBodyAsString(); -//// InputPart file = enrolmentGuide.getFormDataMap().get("file").get(0); -//// InputStream inputStream = file.getBody(InputStream.class, null); -//// BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, charset)); -//// String line; -//// StringBuilder content = new StringBuilder(); -//// while ((line = br.readLine()) != null) { -//// content.append(line); -//// } -//// -//// writeFile(content, "test"); -//// -//// File f =new File("H:\\pepipost_tutorials\\javaemail1.PNG"); -// -// attachmentPart.attachFile(file); -// textPart.setText("This is text"); -// multipart.addBodyPart(textPart); -// multipart.addBodyPart(attachmentPart); -// -// } catch (IOException e) { -// -// e.printStackTrace(); -// -// } -// -// message.setContent(multipart); - - System.out.println("sending..."); - // Send message + message.setText(enrolmentGuide); Transport.send(message); - System.out.println("Sent message successfully...."); } catch (MessagingException mex) { mex.printStackTrace(); } -// -// try { -// // Create a default MimeMessage object. -// MimeMessage message = new MimeMessage(session); -// -// // Set From: header field of the header. -// message.setFrom(new InternetAddress(from)); -// -// // Set To: header field of the header. -// message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); -// -// // Set Subject: header field -// message.setSubject("Enrollment Guide Triggered " + ++count); -// -// // Now set the actual message -// message.setText("enrolmentGuide"); -// -// System.out.println("sending..."); -// // Send message -// Transport.send(message); -// System.out.println("Sent message successfully...."); -// } catch (MessagingException mex) { -// mex.printStackTrace(); -// } } @Override From 0bbcac4a93f284f8c5e18b6fbb64d9fc9e5e3c68 Mon Sep 17 00:00:00 2001 From: osh Date: Fri, 10 Mar 2023 09:11:40 +0530 Subject: [PATCH 061/101] Add enrollment guide permissions fixes https://roadmap.entgra.net/issues/9939 --- .../mgt/jaxrs/service/api/DeviceManagementService.java | 9 ++++++++- .../src/main/resources/conf/mdm-ui-config.xml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index 2b9a2254f21..874b46db3d8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -189,6 +189,13 @@ import java.util.List; roles = {"Internal/devicemgt-user"}, permissions = {"/device-mgt/devices/owning-device/add"} ), + @Scope( + name = "Viewing Enrollment Guide", + description = "Show enrollment guide to users", + key = "perm:devices:enrollment-guide:view", + roles = {"Internal/devicemgt-user"}, + permissions = {"/device-mgt/devices/enrollment-guide/view"} + ), } ) @Path("/devices") @@ -816,7 +823,7 @@ public interface DeviceManagementService { tags = "Device Management", extensions = { @Extension(properties = { - @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:view") + @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:enrollment-guide:view") }) } ) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index d36e26a3ccb..64010515b0b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -100,6 +100,7 @@ perm:devices:details perm:devices:update perm:devices:view + perm:devices:enrollment-guide:view perm:view-configuration perm:manage-configuration perm:policies:remove From 74f50b28c5f603015aedb81b56517ffea6d139f7 Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Sun, 12 Mar 2023 23:27:43 +0530 Subject: [PATCH 062/101] Add user identification improvement --- .../mgt/core/config/ui/UIConfiguration.java | 10 ++ .../request/interceptor/HubspotHandler.java | 108 ++++++++++++++++++ .../interceptor/util/HandlerConstants.java | 1 + .../request/interceptor/util/HandlerUtil.java | 17 +++ .../src/main/resources/conf/mdm-ui-config.xml | 1 + 5 files changed, 137 insertions(+) create mode 100644 components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java index 551c1558ea3..e5b553fec5a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java @@ -34,6 +34,7 @@ public class UIConfiguration { private int sessionTimeOut; private int loginCacheCapacity; private Billing billing; + private String chatConfig; @XmlElement(name = "AppRegistration", required=true) public AppRegistration getAppRegistration() { @@ -63,6 +64,15 @@ public class UIConfiguration { isSsoEnable = ssoEnable; } + @XmlElement(name = "ChatConfig", required = true) + public String getChatConfig() { + return chatConfig; + } + + public void setChatConfig(String chatConfig) { + this.chatConfig = chatConfig; + } + @XmlElement(name = "Billing", required=true) public Billing getBilling() { return billing; diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java new file mode 100644 index 00000000000..42fd8d8f099 --- /dev/null +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java @@ -0,0 +1,108 @@ +package io.entgra.ui.request.interceptor; + +import com.google.gson.JsonObject; +import io.entgra.ui.request.interceptor.beans.ProxyResponse; +import io.entgra.ui.request.interceptor.util.HandlerConstants; +import io.entgra.ui.request.interceptor.util.HandlerUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.http.HttpHeaders; +import org.apache.http.HttpStatus; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; + +import javax.servlet.annotation.MultipartConfig; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; + +@MultipartConfig +@WebServlet( + name = "HubspotRequestHandlerServlet", + description = "", + urlPatterns = { + "/hubspot/*" + } +) +public class HubspotHandler extends HttpServlet { + + private static final Log log = LogFactory.getLog(HubspotHandler.class); + private HttpSession httpSession; + private static String hubspotEndpoint; + private static String chatConfig; + private JsonObject uiConfigJsonObject; + private static String gatewayUrl; + private static String iotsCoreUrl; + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) { + try { + if (validateRequest(req, resp)) { + HttpPost postRequest = new HttpPost(HandlerUtil.generateBackendRequestURL(req, hubspotEndpoint)); + HandlerUtil.generateChatRequestEntity(req, postRequest); + postRequest.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); + postRequest.setHeader(HttpHeaders.AUTHORIZATION, HandlerConstants.BEARER + chatConfig); + ProxyResponse proxyResponse = HandlerUtil.execute(postRequest); + HandlerUtil.handleSuccess(resp, proxyResponse); + } + } catch (IOException e) { + log.error("Error occurred when processing POST request.", e); + } + + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) { + + try { + if (validateRequest(req, resp)) { + HttpGet getRequest = new HttpGet(HandlerUtil.generateBackendRequestURL(req,hubspotEndpoint)); + getRequest.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); + getRequest.setHeader(HttpHeaders.AUTHORIZATION, HandlerConstants.BEARER + chatConfig); + ProxyResponse proxyResponse = HandlerUtil.execute(getRequest); + HandlerUtil.handleSuccess(resp, proxyResponse); + } + } catch (IOException e) { + log.error("Error occurred when processing GET request.", e); + } + } + + /*** + * Validates the hubspot's incoming request. + * + * @param req {@link HttpServletRequest} + * @param resp {@link HttpServletResponse} + * @return If request is a valid one, returns TRUE, otherwise return FALSE + * @throws IOException If and error occurs while witting error response to client side + */ + private boolean validateRequest(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + + httpSession = req.getSession(false); + gatewayUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_GW_HOST_ENV_VAR) + + HandlerConstants.COLON + HandlerUtil.getGatewayPort(req.getScheme()); + iotsCoreUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_CORE_HOST_ENV_VAR) + + HandlerConstants.COLON + HandlerUtil.getCorePort(req.getScheme()); + String uiConfigUrl = iotsCoreUrl + HandlerConstants.UI_CONFIG_ENDPOINT; + uiConfigJsonObject = HandlerUtil.getUIConfigAndPersistInSession(uiConfigUrl, gatewayUrl, httpSession, resp); + chatConfig = uiConfigJsonObject.get("chatConfig").getAsString(); + hubspotEndpoint = HandlerConstants.HTTPS_PROTOCOL + HandlerConstants.SCHEME_SEPARATOR + HandlerConstants.HUBSPOT_CHAT_URL; + + if (httpSession == null) { + log.error("Unauthorized, You are not logged in. Please log in to the portal"); + HandlerUtil.handleError(resp, HttpStatus.SC_UNAUTHORIZED); + return false; + } + + if (req.getMethod() == null) { + log.error("Bad Request, Request method is empty"); + HandlerUtil.handleError(resp, HttpStatus.SC_BAD_REQUEST); + return false; + } + + return true; + } +} diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerConstants.java b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerConstants.java index bf9947a9af1..27d6afaadc4 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerConstants.java +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerConstants.java @@ -105,4 +105,5 @@ public class HandlerConstants { public static final String IOT_GW_HTTPS_PORT_ENV_VAR = "iot.gateway.https.port"; public static final String IOT_REPORTING_WEBAPP_HOST_ENV_VAR = "iot.reporting.webapp.host"; public static final String USER_SCOPES = "userScopes"; + public static final String HUBSPOT_CHAT_URL = "api.hubapi.com"; } diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerUtil.java b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerUtil.java index fb565bf59b8..b7376abddcd 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerUtil.java +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/util/HandlerUtil.java @@ -435,6 +435,23 @@ public class HandlerUtil { } } + /** + * Generate te request entity for POST requests from the hubspot's incoming request. + * + * @param req incoming {@link HttpServletRequest}. + * @param proxyRequest proxy request instance. + * @throws IOException If error occurred while generating the request body. + */ + public static void generateChatRequestEntity(HttpServletRequest req, HttpEntityEnclosingRequestBase proxyRequest) + throws IOException { + if (StringUtils.isNotEmpty(req.getHeader(HttpHeaders.CONTENT_LENGTH)) || + StringUtils.isNotEmpty(req.getHeader(HttpHeaders.TRANSFER_ENCODING))) { + InputStreamEntity entity = new InputStreamEntity(req.getInputStream(), + Long.parseLong(req.getHeader(HttpHeaders.CONTENT_LENGTH))); + proxyRequest.setEntity(new BufferedHttpEntity(entity)); + } + } + /*** * Constructs the application registration payload for DCR. * diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index d36e26a3ccb..ba100b11783 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -24,6 +24,7 @@ 3600 10000 + pat-na1-33bc59e0-3526-45b0-b9cf-f353d0ae0ced false true From 2b7c8c1c8281b58c9852660a40ccabcd536f7165 Mon Sep 17 00:00:00 2001 From: inoshperera Date: Thu, 16 Mar 2023 14:21:46 +0530 Subject: [PATCH 063/101] Ability to disable or enable apps Fixes https://roadmap.entgra.net/issues/10008 --- .../src/main/resources/conf/mdm-ui-config.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index d36e26a3ccb..766d16b1906 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -213,6 +213,8 @@ perm:admin:tenant:view perm:admin:metadata:view perm:admin:usage:view + perm:android:clear-applicatio + perm:android:suspend-package perm:android:alternate-install From 5dab9433a44a458a0d3e985346e14d4f8c18cca7 Mon Sep 17 00:00:00 2001 From: osh Date: Fri, 17 Mar 2023 03:34:18 +0530 Subject: [PATCH 064/101] Update email subject fixes https://roadmap.entgra.net/issues/9939 --- .../DeviceManagementProviderServiceImpl.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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 8e38720f40a..ded3d067fe7 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 @@ -1581,16 +1581,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } @Override - public void sendEnrolmentGuide(String enrolmentGuide) { + public void sendEnrolmentGuide(String enrolmentGuide) throws DeviceManagementException { String to = "oshani@entgra.io"; - - // Sender's email ID needs to be mentioned String from = "oshsilva1996@gmail.com"; - String host = "smtp.gmail.com"; - - // Get system properties Properties properties = System.getProperties(); // Setup mail server @@ -1599,7 +1594,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.auth", "true"); - // Get the Session object Session session = Session.getInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { @@ -1615,11 +1609,13 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); - message.setSubject("Enrollment Guide Triggered " + ++count); + message.setSubject("[Enrollment Guide Triggered] (#" + ++count + ")"); message.setText(enrolmentGuide); Transport.send(message); - } catch (MessagingException mex) { - mex.printStackTrace(); + } catch (MessagingException e) { + String msg = "Error occurred while sending message to support dev group"; + log.error(msg, e); + throw new DeviceManagementException(msg, e); } } From 204ba9101080c6c887c5972cf490dc32660e7782 Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Fri, 17 Mar 2023 16:20:57 +0530 Subject: [PATCH 065/101] Remove unnecessary logs --- .../device/mgt/core/operation/mgt/OperationManagerImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java index 27882f4fbd3..46b2b8ff836 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java @@ -18,6 +18,7 @@ package org.wso2.carbon.device.mgt.core.operation.mgt; +import com.google.gson.Gson; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -792,15 +793,16 @@ public class OperationManagerImpl implements OperationManager { if (dtoOperation != null) { long currentTime = Calendar.getInstance().getTime().getTime(); - log.info("Current timestamp:" + currentTime); long updatedTime = Timestamp.valueOf(dtoOperation.getReceivedTimeStamp()).getTime(); - log.info("Updated timestamp: " + updatedTime); // check if notnow frequency is met and set next pending operation if not, otherwise let notnow // operation to proceed if ((currentTime - updatedTime) < notNowOperationFrequency) { dtoOperation = operationDAO.getNextOperation(enrolmentInfo.getId(), org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Status.PENDING); + } else { + log.warn("Updated timestamp (" + updatedTime + ") of operation (" + + new Gson().toJson(dtoOperation) + ") is ahead from current: " + currentTime); } } else { dtoOperation = operationDAO.getNextOperation(enrolmentInfo.getId(), From 1b363c09786c41a24f630cc39bc7551a35a0a1b5 Mon Sep 17 00:00:00 2001 From: builder Date: Fri, 17 Mar 2023 17:23:51 +0530 Subject: [PATCH 066/101] [maven-release-plugin] prepare release v5.0.20 --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- components/task-mgt/pom.xml | 6 ++---- .../task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml | 6 ++---- .../task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml | 6 ++---- components/task-mgt/task-manager/pom.xml | 6 ++---- .../task-watcher/io.entgra.task.mgt.watcher/pom.xml | 6 ++---- components/task-mgt/task-watcher/pom.xml | 6 ++---- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- features/task-mgt/io.entgra.task.mgt.feature/pom.xml | 6 ++---- features/task-mgt/pom.xml | 6 ++---- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 116 files changed, 126 insertions(+), 142 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 564673ef8b2..da28b332757 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 1ba9a75dd35..6b18836e4d6 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index 56aacfa64d5..c813e1e266a 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index e48aeca1f7d..2eaa237e87e 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index ded09a68763..404f7a1c86b 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 0918920bdcd..9a02fbb2b21 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index a064c551c12..90191506c10 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 9ebf10c38f0..65ebbb68f74 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 95be718e7a0..6bc0f7b0fb3 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 6c7db5b264f..d57b2099e76 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 81aea0503dd..c80b0b75778 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index a2c8ece8540..2f5a8a27753 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index a67eb8592f4..d1e40b363d4 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 4f428505683..eafe419faa7 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 2e058b82dd6..3d3083fec70 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index e93b7042693..75398aecec4 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index adddc4026ad..c82c904a2dc 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index ff4e816abc8..7caba8b66b7 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index dfb1d480172..877572bce99 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index f70a1fa72c6..20254563f42 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index a5a16ab3c67..8885c2860ab 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index fdd5660b813..bfcaa105459 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 99af2f9561b..8b50ee361d4 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index e36b58f55e6..d80d1155b70 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 475c8b4e6e1..8d8584576a5 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 229e8d6e3ec..6a7ec20cb72 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 9a11f603e7a..dac810f437e 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 7625a603b3c..827f98d0bd5 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index ec894c79008..28ba187c773 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 2e107b25431..7f58440750f 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 1cde061ac14..666a51c6f25 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 3fdd250307a..f32327c3c7d 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index d141f2ff6f2..f8a10b46448 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 2c0ea76ceb3..c5d9b31415b 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index aca43d379e3..a674603a92d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 1abb0dca0cf..b35c2468895 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml 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 a55ae5faff8..301f7681450 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml 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 index c359b575eff..937078c9b43 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index ce0834d4a76..94709009735 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index d21057f7c5d..1dc33565de4 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index b77baba84fe..43f5e8caa23 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 8a34ff769a7..da85b0b9f3a 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 15ce3a51ca7..ee69d8e96a9 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 7c963d6254d..96751a76906 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index b1bdcdf8e33..42ce7773b4d 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index d8c8483db22..cade7fd8ba3 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 0dd2f161874..57ecede1153 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index d13c9bb1ecd..d30f48d0225 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 6991bb4e5f0..1e42f36a1f7 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 2f0a6b7bf64..6f5ba4d9eb4 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/task-mgt/pom.xml b/components/task-mgt/pom.xml index d9ab379c3b2..258fa996c17 100755 --- a/components/task-mgt/pom.xml +++ b/components/task-mgt/pom.xml @@ -17,13 +17,11 @@ ~ under the License. --> - + org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml index ad7c991872c..464f2966834 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml @@ -16,13 +16,11 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + task-manager org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml index f0ffd6c1f54..455f4285763 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml @@ -16,14 +16,12 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + org.wso2.carbon.devicemgt task-manager - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/task-mgt/task-manager/pom.xml b/components/task-mgt/task-manager/pom.xml index a263d338e70..b265d77fca7 100755 --- a/components/task-mgt/task-manager/pom.xml +++ b/components/task-mgt/task-manager/pom.xml @@ -16,14 +16,12 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + org.wso2.carbon.devicemgt task-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml index d546c286989..d4530d1063c 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml @@ -16,14 +16,12 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + org.wso2.carbon.devicemgt task-watcher - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/task-mgt/task-watcher/pom.xml b/components/task-mgt/task-watcher/pom.xml index a570d9f2793..16c69acdb6f 100755 --- a/components/task-mgt/task-watcher/pom.xml +++ b/components/task-mgt/task-watcher/pom.xml @@ -16,14 +16,12 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + org.wso2.carbon.devicemgt task-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index a57921baf36..77226365956 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 8e4d752874a..1d02400cd87 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 9702d7f32ce..28a550bf577 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index ae4b3ec78b2..98d2b680fb1 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 9f4858d9617..5f6d779fa65 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index b9dc37e51c6..74727385620 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 1124fd5609a..d290d778518 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 4f4a7e546db..b09c507a034 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index e16c2d3f4bd..6c6c81284a6 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index fdfc56c1dde..d15f42f65b5 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 6945454311f..1fbdd13b3c9 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index e0ce823ef52..8e4bacdcb15 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 6f52cf112cc..279a5f8db4e 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index f9c33243fd9..6705f54062e 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index f6a2860e0bb..975f5770f4d 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 5e789d64cb7..91b10fa666c 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index 69c6b280e32..bdeebb5b224 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index c2ee07f0c9e..7d0587929f6 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index c169946fd35..12b65012094 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 4c1f3edd299..de09317c501 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index e46d58bb91a..b2f87e10b01 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 5e855e60c9a..3ed821222ca 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 7a149fb63d1..50bd97cf6d2 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 6829f4a0d6d..4c959fd4eba 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 27a40bd0a40..4719c4df876 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index f86d0bb8ef5..816b7c9caf0 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 7d18bd12d58..bb32a4041d5 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index 1dc330f67f2..20dda1c0b9e 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index f178b51f532..7ab98e20ccf 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index b36bc24864d..223a965108d 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 822f213a82f..40b7d44ebb6 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index e8121a2b254..5d5dda75151 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 469735e0c62..62fb18845d1 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 91fddccc4e0..6b80ee49161 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 92cc4a384ff..a3d2b39793e 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 0c2a6df02f9..3d7966def39 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 701de1d1b7f..2293658e5db 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 7ae15434ee2..a1c13c35813 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 1f5a22014fd..1ecb2645448 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml 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 3d009aa9cb6..64068ebeb90 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index 43a0145b6ef..aaf0ae6be52 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index e5f9d4a3160..d2f322bb257 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 06169633555..0de0f341666 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 9d375e95c4c..4a303561ba5 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 5eced82de50..98f3bd23394 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index 0a9bff010ca..c6f46fbda27 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 833e11aba4c..64c63cb5eb9 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml index c285c53040d..7972ee3eb1c 100755 --- a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml +++ b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml @@ -16,14 +16,12 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../../pom.xml diff --git a/features/task-mgt/pom.xml b/features/task-mgt/pom.xml index 26638a6aa2b..fb463523db2 100755 --- a/features/task-mgt/pom.xml +++ b/features/task-mgt/pom.xml @@ -16,14 +16,12 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index c86636d487e..4d958e4c829 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index d0cbbef0274..9b35444d84e 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 5de9c8c47c0..a3de8af4c24 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 1a8e65ea704..8a5ae94cbb4 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index 2ba975d2d49..a0c80c8c0bc 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 629c08ba50e..3aad0992fd3 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index 0afc3933c92..fcfa861420a 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 66926532640..b4516d9fced 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 86fd0c7ae2f..7e9a5f50deb 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.20-SNAPSHOT + 5.0.20 ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 35e608903c4..696be452b34 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20-SNAPSHOT + 5.0.20 ../../pom.xml diff --git a/pom.xml b/pom.xml index baed2c75433..4d686e870a6 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.20-SNAPSHOT + 5.0.20 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1847,7 +1847,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - HEAD + v5.0.20 @@ -2059,7 +2059,7 @@ 1.2.11.wso2v10 - 5.0.20-SNAPSHOT + 5.0.20 4.7.35 From 4d8d4bdcf757a64fd65dde92390e4801d07ac048 Mon Sep 17 00:00:00 2001 From: builder Date: Fri, 17 Mar 2023 17:23:59 +0530 Subject: [PATCH 067/101] [maven-release-plugin] prepare for next development iteration --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- components/task-mgt/pom.xml | 2 +- .../task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml | 2 +- .../task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml | 2 +- components/task-mgt/task-manager/pom.xml | 2 +- .../task-watcher/io.entgra.task.mgt.watcher/pom.xml | 2 +- components/task-mgt/task-watcher/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- features/task-mgt/io.entgra.task.mgt.feature/pom.xml | 2 +- features/task-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 116 files changed, 118 insertions(+), 118 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index da28b332757..9d4d76223d6 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 6b18836e4d6..402e68a706c 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index c813e1e266a..a66ba64fff2 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 2eaa237e87e..92bc7f17213 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 404f7a1c86b..533b60c9897 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index 9a02fbb2b21..e9137ae00a7 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 90191506c10..2e7f50e9971 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 65ebbb68f74..1c29c246e54 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 6bc0f7b0fb3..dd957864f20 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index d57b2099e76..4379709bef1 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index c80b0b75778..1e9e44a4a5c 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 2f5a8a27753..ba99795a045 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index d1e40b363d4..66df7e582ba 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index eafe419faa7..f869b39c73e 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index 3d3083fec70..d753086d86b 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index 75398aecec4..ec9127ea06d 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index c82c904a2dc..80e1bd83ea5 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 7caba8b66b7..760accf4ba6 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 877572bce99..9ac074925c1 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 20254563f42..36b4e164f17 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 8885c2860ab..ee2ac87f573 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index bfcaa105459..dbd94e3b22e 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 8b50ee361d4..1bd757ac9bb 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index d80d1155b70..5ede05302d1 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 8d8584576a5..37dcc4ec1bd 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 6a7ec20cb72..ef88e49a2ab 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index dac810f437e..1641e9e38de 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 827f98d0bd5..b35311d91b5 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 28ba187c773..9cb045b700f 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 7f58440750f..cab4f2afbe4 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 666a51c6f25..9536f5e514a 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index f32327c3c7d..354033a4c3e 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index f8a10b46448..250815e9ba4 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index c5d9b31415b..4888ed01559 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index a674603a92d..51f2ed00579 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index b35c2468895..8e7e132f263 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml 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 301f7681450..cb9d37a5b41 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml 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 index 937078c9b43..8ecdd1dea7a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index 94709009735..dec22c688c0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 1dc33565de4..480b375d311 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 43f5e8caa23..2b3cd78219d 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index da85b0b9f3a..272466b3260 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index ee69d8e96a9..37b1f466a7b 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 96751a76906..e98ae105c3f 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 42ce7773b4d..454b046f52e 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index cade7fd8ba3..d20a058c014 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 57ecede1153..ae24f2c1033 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index d30f48d0225..065e6db69ce 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 1e42f36a1f7..2d4cb3f782a 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 6f5ba4d9eb4..8c0bc9058ee 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/task-mgt/pom.xml b/components/task-mgt/pom.xml index 258fa996c17..f46835f8be2 100755 --- a/components/task-mgt/pom.xml +++ b/components/task-mgt/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml index 464f2966834..39551beebb1 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml @@ -20,7 +20,7 @@ task-manager org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml index 455f4285763..6eeba4c8bc9 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-manager - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-manager/pom.xml b/components/task-mgt/task-manager/pom.xml index b265d77fca7..344ee82cfc1 100755 --- a/components/task-mgt/task-manager/pom.xml +++ b/components/task-mgt/task-manager/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml index d4530d1063c..34eaf2c4303 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-watcher - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-watcher/pom.xml b/components/task-mgt/task-watcher/pom.xml index 16c69acdb6f..23d376c0720 100755 --- a/components/task-mgt/task-watcher/pom.xml +++ b/components/task-mgt/task-watcher/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 77226365956..e36ee469ff0 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 1d02400cd87..e5d79a0c6c2 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index 28a550bf577..fb8cf3777ca 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 98d2b680fb1..c2f4f050760 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 5f6d779fa65..6fcf7686ace 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 74727385620..6088ee00531 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index d290d778518..63039c781f2 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index b09c507a034..1c585b5b74a 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 6c6c81284a6..d849368d9b0 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index d15f42f65b5..f11df1e3a4e 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 1fbdd13b3c9..b1a10ee9f5d 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 8e4bacdcb15..0c7462faaf5 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 279a5f8db4e..6d3e16a0633 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 6705f54062e..787ea0747f1 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index 975f5770f4d..ccb9f84d26a 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 91b10fa666c..0d9d2b9d6aa 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index bdeebb5b224..b6a28994d82 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 7d0587929f6..c1b4c921722 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 12b65012094..45a706e7a95 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index de09317c501..d215fd6e296 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index b2f87e10b01..e1447edb86a 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 3ed821222ca..527c8a633d1 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 50bd97cf6d2..2bd79de79e7 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 4c959fd4eba..7c9fb7153e9 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 4719c4df876..b730341140e 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 816b7c9caf0..05fdb44cc14 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index bb32a4041d5..54e8544e677 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index 20dda1c0b9e..b9eaed372fd 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 7ab98e20ccf..1046d773c9d 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 223a965108d..0678d1bbe68 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 40b7d44ebb6..4d38c3719b2 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 5d5dda75151..5ee749568c4 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 62fb18845d1..ae887ab14cc 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 6b80ee49161..314b1a82b3f 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index a3d2b39793e..1c98737cfa4 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 3d7966def39..0bb36492dfd 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index 2293658e5db..ba9e88437c6 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index a1c13c35813..31ff541dfc8 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 1ecb2645448..ae68720cf96 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml 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 64068ebeb90..59113b6e914 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index aaf0ae6be52..e606feaa460 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index d2f322bb257..6c21432c0b1 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 0de0f341666..42febcc76b1 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 4a303561ba5..31f48b995ec 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 98f3bd23394..50925e545ac 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index c6f46fbda27..eb28b067bf5 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 64c63cb5eb9..9a9f371f785 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml index 7972ee3eb1c..4094f312fb0 100755 --- a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml +++ b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../../pom.xml diff --git a/features/task-mgt/pom.xml b/features/task-mgt/pom.xml index fb463523db2..189a163b78b 100755 --- a/features/task-mgt/pom.xml +++ b/features/task-mgt/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 4d958e4c829..dba94063ed9 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 9b35444d84e..0e3241ad889 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index a3de8af4c24..07ecebe2ffe 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 8a5ae94cbb4..47cb040d27a 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index a0c80c8c0bc..41b8d3b338e 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 3aad0992fd3..d4bb6a06a69 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index fcfa861420a..d7fec7d0ca3 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index b4516d9fced..40c07d7c8da 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 7e9a5f50deb..15dbbd671f1 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.20 + 5.0.21-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 696be452b34..80a6f00d3ca 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.20 + 5.0.21-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 4d686e870a6..ba964b85fcd 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.20 + 5.0.21-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1847,7 +1847,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - v5.0.20 + HEAD @@ -2059,7 +2059,7 @@ 1.2.11.wso2v10 - 5.0.20 + 5.0.21-SNAPSHOT 4.7.35 From bf8efa35a72ead0cc580c460944a5568b2b61d72 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Sat, 18 Mar 2023 01:45:17 +0530 Subject: [PATCH 068/101] updated keymgt extensions to support validity period --- .../APIManagementProviderServiceImpl.java | 6 +++++- .../keymgt/extension/api/DCRRequest.java | 11 +++++++++++ .../extension/api/KeyManagerService.java | 3 ++- .../extension/api/KeyManagerServiceImpl.java | 7 ++++--- .../apimgt/keymgt/extension/TokenRequest.java | 13 ++++++++++++- .../extension/service/KeyMgtService.java | 2 +- .../extension/service/KeyMgtServiceImpl.java | 18 ++++++++++-------- 7 files changed, 45 insertions(+), 15 deletions(-) diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java index 4ef90936b29..95a95df957f 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java @@ -256,10 +256,14 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe keyManagerId = keyManagerConfigurationDTO.getUuid(); } } + String applicationAccessTokenExpiryTime = "N/A"; + if(!StringUtils.isEmpty(validityTime)) { + applicationAccessTokenExpiryTime = validityTime; + } String jsonString = "{\"grant_types\":\"refresh_token,access_token," + "urn:ietf:params:oauth:grant-type:saml2-bearer," + "password,client_credentials,iwa:ntlm,urn:ietf:params:oauth:grant-type:jwt-bearer\"," + - "\"additionalProperties\":\"{\\\"application_access_token_expiry_time\\\":\\\"N\\/A\\\"," + + "\"additionalProperties\":\"{\\\"application_access_token_expiry_time\\\":\\\""+applicationAccessTokenExpiryTime +"\\\"," + "\\\"user_access_token_expiry_time\\\":\\\"N\\/A\\\"," + "\\\"refresh_token_expiry_time\\\":\\\"N\\/A\\\"," + "\\\"id_token_expiry_time\\\":\\\"N\\/A\\\"}\"," + diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/DCRRequest.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/DCRRequest.java index 5054e2220d0..7d45e71ef60 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/DCRRequest.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/DCRRequest.java @@ -40,6 +40,9 @@ public class DCRRequest { @XmlElement private boolean isSaasApp; + @XmlElement + private int validityPeriod; + public String getApplicationName() { return applicationName; } @@ -87,4 +90,12 @@ public class DCRRequest { public void setIsSaasApp(boolean saasApp) { isSaasApp = saasApp; } + + public int getValidityPeriod() { + return validityPeriod; + } + + public void setValidityPeriod(int validityPeriod) { + this.validityPeriod = validityPeriod; + } } diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerService.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerService.java index dfd6af295ab..3775d6d9f17 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerService.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerService.java @@ -46,5 +46,6 @@ public interface KeyManagerService { @FormParam("assertion") String assertion, @FormParam("admin_access_token") String admin_access_token, @FormParam("username") String username, - @FormParam("password") String password); + @FormParam("password") String password, + @FormParam("validityPeriod") int validityPeriod); } diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerServiceImpl.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerServiceImpl.java index 961951f8659..59d93912b04 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerServiceImpl.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/api/KeyManagerServiceImpl.java @@ -51,7 +51,7 @@ public class KeyManagerServiceImpl implements KeyManagerService { try { KeyMgtService keyMgtService = new KeyMgtServiceImpl(); DCRResponse resp = keyMgtService.dynamicClientRegistration(dcrRequest.getApplicationName(), dcrRequest.getUsername(), - dcrRequest.getGrantTypes(), dcrRequest.getCallBackUrl(), dcrRequest.getTags(), dcrRequest.getIsSaasApp()); + dcrRequest.getGrantTypes(), dcrRequest.getCallBackUrl(), dcrRequest.getTags(), dcrRequest.getIsSaasApp(), dcrRequest.getValidityPeriod()); return Response.status(Response.Status.CREATED).entity(gson.toJson(resp)).build(); } catch (KeyMgtException e) { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); @@ -69,7 +69,8 @@ public class KeyManagerServiceImpl implements KeyManagerService { @FormParam("assertion") String assertion, @FormParam("admin_access_token") String admin_access_token, @FormParam("username") String username, - @FormParam("password") String password) { + @FormParam("password") String password, + @FormParam("validityPeriod") int validityPeriod) { try { if (basicAuthHeader == null) { String msg = "Invalid credentials. Make sure your API call is invoked with a Basic Authorization header."; @@ -80,7 +81,7 @@ public class KeyManagerServiceImpl implements KeyManagerService { TokenResponse resp = keyMgtService.generateAccessToken( new TokenRequest(encodedClientCredentials.split(":")[0], encodedClientCredentials.split(":")[1], refreshToken, scope, - grantType, assertion, admin_access_token, username, password)); + grantType, assertion, admin_access_token, username, password, validityPeriod)); return Response.status(Response.Status.OK).entity(gson.toJson(resp)).build(); } catch (KeyMgtException e) { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/TokenRequest.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/TokenRequest.java index 860b267161f..6bddd30d0b0 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/TokenRequest.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/TokenRequest.java @@ -29,8 +29,10 @@ public class TokenRequest { private String username; private String password; + private int validityPeriod; + public TokenRequest(String clientId, String clientSecret, String refreshToken, String scope, String grantType, - String assertion, String admin_access_token, String username, String password) { + String assertion, String admin_access_token, String username, String password, int validityPeriod) { this.clientId = clientId; this.clientSecret = clientSecret; this.refreshToken = refreshToken; @@ -40,6 +42,7 @@ public class TokenRequest { this.admin_access_token = admin_access_token; this.username = username; this.password = password; + this.validityPeriod = validityPeriod; } public String getClientId() { @@ -113,4 +116,12 @@ public class TokenRequest { public void setPassword(String password) { this.password = password; } + + public int getValidityPeriod() { + return validityPeriod; + } + + public void setValidityPeriod(int validityPeriod) { + this.validityPeriod = validityPeriod; + } } diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtService.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtService.java index a9aa2d346a4..4e185d2f4da 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtService.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtService.java @@ -39,7 +39,7 @@ public interface KeyMgtService { * @throws KeyMgtException if any error occurs during DCR process */ DCRResponse dynamicClientRegistration(String clientName, String owner, String grantTypes, String callBackUrl, - String[] tags, boolean isSaasApp) throws KeyMgtException; + String[] tags, boolean isSaasApp, int validityPeriod) throws KeyMgtException; /*** * This method will handle the access token requests diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtServiceImpl.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtServiceImpl.java index 4640fc9a575..1a564e1246c 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtServiceImpl.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/src/main/java/org/wso2/carbon/apimgt/keymgt/extension/service/KeyMgtServiceImpl.java @@ -77,7 +77,7 @@ public class KeyMgtServiceImpl implements KeyMgtService { String subTenantUserUsername, subTenantUserPassword, keyManagerName, msg = null; public DCRResponse dynamicClientRegistration(String clientName, String owner, String grantTypes, String callBackUrl, - String[] tags, boolean isSaasApp) throws KeyMgtException { + String[] tags, boolean isSaasApp, int validityPeriod) throws KeyMgtException { if (owner == null) { PrivilegedCarbonContext threadLocalCarbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); @@ -105,13 +105,13 @@ public class KeyMgtServiceImpl implements KeyMgtService { kmConfig = getKeyManagerConfig(); if (KeyMgtConstants.SUPER_TENANT.equals(tenantDomain)) { - OAuthApplication dcrApplication = createOauthApplication(clientName, kmConfig.getAdminUsername(), tags); + OAuthApplication dcrApplication = createOauthApplication(clientName, kmConfig.getAdminUsername(), tags, validityPeriod); return new DCRResponse(dcrApplication.getClientId(), dcrApplication.getClientSecret()); } else { // super-tenant admin dcr and token generation OAuthApplication superTenantOauthApp = createOauthApplication( KeyMgtConstants.RESERVED_OAUTH_APP_NAME_PREFIX + KeyMgtConstants.SUPER_TENANT, - kmConfig.getAdminUsername(), null); + kmConfig.getAdminUsername(), null, validityPeriod); String superAdminAccessToken = createAccessToken(superTenantOauthApp); // create new key manager for the tenant, under super-tenant space @@ -133,7 +133,7 @@ public class KeyMgtServiceImpl implements KeyMgtService { createUserIfNotExists(subTenantUserUsername, subTenantUserPassword); // DCR for the requesting user - OAuthApplication dcrApplication = createOauthApplication(clientName, owner, tags); + OAuthApplication dcrApplication = createOauthApplication(clientName, owner, tags, validityPeriod); String requestingUserAccessToken = createAccessToken(dcrApplication); // get application id @@ -167,7 +167,8 @@ public class KeyMgtServiceImpl implements KeyMgtService { case "client_credentials": appTokenPayload = new FormBody.Builder() .add("grant_type", "client_credentials") - .add("scope", tokenRequest.getScope()).build(); + .add("scope", tokenRequest.getScope()) + .add("validityPeriod", String.valueOf(tokenRequest.getValidityPeriod())).build(); break; case "password": appTokenPayload = new FormBody.Builder() @@ -322,8 +323,8 @@ public class KeyMgtServiceImpl implements KeyMgtService { * @return @{@link OAuthApplication} OAuth application object * @throws KeyMgtException if any error occurs while creating response object */ - private OAuthApplication createOauthApplication (String clientName, String owner, String[] tags) throws KeyMgtException { - String oauthAppCreationPayloadStr = createOauthAppCreationPayload(clientName, owner, tags); + private OAuthApplication createOauthApplication (String clientName, String owner, String[] tags, int validityPeriod) throws KeyMgtException { + String oauthAppCreationPayloadStr = createOauthAppCreationPayload(clientName, owner, tags, validityPeriod); RequestBody oauthAppCreationPayload = RequestBody.Companion.create(oauthAppCreationPayloadStr, JSON); kmConfig = getKeyManagerConfig(); String dcrEndpoint = kmConfig.getServerUrl() + KeyMgtConstants.DCR_ENDPOINT; @@ -442,11 +443,12 @@ public class KeyMgtServiceImpl implements KeyMgtService { } } - private String createOauthAppCreationPayload(String clientName, String owner, String[] tags) { + private String createOauthAppCreationPayload(String clientName, String owner, String[] tags, int validityPeriod) { JSONObject jsonObject = new JSONObject(); jsonObject.put("applicationName", clientName); jsonObject.put("username", owner); jsonObject.put("tags", tags); + jsonObject.put("validityPeriod", validityPeriod); return jsonObject.toString(); } From d3ffba8e2687a6448842a1618d7506e74b9aadfb Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Sat, 18 Mar 2023 01:48:21 +0530 Subject: [PATCH 069/101] improve device type configuring and event data publishing --- .../org.wso2.carbon.device.mgt.api/pom.xml | 25 + .../device/mgt/jaxrs/beans/DeviceConfig.java | 99 ++++ .../beans/analytics/DeviceTypeEvent.java | 24 + .../api/DeviceEventManagementService.java | 117 ++--- .../service/api/DeviceManagementService.java | 76 +++ .../DeviceEventManagementServiceImpl.java | 441 ++++++++++-------- .../impl/DeviceManagementServiceImpl.java | 158 +++++-- .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 59 ++- .../type/mgt/DeviceTypeMetaDefinition.java | 21 + pom.xml | 34 +- 10 files changed, 744 insertions(+), 310 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index 51f2ed00579..f43128fc6cf 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -425,5 +425,30 @@ io.entgra.application.mgt.core provided + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.keymgt.extension + provided + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.stream.core + provided + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.receiver.core + provided + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.publisher.core + provided + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.output.adapter.rdbms + provided + \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java new file mode 100644 index 00000000000..05dd82378d9 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java @@ -0,0 +1,99 @@ +package org.wso2.carbon.device.mgt.jaxrs.beans; + +import io.swagger.annotations.ApiModel; +import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; + +import java.util.List; + +@ApiModel(value = "DeviceConfig", description = "Device config") +public class DeviceConfig { + private String clientId; + private String clientSecret; + private String deviceId; + private String type; + private String accessToken; + private String refreshToken; + private String mqttGateway; + private String httpsGateway; + private String httpGateway; + private PlatformConfiguration platformConfiguration; + public String getClientId() { + return clientId; + } + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + public String getClientSecret() { + return clientSecret; + } + + public void setClientSecret(String clientSecret) { + this.clientSecret = clientSecret; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + public String getRefreshToken() { + return refreshToken; + } + + public void setRefreshToken(String refreshToken) { + this.refreshToken = refreshToken; + } + + public String getMqttGateway() { + return mqttGateway; + } + + public void setMqttGateway(String mqttGateway) { + this.mqttGateway = mqttGateway; + } + + public String getHttpsGateway() { + return httpsGateway; + } + + public void setHttpsGateway(String httpsGateway) { + this.httpsGateway = httpsGateway; + } + + public String getHttpGateway() { + return httpGateway; + } + + public void setHttpGateway(String httpGateway) { + this.httpGateway = httpGateway; + } + + public PlatformConfiguration getPlatformConfiguration() { + return platformConfiguration; + } + + public void setPlatformConfiguration(PlatformConfiguration platformConfiguration) { + this.platformConfiguration = platformConfiguration; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/analytics/DeviceTypeEvent.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/analytics/DeviceTypeEvent.java index b8e07df6d54..b5a715135e0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/analytics/DeviceTypeEvent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/analytics/DeviceTypeEvent.java @@ -20,14 +20,18 @@ package org.wso2.carbon.device.mgt.jaxrs.beans.analytics; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; +import java.util.List; + /** * This hold stats data record */ public class DeviceTypeEvent { + private String eventName; private EventAttributeList eventAttributes; private TransportType transport; + private String eventTopicStructure; @ApiModelProperty(value = "Attributes related to device type event") @JsonProperty("eventAttributes") public EventAttributeList getEventAttributeList() { @@ -48,5 +52,25 @@ public class DeviceTypeEvent { public void setTransportType(TransportType transport) { this.transport = transport; } + + @ApiModelProperty(value = "event topic structure") + @JsonProperty("eventTopicStructure") + public String getEventTopicStructure() { + return eventTopicStructure; + } + + public void setEventTopicStructure(String eventTopicStructure) { + this.eventTopicStructure = eventTopicStructure; + } + + @ApiModelProperty(value = "event topic name") + @JsonProperty("eventName") + public String getEventName() { + return eventName; + } + + public void setEventName(String eventName) { + this.eventName = eventName; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceEventManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceEventManagementService.java index 82e0cdb8975..83503248fcd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceEventManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceEventManagementService.java @@ -29,6 +29,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import java.util.List; @SwaggerDefinition( info = @Info( @@ -69,64 +70,64 @@ import javax.ws.rs.core.Response; @Consumes(MediaType.APPLICATION_JSON) public interface DeviceEventManagementService { -// @POST -// @Path("/{type}") -// @ApiOperation( -// produces = MediaType.APPLICATION_JSON, -// httpMethod = "POST", -// value = "Adding the Event Type Definition", -// notes = "Add the event definition for a device.", -// tags = "Device Event Management", -// extensions = { -// @Extension(properties = { -// @ExtensionProperty(name = Constants.SCOPE, value = "perm:device-types:events") -// }) -// } -// ) -// @ApiResponses( -// value = { -// @ApiResponse( -// code = 200, -// message = "OK. \n Successfully added the event defintion.", -// responseHeaders = { -// @ResponseHeader( -// name = "Content-Type", -// description = "The content type of the body"), -// @ResponseHeader( -// name = "ETag", -// description = "Entity Tag of the response resource.\n" + -// "Used by caches, or in conditional requests."), -// @ResponseHeader( -// name = "Last-Modified", -// description = -// "Date and time the resource was last modified.\n" + -// "Used by caches, or in conditional requests."), -// } -// ), -// @ApiResponse( -// code = 400, -// message = -// "Bad Request. \n"), -// @ApiResponse( -// code = 406, -// message = "Not Acceptable.\n The requested media type is not supported"), -// @ApiResponse( -// code = 500, -// message = "Internal Server Error. \n Server error occurred while fetching the " + -// "list of supported device types.", -// response = ErrorResponse.class) -// } -// ) -// Response deployDeviceTypeEventDefinition( -// @ApiParam(name = "type", value = "The device type, such as android, ios, and windows.") -// @PathParam("type")String deviceType, -// @ApiParam(name = "skipPersist", value = "Is it required to persist the data or not") -// @QueryParam("skipPersist") boolean skipPersist, -// @ApiParam(name = "isSharedWithAllTenants", value = "Should artifacts be available to all tenants") -// @QueryParam("isSharedWithAllTenants") boolean isSharedWithAllTenants, -// @ApiParam(name = "deviceTypeEvent", value = "Add the data to complete the DeviceTypeEvent object.", -// required = true) -// @Valid DeviceTypeEvent deviceTypeEvent); + @POST + @Path("/{type}") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "POST", + value = "Adding the Event Type Definition", + notes = "Add the event definition for a device.", + tags = "Device Event Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:device-types:events") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully added the event defintion.", + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = + "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + } + ), + @ApiResponse( + code = 400, + message = + "Bad Request. \n"), + @ApiResponse( + code = 406, + message = "Not Acceptable.\n The requested media type is not supported"), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n Server error occurred while fetching the " + + "list of supported device types.", + response = ErrorResponse.class) + } + ) + Response deployDeviceTypeEventDefinition( + @ApiParam(name = "type", value = "The device type, such as android, ios, and windows.") + @PathParam("type")String deviceType, + @ApiParam(name = "skipPersist", value = "Is it required to persist the data or not") + @QueryParam("skipPersist") boolean skipPersist, + @ApiParam(name = "isSharedWithAllTenants", value = "Should artifacts be available to all tenants") + @QueryParam("isSharedWithAllTenants") boolean isSharedWithAllTenants, + @ApiParam(name = "deviceTypeEvents", value = "Add the data to complete the DeviceTypeEvent object.", + required = true) + @Valid List deviceTypeEvent); @DELETE @Path("/{type}") diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index 3304be7c143..6a552079236 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -1059,6 +1059,82 @@ public interface DeviceManagementService { @HeaderParam("If-Modified-Since") String ifModifiedSince); + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/{type}/{id}/config") + @ApiOperation( + produces = MediaType.APPLICATION_JSON, + httpMethod = "GET", + value = "Getting the Configuration of a Device", + notes = "Get the configuration of a device by specifying the device type and device identifier.", + tags = "Device Management", + extensions = { + @Extension(properties = { + @ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:details") + }) + } + ) + @ApiResponses( + value = { + @ApiResponse( + code = 200, + message = "OK. \n Successfully fetched the configuration of the device.", + response = DeviceInfo.class, + responseHeaders = { + @ResponseHeader( + name = "Content-Type", + description = "The content type of the body"), + @ResponseHeader( + name = "ETag", + description = "Entity Tag of the response resource.\n" + + "Used by caches, or in conditional requests."), + @ResponseHeader( + name = "Last-Modified", + description = "Date and time the resource was last modified.\n" + + "Used by caches, or in conditional requests."), + }), + @ApiResponse( + code = 304, + message = "Not Modified. Empty body because the client already has the latest version" + + " of the requested resource.\n"), + @ApiResponse( + code = 400, + message = "Bad Request. \n Invalid request or validation error.", + response = ErrorResponse.class), + @ApiResponse( + code = 404, + message = "Not Found. \n Location data for the specified device was not found.", + response = ErrorResponse.class), + @ApiResponse( + code = 500, + message = "Internal Server Error. \n " + + "Server error occurred while retrieving the device details.", + response = ErrorResponse.class) + }) + Response getDeviceConfiguration( + @ApiParam( + name = "type", + value = "The device type name, such as ios, android, windows, or fire-alarm.", + required = true) + @PathParam("type") + @Size(max = 45) + String type, + @ApiParam( + name = "id", + value = "The device identifier of the device you want ot get details.", + required = true) + @PathParam("id") + @Size(max = 45) + String id, + @ApiParam( + name = "If-Modified-Since", + value = "Checks if the requested variant was modified, since the specified date-time. \n" + + "Provide the value in the following format: EEE, d MMM yyyy HH:mm:ss Z. \n" + + "Example: Mon, 05 Jan 2014 15:10:00 +0200", + required = false) + @HeaderParam("If-Modified-Since") + String ifModifiedSince); + //device rename request would looks like follows //POST devices/type/virtual_firealarm/id/us06ww93auzp/rename @POST diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java index 4cba178f128..49cbdae59a8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java @@ -1,12 +1,30 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; +import edu.emory.mathcs.backport.java.util.Arrays; import org.apache.axis2.AxisFault; import org.apache.axis2.client.Stub; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.velocity.util.ArrayListWrapper; +import org.json.JSONObject; +import org.opensaml.xml.signature.J; +import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminService; +import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceEventStreamPersistenceAdminServiceExceptionException; +import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceStub; +import org.wso2.carbon.analytics.stream.persistence.stub.dto.AnalyticsTable; +import org.wso2.carbon.analytics.stream.persistence.stub.dto.AnalyticsTableRecord; import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.databridge.commons.StreamDefinition; +import org.wso2.carbon.databridge.commons.exception.MalformedStreamDefinitionException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; +import org.wso2.carbon.device.mgt.core.dto.DeviceType; +import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.Attribute; import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.AttributeType; import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.DeviceTypeEvent; @@ -15,26 +33,50 @@ import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.TransportType; import org.wso2.carbon.device.mgt.jaxrs.service.api.DeviceEventManagementService; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; +import org.wso2.carbon.event.input.adapter.core.InputEventAdapterConfiguration; +import org.wso2.carbon.event.input.adapter.core.MessageType; +import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration; +import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterService; +import org.wso2.carbon.event.output.adapter.rdbms.RDBMSEventAdapter; +import org.wso2.carbon.event.output.adapter.rdbms.internal.ds.RDBMSEventAdapterServiceDS; +import org.wso2.carbon.event.processor.manager.core.EventProcessorManagementService; +import org.wso2.carbon.event.processor.manager.core.EventPublisherManagementService; +import org.wso2.carbon.event.publisher.core.EventPublisherService; +import org.wso2.carbon.event.publisher.core.config.EventPublisherConfiguration; +import org.wso2.carbon.event.publisher.core.config.mapping.JSONOutputMapping; +import org.wso2.carbon.event.publisher.core.config.mapping.MapOutputMapping; +import org.wso2.carbon.event.publisher.core.exception.EventPublisherConfigurationException; +import org.wso2.carbon.event.publisher.core.internal.ds.EventPublisherServiceDS; import org.wso2.carbon.event.publisher.stub.EventPublisherAdminServiceCallbackHandler; import org.wso2.carbon.event.publisher.stub.EventPublisherAdminServiceStub; +import org.wso2.carbon.event.receiver.core.EventReceiverService; +import org.wso2.carbon.event.receiver.core.config.EventReceiverConfiguration; +import org.wso2.carbon.event.receiver.core.config.InputMapping; +import org.wso2.carbon.event.receiver.core.config.mapping.JSONInputMapping; +import org.wso2.carbon.event.receiver.core.config.mapping.WSO2EventInputMapping; +import org.wso2.carbon.event.receiver.core.exception.EventReceiverConfigurationException; import org.wso2.carbon.event.receiver.stub.EventReceiverAdminServiceCallbackHandler; import org.wso2.carbon.event.receiver.stub.EventReceiverAdminServiceStub; import org.wso2.carbon.event.receiver.stub.types.BasicInputAdapterPropertyDto; import org.wso2.carbon.event.receiver.stub.types.EventReceiverConfigurationDto; +import org.wso2.carbon.event.receiver.stub.types.InputAdapterConfigurationDto; +import org.wso2.carbon.event.stream.core.EventStreamService; +import org.wso2.carbon.event.stream.core.exception.EventStreamConfigurationException; import org.wso2.carbon.event.stream.stub.EventStreamAdminServiceStub; import org.wso2.carbon.event.stream.stub.types.EventStreamAttributeDto; import org.wso2.carbon.event.stream.stub.types.EventStreamDefinitionDto; import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException; import org.wso2.carbon.user.api.UserStoreException; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; +import javax.validation.Valid; +import javax.ws.rs.*; import javax.ws.rs.core.Response; +import java.io.IOException; import java.rmi.RemoteException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -173,65 +215,73 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe /** * Deploy Event Stream, Receiver, Publisher and Store Configuration. */ -// @POST -// @Path("/{type}") -// @Override -// public Response deployDeviceTypeEventDefinition(@PathParam("type") String deviceType, -// @QueryParam("skipPersist") boolean skipPersist, -// @QueryParam("isSharedWithAllTenants") boolean isSharedWithAllTenants, -// @Valid DeviceTypeEvent deviceTypeEvent) { -// TransportType transportType = deviceTypeEvent.getTransportType(); -// EventAttributeList eventAttributes = deviceTypeEvent.getEventAttributeList(); -// String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(); -// try { -// if (eventAttributes == null || eventAttributes.getList() == null || eventAttributes.getList().size() == 0 || -// deviceType == null || transportType == null || -// !DeviceMgtAPIUtils.getDeviceManagementService().getAvailableDeviceTypes().contains(deviceType)) { -// String errorMessage = "Invalid Payload"; -// log.error(errorMessage); -// return Response.status(Response.Status.BAD_REQUEST).build(); -// } -// String streamName = DeviceMgtAPIUtils.getStreamDefinition(deviceType, tenantDomain); -// String streamNameWithVersion = streamName + ":" + Constants.DEFAULT_STREAM_VERSION; -// publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, deviceType, eventAttributes); -// publishEventReceivers(streamNameWithVersion, transportType, tenantDomain, isSharedWithAllTenants, deviceType); -// if (!skipPersist) { -// publishEventStore(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes); -// } -// publishWebsocketPublisherDefinition(streamNameWithVersion, deviceType); -// try { -// PrivilegedCarbonContext.startTenantFlow(); -// PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain( -// MultitenantConstants.SUPER_TENANT_DOMAIN_NAME, true); -// if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) { -// publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, deviceType, eventAttributes); -// publishEventReceivers(streamNameWithVersion, transportType, tenantDomain, isSharedWithAllTenants, deviceType); -// } -// } finally { -// PrivilegedCarbonContext.endTenantFlow(); -// } -// return Response.ok().build(); -// } catch (AxisFault e) { -// log.error("Failed to create event definitions for tenantDomain:" + tenantDomain, e); -// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); -// } catch (RemoteException e) { -// log.error("Failed to connect with the remote services:" + tenantDomain, e); -// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); -// } catch (JWTClientException e) { -// log.error("Failed to generate jwt token for tenantDomain:" + tenantDomain, e); -// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); -// } catch (UserStoreException e) { -// log.error("Failed to connect with the user store, tenantDomain: " + tenantDomain, e); -// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); -// } catch (DeviceManagementException e) { -// log.error("Failed to access device management service, tenantDomain: " + tenantDomain, e); -// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); -// } catch (EventStreamPersistenceAdminServiceEventStreamPersistenceAdminServiceExceptionException e) { -// log.error("Failed to create event store for, tenantDomain: " + tenantDomain + " deviceType" + deviceType, -// e); -// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); -// } -// } + @POST + @Path("/{type}") + @Override + public Response deployDeviceTypeEventDefinition(@PathParam("type") String deviceType, + @QueryParam("skipPersist") boolean skipPersist, + @QueryParam("isSharedWithAllTenants") boolean isSharedWithAllTenants, + @Valid List deviceTypeEvents) { + + + String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(); + try { + for (DeviceTypeEvent deviceTypeEvent : deviceTypeEvents) { + TransportType transportType = deviceTypeEvent.getTransportType(); + EventAttributeList eventAttributes = deviceTypeEvent.getEventAttributeList(); + String eventName = deviceTypeEvent.getEventName(); + + + if (eventAttributes == null || eventAttributes.getList() == null || eventAttributes.getList().size() == 0 || + deviceType == null || transportType == null || + !DeviceMgtAPIUtils.getDeviceManagementService().getAvailableDeviceTypes().contains(deviceType)) { + String errorMessage = "Invalid Payload"; + log.error(errorMessage); + return Response.status(Response.Status.BAD_REQUEST).build(); + } + String streamName = DeviceMgtAPIUtils.getStreamDefinition(deviceType, tenantDomain, eventName); + publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes); + + String receiverName = getReceiverName(deviceType, tenantDomain, transportType, eventName); + publishEventReceivers(streamName, Constants.DEFAULT_STREAM_VERSION, transportType, tenantDomain, + isSharedWithAllTenants, deviceType, deviceTypeEvent.getEventTopicStructure(), receiverName); + if (!skipPersist) { + String rdbmsPublisherName = getPublisherName(deviceType, tenantDomain, eventName) + "_rdbms_publisher"; + publishEventStore(streamName, Constants.DEFAULT_STREAM_VERSION, rdbmsPublisherName); + } + String wsPublisherName = getPublisherName(deviceType, tenantDomain, eventName) + "_ws_publisher"; + publishWebsocketPublisherDefinition(streamName, Constants.DEFAULT_STREAM_VERSION, wsPublisherName); + try { + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain( + MultitenantConstants.SUPER_TENANT_DOMAIN_NAME, true); + if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) { + publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes); + publishEventReceivers(streamName, Constants.DEFAULT_STREAM_VERSION, transportType, tenantDomain, + isSharedWithAllTenants, deviceType, deviceTypeEvent.getEventTopicStructure(), receiverName); + } + } finally { + PrivilegedCarbonContext.endTenantFlow(); + } + } + return Response.ok().build(); + } catch (DeviceManagementException e) { + log.error("Failed to access device management service, tenantDomain: " + tenantDomain, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + } catch (MalformedStreamDefinitionException e) { + log.error("Failed while creating stream definition, tenantDomain: " + tenantDomain, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + } catch (EventStreamConfigurationException e) { + log.error("Failed while configuring stream definition, tenantDomain: " + tenantDomain, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + } catch (EventPublisherConfigurationException e) { + log.error("Failed while configuring event publisher, tenantDomain: " + tenantDomain, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + } catch (EventReceiverConfigurationException e) { + log.error("Failed while configuring event receiver, tenantDomain: " + tenantDomain, e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + } + } /** * Delete device type specific artifacts from DAS. @@ -498,158 +548,172 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe // return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); // } // } - - - private void publishEventReceivers(String streamNameWithVersion, TransportType transportType - , String requestedTenantDomain, boolean isSharedWithAllTenants, String deviceType) - throws RemoteException, UserStoreException, JWTClientException { - EventReceiverAdminServiceStub receiverAdminServiceStub = DeviceMgtAPIUtils.getEventReceiverAdminServiceStub(); + private void publishEventReceivers(String streamName, String version, TransportType transportType + , String requestedTenantDomain, boolean isSharedWithAllTenants, String deviceType, + String eventTopicStructure, String receiverName) throws EventReceiverConfigurationException { + EventReceiverService eventReceiverService = DeviceMgtAPIUtils.getEventReceiverService(); try { - TransportType transportTypeToBeRemoved = TransportType.HTTP; - if (transportType == TransportType.HTTP) { - transportTypeToBeRemoved = TransportType.MQTT; - } - String eventRecieverNameTobeRemoved = getReceiverName(deviceType, requestedTenantDomain, transportTypeToBeRemoved); - EventReceiverConfigurationDto eventReceiverConfigurationDto = receiverAdminServiceStub - .getActiveEventReceiverConfiguration(eventRecieverNameTobeRemoved); - if (eventReceiverConfigurationDto != null) { - EventReceiverAdminServiceCallbackHandler eventReceiverAdminServiceCallbackHandler = - new EventReceiverAdminServiceCallbackHandler() { - }; - receiverAdminServiceStub.startundeployActiveEventReceiverConfiguration(eventRecieverNameTobeRemoved - , eventReceiverAdminServiceCallbackHandler); +// TransportType transportTypeToBeRemoved = TransportType.HTTP; +// if (transportType == TransportType.HTTP) { +// transportTypeToBeRemoved = TransportType.MQTT; +// } +// String eventRecieverNameTobeRemoved = getReceiverName(deviceType, requestedTenantDomain, transportTypeToBeRemoved); + EventReceiverConfiguration eventReceiverConfiguration = + eventReceiverService.getActiveEventReceiverConfiguration(receiverName); + if (eventReceiverConfiguration != null) { + eventReceiverService.undeployActiveEventReceiverConfiguration(receiverName); } - String adapterType = OAUTH_MQTT_ADAPTER_TYPE; - BasicInputAdapterPropertyDto basicInputAdapterPropertyDtos[]; + InputEventAdapterConfiguration inputEventAdapterConfiguration = new InputEventAdapterConfiguration(); + Map propertyMap = new HashMap<>(); if (transportType == TransportType.MQTT) { - basicInputAdapterPropertyDtos = new BasicInputAdapterPropertyDto[3]; + inputEventAdapterConfiguration.setType(OAUTH_MQTT_ADAPTER_TYPE); String topic; - if (isSharedWithAllTenants) { - topic = "+/" + deviceType + "/+/events"; + if (!StringUtils.isEmpty(eventTopicStructure)) { + if (isSharedWithAllTenants) { + topic = eventTopicStructure.replace("${deviceId}", "+") + .replace("${deviceType}", deviceType) + .replace("${tenantDomain}", "+"); + } else { + topic = eventTopicStructure.replace("${deviceId}", "+") + .replace("${deviceType}", deviceType) + .replace("${tenantDomain}", requestedTenantDomain); + } } else { - topic = requestedTenantDomain + "/" + deviceType + "/+/events"; + if (isSharedWithAllTenants) { + topic = "+/" + deviceType + "/+/events"; + } else { + topic = requestedTenantDomain + "/" + deviceType + "/+/events"; + } } - basicInputAdapterPropertyDtos[0] = getBasicInputAdapterPropertyDto("topic", topic); - basicInputAdapterPropertyDtos[1] = getBasicInputAdapterPropertyDto(MQTT_CONTENT_TRANSFORMER_TYPE - , MQTT_CONTENT_TRANSFORMER); - basicInputAdapterPropertyDtos[2] = getBasicInputAdapterPropertyDto(MQTT_CONTENT_VALIDATOR_TYPE - , MQTT_CONTENT_VALIDATOR); + propertyMap.put("topic", topic); + propertyMap.put(MQTT_CONTENT_TRANSFORMER_TYPE, MQTT_CONTENT_TRANSFORMER); + propertyMap.put(MQTT_CONTENT_VALIDATOR_TYPE, MQTT_CONTENT_VALIDATOR); } else { - adapterType = THRIFT_ADAPTER_TYPE; - basicInputAdapterPropertyDtos = new BasicInputAdapterPropertyDto[1]; - basicInputAdapterPropertyDtos[0] = getBasicInputAdapterPropertyDto("events.duplicated.in.cluster", "false"); + inputEventAdapterConfiguration.setType(THRIFT_ADAPTER_TYPE); + propertyMap.put("events.duplicated.in.cluster", "false"); } - String eventRecieverName = getReceiverName(deviceType, requestedTenantDomain, transportType); - if (receiverAdminServiceStub.getActiveEventReceiverConfiguration(eventRecieverName) == null) { + inputEventAdapterConfiguration.setProperties(propertyMap); + + if (eventReceiverService.getActiveEventReceiverConfiguration(receiverName) == null) { + EventReceiverConfiguration configuration = new EventReceiverConfiguration(); + configuration.setEventReceiverName(receiverName); + configuration.setToStreamName(streamName); + configuration.setToStreamVersion(version); + configuration.setFromAdapterConfiguration(inputEventAdapterConfiguration); if (transportType == TransportType.MQTT) { - receiverAdminServiceStub.deployJsonEventReceiverConfiguration(eventRecieverName, streamNameWithVersion - , adapterType, null, basicInputAdapterPropertyDtos, false); + JSONInputMapping jsonInputMapping = new JSONInputMapping(); + jsonInputMapping.setCustomMappingEnabled(false); + configuration.setInputMapping(jsonInputMapping); + eventReceiverService.deployEventReceiverConfiguration(configuration); } else { - receiverAdminServiceStub.deployWso2EventReceiverConfiguration(eventRecieverName, streamNameWithVersion - , adapterType, null, null, null, basicInputAdapterPropertyDtos, false, null); + WSO2EventInputMapping wso2EventInputMapping = new WSO2EventInputMapping(); + wso2EventInputMapping.setCustomMappingEnabled(false); + configuration.setInputMapping(wso2EventInputMapping); + eventReceiverService.deployEventReceiverConfiguration(configuration); } } - } finally { - cleanup(receiverAdminServiceStub); + } catch (EventReceiverConfigurationException e) { + log.error("Error while publishing event receiver" , e); + throw new EventReceiverConfigurationException(e); } + } - private void publishStreamDefinitons(String streamName, String version, String deviceType - , EventAttributeList eventAttributes) - throws RemoteException, UserStoreException, JWTClientException { - EventStreamAdminServiceStub eventStreamAdminServiceStub = DeviceMgtAPIUtils.getEventStreamAdminServiceStub(); + private void publishStreamDefinitons(String streamName, String version, EventAttributeList eventAttributes) + throws MalformedStreamDefinitionException, EventStreamConfigurationException { + EventStreamService eventStreamService = DeviceMgtAPIUtils.getEventStreamService(); + try { - EventStreamDefinitionDto eventStreamDefinitionDto = new EventStreamDefinitionDto(); - eventStreamDefinitionDto.setName(streamName); - eventStreamDefinitionDto.setVersion(version); - EventStreamAttributeDto eventStreamAttributeDtos[] = - new EventStreamAttributeDto[eventAttributes.getList().size()]; - EventStreamAttributeDto metaStreamAttributeDtos[] = - new EventStreamAttributeDto[1]; - int i = 0; + StreamDefinition streamDefinition = new StreamDefinition(streamName, version); + + List payloadDataAttributes = new ArrayList<>(); for (Attribute attribute : eventAttributes.getList()) { - EventStreamAttributeDto eventStreamAttributeDto = new EventStreamAttributeDto(); - eventStreamAttributeDto.setAttributeName(attribute.getName()); - eventStreamAttributeDto.setAttributeType(attribute.getType().toString()); - eventStreamAttributeDtos[i] = eventStreamAttributeDto; - i++; + payloadDataAttributes.add(new org.wso2.carbon.databridge.commons.Attribute(attribute.getName(), + org.wso2.carbon.databridge.commons.AttributeType.valueOf(attribute.getType().name()))); } + streamDefinition.setPayloadData(payloadDataAttributes); + + List metaDataAttributes = new ArrayList<>(); + metaDataAttributes.add(new org.wso2.carbon.databridge.commons.Attribute(DEFAULT_DEVICE_ID_ATTRIBUTE, + org.wso2.carbon.databridge.commons.AttributeType.STRING)); + streamDefinition.setMetaData(metaDataAttributes); - EventStreamAttributeDto eventStreamAttributeDto = new EventStreamAttributeDto(); - eventStreamAttributeDto.setAttributeName(DEFAULT_DEVICE_ID_ATTRIBUTE); - eventStreamAttributeDto.setAttributeType(AttributeType.STRING.toString()); - metaStreamAttributeDtos[0] = eventStreamAttributeDto; - eventStreamDefinitionDto.setPayloadData(eventStreamAttributeDtos); - eventStreamDefinitionDto.setMetaData(metaStreamAttributeDtos); - String streamId = streamName + ":" + version; - if (eventStreamAdminServiceStub.getStreamDefinitionDto(streamId) != null) { - eventStreamAdminServiceStub.editEventStreamDefinitionAsDto(eventStreamDefinitionDto, streamId); + if (eventStreamService.getStreamDefinition(streamDefinition.getStreamId()) != null) { + eventStreamService.removeEventStreamDefinition(streamName, version); + eventStreamService.addEventStreamDefinition(streamDefinition); } else { - eventStreamAdminServiceStub.addEventStreamDefinitionAsDto(eventStreamDefinitionDto); + eventStreamService.addEventStreamDefinition(streamDefinition); } - } finally { - cleanup(eventStreamAdminServiceStub); + + } catch (MalformedStreamDefinitionException e) { + log.error("Error while initializing stream definition " , e); + throw new MalformedStreamDefinitionException(e); + } catch (EventStreamConfigurationException e) { + log.error("Error while configuring stream definition " , e); + throw new EventStreamConfigurationException(e); } } + /* -// private void publishEventStore(String streamName, String version, EventAttributeList eventAttributes) -// throws RemoteException, UserStoreException, JWTClientException, -// EventStreamPersistenceAdminServiceEventStreamPersistenceAdminServiceExceptionException { -// EventStreamPersistenceAdminServiceStub eventStreamPersistenceAdminServiceStub = -// DeviceMgtAPIUtils.getEventStreamPersistenceAdminServiceStub(); -// try { -// AnalyticsTable analyticsTable = new AnalyticsTable(); -// analyticsTable.setRecordStoreName(DEFAULT_EVENT_STORE_NAME); -// analyticsTable.setStreamVersion(version); -// analyticsTable.setTableName(streamName); -// analyticsTable.setMergeSchema(false); -// analyticsTable.setPersist(true); -// AnalyticsTableRecord analyticsTableRecords[] = new AnalyticsTableRecord[eventAttributes.getList().size() + 1]; -// int i = 0; -// for (Attribute attribute : eventAttributes.getList()) { -// AnalyticsTableRecord analyticsTableRecord = new AnalyticsTableRecord(); -// analyticsTableRecord.setColumnName(attribute.getName()); -// analyticsTableRecord.setColumnType(attribute.getType().toString().toUpperCase()); -// analyticsTableRecord.setFacet(false); -// analyticsTableRecord.setIndexed(false); -// analyticsTableRecord.setPersist(true); -// analyticsTableRecord.setPrimaryKey(false); -// analyticsTableRecord.setScoreParam(false); -// analyticsTableRecords[i] = analyticsTableRecord; -// i++; -// } -// AnalyticsTableRecord analyticsTableRecord = new AnalyticsTableRecord(); -// analyticsTableRecord.setColumnName(DEFAULT_META_DEVICE_ID_ATTRIBUTE); -// analyticsTableRecord.setColumnType(AttributeType.STRING.toString().toUpperCase()); -// analyticsTableRecord.setFacet(false); -// analyticsTableRecord.setIndexed(true); -// analyticsTableRecord.setPersist(true); -// analyticsTableRecord.setPrimaryKey(false); -// analyticsTableRecord.setScoreParam(false); -// analyticsTableRecords[i] = analyticsTableRecord; -// analyticsTable.setAnalyticsTableRecords(analyticsTableRecords); -// eventStreamPersistenceAdminServiceStub.addAnalyticsTable(analyticsTable); -// } finally { -// cleanup(eventStreamPersistenceAdminServiceStub); -// } -// } + */ + + private void publishEventStore(String streamName, String version, String publisherName) + throws EventPublisherConfigurationException { + + EventPublisherService eventPublisherService = DeviceMgtAPIUtils.getEventPublisherService(); - private void publishWebsocketPublisherDefinition(String streamNameWithVersion, String deviceType) - throws RemoteException, UserStoreException, JWTClientException { - EventPublisherAdminServiceStub eventPublisherAdminServiceStub = DeviceMgtAPIUtils - .getEventPublisherAdminServiceStub(); try { - String eventPublisherName = deviceType.trim().replace(" ", "_") + "_websocket_publisher"; - if (eventPublisherAdminServiceStub.getActiveEventPublisherConfiguration(eventPublisherName) == null) { - eventPublisherAdminServiceStub.deployJsonEventPublisherConfiguration(eventPublisherName - , streamNameWithVersion, DEFAULT_WEBSOCKET_PUBLISHER_ADAPTER_TYPE, null, null - , null, false); + if (eventPublisherService.getActiveEventPublisherConfiguration(publisherName) == null) { + EventPublisherConfiguration configuration = new EventPublisherConfiguration(); + configuration.setEventPublisherName(publisherName); + configuration.setFromStreamName(streamName); + configuration.setFromStreamVersion(version); + MapOutputMapping mapOutputMapping = new MapOutputMapping(); + mapOutputMapping.setCustomMappingEnabled(false); + configuration.setOutputMapping(mapOutputMapping); + OutputEventAdapterConfiguration outputEventAdapterConfiguration = new OutputEventAdapterConfiguration(); + outputEventAdapterConfiguration.setType("rdbms"); + Map staticProperties = new HashMap<>(); + staticProperties.put("datasource.name", "EVENT_DB"); + staticProperties.put("execution.mode", "insert"); + staticProperties.put("table.name", "table_" + publisherName.replace(".", "")); + outputEventAdapterConfiguration.setStaticProperties(staticProperties); + configuration.setProcessEnabled(true); + configuration.setToAdapterConfiguration(outputEventAdapterConfiguration); + eventPublisherService.deployEventPublisherConfiguration(configuration); } - } finally { - cleanup(eventPublisherAdminServiceStub); + + } catch (EventPublisherConfigurationException e) { + log.error("Error while publishing to rdbms store" , e); + throw new EventPublisherConfigurationException(e); + } + } + + private void publishWebsocketPublisherDefinition(String streamName, String version, String publisherName) + throws EventPublisherConfigurationException { + EventPublisherService eventPublisherService = DeviceMgtAPIUtils.getEventPublisherService(); + + try { + if (eventPublisherService.getActiveEventPublisherConfiguration(publisherName) == null) { + EventPublisherConfiguration configuration = new EventPublisherConfiguration(); + configuration.setEventPublisherName(publisherName); + configuration.setFromStreamName(streamName); + configuration.setFromStreamVersion(version); + JSONOutputMapping jsonOutputMapping = new JSONOutputMapping(); + jsonOutputMapping.setCustomMappingEnabled(false); + configuration.setOutputMapping(jsonOutputMapping); + OutputEventAdapterConfiguration outputEventAdapterConfiguration = new OutputEventAdapterConfiguration(); + outputEventAdapterConfiguration.setType("websocket-local"); + configuration.setToAdapterConfiguration(outputEventAdapterConfiguration); + eventPublisherService.deployEventPublisherConfiguration(configuration); + } + } catch (EventPublisherConfigurationException e) { + log.error("Error while publishing to websocket-local" , e); + throw new EventPublisherConfigurationException(e); } + } private BasicInputAdapterPropertyDto getBasicInputAdapterPropertyDto(String key, String value) { @@ -667,6 +731,13 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe return deviceType.replace(" ", "_").trim() + "-" + tenantDomain + "-" + transportType.toString() + "-receiver"; } + private String getReceiverName(String deviceType, String tenantDomain, TransportType transportType, String eventName) { + return eventName + "-" + getReceiverName(deviceType, tenantDomain, transportType); + } + + private String getPublisherName(String tenantDomain, String deviceType, String eventName) { + return eventName + "_" + tenantDomain.replace(".", "_") + "_" + deviceType; + } private void cleanup(Stub stub) { if (stub != null) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 3bcdeafbabe..ac3098caf70 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -37,33 +37,26 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; import com.google.gson.Gson; +import io.entgra.application.mgt.common.ApplicationInstallResponse; +import io.entgra.application.mgt.common.SubscriptionType; +import io.entgra.application.mgt.common.exception.SubscriptionManagementException; import io.entgra.application.mgt.common.services.ApplicationManager; +import io.entgra.application.mgt.common.services.SubscriptionManager; +import io.entgra.application.mgt.core.util.HelperUtil; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.json.JSONException; import org.json.JSONObject; +import org.wso2.carbon.apimgt.keymgt.extension.DCRResponse; +import org.wso2.carbon.apimgt.keymgt.extension.TokenRequest; +import org.wso2.carbon.apimgt.keymgt.extension.TokenResponse; +import org.wso2.carbon.apimgt.keymgt.extension.exception.KeyMgtException; +import org.wso2.carbon.apimgt.keymgt.extension.service.KeyMgtService; +import org.wso2.carbon.apimgt.keymgt.extension.service.KeyMgtServiceImpl; import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.context.PrivilegedCarbonContext; -import io.entgra.application.mgt.common.ApplicationInstallResponse; -import io.entgra.application.mgt.common.SubscriptionType; -import io.entgra.application.mgt.common.exception.SubscriptionManagementException; -import io.entgra.application.mgt.common.services.SubscriptionManager; -import io.entgra.application.mgt.core.util.HelperUtil; -import org.wso2.carbon.device.mgt.common.DeviceFilters; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.OperationLogFilters; -import org.wso2.carbon.device.mgt.common.MDMAppConstants; -import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; -import org.wso2.carbon.device.mgt.common.Feature; -import org.wso2.carbon.device.mgt.common.FeatureManager; -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.device.mgt.common.PaginationRequest; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.common.TrackerDeviceInfo; -import org.wso2.carbon.device.mgt.common.TrackerPermissionInfo; +import org.wso2.carbon.device.mgt.common.*; 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.authorization.DeviceAccessAuthorizationException; @@ -72,12 +65,8 @@ import org.wso2.carbon.device.mgt.common.device.details.DeviceData; import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; import org.wso2.carbon.device.mgt.common.device.details.DeviceLocationHistorySnapshotWrapper; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; -import org.wso2.carbon.device.mgt.common.exceptions.DeviceTypeNotFoundException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidConfigurationException; -import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; import org.wso2.carbon.device.mgt.common.exceptions.BadRequestException; -import org.wso2.carbon.device.mgt.common.exceptions.UnAuthorizedException; +import org.wso2.carbon.device.mgt.common.exceptions.*; import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException; import org.wso2.carbon.device.mgt.common.operation.mgt.Activity; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; @@ -103,19 +92,10 @@ import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException; import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService; import org.wso2.carbon.device.mgt.core.traccar.api.service.DeviceAPIClientService; -import org.wso2.carbon.device.mgt.core.traccar.api.service.impl.DeviceAPIClientServiceImpl; import org.wso2.carbon.device.mgt.core.traccar.common.TraccarHandlerConstants; import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; import org.wso2.carbon.device.mgt.core.util.HttpReportingUtil; -import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; -import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; -import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceCompliance; -import org.wso2.carbon.device.mgt.jaxrs.beans.ApplicationList; -import org.wso2.carbon.device.mgt.jaxrs.beans.OperationStatusBean; -import org.wso2.carbon.device.mgt.jaxrs.beans.ComplianceDeviceList; -import org.wso2.carbon.device.mgt.jaxrs.beans.OperationRequest; -import org.wso2.carbon.device.mgt.jaxrs.beans.OperationList; -import org.wso2.carbon.device.mgt.jaxrs.beans.ApplicationUninstallation; +import org.wso2.carbon.device.mgt.jaxrs.beans.*; import org.wso2.carbon.device.mgt.jaxrs.service.api.DeviceManagementService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; @@ -128,29 +108,17 @@ import org.wso2.carbon.identity.jwt.client.extension.service.JWTClientManagerSer import org.wso2.carbon.policy.mgt.common.PolicyManagementException; import org.wso2.carbon.policy.mgt.core.PolicyManagerService; import org.wso2.carbon.user.api.UserStoreException; -import org.wso2.carbon.user.core.service.RealmService; import org.wso2.carbon.utils.multitenancy.MultitenantUtils; import javax.validation.Valid; -import javax.ws.rs.Consumes; import javax.validation.constraints.Size; -import javax.ws.rs.DELETE; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; +import javax.ws.rs.*; import javax.ws.rs.core.Response; -import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.ArrayList; import java.util.Properties; import java.util.concurrent.ExecutionException; @@ -887,6 +855,100 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { } return Response.status(Response.Status.OK).entity(deviceInfo).build(); + } + @GET + @Path("/{type}/{id}/config") + @Override + public Response getDeviceConfiguration( + @PathParam("type") @Size(max = 45) String type, + @PathParam("id") @Size(max = 45) String id, + @HeaderParam("If-Modified-Since") String ifModifiedSince) { + + DeviceConfig deviceConfig = new DeviceConfig(); + deviceConfig.setDeviceId(id); + deviceConfig.setType(type); + + // find token validity time + DeviceManagementProviderService deviceManagementProviderService = + DeviceMgtAPIUtils.getDeviceManagementService(); + int validityTime = 3600; + List mqttTopicStructure = new ArrayList<>(); + try { + DeviceType deviceType = deviceManagementProviderService.getDeviceType(type); + if (deviceType != null) { + if (deviceType.getDeviceTypeMetaDefinition().isLongLivedToken()) { + validityTime = Integer.MAX_VALUE; + } + mqttTopicStructure = deviceType.getDeviceTypeMetaDefinition().getMqttTopicStructures(); + } else { + String msg = "Device not found, device id : " + id + ", device type : " + type; + log.error(msg); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + } catch (DeviceManagementException e) { + String msg = "Error occurred while retrieving device, device id : " + id + ", device type : " + type; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + + String tenantDomain = CarbonContext.getThreadLocalCarbonContext().getTenantDomain(); + String username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); + String applicationName = type.replace(" ", "").replace("_", "") + + "_" + tenantDomain; + + KeyMgtService keyMgtService = new KeyMgtServiceImpl(); + try { + DCRResponse dcrResponse = keyMgtService.dynamicClientRegistration(applicationName, username, + "client_credentials", null, new String[] {"device_management"}, false, validityTime); + deviceConfig.setClientId(dcrResponse.getClientId()); + deviceConfig.setClientSecret(dcrResponse.getClientSecret()); + + StringBuilder scopes = new StringBuilder("device_" + type.replace(" ", "") + .replace("_", "") + "_" + id); + for (String topic : mqttTopicStructure) { + if (topic.contains("")) { + topic = topic.replace("", id); + } + topic = topic.replace("/",":"); + scopes.append(" perm:topic:sub:".concat(topic)); + scopes.append(" perm:topic:pub:".concat(topic)); + } + + TokenRequest tokenRequest = new TokenRequest(dcrResponse.getClientId(), dcrResponse.getClientSecret(), + null, scopes.toString(), "client_credentials", null, + null, null, null, validityTime); + TokenResponse tokenResponse = keyMgtService.generateAccessToken(tokenRequest); + deviceConfig.setAccessToken(tokenResponse.getAccessToken()); + deviceConfig.setRefreshToken(tokenResponse.getRefreshToken()); + + try { + deviceConfig.setPlatformConfiguration(deviceManagementProviderService.getConfiguration(type)); + } catch (DeviceManagementException e) { + String msg = "Error occurred while reading platform configurations token, device id : " + id + ", device type : " + type; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + + deviceConfig.setMqttGateway("tcp://" + System.getProperty("mqtt.broker.host") + ":" + System.getProperty("mqtt.broker.port")); + deviceConfig.setHttpGateway("http://" + System.getProperty("iot.gateway.host") + ":" + System.getProperty("iot.gateway.http.port")); + deviceConfig.setHttpsGateway("https://" + System.getProperty("iot.gateway.host") + ":" + System.getProperty("iot.gateway.https.port")); + + } catch (KeyMgtException e) { + String msg = "Error occurred while creating oauth application, device id : " + id + ", device type : " + type; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } catch (org.wso2.carbon.apimgt.keymgt.extension.exception.BadRequestException e) { + String msg = "Error occurred while generating token, device id : " + id + ", device type : " + type; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } + return Response.status(Response.Status.OK).entity(deviceConfig).build(); + } @GET diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 92bc2790d49..c7be9690ee0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -50,15 +50,12 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.CarbonConstants; import org.wso2.carbon.analytics.api.AnalyticsDataAPI; import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceStub; +import org.wso2.carbon.authenticator.stub.AuthenticationAdminStub; import org.wso2.carbon.base.ServerConfiguration; import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.core.util.Utils; -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.MonitoringOperation; -import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; +import org.wso2.carbon.device.mgt.common.*; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry; @@ -95,8 +92,11 @@ import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.EventAttributeList; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; import org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub; +import org.wso2.carbon.event.publisher.core.EventPublisherService; import org.wso2.carbon.event.publisher.stub.EventPublisherAdminServiceStub; +import org.wso2.carbon.event.receiver.core.EventReceiverService; import org.wso2.carbon.event.receiver.stub.EventReceiverAdminServiceStub; +import org.wso2.carbon.event.stream.core.EventStreamService; import org.wso2.carbon.event.stream.stub.EventStreamAdminServiceStub; import org.wso2.carbon.identity.claim.metadata.mgt.dto.ClaimPropertyDTO; import org.wso2.carbon.identity.jwt.client.extension.JWTClient; @@ -111,11 +111,7 @@ import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException; import org.wso2.carbon.policy.mgt.core.PolicyManagerService; import org.wso2.carbon.policy.mgt.core.task.TaskScheduleService; import org.wso2.carbon.registry.core.service.RegistryService; -import org.wso2.carbon.user.api.AuthorizationManager; -import org.wso2.carbon.user.api.RealmConfiguration; -import org.wso2.carbon.user.api.UserRealm; -import org.wso2.carbon.user.api.UserStoreException; -import org.wso2.carbon.user.api.UserStoreManager; +import org.wso2.carbon.user.api.*; import org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager; import org.wso2.carbon.user.core.service.RealmService; import org.wso2.carbon.user.mgt.common.UIPermissionNode; @@ -128,11 +124,7 @@ import javax.net.ssl.TrustManagerFactory; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.security.KeyManagementException; -import java.security.KeyStore; -import java.security.KeyStoreException; -import java.security.NoSuchAlgorithmException; -import java.security.UnrecoverableKeyException; +import java.security.*; import java.security.cert.CertificateException; import java.util.ArrayList; import java.util.LinkedList; @@ -172,7 +164,7 @@ public class DeviceMgtAPIUtils { private static KeyStore trustStore; private static char[] keyStorePassword; -// private static IntegrationClientService integrationClientService; + // private static IntegrationClientService integrationClientService; private static MetadataManagementService metadataManagementService; private static OTPManagementService otpManagementService; @@ -581,6 +573,36 @@ public class DeviceMgtAPIUtils { return geoService; } + public static EventStreamService getEventStreamService() { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + EventStreamService + eventStreamService = (EventStreamService) ctx.getOSGiService(EventStreamService.class, null); + if (eventStreamService == null) { + throw new IllegalStateException("Event Stream Service has not been initialized."); + } + return eventStreamService; + } + + public static EventReceiverService getEventReceiverService() { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + EventReceiverService + eventReceiverService = (EventReceiverService) ctx.getOSGiService(EventReceiverService.class, null); + if (eventReceiverService == null) { + throw new IllegalStateException("Event Receiver Service has not been initialized."); + } + return eventReceiverService; + } + + public static EventPublisherService getEventPublisherService() { + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + EventPublisherService + eventPublisherService = (EventPublisherService) ctx.getOSGiService(EventPublisherService.class, null); + if (eventPublisherService == null) { + throw new IllegalStateException("Event Receiver Service has not been initialized."); + } + return eventPublisherService; + } + public static AnalyticsDataAPI getAnalyticsDataAPI() { PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); AnalyticsDataAPI analyticsDataAPI = @@ -642,10 +664,13 @@ public class DeviceMgtAPIUtils { // return eventsPublisherService; // } + public static String getStreamDefinition(String deviceType, String tenantDomain, String eventName) { + return getStreamDefinition(deviceType, tenantDomain) + "." + eventName; + } + public static String getStreamDefinition(String deviceType, String tenantDomain) { return STREAM_DEFINITION_PREFIX + tenantDomain + "." + deviceType.replace(" ", "."); } - public static EventStreamAdminServiceStub getEventStreamAdminServiceStub() throws AxisFault, UserStoreException, JWTClientException { EventStreamAdminServiceStub eventStreamAdminServiceStub = new EventStreamAdminServiceStub( diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java index dcc7ff47cdd..5fe90596f61 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java @@ -5,6 +5,7 @@ import org.wso2.carbon.device.mgt.common.InitialOperationConfig; import org.wso2.carbon.device.mgt.common.license.mgt.License; import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; +import java.util.ArrayList; import java.util.List; public class DeviceTypeMetaDefinition { @@ -19,6 +20,10 @@ public class DeviceTypeMetaDefinition { private String description; private boolean isSharedWithAllTenants; + private List mqttTopicStructures; + + private boolean longLivedToken = false; + public String getDescription() { return description; } @@ -83,4 +88,20 @@ public class DeviceTypeMetaDefinition { public void setSharedWithAllTenants(boolean sharedWithAllTenants) { isSharedWithAllTenants = sharedWithAllTenants; } + + public List getMqttTopicStructures() { + return mqttTopicStructures; + } + + public void setMqttTopicStructures(List mqttTopicStructures) { + this.mqttTopicStructures = mqttTopicStructures; + } + + public boolean isLongLivedToken() { + return longLivedToken; + } + + public void setLongLivedToken(boolean longLivedToken) { + this.longLivedToken = longLivedToken; + } } diff --git a/pom.xml b/pom.xml index ba964b85fcd..cf130f5b406 100644 --- a/pom.xml +++ b/pom.xml @@ -351,6 +351,11 @@ org.wso2.carbon.apimgt.keymgt.extension.api ${carbon.device.mgt.version} + + org.wso2.carbon.devicemgt + org.wso2.carbon.apimgt.keymgt.extension + ${carbon.device.mgt.version} + @@ -1446,6 +1451,31 @@ org.wso2.carbon.databridge.core ${carbon.analytics.common.version} + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.stream.core + ${carbon.analytics.common.version} + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.receiver.core + ${carbon.analytics.common.version} + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.publisher.core + ${carbon.analytics.common.version} + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.core + ${carbon.analytics.common.version} + + + org.wso2.carbon.analytics-common + org.wso2.carbon.event.output.adapter.rdbms + ${carbon.analytics.common.version} + @@ -2074,8 +2104,8 @@ [9.0.0, 10.0.0) - 5.1.37 - [5.1.3,6.0.0) + 5.2.34 + [5.2.34,6.0.0) 1.3.25 [1.3.0,2.0.0) 2.1.23 From 800694de977d86d4033a1de997f5a1b04445a039 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Sat, 18 Mar 2023 08:51:24 +0530 Subject: [PATCH 070/101] introduce new datasource for events --- .../conf/datasources/cdm-datasources.xml | 20 ++++++++++++ .../conf/datasources/cdm-datasources.xml.j2 | 31 +++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/datasources/cdm-datasources.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/datasources/cdm-datasources.xml index 78db49688e9..4494b4fcd64 100755 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/datasources/cdm-datasources.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/datasources/cdm-datasources.xml @@ -61,5 +61,25 @@ + + EVENT_DB + The datasource used for event storing + + jdbc/EVENT_DB + + + + jdbc:h2:./repository/database/EVENT_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000 + wso2carbon + wso2carbon + org.h2.Driver + 50 + 60000 + true + SELECT 1 + 30000 + + + diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/cdm-datasources.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/cdm-datasources.xml.j2 index e9105a8d3e4..81e6ed97147 100755 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/cdm-datasources.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/datasources/cdm-datasources.xml.j2 @@ -83,5 +83,36 @@ + + EVENT_DB + The datasource used for event storing + + jdbc/EVENT_DB + + + + {% if database.device_mgt_event_db is defined %} + {{database.device_mgt_event_db.url}} + {{database.device_mgt_event_db.username}} + {{database.device_mgt_event_db.password}} + {{database.device_mgt_event_db.driver}} + {{database.device_mgt_event_db.validationQuery}} + {% for property_name,property_value in database.device_mgt_event_db.pool_options.items() %} + <{{property_name}}>{{property_value}} + {% endfor %} + {% else %} + jdbc:h2:./repository/database/EVENT_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;LOCK_TIMEOUT=60000 + wso2carbon + wso2carbon + org.h2.Driver + 50 + 60000 + true + SELECT 1 + 30000 + {% endif %} + + + From 44b5b4f44daafe94b05a0bd51eae9b94f44079ca Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Sat, 18 Mar 2023 12:20:44 +0530 Subject: [PATCH 071/101] fixing invalid attribute --- .../service/impl/DeviceManagementServiceImpl.java | 10 +++++----- .../mgt/common/type/mgt/DeviceTypeMetaDefinition.java | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index ac3098caf70..e37472bb694 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -872,14 +872,14 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceManagementProviderService deviceManagementProviderService = DeviceMgtAPIUtils.getDeviceManagementService(); int validityTime = 3600; - List mqttTopicStructure = new ArrayList<>(); + List mqttEventTopicStructure = new ArrayList<>(); try { DeviceType deviceType = deviceManagementProviderService.getDeviceType(type); if (deviceType != null) { if (deviceType.getDeviceTypeMetaDefinition().isLongLivedToken()) { validityTime = Integer.MAX_VALUE; } - mqttTopicStructure = deviceType.getDeviceTypeMetaDefinition().getMqttTopicStructures(); + mqttEventTopicStructure = deviceType.getDeviceTypeMetaDefinition().getMqttEventTopicStructures(); } else { String msg = "Device not found, device id : " + id + ", device type : " + type; log.error(msg); @@ -907,9 +907,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { StringBuilder scopes = new StringBuilder("device_" + type.replace(" ", "") .replace("_", "") + "_" + id); - for (String topic : mqttTopicStructure) { - if (topic.contains("")) { - topic = topic.replace("", id); + for (String topic : mqttEventTopicStructure) { + if (topic.contains("${deviceId}")) { + topic = topic.replace("${deviceId}", id); } topic = topic.replace("/",":"); scopes.append(" perm:topic:sub:".concat(topic)); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java index 5fe90596f61..835f450bb78 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/type/mgt/DeviceTypeMetaDefinition.java @@ -20,7 +20,7 @@ public class DeviceTypeMetaDefinition { private String description; private boolean isSharedWithAllTenants; - private List mqttTopicStructures; + private List mqttEventTopicStructures; private boolean longLivedToken = false; @@ -89,12 +89,12 @@ public class DeviceTypeMetaDefinition { isSharedWithAllTenants = sharedWithAllTenants; } - public List getMqttTopicStructures() { - return mqttTopicStructures; + public List getMqttEventTopicStructures() { + return mqttEventTopicStructures; } - public void setMqttTopicStructures(List mqttTopicStructures) { - this.mqttTopicStructures = mqttTopicStructures; + public void setMqttEventTopicStructures(List mqttEventTopicStructures) { + this.mqttEventTopicStructures = mqttEventTopicStructures; } public boolean isLongLivedToken() { From c78abf0564448d56f9809547c37758c48b86829a Mon Sep 17 00:00:00 2001 From: Charitha Goonetilleke Date: Sat, 18 Mar 2023 12:23:50 +0530 Subject: [PATCH 072/101] Remove unnecessary logs --- .../device/mgt/core/operation/mgt/OperationManagerImpl.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java index 46b2b8ff836..55e9279760b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java @@ -800,9 +800,6 @@ public class OperationManagerImpl implements OperationManager { if ((currentTime - updatedTime) < notNowOperationFrequency) { dtoOperation = operationDAO.getNextOperation(enrolmentInfo.getId(), org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Status.PENDING); - } else { - log.warn("Updated timestamp (" + updatedTime + ") of operation (" + - new Gson().toJson(dtoOperation) + ") is ahead from current: " + currentTime); } } else { dtoOperation = operationDAO.getNextOperation(enrolmentInfo.getId(), From 6c1b224b890e83769df08b14327f26f055ebe5f0 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Sat, 18 Mar 2023 12:32:34 +0530 Subject: [PATCH 073/101] fixing formatting and licence headers --- .../APIManagementProviderServiceImpl.java | 4 ++-- .../device/mgt/jaxrs/beans/DeviceConfig.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java index 95a95df957f..41ee18da8a9 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/src/main/java/org/wso2/carbon/apimgt/application/extension/APIManagementProviderServiceImpl.java @@ -257,13 +257,13 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe } } String applicationAccessTokenExpiryTime = "N/A"; - if(!StringUtils.isEmpty(validityTime)) { + if (!StringUtils.isEmpty(validityTime)) { applicationAccessTokenExpiryTime = validityTime; } String jsonString = "{\"grant_types\":\"refresh_token,access_token," + "urn:ietf:params:oauth:grant-type:saml2-bearer," + "password,client_credentials,iwa:ntlm,urn:ietf:params:oauth:grant-type:jwt-bearer\"," + - "\"additionalProperties\":\"{\\\"application_access_token_expiry_time\\\":\\\""+applicationAccessTokenExpiryTime +"\\\"," + + "\"additionalProperties\":\"{\\\"application_access_token_expiry_time\\\":\\\"" + applicationAccessTokenExpiryTime + "\\\"," + "\\\"user_access_token_expiry_time\\\":\\\"N\\/A\\\"," + "\\\"refresh_token_expiry_time\\\":\\\"N\\/A\\\"," + "\\\"id_token_expiry_time\\\":\\\"N\\/A\\\"}\"," + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java index 05dd82378d9..c61280a075e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2023, 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.device.mgt.jaxrs.beans; import io.swagger.annotations.ApiModel; From 98baaf8fc126e3e1bf1d537d34216cae089d3674 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Mon, 20 Mar 2023 09:50:55 +0530 Subject: [PATCH 074/101] added entgra licence --- .../device/mgt/jaxrs/beans/DeviceConfig.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java index c61280a075e..158153fd918 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/beans/DeviceConfig.java @@ -1,20 +1,19 @@ /* - * Copyright (c) 2023, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) 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 + * Entgra (Pvt) Ltd. 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. - * + * 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.jaxrs.beans; From b99587f1dfa1d36368ab9a0717115848cdab86bb Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Wed, 22 Mar 2023 12:34:54 +0530 Subject: [PATCH 075/101] Remove test cases --- .../src/test/resources/testng.xml | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 components/logger/io.entgra.notification.logger/src/test/resources/testng.xml diff --git a/components/logger/io.entgra.notification.logger/src/test/resources/testng.xml b/components/logger/io.entgra.notification.logger/src/test/resources/testng.xml deleted file mode 100644 index c64326b7ff8..00000000000 --- a/components/logger/io.entgra.notification.logger/src/test/resources/testng.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - From 4005a9e8cbb6050f5187804bafcc6e0d034d84d5 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Wed, 22 Mar 2023 12:37:59 +0530 Subject: [PATCH 076/101] User log context added --- .../org.wso2.carbon.device.mgt.core/pom.xml | 8 +- .../io.entgra.notification.logger/pom.xml | 7 +- .../notification/logger/UserLogContext.java | 103 ++++++ .../logger/impl/EntgraUserLoggerImpl.java | 294 ++++++++++++++++++ .../logger/util/MDCContextUtil.java | 16 + .../logger/impl/EntgraLoggerImplTest.java | 57 ---- components/logger/pom.xml | 4 +- .../pom.xml | 4 +- pom.xml | 7 + 9 files changed, 435 insertions(+), 65 deletions(-) create mode 100644 components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/UserLogContext.java create mode 100644 components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraUserLoggerImpl.java delete mode 100644 components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java 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 cb9d37a5b41..e0ce6e82a7c 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 @@ -113,7 +113,9 @@ org.wso2.carbon.event.processor.stub, org.wso2.carbon.identity.jwt.client.extension.service, org.apache.commons.codec.binary, - io.entgra.server.bootup.heartbeat.beacon + io.entgra.server.bootup.heartbeat.beacon, + io.entgra.device.mgt.extensions.logger.*, + io.entgra.notification.logger.* !org.wso2.carbon.device.mgt.core.internal, @@ -352,6 +354,10 @@ org.wso2.carbon.devicemgt io.entgra.task.mgt.common + + org.wso2.carbon.devicemgt + io.entgra.notification.logger + diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index c363f724b5f..0fadb055d77 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -25,11 +25,13 @@ org.wso2.carbon.devicemgt logger - 5.0.17-SNAPSHOT + 5.0.21-SNAPSHOT io.entgra.notification.logger + Entgra - Notification Logger bundle + http://entgra.io @@ -69,8 +71,7 @@ ${carbon.device.mgt.version} Device Notification Logger Bundle - io.entgra.logger;version="[2.0,3)", - io.entgra.logger.spi;version="[2.0,3)", + io.entgra.device.mgt.extensions.logger.* org.apache.commons.logging;version="[1.2,2)", org.apache.log4j;version="[1.2,2)", org.wso2.carbon.context;version="[4.4,5) diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/UserLogContext.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/UserLogContext.java new file mode 100644 index 00000000000..13702d570b8 --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/UserLogContext.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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 io.entgra.notification.logger; + +import io.entgra.device.mgt.extensions.logger.LogContext; + +public class UserLogContext extends LogContext { + private final String userName; + private final String userEmail; + private final String metaInfo; + private final String tenantID; + + private UserLogContext(Builder builder) { + this.userEmail = builder.userEmail; + this.userName = builder.userName; + this.metaInfo = builder.metaInfo; + this.tenantID = builder.tenantID; + } + + public String getTenantID() { + return tenantID; + } + + public String getUserName() { + return userName; + } + + public String getUserEmail() { + return userEmail; + } + + public String getMetaInfo() { + return metaInfo; + } + + + public static class Builder { + private String userName; + private String userEmail; + private String metaInfo; + private String tenantID; + + public Builder() { + } + + public String getMetaInfo() { + return metaInfo; + } + + public Builder setMetaInfo(String metaInfo) { + this.metaInfo = metaInfo; + return this; + } + + public String getTenantID() { + return tenantID; + } + + public Builder setTenantID(String tenantID) { + this.tenantID = tenantID; + return this; + } + + public String getUserName() { + return userName; + } + + public Builder setUserName(String userName) { + this.userName = userName; + return this; + } + + public String getUserEmail() { + return userEmail; + } + + public Builder setUserEmail(String userEmail) { + this.userEmail = userEmail; + return this; + } + + public UserLogContext build() { + return new UserLogContext(this); + } + + } +} diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraUserLoggerImpl.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraUserLoggerImpl.java new file mode 100644 index 00000000000..92beeabb2ff --- /dev/null +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraUserLoggerImpl.java @@ -0,0 +1,294 @@ +/* + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * + * Entgra (pvt) Ltd. 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 io.entgra.notification.logger.impl; + + +import io.entgra.device.mgt.extensions.logger.LogContext; +import io.entgra.device.mgt.extensions.logger.spi.EntgraLogger; +import io.entgra.notification.logger.UserLogContext; +import io.entgra.notification.logger.util.MDCContextUtil; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.log4j.MDC; + + +public class EntgraUserLoggerImpl implements EntgraLogger { + + private static Log log = null; + + public EntgraUserLoggerImpl(Class clazz) { + log = LogFactory.getLog(clazz); + } + + @Override + public void info(Object object, LogContext logContext) { + } + + @Override + public void info(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void debug(Object object, LogContext logContext) { + } + + @Override + public void debug(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void error(Object object, LogContext logContext) { + } + + @Override + public void error(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void fatal(Object object, LogContext logContext) { + } + + @Override + public void fatal(Object object, Throwable t, LogContext logContext) { + } + + @Override + public void trace(Object object, LogContext logContext) { + + } + + @Override + public void trace(Object object, Throwable t, LogContext logContext) { + + } + + @Override + public void warn(Object object, LogContext logContext) { + } + + @Override + public void warn(Object object, Throwable t, LogContext logContext) { + } + + public void info(String message) { + } + + public void info(String message, Throwable t) { + log.info(message, t); + } + + @Override + public void info(String message, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.info(message); + } + + + public void debug(String message) { + log.debug(message); + } + + + public void debug(String message, Throwable t) { + log.debug(message, t); + } + + @Override + public void debug(String message, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.debug(message); + } + + public void error(String message) { + log.error(message); + } + + + public void error(String message, Throwable t) { + log.error(message, t); + } + + @Override + public void error(String message, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.error(message); + } + + @Override + public void error(String message, Throwable t, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.error(message, t); + } + + + public void warn(String message) { + log.warn(message); + } + + + public void warn(String message, Throwable t) { + log.warn(message, t); + } + + @Override + public void warn(String message, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.warn(message); + } + + @Override + public void warn(String message, Throwable t, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.warn(message, t); + } + + + public void trace(String message) { + log.trace(message); + } + + + public void trace(String message, Throwable t) { + log.trace(message, t); + } + + @Override + public void trace(String message, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.trace(message); + } + + + public void fatal(String message) { + log.fatal(message); + } + + + public void fatal(String message, Throwable t) { + log.fatal(message, t); + } + + @Override + public void fatal(String message, LogContext logContext) { + UserLogContext userLogContext = (UserLogContext) logContext; + MDCContextUtil.populateUserMDCContext(userLogContext); + log.fatal(message); + } + + @Override + public void debug(Object o) { + log.debug(o); + } + + @Override + public void debug(Object o, Throwable throwable) { + log.debug(o, throwable); + } + + @Override + public void error(Object o) { + log.error(o); + } + + @Override + public void error(Object o, Throwable throwable) { + log.error(o, throwable); + } + + @Override + public void fatal(Object o) { + log.fatal(0); + } + + @Override + public void fatal(Object o, Throwable throwable) { + log.fatal(0, throwable); + } + + @Override + public void info(Object o) { + log.info(o); + } + + @Override + public void info(Object o, Throwable throwable) { + log.info(o, throwable); + } + + @Override + public boolean isDebugEnabled() { + return log.isDebugEnabled(); + } + + @Override + public boolean isErrorEnabled() { + return log.isErrorEnabled(); + } + + @Override + public boolean isFatalEnabled() { + return log.isFatalEnabled(); + } + + @Override + public boolean isInfoEnabled() { + return log.isInfoEnabled(); + } + + @Override + public boolean isTraceEnabled() { + return log.isTraceEnabled(); + } + + @Override + public boolean isWarnEnabled() { + return log.isWarnEnabled(); + } + + @Override + public void trace(Object o) { + log.trace(o); + } + + @Override + public void trace(Object o, Throwable throwable) { + log.trace(o, throwable); + } + + @Override + public void warn(Object o) { + log.warn(o); + } + + @Override + public void warn(Object o, Throwable throwable) { + log.warn(o, throwable); + } + + @Override + public void clearLogContext() { + MDC.clear(); + } +} diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java index dc7378b84cd..fd78c26dba3 100644 --- a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/util/MDCContextUtil.java @@ -18,6 +18,7 @@ package io.entgra.notification.logger.util; import io.entgra.notification.logger.DeviceLogContext; +import io.entgra.notification.logger.UserLogContext; import org.apache.log4j.MDC; public final class MDCContextUtil { @@ -36,6 +37,21 @@ public final class MDCContextUtil { MDC.put("TenantId", mdcContext.getTenantID()); } } + + public static void populateUserMDCContext(final UserLogContext mdcContext) { + if (mdcContext.getUserName() != null) { + MDC.put("UserName", mdcContext.getUserName()); + } + if (mdcContext.getUserEmail() != null) { + MDC.put("UserEmail", mdcContext.getUserEmail()); + } + if (mdcContext.getMetaInfo() != null) { + MDC.put("MetaInfo", mdcContext.getMetaInfo()); + } + if (mdcContext.getTenantID() != null) { + MDC.put("TenantId", mdcContext.getTenantID()); + } + } } diff --git a/components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java b/components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java deleted file mode 100644 index 204bc21fe3e..00000000000 --- a/components/logger/io.entgra.notification.logger/src/test/java/io/entgra/logger/impl/EntgraLoggerImplTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. 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 io.entgra.logger.impl; - -import io.entgra.device.mgt.extensions.logger.spi.EntgraLogger; -import io.entgra.notification.logger.DeviceLogContext; -import io.entgra.notification.logger.impl.EntgraLoggerImpl; -import org.testng.annotations.Test; - -public class EntgraLoggerImplTest { - - private final EntgraLogger log = new EntgraLoggerImpl(EntgraLoggerImplTest.class); - - @Test - public void logTest() { - - DeviceLogContext.Builder deviceLogContext = new DeviceLogContext.Builder(); - - deviceLogContext.setDeviceName("M02S"); - deviceLogContext.setDeviceType("Android"); - deviceLogContext.setOperationCode("1222"); - deviceLogContext.setTenantID("1234"); - - log.debug("Test debug message", deviceLogContext.build()); - log.info("Test info message", deviceLogContext.build()); - log.error("Test error message", deviceLogContext.build()); - log.warn("Test warn message", deviceLogContext.build()); - log.trace("Test trace message", deviceLogContext.build()); - log.fatal("Test fatal message", deviceLogContext.build()); - log.error("debug message test", new Throwable("error throw")); - log.info("info message test"); - -// log.isDebugEnabled(); -// log.isErrorEnabled(); -// log.isFatalEnabled(); -// log.isInfoEnabled(); -// log.isTraceEnabled(); -// log.isWarnEnabled(); - - } - -} diff --git a/components/logger/pom.xml b/components/logger/pom.xml index 4312ce069ab..f0884c2238d 100644 --- a/components/logger/pom.xml +++ b/components/logger/pom.xml @@ -24,13 +24,13 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.17-SNAPSHOT + 5.0.21-SNAPSHOT ../../pom.xml logger pom - Entgra IoT - Notification logger + Entgra - Notification Logger Component http://entgra.io diff --git a/features/logger/io.entgra.notification.logger.feature/pom.xml b/features/logger/io.entgra.notification.logger.feature/pom.xml index 6c600e7c12d..be7f7146f23 100644 --- a/features/logger/io.entgra.notification.logger.feature/pom.xml +++ b/features/logger/io.entgra.notification.logger.feature/pom.xml @@ -23,14 +23,14 @@ org.wso2.carbon.devicemgt logger-feature - 5.0.17-SNAPSHOT + 5.0.21-SNAPSHOT ../pom.xml 4.0.0 io.entgra.notification.logger.feature pom - Entgra - Device Notification logger + Entgra - Notification logger http://entgra.io This feature bundles for the Entgra Notification logger diff --git a/pom.xml b/pom.xml index cf130f5b406..09590375ba1 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,7 @@ components/transport-mgt components/analytics-mgt components/webapp-authenticator-framework + components/logger components/task-mgt features/device-mgt features/apimgt-extensions @@ -59,6 +60,7 @@ features/transport-mgt features/analytics-mgt features/webapp-authenticator-framework + features/logger features/task-mgt @@ -356,6 +358,11 @@ org.wso2.carbon.apimgt.keymgt.extension ${carbon.device.mgt.version} + + org.wso2.carbon.devicemgt + io.entgra.notification.logger + ${carbon.device.mgt.version} + From 7441e57d3640eda099369465e365ba71ef4d5024 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Wed, 22 Mar 2023 12:39:18 +0530 Subject: [PATCH 077/101] Refactor log context name --- .../notification/mgt/NotificationManagementServiceImpl.java | 4 ++-- .../{EntgraLoggerImpl.java => EntgraDeviceLoggerImpl.java} | 4 ++-- features/logger/pom.xml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/{EntgraLoggerImpl.java => EntgraDeviceLoggerImpl.java} (98%) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java index 0e7867b0d1b..4770f9fee49 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/notification/mgt/NotificationManagementServiceImpl.java @@ -20,7 +20,7 @@ package org.wso2.carbon.device.mgt.core.notification.mgt; import io.entgra.device.mgt.extensions.logger.spi.EntgraLogger; import io.entgra.notification.logger.DeviceLogContext; -import io.entgra.notification.logger.impl.EntgraLoggerImpl; +import io.entgra.notification.logger.impl.EntgraDeviceLoggerImpl; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; @@ -46,7 +46,7 @@ import java.util.List; */ public class NotificationManagementServiceImpl implements NotificationManagementService { - private static final EntgraLogger log = new EntgraLoggerImpl(NotificationManagementServiceImpl.class); + private static final EntgraLogger log = new EntgraDeviceLoggerImpl(NotificationManagementServiceImpl.class); DeviceLogContext.Builder deviceLogContexBuilder = new DeviceLogContext.Builder(); private NotificationDAO notificationDAO; diff --git a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraDeviceLoggerImpl.java similarity index 98% rename from components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java rename to components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraDeviceLoggerImpl.java index 882c82e4735..f1360ae6c3d 100644 --- a/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraLoggerImpl.java +++ b/components/logger/io.entgra.notification.logger/src/main/java/io/entgra/notification/logger/impl/EntgraDeviceLoggerImpl.java @@ -27,11 +27,11 @@ import org.apache.commons.logging.LogFactory; import org.apache.log4j.MDC; -public class EntgraLoggerImpl implements EntgraLogger { +public class EntgraDeviceLoggerImpl implements EntgraLogger { private static Log log = null; - public EntgraLoggerImpl(Class clazz) { + public EntgraDeviceLoggerImpl(Class clazz) { log = LogFactory.getLog(clazz); } diff --git a/features/logger/pom.xml b/features/logger/pom.xml index 0c6d141df36..10fc1b3f0b4 100644 --- a/features/logger/pom.xml +++ b/features/logger/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.17-SNAPSHOT + 5.0.21-SNAPSHOT ../../pom.xml From c168503994b4c3ef0519dcd5d8c5eaeab65f5508 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Wed, 22 Mar 2023 12:41:41 +0530 Subject: [PATCH 078/101] log4j2.properties file added --- .../src/main/resources/conf/log4j2.properties | 467 ++++++++++++++++++ .../src/main/resources/p2.inf | 3 +- 2 files changed, 469 insertions(+), 1 deletion(-) create mode 100644 features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties diff --git a/features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties b/features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties new file mode 100644 index 00000000000..cb038769389 --- /dev/null +++ b/features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties @@ -0,0 +1,467 @@ +# list of all appenders +#add entry "syslog" to use the syslog appender +appenders=CARBON_CONSOLE, CARBON_LOGFILE, AUDIT_LOGFILE, ATOMIKOS_LOGFILE, CARBON_TRACE_LOGFILE,ERROR_LOGFILE, OPEN_TRACING,SERVICE_APPENDER, TRACE_APPENDER, osgi, CORRELATION, BOTDATA_APPENDER,ELK_LOGFILE +#, syslog + +# CARBON_CONSOLE is set to be a ConsoleAppender using a PatternLayout. +appender.CARBON_CONSOLE.type = Console +appender.CARBON_CONSOLE.name = CARBON_CONSOLE +appender.CARBON_CONSOLE.layout.type = PatternLayout +appender.CARBON_CONSOLE.layout.pattern = [%d{ISO8601}] %5p - [%X{DeviceName}] [%X{DeviceType}] [%X{OperationCode}] [%X{TID}] - %m %n%throwable{0} +appender.CARBON_CONSOLE.filter.threshold.type = ThresholdFilter +appender.CARBON_CONSOLE.filter.threshold.level = INFO + +# CARBON_LOGFILE is set to be a DailyRollingFileAppender using a PatternLayout. +appender.CARBON_LOGFILE.type = RollingFile +appender.CARBON_LOGFILE.name = CARBON_LOGFILE +appender.CARBON_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/wso2carbon.log +appender.CARBON_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/wso2carbon-%d{MM-dd-yyyy}.log +appender.CARBON_LOGFILE.layout.type = PatternLayout +appender.CARBON_LOGFILE.layout.pattern = TID: [%tenantId] [%appName] [%d] %5p {%c} - %m%ex%n +appender.CARBON_LOGFILE.policies.type = Policies +appender.CARBON_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy +appender.CARBON_LOGFILE.policies.time.interval = 1 +appender.CARBON_LOGFILE.policies.time.modulate = true +appender.CARBON_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy +appender.CARBON_LOGFILE.policies.size.size=10MB +appender.CARBON_LOGFILE.strategy.type = DefaultRolloverStrategy +appender.CARBON_LOGFILE.strategy.max = 20 +appender.CARBON_LOGFILE.filter.threshold.type = ThresholdFilter +appender.CARBON_LOGFILE.filter.threshold.level = DEBUG + +# ELK_LOGFILE is set to be a DailyRollingFileAppender using a PatternLayout. +appender.ELK_LOGFILE.type = RollingFile +appender.ELK_LOGFILE.name = ELK_LOGFILE +appender.ELK_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/elk.log +appender.ELK_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/elk-%d{MM-dd-yyyy}.log +appender.ELK_LOGFILE.layout.type = PatternLayout +appender.ELK_LOGFILE.layout.pattern = [%d{ISO8601}] %5p - TID: [%d] [%tenantId] [%X{Name}] [%X{OperationCode}] - %m %n%throwable{0} +appender.ELK_LOGFILE.policies.type = Policies +appender.ELK_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy +appender.ELK_LOGFILE.policies.time.interval = 1 +appender.ELK_LOGFILE.policies.time.modulate = true +appender.ELK_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy +appender.ELK_LOGFILE.policies.size.size=10MB +appender.ELK_LOGFILE.strategy.type = DefaultRolloverStrategy +appender.ELK_LOGFILE.strategy.max = 20 +appender.ELK_LOGFILE.filter.threshold.type = ThresholdFilter +appender.ELK_LOGFILE.filter.threshold.level = INFO + +# Appender config to AUDIT_LOGFILE +appender.AUDIT_LOGFILE.type = RollingFile +appender.AUDIT_LOGFILE.name = AUDIT_LOGFILE +appender.AUDIT_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/audit.log +appender.AUDIT_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/audit-%d{MM-dd-yyyy}.log +appender.AUDIT_LOGFILE.layout.type = PatternLayout +appender.AUDIT_LOGFILE.layout.pattern = TID: [%tenantId] [%d] %5p {%c} - %m%ex%n +appender.AUDIT_LOGFILE.policies.type = Policies +appender.AUDIT_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy +appender.AUDIT_LOGFILE.policies.time.interval = 1 +appender.AUDIT_LOGFILE.policies.time.modulate = true +appender.AUDIT_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy +appender.AUDIT_LOGFILE.policies.size.size=10MB +appender.AUDIT_LOGFILE.strategy.type = DefaultRolloverStrategy +appender.AUDIT_LOGFILE.strategy.max = 20 +appender.AUDIT_LOGFILE.filter.threshold.type = ThresholdFilter +appender.AUDIT_LOGFILE.filter.threshold.level = INFO + +# Appender config to send Atomikos transaction logs to new log file tm.out. +appender.ATOMIKOS_LOGFILE.type = RollingFile +appender.ATOMIKOS_LOGFILE.name = ATOMIKOS_LOGFILE +appender.ATOMIKOS_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/tm.out +appender.ATOMIKOS_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/tm-%d{MM-dd-yyyy}.out +appender.ATOMIKOS_LOGFILE.layout.type = PatternLayout +appender.ATOMIKOS_LOGFILE.layout.pattern = [%d] [%tenantId] %5p {%c} - %m%ex%n +appender.ATOMIKOS_LOGFILE.policies.type = Policies +appender.ATOMIKOS_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy +appender.ATOMIKOS_LOGFILE.policies.time.interval = 1 +appender.ATOMIKOS_LOGFILE.policies.time.modulate = true +appender.ATOMIKOS_LOGFILE.strategy.type = DefaultRolloverStrategy +appender.ATOMIKOS_LOGFILE.strategy.max = 20 + +# Appender config to CARBON_TRACE_LOGFILE +appender.CARBON_TRACE_LOGFILE.type = RollingFile +appender.CARBON_TRACE_LOGFILE.name = CARBON_TRACE_LOGFILE +appender.CARBON_TRACE_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/wso2carbon-trace-messages.log +appender.CARBON_TRACE_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/wso2carbon-trace-messages-%d{MM-dd-yyyy}.log +appender.CARBON_TRACE_LOGFILE.layout.type = PatternLayout +appender.CARBON_TRACE_LOGFILE.layout.pattern = [%d] [%tenantId] %5p {%c} - %m%ex%n +appender.CARBON_TRACE_LOGFILE.policies.type = Policies +appender.CARBON_TRACE_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy +appender.CARBON_TRACE_LOGFILE.policies.time.interval = 1 +appender.CARBON_TRACE_LOGFILE.policies.time.modulate = true +appender.CARBON_TRACE_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy +appender.CARBON_TRACE_LOGFILE.policies.size.size=10MB +appender.CARBON_TRACE_LOGFILE.strategy.type = DefaultRolloverStrategy +appender.CARBON_TRACE_LOGFILE.strategy.max = 20 + + +# Appender config to put correlation Log. +appender.CORRELATION.type = RollingFile +appender.CORRELATION.name = CORRELATION +appender.CORRELATION.fileName =${sys:carbon.home}/repository/logs/correlation.log +appender.CORRELATION.filePattern =${sys:carbon.home}/repository/logs/correlation-%d{MM-dd-yyyy}-%i.log.gz +appender.CORRELATION.layout.type = PatternLayout +appender.CORRELATION.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS}|%X{Correlation-ID}|%t|%m%n +appender.CORRELATION.policies.type = Policies +appender.CORRELATION.policies.time.type = TimeBasedTriggeringPolicy +appender.CORRELATION.policies.time.interval = 1 +appender.CORRELATION.policies.time.modulate = true +appender.CORRELATION.policies.size.type = SizeBasedTriggeringPolicy +appender.CORRELATION.policies.size.size=10MB +appender.CORRELATION.strategy.type = DefaultRolloverStrategy +appender.CORRELATION.strategy.max = 20 +appender.CORRELATION.filter.threshold.type = ThresholdFilter +appender.CORRELATION.filter.threshold.level = INFO + + +appender.ERROR_LOGFILE.type = RollingFile +appender.ERROR_LOGFILE.name = ERROR_LOGFILE +appender.ERROR_LOGFILE.fileName =${sys:carbon.home}/repository/logs/wso2-apigw-errors.log +appender.ERROR_LOGFILE.filePattern =${sys:carbon.home}/repository/logs/wso2-apigw-errors-%d{MM-dd-yyyy}-%i.log.gz +appender.ERROR_LOGFILE.layout.type = PatternLayout +appender.ERROR_LOGFILE.layout.pattern = %d{ISO8601} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n +appender.ERROR_LOGFILE.policies.type = Policies +appender.ERROR_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy +appender.ERROR_LOGFILE.policies.time.interval = 1 +appender.ERROR_LOGFILE.policies.time.modulate = true +appender.ERROR_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy +appender.ERROR_LOGFILE.policies.size.size=10MB +appender.ERROR_LOGFILE.strategy.type = DefaultRolloverStrategy +appender.ERROR_LOGFILE.strategy.max = 20 +appender.ERROR_LOGFILE.filter.threshold.type = ThresholdFilter +appender.ERROR_LOGFILE.filter.threshold.level = WARN + + +appender.CARBON_SYS_LOG.type = Syslog +appender.CARBON_SYS_LOG.name = CARBON_SYS_LOG +appender.CARBON_SYS_LOG.host = localhost +appender.CARBON_SYS_LOG.facility = USER +appender.CARBON_SYS_LOG.layout.type = PatternLayout +appender.CARBON_SYS_LOG.layout.pattern = [%d] %5p - %x %m {%c}%n +appender.CARBON_SYS_LOG.filter.threshold.type = ThresholdFilter +appender.CARBON_SYS_LOG.filter.threshold.level = DEBUG + +appender.OPEN_TRACING.type = RollingFile +appender.OPEN_TRACING.name = OPEN_TRACING +appender.OPEN_TRACING.fileName =${sys:carbon.home}/repository/logs/wso2-apimgt-open-tracing.log +appender.OPEN_TRACING.filePattern =${sys:carbon.home}/repository/logs/wso2-apimgt-open-tracing-%d{MM-dd-yyyy}-%i.log.gz +appender.OPEN_TRACING.layout.type = PatternLayout +appender.OPEN_TRACING.layout.pattern = %d{HH:mm:ss,SSS} [%X{ip}-%X{host}] [%t] %5p %m%nn +appender.OPEN_TRACING.policies.type = Policies +appender.OPEN_TRACING.policies.time.type = TimeBasedTriggeringPolicy +appender.OPEN_TRACING.policies.time.interval = 1 +appender.OPEN_TRACING.policies.time.modulate = true +appender.OPEN_TRACING.policies.size.type = SizeBasedTriggeringPolicy +appender.OPEN_TRACING.policies.size.size=10MB +appender.OPEN_TRACING.strategy.type = DefaultRolloverStrategy +appender.OPEN_TRACING.strategy.max = 20 +appender.OPEN_TRACING.filter.threshold.type = ThresholdFilter +appender.OPEN_TRACING.filter.threshold.level = TRACE + + +appender.TRACE_APPENDER.type = RollingFile +appender.TRACE_APPENDER.name = TRACE_APPENDER +appender.TRACE_APPENDER.fileName = ${sys:carbon.home}/repository/logs/wso2-apigw-trace.log +appender.TRACE_APPENDER.filePattern = ${sys:carbon.home}/repository/logs/wso2-apigw-trace-%d{MM-dd-yyyy}.log +appender.TRACE_APPENDER.layout.type = PatternLayout +appender.TRACE_APPENDER.layout.pattern = %d{HH:mm:ss,SSS} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n +appender.TRACE_APPENDER.policies.type = Policies +appender.TRACE_APPENDER.policies.time.type = TimeBasedTriggeringPolicy +appender.TRACE_APPENDER.policies.time.interval = 1 +appender.TRACE_APPENDER.policies.time.modulate = true +appender.TRACE_APPENDER.strategy.type = DefaultRolloverStrategy +appender.TRACE_APPENDER.strategy.max = 20 + +appender.SERVICE_APPENDER.type = RollingFile +appender.SERVICE_APPENDER.name = SERVICE_APPENDER +appender.SERVICE_APPENDER.fileName = ${sys:carbon.home}/repository/logs/wso2-apigw-service.log +appender.SERVICE_APPENDER.filePattern = ${sys:carbon.home}/repository/logs/wso2-apigw-service-%i.log +appender.SERVICE_APPENDER.layout.type = PatternLayout +appender.SERVICE_APPENDER.layout.pattern = %d{ISO8601} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n +appender.SERVICE_APPENDER.policies.type = Policies +appender.SERVICE_APPENDER.policies.size.type = SizeBasedTriggeringPolicy +appender.SERVICE_APPENDER.policies.size.size=1000KB +appender.SERVICE_APPENDER.strategy.type = DefaultRolloverStrategy +appender.SERVICE_APPENDER.strategy.max = 10 + + +appender.osgi.type = PaxOsgi +appender.osgi.name = PaxOsgi +appender.osgi.filter = * + +loggers = AUDIT_LOG, trace-messages, org-apache-coyote, com-hazelcast, Owasp-CsrfGuard, org-apache-axis2-wsdl-codegen-writer-PrettyPrinter, org-apache-axis2-clustering, org-apache-catalina, org-apache-tomcat, org-wso2-carbon-apacheds, org-apache-directory-server-ldap, org-apache-directory-server-core-event, com-atomikos, org-quartz, org-apache-jackrabbit-webdav, org-apache-juddi, org-apache-commons-digester-Digester, org-apache-jasper-compiler-TldLocationsCache, org-apache-qpid, org-apache-qpid-server-Main, qpid-message, qpid-message-broker-listening, org-apache-tiles, org-apache-commons-httpclient, org-apache-solr, me-prettyprint-cassandra-hector-TimingLogger, org-apache-axis-enterprise, org-apache-directory-shared-ldap, org-apache-directory-server-ldap-handlers, org-apache-directory-shared-ldap-entry-DefaultServerAttribute, org-apache-directory-server-core-DefaultDirectoryService, org-apache-directory-shared-ldap-ldif-LdifReader, org-apache-directory-server-ldap-LdapProtocolHandler, org-apache-directory-server-core, org-apache-directory-server-ldap-LdapSession, DataNucleus, Datastore, Datastore-Schema, JPOX-Datastore, JPOX-Plugin, JPOX-MetaData, JPOX-Query, JPOX-General, JPOX-Enhancer, org-apache-hadoop-hive, hive, ExecMapper, ExecReducer, net-sf-ehcache-config-ConfigurationFactory, axis2Deployment, equinox, tomcat2, StAXDialectDetector, trace, synapse, synapse_transport, axis2, axis2_transport, org-wso2-carbon, hunsicker, thrift-publisher, service_logger, trace_logger, org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator, wso2-callhome, correlation, JAGGERY_LOG,ELK_LOG + +logger.JAGGERY_LOG.name = JAGGERY +logger.JAGGERY_LOG.level = INFO + +logger.ELK_LOG.name = org.wso2.carbon.device.mgt +logger.ELK_LOG.level = INFO +logger.ELK_LOG.additivity = false +logger.ELK_LOG.appenderRef.ELK_LOGFILE.ref = ELK_LOGFILE + +logger.AUDIT_LOG.name = AUDIT_LOG +logger.AUDIT_LOG.level = INFO +logger.AUDIT_LOG.appenderRef.AUDIT_LOGFILE.ref = AUDIT_LOGFILE +logger.AUDIT_LOG.additivity = false + +logger.trace-messages.name = trace.messages +logger.trace-messages.level = TRACE +logger.trace-messages.appenderRef.CARBON_TRACE_LOGFILE.ref = CARBON_TRACE_LOGFILE + +logger.org-apache-coyote.name = org.apache.coyote +logger.org-apache-coyote.level = WARN + +logger.com-hazelcast.name = com.hazelcast +logger.com-hazelcast.level = ERROR + +logger.Owasp-CsrfGuard.name = Owasp.CsrfGuard +logger.Owasp-CsrfGuard.level = WARN + +logger.org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.name = org.apache.axis2.wsdl.codegen.writer.PrettyPrinter +logger.org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.level = ERROR +logger.org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-axis2-clustering.name = org.apache.axis2.clustering +logger.org-apache-axis2-clustering.level = INFO +logger.org-apache-axis2-clustering.additivity = false + +logger.org-apache.name = org.apache +logger.org-apache.level = INFO +logger.org-apache.additivity = false +logger.org-apache.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-catalina.name = org.apache.catalina +logger.org-apache-catalina.level = ERROR + +logger.org-apache-tomcat.name = org.apache.tomcat +logger.org-apache-tomcat.level = INFO + +logger.org-wso2-carbon-apacheds.name = org.wso2.carbon.apacheds +logger.org-wso2-carbon-apacheds.level = WARN + +logger.org-apache-directory-server-ldap.name = org.apache.directory.server.ldap +logger.org-apache-directory-server-ldap.level = ERROR + +logger.org-apache-directory-server-core-event.name = org.apache.directory.server.core.event +logger.org-apache-directory-server-core-event.level = WARN + +logger.com-atomikos.name = com.atomikos +logger.com-atomikos.level = INFO +logger.com-atomikos.additivity = false +logger.com-atomikos.appenderRef.ATOMIKOS_LOGFILE.ref = ATOMIKOS_LOGFILE + +logger.org-quartz.name = org.quartz +logger.org-quartz.level = WARN + +logger.org-apache-jackrabbit-webdav.name = org.apache.jackrabbit.webdav +logger.org-apache-jackrabbit-webdav.level = WARN + +logger.org-apache-juddi.name = org.apache.juddi +logger.org-apache-juddi.level = ERROR + +logger.org-apache-commons-digester-Digester.name = org.apache.commons.digester.Digester +logger.org-apache-commons-digester-Digester.level = WARN + +logger.org-apache-jasper-compiler-TldLocationsCache.name = org.apache.jasper.compiler.TldLocationsCache +logger.org-apache-jasper-compiler-TldLocationsCache.level = WARN + +logger.org-apache-qpid.name = org.apache.qpid +logger.org-apache-qpid.level = WARN + +logger.org-apache-qpid-server-Main.name = org.apache.qpid.server.Main +logger.org-apache-qpid-server-Main.level = INFO + +logger.qpid-message.name = qpid.message +logger.qpid-message.level = WARN + +logger.qpid-message-broker-listening.name = qpid.message.broker.listening +logger.qpid-message-broker-listening.level = INFO + +logger.org-apache-tiles.name = org.apache.tiles +logger.org-apache-tiles.level = WARN + +logger.org-apache-commons-httpclient.name = org.apache.commons.httpclient +logger.org-apache-commons-httpclient.level = ERROR + +logger.org-apache-solr.name = org.apache.solr +logger.org-apache-solr.level = ERROR + +logger.me-prettyprint-cassandra-hector-TimingLogger.name = me.prettyprint.cassandra.hector.TimingLogger +logger.me-prettyprint-cassandra-hector-TimingLogger.level = ERROR + +logger.org-wso2.name = org.wso2 +logger.org-wso2.level = INFO + +logger.org-wso2-carbon.name = org.wso2.carbon +logger.org-wso2-carbon.level = INFO + +logger.org-apache-axis-enterprise.name = org.apache.axis2.enterprise +logger.org-apache-axis-enterprise.level = FATAL +logger.org-apache-axis-enterprise.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-shared-ldap.name = org.apache.directory.shared.ldap +logger.org-apache-directory-shared-ldap.level = WARN +logger.org-apache-directory-shared-ldap.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-server-ldap-handlers.name = org.apache.directory.server.ldap.handlers +logger.org-apache-directory-server-ldap-handlers.level = WARN +logger.org-apache-directory-server-ldap-handlers.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +#Following are to remove false error messages from startup (IS) +logger.org-apache-directory-shared-ldap-entry-DefaultServerAttribute.name = org.apache.directory.shared.ldap.entry.DefaultServerAttribute +logger.org-apache-directory-shared-ldap-entry-DefaultServerAttribute.level = FATAL +logger.org-apache-directory-shared-ldap-entry-DefaultServerAttribute.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-server-core-DefaultDirectoryService.name = org.apache.directory.server.core.DefaultDirectoryService +logger.org-apache-directory-server-core-DefaultDirectoryService.level = ERROR +logger.org-apache-directory-server-core-DefaultDirectoryService.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-shared-ldap-ldif-LdifReader.name = org.apache.directory.shared.ldap.ldif.LdifReader +logger.org-apache-directory-shared-ldap-ldif-LdifReader.level = ERROR +logger.org-apache-directory-shared-ldap-ldif-LdifReader.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-server-ldap-LdapProtocolHandler.name = org.apache.directory.server.ldap.LdapProtocolHandler +logger.org-apache-directory-server-ldap-LdapProtocolHandler.level = ERROR +logger.org-apache-directory-server-ldap-LdapProtocolHandler.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-server-core.name = org.apache.directory.server.core +logger.org-apache-directory-server-core.level = ERROR +logger.org-apache-directory-server-core.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.org-apache-directory-server-ldap-LdapSession.name = org.apache.directory.server.ldap.LdapSession +logger.org-apache-directory-server-ldap-LdapSession.level = Error +logger.org-apache-directory-server-ldap-LdapSession.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE + +logger.correlation.name = correlation +logger.correlation.level = INFO +logger.correlation.appenderRef.CORRELATION.ref = CORRELATION +logger.correlation.additivity = false + +#Hive Related Log configurations +logger.DataNucleus.name = DataNucleus +logger.DataNucleus.level = ERROR + +logger.Datastore.name = Datastore +logger.Datastore.level = ERROR + +logger.Datastore-Schema.name = Datastore.Schema +logger.Datastore-Schema.level = ERROR + +logger.JPOX-Datastore.name = JPOX.Datastore +logger.JPOX-Datastore.level = ERROR + +logger.JPOX-Plugin.name = JPOX.Plugin +logger.JPOX-Plugin.level = ERROR + +logger.JPOX-MetaData.name = JPOX.MetaData +logger.JPOX-MetaData.level = ERROR + +logger.JPOX-Query.name = JPOX.Query +logger.JPOX-Query.level = ERROR + +logger.JPOX-General.name = JPOX.General +logger.JPOX-General.level = ERROR + +logger.JPOX-Enhancer.name = JPOX.Enhancer +logger.JPOX-Enhancer.level = ERROR + +logger.org-apache-hadoop-hive.name = org.apache.hadoop.hive +logger.org-apache-hadoop-hive.level = WARN + +logger.hive.name = hive +logger.hive.level = WARN + +logger.ExecMapper.name = ExecMapper +logger.ExecMapper.level = WARN + +logger.ExecReducer.name = ExecReducer +logger.ExecReducer.level = WARN + +logger.net-sf-ehcache-config-ConfigurationFactory.name = net.sf.ehcache.config.ConfigurationFactory +logger.net-sf-ehcache-config-ConfigurationFactory.level = ERROR + +logger.axis2Deployment.name = org.apache.axis2.deployment +logger.axis2Deployment.level = WARN + +logger.equinox.name = org.eclipse.equinox +logger.equinox.level = FATAL + +logger.tomcat2.name = tomcat +logger.tomcat2.level = FATAL + +logger.StAXDialectDetector.name = org.apache.axiom.util.stax.dialect.StAXDialectDetector +logger.StAXDialectDetector.level = ERROR + + +logger.trace.name = trace +logger.trace.level = TRACE +logger.trace.appenderRef.OPEN_TRACING.ref = OPEN_TRACING + +logger.synapse.name = org.apache.synapse +logger.synapse.level = INFO + +logger.synapse_transport.name = org.apache.synapse.transport +logger.synapse_transport.level = INFO + + +logger.axis2.name = org.apache.axis2 +logger.axis2.level = INFO + +logger.axis2_transport.name = org.apache.axis2.transport +logger.axis2_transport.level = INFO + + +logger.hunsicker.name = de.hunsicker.jalopy.io +logger.hunsicker.level = FATAL + +logger.synapse-headers.name = org.apache.synapse.transport.http.headers +logger.synapse-headers.level = DEBUG + +logger.synapse-wire.name = org.apache.synapse.transport.http.wire +logger.synapse-wire.level = DEBUG + +logger.thrift-publisher.name = org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher +logger.thrift-publisher.level = WARN + +logger.service_logger.name = SERVICE_LOGGER +logger.service_logger.level = INFO +logger.service_logger.additivity = false +logger.service_logger.appenderRef.SERVICE_APPENDER.ref = SERVICE_APPENDER + +logger.wso2-callhome.name = org.wso2.callhome +logger.wso2-callhome.level = INFO + +logger.trace_logger.name = TRACE_LOGGER +logger.trace_logger.level = INFO +logger.trace_logger.appenderRef.TRACE_APPENDER.ref = TRACE_APPENDER + + +# root loggers +rootLogger.level = ERROR +rootLogger.appenderRef.CARBON_CONSOLE.ref = CARBON_CONSOLE +rootLogger.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE +rootLogger.appenderRef.ERROR_LOGFILE.ref = ERROR_LOGFILE +rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi +#rootLogger.appenderReg.CARBON_SYS_LOG.ref = CARBON_SYS_LOG +#rootLogger.appenderRef.syslog.ref = syslog +# bot detection feature appender +appender.BOTDATA_APPENDER.type=RollingFile +appender.BOTDATA_APPENDER.name=BOTDATA_APPENDER +appender.BOTDATA_APPENDER.fileName=${sys:carbon.home}/repository/logs/wso2-BotDetectedData.log +appender.BOTDATA_APPENDER.filePattern=${sys:carbon.home}/repository/logs/wso2-BotDetectedData-%d{MM-dd-yyyy}.log +appender.BOTDATA_APPENDER.layout.type=PatternLayout +appender.BOTDATA_APPENDER.layout.pattern=[%d] [%tenantId] %5p {%c} - %m%ex%n +appender.BOTDATA_APPENDER.policies.type=Policies +appender.BOTDATA_APPENDER.policies.time.type=TimeBasedTriggeringPolicy +appender.BOTDATA_APPENDER.policies.time.interval=1 +appender.BOTDATA_APPENDER.policies.time.modulate=true +appender.BOTDATA_APPENDER.policies.size.type=SizeBasedTriggeringPolicy +appender.BOTDATA_APPENDER.policies.size.size=10MB +appender.BOTDATA_APPENDER.strategy.type=DefaultRolloverStrategy +appender.BOTDATA_APPENDER.strategy.max=20 +logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.name=org.wso2.carbon.apimgt.gateway.mediators.BotDetectionMediator +logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.level=INFO +logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.appenderRef.BOTDATA_APPENDER.ref=BOTDATA_APPENDER +logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.additivity=false +category.SERVICE_APPENDER._OpenService_=TRACE_APPENDER, BOTDATA_APPENDER diff --git a/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf b/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf index 7ab37b9d7d7..5fb8862c62c 100644 --- a/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf +++ b/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf @@ -1 +1,2 @@ -instructions.configure = \ \ No newline at end of file +instructions.configure = \ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.notification.logger_${feature.version}/conf/log4j2.properties,target:${installFolder}/../../../repository/conf/log4j2.properties,overwrite:true);\ \ No newline at end of file From 2d1879d1b614937befb3e5e613856d3c9229a7ea Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Wed, 22 Mar 2023 22:04:03 +0530 Subject: [PATCH 079/101] Changes on reviews --- .../mgt/MetadataManagementServiceImpl.java | 8 ++- .../request/interceptor/HubspotHandler.java | 64 +++++++++++-------- .../src/main/resources/conf/mdm-ui-config.xml | 1 + 3 files changed, 44 insertions(+), 29 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java index f82c5c32953..455a5835205 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/MetadataManagementServiceImpl.java @@ -92,12 +92,14 @@ public class MetadataManagementServiceImpl implements MetadataManagementService } try { MetadataManagementDAOFactory.openConnection(); + int tenantId; if (metaKey.equals("EVALUATE_TENANTS")){ - return metadataDAO.getMetadata(MultitenantConstants.SUPER_TENANT_ID, metaKey); + // for getting evaluate tenant list to provide the live chat feature + tenantId = MultitenantConstants.SUPER_TENANT_ID; } else { - return metadataDAO.getMetadata( - PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true), metaKey); + tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); } + return metadataDAO.getMetadata(tenantId, metaKey); } catch (MetadataManagementDAOException e) { String msg = "Error occurred while retrieving the metadata entry for metaKey:" + metaKey; log.error(msg, e); diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java index 42fd8d8f099..a9d97de3a54 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.ui.request.interceptor; import com.google.gson.JsonObject; @@ -51,12 +69,10 @@ public class HubspotHandler extends HttpServlet { } catch (IOException e) { log.error("Error occurred when processing POST request.", e); } - } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) { - try { if (validateRequest(req, resp)) { HttpGet getRequest = new HttpGet(HandlerUtil.generateBackendRequestURL(req,hubspotEndpoint)); @@ -80,29 +96,25 @@ public class HubspotHandler extends HttpServlet { */ private boolean validateRequest(HttpServletRequest req, HttpServletResponse resp) throws IOException { - - httpSession = req.getSession(false); - gatewayUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_GW_HOST_ENV_VAR) - + HandlerConstants.COLON + HandlerUtil.getGatewayPort(req.getScheme()); - iotsCoreUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_CORE_HOST_ENV_VAR) - + HandlerConstants.COLON + HandlerUtil.getCorePort(req.getScheme()); - String uiConfigUrl = iotsCoreUrl + HandlerConstants.UI_CONFIG_ENDPOINT; - uiConfigJsonObject = HandlerUtil.getUIConfigAndPersistInSession(uiConfigUrl, gatewayUrl, httpSession, resp); - chatConfig = uiConfigJsonObject.get("chatConfig").getAsString(); - hubspotEndpoint = HandlerConstants.HTTPS_PROTOCOL + HandlerConstants.SCHEME_SEPARATOR + HandlerConstants.HUBSPOT_CHAT_URL; - - if (httpSession == null) { - log.error("Unauthorized, You are not logged in. Please log in to the portal"); - HandlerUtil.handleError(resp, HttpStatus.SC_UNAUTHORIZED); - return false; - } - - if (req.getMethod() == null) { - log.error("Bad Request, Request method is empty"); - HandlerUtil.handleError(resp, HttpStatus.SC_BAD_REQUEST); - return false; - } - - return true; + if (httpSession == null) { + log.error("Unauthorized, You are not logged in. Please log in to the portal"); + HandlerUtil.handleError(resp, HttpStatus.SC_UNAUTHORIZED); + return false; + } + if (req.getMethod() == null) { + log.error("Bad Request, Request method is empty"); + HandlerUtil.handleError(resp, HttpStatus.SC_BAD_REQUEST); + return false; + } + httpSession = req.getSession(false); + gatewayUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_GW_HOST_ENV_VAR) + + HandlerConstants.COLON + HandlerUtil.getGatewayPort(req.getScheme()); + iotsCoreUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_CORE_HOST_ENV_VAR) + + HandlerConstants.COLON + HandlerUtil.getCorePort(req.getScheme()); + String uiConfigUrl = iotsCoreUrl + HandlerConstants.UI_CONFIG_ENDPOINT; + uiConfigJsonObject = HandlerUtil.getUIConfigAndPersistInSession(uiConfigUrl, gatewayUrl, httpSession, resp); + chatConfig = uiConfigJsonObject.get("chatConfig").getAsString(); + hubspotEndpoint = HandlerConstants.HTTPS_PROTOCOL + HandlerConstants.SCHEME_SEPARATOR + HandlerConstants.HUBSPOT_CHAT_URL; + return true; } } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index ba100b11783..a87ef6e44ec 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -24,6 +24,7 @@ 3600 10000 + pat-na1-33bc59e0-3526-45b0-b9cf-f353d0ae0ced false From 1923fb7dfb789b0f07c454a627859f7b905a0d9d Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Fri, 24 Mar 2023 12:07:12 +0530 Subject: [PATCH 080/101] Remove log4j2.properties file --- .../src/main/resources/conf/log4j2.properties | 467 ------------------ .../src/main/resources/p2.inf | 3 +- 2 files changed, 1 insertion(+), 469 deletions(-) delete mode 100644 features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties diff --git a/features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties b/features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties deleted file mode 100644 index cb038769389..00000000000 --- a/features/logger/io.entgra.notification.logger.feature/src/main/resources/conf/log4j2.properties +++ /dev/null @@ -1,467 +0,0 @@ -# list of all appenders -#add entry "syslog" to use the syslog appender -appenders=CARBON_CONSOLE, CARBON_LOGFILE, AUDIT_LOGFILE, ATOMIKOS_LOGFILE, CARBON_TRACE_LOGFILE,ERROR_LOGFILE, OPEN_TRACING,SERVICE_APPENDER, TRACE_APPENDER, osgi, CORRELATION, BOTDATA_APPENDER,ELK_LOGFILE -#, syslog - -# CARBON_CONSOLE is set to be a ConsoleAppender using a PatternLayout. -appender.CARBON_CONSOLE.type = Console -appender.CARBON_CONSOLE.name = CARBON_CONSOLE -appender.CARBON_CONSOLE.layout.type = PatternLayout -appender.CARBON_CONSOLE.layout.pattern = [%d{ISO8601}] %5p - [%X{DeviceName}] [%X{DeviceType}] [%X{OperationCode}] [%X{TID}] - %m %n%throwable{0} -appender.CARBON_CONSOLE.filter.threshold.type = ThresholdFilter -appender.CARBON_CONSOLE.filter.threshold.level = INFO - -# CARBON_LOGFILE is set to be a DailyRollingFileAppender using a PatternLayout. -appender.CARBON_LOGFILE.type = RollingFile -appender.CARBON_LOGFILE.name = CARBON_LOGFILE -appender.CARBON_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/wso2carbon.log -appender.CARBON_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/wso2carbon-%d{MM-dd-yyyy}.log -appender.CARBON_LOGFILE.layout.type = PatternLayout -appender.CARBON_LOGFILE.layout.pattern = TID: [%tenantId] [%appName] [%d] %5p {%c} - %m%ex%n -appender.CARBON_LOGFILE.policies.type = Policies -appender.CARBON_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy -appender.CARBON_LOGFILE.policies.time.interval = 1 -appender.CARBON_LOGFILE.policies.time.modulate = true -appender.CARBON_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy -appender.CARBON_LOGFILE.policies.size.size=10MB -appender.CARBON_LOGFILE.strategy.type = DefaultRolloverStrategy -appender.CARBON_LOGFILE.strategy.max = 20 -appender.CARBON_LOGFILE.filter.threshold.type = ThresholdFilter -appender.CARBON_LOGFILE.filter.threshold.level = DEBUG - -# ELK_LOGFILE is set to be a DailyRollingFileAppender using a PatternLayout. -appender.ELK_LOGFILE.type = RollingFile -appender.ELK_LOGFILE.name = ELK_LOGFILE -appender.ELK_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/elk.log -appender.ELK_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/elk-%d{MM-dd-yyyy}.log -appender.ELK_LOGFILE.layout.type = PatternLayout -appender.ELK_LOGFILE.layout.pattern = [%d{ISO8601}] %5p - TID: [%d] [%tenantId] [%X{Name}] [%X{OperationCode}] - %m %n%throwable{0} -appender.ELK_LOGFILE.policies.type = Policies -appender.ELK_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy -appender.ELK_LOGFILE.policies.time.interval = 1 -appender.ELK_LOGFILE.policies.time.modulate = true -appender.ELK_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy -appender.ELK_LOGFILE.policies.size.size=10MB -appender.ELK_LOGFILE.strategy.type = DefaultRolloverStrategy -appender.ELK_LOGFILE.strategy.max = 20 -appender.ELK_LOGFILE.filter.threshold.type = ThresholdFilter -appender.ELK_LOGFILE.filter.threshold.level = INFO - -# Appender config to AUDIT_LOGFILE -appender.AUDIT_LOGFILE.type = RollingFile -appender.AUDIT_LOGFILE.name = AUDIT_LOGFILE -appender.AUDIT_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/audit.log -appender.AUDIT_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/audit-%d{MM-dd-yyyy}.log -appender.AUDIT_LOGFILE.layout.type = PatternLayout -appender.AUDIT_LOGFILE.layout.pattern = TID: [%tenantId] [%d] %5p {%c} - %m%ex%n -appender.AUDIT_LOGFILE.policies.type = Policies -appender.AUDIT_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy -appender.AUDIT_LOGFILE.policies.time.interval = 1 -appender.AUDIT_LOGFILE.policies.time.modulate = true -appender.AUDIT_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy -appender.AUDIT_LOGFILE.policies.size.size=10MB -appender.AUDIT_LOGFILE.strategy.type = DefaultRolloverStrategy -appender.AUDIT_LOGFILE.strategy.max = 20 -appender.AUDIT_LOGFILE.filter.threshold.type = ThresholdFilter -appender.AUDIT_LOGFILE.filter.threshold.level = INFO - -# Appender config to send Atomikos transaction logs to new log file tm.out. -appender.ATOMIKOS_LOGFILE.type = RollingFile -appender.ATOMIKOS_LOGFILE.name = ATOMIKOS_LOGFILE -appender.ATOMIKOS_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/tm.out -appender.ATOMIKOS_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/tm-%d{MM-dd-yyyy}.out -appender.ATOMIKOS_LOGFILE.layout.type = PatternLayout -appender.ATOMIKOS_LOGFILE.layout.pattern = [%d] [%tenantId] %5p {%c} - %m%ex%n -appender.ATOMIKOS_LOGFILE.policies.type = Policies -appender.ATOMIKOS_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy -appender.ATOMIKOS_LOGFILE.policies.time.interval = 1 -appender.ATOMIKOS_LOGFILE.policies.time.modulate = true -appender.ATOMIKOS_LOGFILE.strategy.type = DefaultRolloverStrategy -appender.ATOMIKOS_LOGFILE.strategy.max = 20 - -# Appender config to CARBON_TRACE_LOGFILE -appender.CARBON_TRACE_LOGFILE.type = RollingFile -appender.CARBON_TRACE_LOGFILE.name = CARBON_TRACE_LOGFILE -appender.CARBON_TRACE_LOGFILE.fileName = ${sys:carbon.home}/repository/logs/wso2carbon-trace-messages.log -appender.CARBON_TRACE_LOGFILE.filePattern = ${sys:carbon.home}/repository/logs/wso2carbon-trace-messages-%d{MM-dd-yyyy}.log -appender.CARBON_TRACE_LOGFILE.layout.type = PatternLayout -appender.CARBON_TRACE_LOGFILE.layout.pattern = [%d] [%tenantId] %5p {%c} - %m%ex%n -appender.CARBON_TRACE_LOGFILE.policies.type = Policies -appender.CARBON_TRACE_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy -appender.CARBON_TRACE_LOGFILE.policies.time.interval = 1 -appender.CARBON_TRACE_LOGFILE.policies.time.modulate = true -appender.CARBON_TRACE_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy -appender.CARBON_TRACE_LOGFILE.policies.size.size=10MB -appender.CARBON_TRACE_LOGFILE.strategy.type = DefaultRolloverStrategy -appender.CARBON_TRACE_LOGFILE.strategy.max = 20 - - -# Appender config to put correlation Log. -appender.CORRELATION.type = RollingFile -appender.CORRELATION.name = CORRELATION -appender.CORRELATION.fileName =${sys:carbon.home}/repository/logs/correlation.log -appender.CORRELATION.filePattern =${sys:carbon.home}/repository/logs/correlation-%d{MM-dd-yyyy}-%i.log.gz -appender.CORRELATION.layout.type = PatternLayout -appender.CORRELATION.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS}|%X{Correlation-ID}|%t|%m%n -appender.CORRELATION.policies.type = Policies -appender.CORRELATION.policies.time.type = TimeBasedTriggeringPolicy -appender.CORRELATION.policies.time.interval = 1 -appender.CORRELATION.policies.time.modulate = true -appender.CORRELATION.policies.size.type = SizeBasedTriggeringPolicy -appender.CORRELATION.policies.size.size=10MB -appender.CORRELATION.strategy.type = DefaultRolloverStrategy -appender.CORRELATION.strategy.max = 20 -appender.CORRELATION.filter.threshold.type = ThresholdFilter -appender.CORRELATION.filter.threshold.level = INFO - - -appender.ERROR_LOGFILE.type = RollingFile -appender.ERROR_LOGFILE.name = ERROR_LOGFILE -appender.ERROR_LOGFILE.fileName =${sys:carbon.home}/repository/logs/wso2-apigw-errors.log -appender.ERROR_LOGFILE.filePattern =${sys:carbon.home}/repository/logs/wso2-apigw-errors-%d{MM-dd-yyyy}-%i.log.gz -appender.ERROR_LOGFILE.layout.type = PatternLayout -appender.ERROR_LOGFILE.layout.pattern = %d{ISO8601} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n -appender.ERROR_LOGFILE.policies.type = Policies -appender.ERROR_LOGFILE.policies.time.type = TimeBasedTriggeringPolicy -appender.ERROR_LOGFILE.policies.time.interval = 1 -appender.ERROR_LOGFILE.policies.time.modulate = true -appender.ERROR_LOGFILE.policies.size.type = SizeBasedTriggeringPolicy -appender.ERROR_LOGFILE.policies.size.size=10MB -appender.ERROR_LOGFILE.strategy.type = DefaultRolloverStrategy -appender.ERROR_LOGFILE.strategy.max = 20 -appender.ERROR_LOGFILE.filter.threshold.type = ThresholdFilter -appender.ERROR_LOGFILE.filter.threshold.level = WARN - - -appender.CARBON_SYS_LOG.type = Syslog -appender.CARBON_SYS_LOG.name = CARBON_SYS_LOG -appender.CARBON_SYS_LOG.host = localhost -appender.CARBON_SYS_LOG.facility = USER -appender.CARBON_SYS_LOG.layout.type = PatternLayout -appender.CARBON_SYS_LOG.layout.pattern = [%d] %5p - %x %m {%c}%n -appender.CARBON_SYS_LOG.filter.threshold.type = ThresholdFilter -appender.CARBON_SYS_LOG.filter.threshold.level = DEBUG - -appender.OPEN_TRACING.type = RollingFile -appender.OPEN_TRACING.name = OPEN_TRACING -appender.OPEN_TRACING.fileName =${sys:carbon.home}/repository/logs/wso2-apimgt-open-tracing.log -appender.OPEN_TRACING.filePattern =${sys:carbon.home}/repository/logs/wso2-apimgt-open-tracing-%d{MM-dd-yyyy}-%i.log.gz -appender.OPEN_TRACING.layout.type = PatternLayout -appender.OPEN_TRACING.layout.pattern = %d{HH:mm:ss,SSS} [%X{ip}-%X{host}] [%t] %5p %m%nn -appender.OPEN_TRACING.policies.type = Policies -appender.OPEN_TRACING.policies.time.type = TimeBasedTriggeringPolicy -appender.OPEN_TRACING.policies.time.interval = 1 -appender.OPEN_TRACING.policies.time.modulate = true -appender.OPEN_TRACING.policies.size.type = SizeBasedTriggeringPolicy -appender.OPEN_TRACING.policies.size.size=10MB -appender.OPEN_TRACING.strategy.type = DefaultRolloverStrategy -appender.OPEN_TRACING.strategy.max = 20 -appender.OPEN_TRACING.filter.threshold.type = ThresholdFilter -appender.OPEN_TRACING.filter.threshold.level = TRACE - - -appender.TRACE_APPENDER.type = RollingFile -appender.TRACE_APPENDER.name = TRACE_APPENDER -appender.TRACE_APPENDER.fileName = ${sys:carbon.home}/repository/logs/wso2-apigw-trace.log -appender.TRACE_APPENDER.filePattern = ${sys:carbon.home}/repository/logs/wso2-apigw-trace-%d{MM-dd-yyyy}.log -appender.TRACE_APPENDER.layout.type = PatternLayout -appender.TRACE_APPENDER.layout.pattern = %d{HH:mm:ss,SSS} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n -appender.TRACE_APPENDER.policies.type = Policies -appender.TRACE_APPENDER.policies.time.type = TimeBasedTriggeringPolicy -appender.TRACE_APPENDER.policies.time.interval = 1 -appender.TRACE_APPENDER.policies.time.modulate = true -appender.TRACE_APPENDER.strategy.type = DefaultRolloverStrategy -appender.TRACE_APPENDER.strategy.max = 20 - -appender.SERVICE_APPENDER.type = RollingFile -appender.SERVICE_APPENDER.name = SERVICE_APPENDER -appender.SERVICE_APPENDER.fileName = ${sys:carbon.home}/repository/logs/wso2-apigw-service.log -appender.SERVICE_APPENDER.filePattern = ${sys:carbon.home}/repository/logs/wso2-apigw-service-%i.log -appender.SERVICE_APPENDER.layout.type = PatternLayout -appender.SERVICE_APPENDER.layout.pattern = %d{ISO8601} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n -appender.SERVICE_APPENDER.policies.type = Policies -appender.SERVICE_APPENDER.policies.size.type = SizeBasedTriggeringPolicy -appender.SERVICE_APPENDER.policies.size.size=1000KB -appender.SERVICE_APPENDER.strategy.type = DefaultRolloverStrategy -appender.SERVICE_APPENDER.strategy.max = 10 - - -appender.osgi.type = PaxOsgi -appender.osgi.name = PaxOsgi -appender.osgi.filter = * - -loggers = AUDIT_LOG, trace-messages, org-apache-coyote, com-hazelcast, Owasp-CsrfGuard, org-apache-axis2-wsdl-codegen-writer-PrettyPrinter, org-apache-axis2-clustering, org-apache-catalina, org-apache-tomcat, org-wso2-carbon-apacheds, org-apache-directory-server-ldap, org-apache-directory-server-core-event, com-atomikos, org-quartz, org-apache-jackrabbit-webdav, org-apache-juddi, org-apache-commons-digester-Digester, org-apache-jasper-compiler-TldLocationsCache, org-apache-qpid, org-apache-qpid-server-Main, qpid-message, qpid-message-broker-listening, org-apache-tiles, org-apache-commons-httpclient, org-apache-solr, me-prettyprint-cassandra-hector-TimingLogger, org-apache-axis-enterprise, org-apache-directory-shared-ldap, org-apache-directory-server-ldap-handlers, org-apache-directory-shared-ldap-entry-DefaultServerAttribute, org-apache-directory-server-core-DefaultDirectoryService, org-apache-directory-shared-ldap-ldif-LdifReader, org-apache-directory-server-ldap-LdapProtocolHandler, org-apache-directory-server-core, org-apache-directory-server-ldap-LdapSession, DataNucleus, Datastore, Datastore-Schema, JPOX-Datastore, JPOX-Plugin, JPOX-MetaData, JPOX-Query, JPOX-General, JPOX-Enhancer, org-apache-hadoop-hive, hive, ExecMapper, ExecReducer, net-sf-ehcache-config-ConfigurationFactory, axis2Deployment, equinox, tomcat2, StAXDialectDetector, trace, synapse, synapse_transport, axis2, axis2_transport, org-wso2-carbon, hunsicker, thrift-publisher, service_logger, trace_logger, org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator, wso2-callhome, correlation, JAGGERY_LOG,ELK_LOG - -logger.JAGGERY_LOG.name = JAGGERY -logger.JAGGERY_LOG.level = INFO - -logger.ELK_LOG.name = org.wso2.carbon.device.mgt -logger.ELK_LOG.level = INFO -logger.ELK_LOG.additivity = false -logger.ELK_LOG.appenderRef.ELK_LOGFILE.ref = ELK_LOGFILE - -logger.AUDIT_LOG.name = AUDIT_LOG -logger.AUDIT_LOG.level = INFO -logger.AUDIT_LOG.appenderRef.AUDIT_LOGFILE.ref = AUDIT_LOGFILE -logger.AUDIT_LOG.additivity = false - -logger.trace-messages.name = trace.messages -logger.trace-messages.level = TRACE -logger.trace-messages.appenderRef.CARBON_TRACE_LOGFILE.ref = CARBON_TRACE_LOGFILE - -logger.org-apache-coyote.name = org.apache.coyote -logger.org-apache-coyote.level = WARN - -logger.com-hazelcast.name = com.hazelcast -logger.com-hazelcast.level = ERROR - -logger.Owasp-CsrfGuard.name = Owasp.CsrfGuard -logger.Owasp-CsrfGuard.level = WARN - -logger.org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.name = org.apache.axis2.wsdl.codegen.writer.PrettyPrinter -logger.org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.level = ERROR -logger.org-apache-axis2-wsdl-codegen-writer-PrettyPrinter.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-axis2-clustering.name = org.apache.axis2.clustering -logger.org-apache-axis2-clustering.level = INFO -logger.org-apache-axis2-clustering.additivity = false - -logger.org-apache.name = org.apache -logger.org-apache.level = INFO -logger.org-apache.additivity = false -logger.org-apache.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-catalina.name = org.apache.catalina -logger.org-apache-catalina.level = ERROR - -logger.org-apache-tomcat.name = org.apache.tomcat -logger.org-apache-tomcat.level = INFO - -logger.org-wso2-carbon-apacheds.name = org.wso2.carbon.apacheds -logger.org-wso2-carbon-apacheds.level = WARN - -logger.org-apache-directory-server-ldap.name = org.apache.directory.server.ldap -logger.org-apache-directory-server-ldap.level = ERROR - -logger.org-apache-directory-server-core-event.name = org.apache.directory.server.core.event -logger.org-apache-directory-server-core-event.level = WARN - -logger.com-atomikos.name = com.atomikos -logger.com-atomikos.level = INFO -logger.com-atomikos.additivity = false -logger.com-atomikos.appenderRef.ATOMIKOS_LOGFILE.ref = ATOMIKOS_LOGFILE - -logger.org-quartz.name = org.quartz -logger.org-quartz.level = WARN - -logger.org-apache-jackrabbit-webdav.name = org.apache.jackrabbit.webdav -logger.org-apache-jackrabbit-webdav.level = WARN - -logger.org-apache-juddi.name = org.apache.juddi -logger.org-apache-juddi.level = ERROR - -logger.org-apache-commons-digester-Digester.name = org.apache.commons.digester.Digester -logger.org-apache-commons-digester-Digester.level = WARN - -logger.org-apache-jasper-compiler-TldLocationsCache.name = org.apache.jasper.compiler.TldLocationsCache -logger.org-apache-jasper-compiler-TldLocationsCache.level = WARN - -logger.org-apache-qpid.name = org.apache.qpid -logger.org-apache-qpid.level = WARN - -logger.org-apache-qpid-server-Main.name = org.apache.qpid.server.Main -logger.org-apache-qpid-server-Main.level = INFO - -logger.qpid-message.name = qpid.message -logger.qpid-message.level = WARN - -logger.qpid-message-broker-listening.name = qpid.message.broker.listening -logger.qpid-message-broker-listening.level = INFO - -logger.org-apache-tiles.name = org.apache.tiles -logger.org-apache-tiles.level = WARN - -logger.org-apache-commons-httpclient.name = org.apache.commons.httpclient -logger.org-apache-commons-httpclient.level = ERROR - -logger.org-apache-solr.name = org.apache.solr -logger.org-apache-solr.level = ERROR - -logger.me-prettyprint-cassandra-hector-TimingLogger.name = me.prettyprint.cassandra.hector.TimingLogger -logger.me-prettyprint-cassandra-hector-TimingLogger.level = ERROR - -logger.org-wso2.name = org.wso2 -logger.org-wso2.level = INFO - -logger.org-wso2-carbon.name = org.wso2.carbon -logger.org-wso2-carbon.level = INFO - -logger.org-apache-axis-enterprise.name = org.apache.axis2.enterprise -logger.org-apache-axis-enterprise.level = FATAL -logger.org-apache-axis-enterprise.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-shared-ldap.name = org.apache.directory.shared.ldap -logger.org-apache-directory-shared-ldap.level = WARN -logger.org-apache-directory-shared-ldap.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-server-ldap-handlers.name = org.apache.directory.server.ldap.handlers -logger.org-apache-directory-server-ldap-handlers.level = WARN -logger.org-apache-directory-server-ldap-handlers.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -#Following are to remove false error messages from startup (IS) -logger.org-apache-directory-shared-ldap-entry-DefaultServerAttribute.name = org.apache.directory.shared.ldap.entry.DefaultServerAttribute -logger.org-apache-directory-shared-ldap-entry-DefaultServerAttribute.level = FATAL -logger.org-apache-directory-shared-ldap-entry-DefaultServerAttribute.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-server-core-DefaultDirectoryService.name = org.apache.directory.server.core.DefaultDirectoryService -logger.org-apache-directory-server-core-DefaultDirectoryService.level = ERROR -logger.org-apache-directory-server-core-DefaultDirectoryService.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-shared-ldap-ldif-LdifReader.name = org.apache.directory.shared.ldap.ldif.LdifReader -logger.org-apache-directory-shared-ldap-ldif-LdifReader.level = ERROR -logger.org-apache-directory-shared-ldap-ldif-LdifReader.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-server-ldap-LdapProtocolHandler.name = org.apache.directory.server.ldap.LdapProtocolHandler -logger.org-apache-directory-server-ldap-LdapProtocolHandler.level = ERROR -logger.org-apache-directory-server-ldap-LdapProtocolHandler.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-server-core.name = org.apache.directory.server.core -logger.org-apache-directory-server-core.level = ERROR -logger.org-apache-directory-server-core.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.org-apache-directory-server-ldap-LdapSession.name = org.apache.directory.server.ldap.LdapSession -logger.org-apache-directory-server-ldap-LdapSession.level = Error -logger.org-apache-directory-server-ldap-LdapSession.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE - -logger.correlation.name = correlation -logger.correlation.level = INFO -logger.correlation.appenderRef.CORRELATION.ref = CORRELATION -logger.correlation.additivity = false - -#Hive Related Log configurations -logger.DataNucleus.name = DataNucleus -logger.DataNucleus.level = ERROR - -logger.Datastore.name = Datastore -logger.Datastore.level = ERROR - -logger.Datastore-Schema.name = Datastore.Schema -logger.Datastore-Schema.level = ERROR - -logger.JPOX-Datastore.name = JPOX.Datastore -logger.JPOX-Datastore.level = ERROR - -logger.JPOX-Plugin.name = JPOX.Plugin -logger.JPOX-Plugin.level = ERROR - -logger.JPOX-MetaData.name = JPOX.MetaData -logger.JPOX-MetaData.level = ERROR - -logger.JPOX-Query.name = JPOX.Query -logger.JPOX-Query.level = ERROR - -logger.JPOX-General.name = JPOX.General -logger.JPOX-General.level = ERROR - -logger.JPOX-Enhancer.name = JPOX.Enhancer -logger.JPOX-Enhancer.level = ERROR - -logger.org-apache-hadoop-hive.name = org.apache.hadoop.hive -logger.org-apache-hadoop-hive.level = WARN - -logger.hive.name = hive -logger.hive.level = WARN - -logger.ExecMapper.name = ExecMapper -logger.ExecMapper.level = WARN - -logger.ExecReducer.name = ExecReducer -logger.ExecReducer.level = WARN - -logger.net-sf-ehcache-config-ConfigurationFactory.name = net.sf.ehcache.config.ConfigurationFactory -logger.net-sf-ehcache-config-ConfigurationFactory.level = ERROR - -logger.axis2Deployment.name = org.apache.axis2.deployment -logger.axis2Deployment.level = WARN - -logger.equinox.name = org.eclipse.equinox -logger.equinox.level = FATAL - -logger.tomcat2.name = tomcat -logger.tomcat2.level = FATAL - -logger.StAXDialectDetector.name = org.apache.axiom.util.stax.dialect.StAXDialectDetector -logger.StAXDialectDetector.level = ERROR - - -logger.trace.name = trace -logger.trace.level = TRACE -logger.trace.appenderRef.OPEN_TRACING.ref = OPEN_TRACING - -logger.synapse.name = org.apache.synapse -logger.synapse.level = INFO - -logger.synapse_transport.name = org.apache.synapse.transport -logger.synapse_transport.level = INFO - - -logger.axis2.name = org.apache.axis2 -logger.axis2.level = INFO - -logger.axis2_transport.name = org.apache.axis2.transport -logger.axis2_transport.level = INFO - - -logger.hunsicker.name = de.hunsicker.jalopy.io -logger.hunsicker.level = FATAL - -logger.synapse-headers.name = org.apache.synapse.transport.http.headers -logger.synapse-headers.level = DEBUG - -logger.synapse-wire.name = org.apache.synapse.transport.http.wire -logger.synapse-wire.level = DEBUG - -logger.thrift-publisher.name = org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher -logger.thrift-publisher.level = WARN - -logger.service_logger.name = SERVICE_LOGGER -logger.service_logger.level = INFO -logger.service_logger.additivity = false -logger.service_logger.appenderRef.SERVICE_APPENDER.ref = SERVICE_APPENDER - -logger.wso2-callhome.name = org.wso2.callhome -logger.wso2-callhome.level = INFO - -logger.trace_logger.name = TRACE_LOGGER -logger.trace_logger.level = INFO -logger.trace_logger.appenderRef.TRACE_APPENDER.ref = TRACE_APPENDER - - -# root loggers -rootLogger.level = ERROR -rootLogger.appenderRef.CARBON_CONSOLE.ref = CARBON_CONSOLE -rootLogger.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE -rootLogger.appenderRef.ERROR_LOGFILE.ref = ERROR_LOGFILE -rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi -#rootLogger.appenderReg.CARBON_SYS_LOG.ref = CARBON_SYS_LOG -#rootLogger.appenderRef.syslog.ref = syslog -# bot detection feature appender -appender.BOTDATA_APPENDER.type=RollingFile -appender.BOTDATA_APPENDER.name=BOTDATA_APPENDER -appender.BOTDATA_APPENDER.fileName=${sys:carbon.home}/repository/logs/wso2-BotDetectedData.log -appender.BOTDATA_APPENDER.filePattern=${sys:carbon.home}/repository/logs/wso2-BotDetectedData-%d{MM-dd-yyyy}.log -appender.BOTDATA_APPENDER.layout.type=PatternLayout -appender.BOTDATA_APPENDER.layout.pattern=[%d] [%tenantId] %5p {%c} - %m%ex%n -appender.BOTDATA_APPENDER.policies.type=Policies -appender.BOTDATA_APPENDER.policies.time.type=TimeBasedTriggeringPolicy -appender.BOTDATA_APPENDER.policies.time.interval=1 -appender.BOTDATA_APPENDER.policies.time.modulate=true -appender.BOTDATA_APPENDER.policies.size.type=SizeBasedTriggeringPolicy -appender.BOTDATA_APPENDER.policies.size.size=10MB -appender.BOTDATA_APPENDER.strategy.type=DefaultRolloverStrategy -appender.BOTDATA_APPENDER.strategy.max=20 -logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.name=org.wso2.carbon.apimgt.gateway.mediators.BotDetectionMediator -logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.level=INFO -logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.appenderRef.BOTDATA_APPENDER.ref=BOTDATA_APPENDER -logger.org-wso2-carbon-apimgt-gateway-mediators-BotDetectionMediator.additivity=false -category.SERVICE_APPENDER._OpenService_=TRACE_APPENDER, BOTDATA_APPENDER diff --git a/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf b/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf index 5fb8862c62c..7ab37b9d7d7 100644 --- a/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf +++ b/features/logger/io.entgra.notification.logger.feature/src/main/resources/p2.inf @@ -1,2 +1 @@ -instructions.configure = \ -org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.notification.logger_${feature.version}/conf/log4j2.properties,target:${installFolder}/../../../repository/conf/log4j2.properties,overwrite:true);\ \ No newline at end of file +instructions.configure = \ \ No newline at end of file From cad2468b3d5074d522803a083a2fc16f0a2a5545 Mon Sep 17 00:00:00 2001 From: pramilaniroshan Date: Fri, 24 Mar 2023 12:07:56 +0530 Subject: [PATCH 081/101] Fix osgi import package error --- components/logger/io.entgra.notification.logger/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index 0fadb055d77..6044056d1d0 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -71,7 +71,7 @@ ${carbon.device.mgt.version} Device Notification Logger Bundle - io.entgra.device.mgt.extensions.logger.* + io.entgra.device.mgt.extensions.logger.*, org.apache.commons.logging;version="[1.2,2)", org.apache.log4j;version="[1.2,2)", org.wso2.carbon.context;version="[4.4,5) From 4f7b3177614b7ffab252780b4ea07f5aacf8ccd4 Mon Sep 17 00:00:00 2001 From: rajitha Date: Wed, 22 Mar 2023 22:50:57 +0530 Subject: [PATCH 082/101] Add functionality to mark previous policy bundles as repeated --- .../PolicyEnforcementDelegatorImpl.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java index 3667f258c61..74e5d8e7f17 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/enforcement/PolicyEnforcementDelegatorImpl.java @@ -44,6 +44,8 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementExcept import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation; import org.wso2.carbon.device.mgt.core.operation.mgt.OperationMgtConstants; +import org.wso2.carbon.device.mgt.core.operation.mgt.PolicyOperation; +import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint; import org.wso2.carbon.policy.mgt.common.PolicyEvaluationException; import org.wso2.carbon.policy.mgt.common.PolicyManagementException; @@ -96,6 +98,7 @@ public class PolicyEnforcementDelegatorImpl implements PolicyEnforcementDelegato */ if (devicePolicy == null || devicePolicy.getId() != policy.getId() || updatedPolicyIds.contains (policy.getId())) { + this.markPreviousPolicyBundlesRepeated(device); this.addPolicyRevokeOperation(deviceIdentifiers); this.addPolicyOperation(deviceIdentifiers, policy); } @@ -202,4 +205,29 @@ public class PolicyEnforcementDelegatorImpl implements PolicyEnforcementDelegato throw new PolicyDelegationException(msg, e); } } + + /** + * Update the previous pending policy operation's status as REPEATED + * @param device Device + * @throws PolicyDelegationException throws when getting pending operations + */ + public void markPreviousPolicyBundlesRepeated(Device device) throws PolicyDelegationException { + DeviceManagementProviderService deviceManagerService = PolicyManagementDataHolder.getInstance(). + getDeviceManagementService(); + try { + List operations = deviceManagerService.getPendingOperations(device); + for(Operation operation : operations) { + String operationCode = operation.getCode(); + if(PolicyOperation.POLICY_OPERATION_CODE.equals(operationCode) || + OperationMgtConstants.OperationCodes.POLICY_REVOKE.equals(operationCode)) { + operation.setStatus(Operation.Status.REPEATED); + deviceManagerService.updateOperation(device, operation); + } + } + } catch (OperationManagementException e) { + String msg = "Error occurred while retrieving pending operations of device id "+device.getId(); + log.error(msg, e); + throw new PolicyDelegationException(msg, e); + } + } } From 798e8519226cc3b355a2f046b3e0afb2b3b34060 Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Mon, 27 Mar 2023 08:24:05 +0530 Subject: [PATCH 083/101] Add modifications --- .../mgt/core/config/ui/HubspotChat.java | 54 +++++++++++++++++++ .../mgt/core/config/ui/UIConfiguration.java | 13 +++-- .../request/interceptor/HubspotHandler.java | 4 +- .../src/main/resources/conf/mdm-ui-config.xml | 11 +++- 4 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java new file mode 100644 index 00000000000..6ae77ee6815 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java @@ -0,0 +1,54 @@ +package org.wso2.carbon.device.mgt.core.config.ui; + +import javax.xml.bind.annotation.XmlElement; + +public class HubspotChat { + private boolean isEnableHubspot; + private String trackingUrl; + private String accessToken; + private String senderActorId; + private long channelAccountId; + + @XmlElement(name = "EnableHubspot") + public boolean isEnableHubspot() { + return isEnableHubspot; + } + + public void setEnableHubspot(boolean enableHubspot) { + isEnableHubspot = enableHubspot; + } + + @XmlElement(name = "TrackingUrl") + public String getTrackingUrl() { + return trackingUrl; + } + + public void setTrackingUrl(String trackingUrl) { + this.trackingUrl = trackingUrl; + } + + @XmlElement(name = "AccessToken") + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + @XmlElement(name = "SenderActorId") + public String getSenderActorId() { + return senderActorId; + } + + public void setSenderActorId(String senderActorId) { + this.senderActorId = senderActorId; + } + @XmlElement(name = "ChannelAccountId") + public long getChannelAccountId() { + return channelAccountId; + } + + public void setChannelAccountId(long channelAccountId) { + this.channelAccountId = channelAccountId; + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java index e5b553fec5a..dca4a76a6bb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/UIConfiguration.java @@ -34,7 +34,7 @@ public class UIConfiguration { private int sessionTimeOut; private int loginCacheCapacity; private Billing billing; - private String chatConfig; + private HubspotChat hubspotChat; @XmlElement(name = "AppRegistration", required=true) public AppRegistration getAppRegistration() { @@ -64,15 +64,14 @@ public class UIConfiguration { isSsoEnable = ssoEnable; } - @XmlElement(name = "ChatConfig", required = true) - public String getChatConfig() { - return chatConfig; + @XmlElement(name = "HubspotChat", required = true) + public HubspotChat getHubspotChat() { + return hubspotChat; } - public void setChatConfig(String chatConfig) { - this.chatConfig = chatConfig; + public void setHubspotChat(HubspotChat hubspotChat) { + this.hubspotChat = hubspotChat; } - @XmlElement(name = "Billing", required=true) public Billing getBilling() { return billing; diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java index a9d97de3a54..b649d341fe5 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/src/main/java/io/entgra/ui/request/interceptor/HubspotHandler.java @@ -96,6 +96,7 @@ public class HubspotHandler extends HttpServlet { */ private boolean validateRequest(HttpServletRequest req, HttpServletResponse resp) throws IOException { + httpSession = req.getSession(false); if (httpSession == null) { log.error("Unauthorized, You are not logged in. Please log in to the portal"); HandlerUtil.handleError(resp, HttpStatus.SC_UNAUTHORIZED); @@ -106,14 +107,13 @@ public class HubspotHandler extends HttpServlet { HandlerUtil.handleError(resp, HttpStatus.SC_BAD_REQUEST); return false; } - httpSession = req.getSession(false); gatewayUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_GW_HOST_ENV_VAR) + HandlerConstants.COLON + HandlerUtil.getGatewayPort(req.getScheme()); iotsCoreUrl = req.getScheme() + HandlerConstants.SCHEME_SEPARATOR + System.getProperty(HandlerConstants.IOT_CORE_HOST_ENV_VAR) + HandlerConstants.COLON + HandlerUtil.getCorePort(req.getScheme()); String uiConfigUrl = iotsCoreUrl + HandlerConstants.UI_CONFIG_ENDPOINT; uiConfigJsonObject = HandlerUtil.getUIConfigAndPersistInSession(uiConfigUrl, gatewayUrl, httpSession, resp); - chatConfig = uiConfigJsonObject.get("chatConfig").getAsString(); + chatConfig = uiConfigJsonObject.get("hubspotChat").getAsJsonObject().get("accessToken").getAsString(); hubspotEndpoint = HandlerConstants.HTTPS_PROTOCOL + HandlerConstants.SCHEME_SEPARATOR + HandlerConstants.HUBSPOT_CHAT_URL; return true; } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index a87ef6e44ec..d30f414885b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -24,8 +24,15 @@ 3600 10000 - - pat-na1-33bc59e0-3526-45b0-b9cf-f353d0ae0ced + + + false + tracking_url + + access_token + sender_actorId + channel_AccountId + false true From 4dac92b2602559659c692bfdc1da1393d23cca4c Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Mon, 27 Mar 2023 15:05:57 +0530 Subject: [PATCH 084/101] fixed adding operation and operation response paths with emqx integration --- .../jaxrs/service/impl/DeviceManagementServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index e37472bb694..b21eb4bcf8d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -872,6 +872,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceManagementProviderService deviceManagementProviderService = DeviceMgtAPIUtils.getDeviceManagementService(); int validityTime = 3600; + // add scopes for event topics List mqttEventTopicStructure = new ArrayList<>(); try { DeviceType deviceType = deviceManagementProviderService.getDeviceType(type); @@ -912,10 +913,16 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { topic = topic.replace("${deviceId}", id); } topic = topic.replace("/",":"); - scopes.append(" perm:topic:sub:".concat(topic)); +// scopes.append(" perm:topic:sub:".concat(topic)); scopes.append(" perm:topic:pub:".concat(topic)); } + // add scopes for retrieve operation topic /tenantDomain/deviceType/deviceId/operation/# + scopes.append(" perm:topic:sub:" + tenantDomain + ":" + type + ":" + id + ":operation"); + + // add scopes for update operation /tenantDomain/deviceType/deviceId/update/operation + scopes.append(" perm:topic:pub:" + tenantDomain + ":" + type + ":" + id + ":update:operation"); + TokenRequest tokenRequest = new TokenRequest(dcrResponse.getClientId(), dcrResponse.getClientSecret(), null, scopes.toString(), "client_credentials", null, null, null, null, validityTime); From 3d8f7046997be28cdae897ad6bfeea0bda0e3c99 Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Mon, 27 Mar 2023 15:55:54 +0530 Subject: [PATCH 085/101] Add license --- .../device/mgt/core/config/ui/HubspotChat.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java index 6ae77ee6815..728176e1dbe 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java @@ -1,3 +1,21 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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.device.mgt.core.config.ui; import javax.xml.bind.annotation.XmlElement; From f89e71d4bf2a730f181a179c571239507b0c3299 Mon Sep 17 00:00:00 2001 From: osh Date: Mon, 27 Mar 2023 19:46:51 +0530 Subject: [PATCH 086/101] Reuse email implementation fixes http://roadmap.entgra.net/issues/9939 --- .../mgt/core/DeviceManagementConstants.java | 1 + .../DeviceManagementProviderServiceImpl.java | 39 +++++-------------- .../email/templates/enrollment-guide.vm | 34 ++++++++++++++++ 3 files changed, 44 insertions(+), 30 deletions(-) create mode 100644 features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/enrollment-guide.vm diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java index 9ba76f99fb9..0d45a2efc1d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementConstants.java @@ -136,6 +136,7 @@ public final class DeviceManagementConstants { public static final String POLICY_VIOLATE_TEMPLATE = "policy-violating-notifier"; public static final String USER_WELCOME_TEMPLATE = "user-welcome"; public static final String DEFAULT_ENROLLMENT_TEMPLATE = "default-enrollment-invitation"; + public static final String ENROLLMENT_GUIDE_TEMPLATE = "enrollment-guide"; } public static final class OperationAttributes { 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 ded3d067fe7..2b5c0dffae3 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 @@ -1583,38 +1583,17 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv @Override public void sendEnrolmentGuide(String enrolmentGuide) throws DeviceManagementException { - String to = "oshani@entgra.io"; - String from = "oshsilva1996@gmail.com"; - String host = "smtp.gmail.com"; - Properties properties = System.getProperties(); - - // Setup mail server - properties.put("mail.smtp.host", host); - properties.put("mail.smtp.port", "465"); - properties.put("mail.smtp.ssl.enable", "true"); - properties.put("mail.smtp.auth", "true"); - - Session session = Session.getInstance(properties, new javax.mail.Authenticator() { - - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication("oshsilva1996@gmail.com", "layzvxhcxlwzkgwf"); - } - - }); - - // Used to debug SMTP issues - session.setDebug(true); + Properties props = new Properties(); + props.setProperty("mail-subject", "[Enrollment Guide Triggered] (#" + ++count + ")"); + props.setProperty("enrollment-guide", enrolmentGuide); try { - MimeMessage message = new MimeMessage(session); - message.setFrom(new InternetAddress(from)); - message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); - message.setSubject("[Enrollment Guide Triggered] (#" + ++count + ")"); - message.setText(enrolmentGuide); - Transport.send(message); - } catch (MessagingException e) { - String msg = "Error occurred while sending message to support dev group"; - log.error(msg, e); + EmailMetaInfo metaInfo = new EmailMetaInfo("support-dev-group@entgra.io", props); + sendEnrolmentInvitation(DeviceManagementConstants.EmailAttributes.ENROLLMENT_GUIDE_TEMPLATE, metaInfo); + + } catch (ConfigurationManagementException e) { + String msg = "Error occurred while sending the mail."; + log.error(msg); throw new DeviceManagementException(msg, e); } } diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/enrollment-guide.vm b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/enrollment-guide.vm new file mode 100644 index 00000000000..f4f16cc8d7b --- /dev/null +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/src/main/resources/email/templates/enrollment-guide.vm @@ -0,0 +1,34 @@ +#* + Copyright (c) 2023, 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. +*# + + $mail-subject + + + + Enrollment Questions and Answers + + +

+ $enrollment-guide +
+ + + ]]> + + From 0f28d318ed972cbcbc806706faaf436d9057b56b Mon Sep 17 00:00:00 2001 From: osh Date: Mon, 27 Mar 2023 20:09:04 +0530 Subject: [PATCH 087/101] Remove unwanted code fixes http://roadmap.entgra.net/issues/9939 --- .../service/api/DeviceManagementService.java | 1 - .../impl/DeviceManagementServiceImpl.java | 1 - .../DeviceManagementProviderService.java | 2 -- .../DeviceManagementProviderServiceImpl.java | 28 ++----------------- 4 files changed, 2 insertions(+), 30 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index 66867545b2d..df9cbfaae1d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -54,7 +54,6 @@ import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.Feature; import org.wso2.carbon.device.mgt.common.app.mgt.Application; import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; -import org.wso2.carbon.device.mgt.common.geo.service.Alert; import org.wso2.carbon.device.mgt.common.operation.mgt.Activity; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 813222a1b1f..83081b52294 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -61,7 +61,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.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; -import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException; import org.wso2.carbon.device.mgt.common.device.details.DeviceData; import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; 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 4ea3cd30de5..3dedb8d5511 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 @@ -67,8 +67,6 @@ import org.wso2.carbon.device.mgt.core.dto.DeviceType; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion; import org.wso2.carbon.device.mgt.common.geo.service.GeoCluster; -import javax.mail.MessagingException; -import java.io.IOException; import java.sql.SQLException; import java.sql.Timestamp; import java.util.Collection; 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 2b5c0dffae3..f6b9274ac76 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 @@ -38,7 +38,6 @@ package org.wso2.carbon.device.mgt.core.service; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import org.apache.commons.collections.map.SingletonMap; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -162,11 +161,11 @@ import org.wso2.carbon.tenant.mgt.services.TenantMgtAdminService; import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.utils.multitenancy.MultitenantConstants; -import javax.mail.*; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; -import java.io.*; +import java.io.IOException; +import java.io.StringWriter; import java.lang.reflect.Type; import java.sql.SQLException; import java.sql.Timestamp; @@ -186,12 +185,6 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMultipart; -import javax.ws.rs.core.MultivaluedMap; - public class DeviceManagementProviderServiceImpl implements DeviceManagementProviderService, PluginInitializationListener { @@ -1563,23 +1556,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } } - // save to somewhere - private void writeFile(byte[] content, String filename) throws IOException { - - File file = new File(filename); - - if (!file.exists()) { - file.createNewFile(); - } - - FileOutputStream fop = new FileOutputStream(file); - - fop.write(content); - fop.flush(); - fop.close(); - - } - @Override public void sendEnrolmentGuide(String enrolmentGuide) throws DeviceManagementException { From d2bc4632842871a58eaf5f689b4018fd24614e97 Mon Sep 17 00:00:00 2001 From: osh Date: Tue, 28 Mar 2023 12:34:11 +0530 Subject: [PATCH 088/101] Resolve comments fixes http://roadmap.entgra.net/issues/9939 --- .../device/mgt/core/config/DeviceManagementConfig.java | 10 ++++++++++ .../service/DeviceManagementProviderServiceImpl.java | 7 ++++--- .../src/main/resources/conf/cdm-config.xml | 1 + .../templates/repository/conf/cdm-config.xml.j2 | 9 +++++++-- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java index f2ad40abb70..052bb878864 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java @@ -70,6 +70,7 @@ public final class DeviceManagementConfig { private EnrollmentNotificationConfiguration enrollmentNotificationConfiguration; private DefaultRoles defaultRoles; private OperationTimeoutConfiguration operationTimeoutConfiguration; + private String enrollmentGuideMail; @XmlElement(name = "ManagementRepository", required = true) public DeviceManagementConfigRepository getDeviceManagementConfigRepository() { @@ -265,5 +266,14 @@ public final class DeviceManagementConfig { public void setOperationTimeoutConfiguration(OperationTimeoutConfiguration operationTimeoutConfiguration) { this.operationTimeoutConfiguration = operationTimeoutConfiguration; } + + @XmlElement(name = "EnrollmentGuideMail", required = true) + public String getEnrollmentGuideMail() { + return enrollmentGuideMail; + } + + public void setEnrollmentGuideMail(String enrollmentGuideMail) { + this.enrollmentGuideMail = enrollmentGuideMail; + } } 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 f6b9274ac76..2ae6e1f7c55 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 @@ -1559,17 +1559,18 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv @Override public void sendEnrolmentGuide(String enrolmentGuide) throws DeviceManagementException { + DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(); + String recipientMail = config.getEnrollmentGuideMail(); Properties props = new Properties(); props.setProperty("mail-subject", "[Enrollment Guide Triggered] (#" + ++count + ")"); props.setProperty("enrollment-guide", enrolmentGuide); try { - EmailMetaInfo metaInfo = new EmailMetaInfo("support-dev-group@entgra.io", props); + EmailMetaInfo metaInfo = new EmailMetaInfo(recipientMail, props); sendEnrolmentInvitation(DeviceManagementConstants.EmailAttributes.ENROLLMENT_GUIDE_TEMPLATE, metaInfo); - } catch (ConfigurationManagementException e) { String msg = "Error occurred while sending the mail."; - log.error(msg); + log.error(msg, e); throw new DeviceManagementException(msg, e); } } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index 340b22802b7..9598f16000c 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -187,5 +187,6 @@
+ support-dev-group@entgra.io diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index f567bb9dd2b..42077b0afd0 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -322,7 +322,7 @@ - + @@ -350,6 +350,11 @@ {% endfor %} {% endif%} - + + {% if device_mgt_conf.enrollment_guide_mail is defined %} + {{device_mgt_conf.enrollment_guide_mail}} + {% else %} + support-dev-group@entgra.io + {% endif %} From 7747d7b42585634943a0aae138e2dc10e21484db Mon Sep 17 00:00:00 2001 From: osh Date: Tue, 28 Mar 2023 16:40:10 +0530 Subject: [PATCH 089/101] Update status history path --- .../device/mgt/jaxrs/service/api/DeviceManagementService.java | 4 ++-- .../mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index df9cbfaae1d..a080208de25 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -2011,7 +2011,7 @@ public interface DeviceManagementService { @GET @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{id}/getstatushistory") + @Path("/{type}/{id}/status-history") @ApiOperation( produces = MediaType.APPLICATION_JSON, httpMethod = "GET", @@ -2079,7 +2079,7 @@ public interface DeviceManagementService { @GET @Produces(MediaType.APPLICATION_JSON) - @Path("/{type}/{id}/getenrolmentstatushistory") + @Path("/{type}/{id}/enrolment-status-history") @ApiOperation( produces = MediaType.APPLICATION_JSON, httpMethod = "GET", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 83081b52294..a938a718600 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -1344,7 +1344,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { * @return {@link Response} object */ @GET - @Path("/{type}/{id}/getstatushistory") + @Path("/{type}/{id}/status-history") public Response getDeviceStatusHistory(@PathParam("type") @Size(max = 45) String type, @PathParam("id") @Size(max = 45) String id) { //TODO check authorization for this @@ -1376,7 +1376,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { * @return {@link Response} object */ @GET - @Path("/{type}/{id}/getenrolmentstatushistory") + @Path("/{type}/{id}/enrolment-status-history") public Response getCurrentEnrolmentDeviceStatusHistory(@PathParam("type") @Size(max = 45) String type, @PathParam("id") @Size(max = 45) String id) { //TODO check authorization for this or current enrolment should be based on for the enrolment associated with the user From 5275bb180eb68c9209dcca9c4a572189cdfc48ae Mon Sep 17 00:00:00 2001 From: osh Date: Wed, 29 Mar 2023 07:59:25 +0530 Subject: [PATCH 090/101] Change config implementation fixes https://roadmap.entgra.net/issues/9939 --- .../impl/DeviceManagementServiceImpl.java | 8 +++++ .../core/config/DeviceManagementConfig.java | 13 ++++---- .../guide/EnrollmentGuideConfiguration.java | 30 +++++++++++++++++++ .../DeviceManagementProviderServiceImpl.java | 2 +- .../src/main/resources/conf/cdm-config.xml | 5 +++- .../repository/conf/cdm-config.xml.j2 | 14 +++++---- 6 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/enrollment/guide/EnrollmentGuideConfiguration.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index a938a718600..206ed55be9c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -80,6 +80,8 @@ import org.wso2.carbon.device.mgt.common.search.PropertyMap; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.common.type.mgt.DeviceStatus; import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService; +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.dao.TrackerManagementDAOException; import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException; import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager; @@ -791,6 +793,12 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { if (log.isDebugEnabled()) { log.debug("Sending enrollment invitation mail to existing user."); } + DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(); + if (!config.getEnrollmentGuideConfiguration().isEnabled()) { + String msg = "Sending enrollment guide config is not enabled."; + log.error(msg); + return Response.status(Response.Status.FORBIDDEN).entity(msg).build(); + } DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); try { dms.sendEnrolmentGuide(enrolmentGuide); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java index 052bb878864..cc3a3dc5b4f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceManagementConfig.java @@ -25,6 +25,7 @@ import org.wso2.carbon.device.mgt.core.config.cache.BillingCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.CertificateCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.DeviceCacheConfiguration; import org.wso2.carbon.device.mgt.core.config.cache.GeoFenceCacheConfiguration; +import org.wso2.carbon.device.mgt.core.config.enrollment.guide.EnrollmentGuideConfiguration; import org.wso2.carbon.device.mgt.core.config.operation.timeout.OperationTimeoutConfiguration; import org.wso2.carbon.device.mgt.core.event.config.EventOperationTaskConfiguration; import org.wso2.carbon.device.mgt.core.config.geo.location.GeoLocationConfiguration; @@ -70,7 +71,7 @@ public final class DeviceManagementConfig { private EnrollmentNotificationConfiguration enrollmentNotificationConfiguration; private DefaultRoles defaultRoles; private OperationTimeoutConfiguration operationTimeoutConfiguration; - private String enrollmentGuideMail; + private EnrollmentGuideConfiguration enrollmentGuideConfiguration; @XmlElement(name = "ManagementRepository", required = true) public DeviceManagementConfigRepository getDeviceManagementConfigRepository() { @@ -267,13 +268,13 @@ public final class DeviceManagementConfig { this.operationTimeoutConfiguration = operationTimeoutConfiguration; } - @XmlElement(name = "EnrollmentGuideMail", required = true) - public String getEnrollmentGuideMail() { - return enrollmentGuideMail; + @XmlElement(name = "EnrollmentGuideConfiguration", required = true) + public EnrollmentGuideConfiguration getEnrollmentGuideConfiguration() { + return enrollmentGuideConfiguration; } - public void setEnrollmentGuideMail(String enrollmentGuideMail) { - this.enrollmentGuideMail = enrollmentGuideMail; + public void setEnrollmentGuideConfiguration(EnrollmentGuideConfiguration enrollmentGuideConfiguration) { + this.enrollmentGuideConfiguration = enrollmentGuideConfiguration; } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/enrollment/guide/EnrollmentGuideConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/enrollment/guide/EnrollmentGuideConfiguration.java new file mode 100644 index 00000000000..5f54cf79d41 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/enrollment/guide/EnrollmentGuideConfiguration.java @@ -0,0 +1,30 @@ +package org.wso2.carbon.device.mgt.core.config.enrollment.guide; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "EnrollmentGuideConfiguration") +public class EnrollmentGuideConfiguration { + + private boolean isEnabled; + private String mail; + + @XmlElement(name = "Enable", required = true) + public boolean isEnabled() { + return isEnabled; + } + + public void setEnabled(boolean enabled) { + isEnabled = enabled; + } + + @XmlElement(name = "Mail", required = true) + public String getMail() { + return mail; + } + + public void setMail(String mail) { + this.mail = mail; + } + +} 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 2ae6e1f7c55..6257e0b34d2 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 @@ -1560,7 +1560,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv public void sendEnrolmentGuide(String enrolmentGuide) throws DeviceManagementException { DeviceManagementConfig config = DeviceConfigurationManager.getInstance().getDeviceManagementConfig(); - String recipientMail = config.getEnrollmentGuideMail(); + String recipientMail = config.getEnrollmentGuideConfiguration().getMail(); Properties props = new Properties(); props.setProperty("mail-subject", "[Enrollment Guide Triggered] (#" + ++count + ")"); props.setProperty("enrollment-guide", enrolmentGuide); diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index 9598f16000c..f0ebf0de840 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -187,6 +187,9 @@
- support-dev-group@entgra.io + + false + Replace with mail + diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index 42077b0afd0..09e3fad19be 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -351,10 +351,14 @@ {% endif%} - {% if device_mgt_conf.enrollment_guide_mail is defined %} - {{device_mgt_conf.enrollment_guide_mail}} - {% else %} - support-dev-group@entgra.io - {% endif %} + + {% if device_mgt_conf.enrollment_guide_conf is defined %} + {{device_mgt_conf.enrollment_guide_conf.enable}} + {{device_mgt_conf.enrollment_guide_conf.mail}} + {% else %} + false + Replace with mail + {% endif %} + From 766606f9f793330c803efc4d863968bad5384b43 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Wed, 29 Mar 2023 22:50:08 +0530 Subject: [PATCH 091/101] added analytics extension to persist event streams,receivers,publishers --- .../pom.xml | 119 ++++++++++++ .../extension/AnalyticsArtifactsDeployer.java | 169 ++++++++++++++++++ .../extension/dto/EventPublisherData.java | 80 +++++++++ .../extension/dto/EventReceiverData.java | 81 +++++++++ .../extension/dto/EventStreamData.java | 59 ++++++ .../analytics/extension/dto/MetaData.java | 44 +++++ .../analytics/extension/dto/Property.java | 45 +++++ .../EventPublisherDeployerException.java | 43 +++++ .../EventReceiverDeployerException.java | 43 +++++ .../EventStreamDeployerException.java | 43 +++++ components/apimgt-extensions/pom.xml | 1 + .../org.wso2.carbon.device.mgt.api/pom.xml | 5 + .../DeviceEventManagementServiceImpl.java | 140 +++++++++------ .../pom.xml | 99 ++++++++++ .../src/main/resources/build.properties | 1 + .../event_publisher.xml.template | 19 ++ .../event_receiver.xml.template | 20 +++ .../event_stream.json.template | 26 +++ .../src/main/resources/p2.inf | 2 + features/apimgt-extensions/pom.xml | 1 + pom.xml | 5 + 21 files changed, 993 insertions(+), 52 deletions(-) create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventPublisherData.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventReceiverData.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventStreamData.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/MetaData.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/Property.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventPublisherDeployerException.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventReceiverDeployerException.java create mode 100644 components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventStreamDeployerException.java create mode 100644 features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml create mode 100644 features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/build.properties create mode 100644 features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_publisher.xml.template create mode 100644 features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_receiver.xml.template create mode 100644 features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_stream.json.template create mode 100644 features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml new file mode 100644 index 00000000000..4271f6a8150 --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml @@ -0,0 +1,119 @@ + + + + + apimgt-extensions + org.wso2.carbon.devicemgt + 5.0.21-SNAPSHOT + + + 4.0.0 + io.entgra.device.mgt.core.apimgt.analytics.extension + bundle + Entgra - API mgt analytics extension + http://wso2.org + + + + org.wso2.carbon + org.wso2.carbon.core + + + org.wso2.carbon + org.wso2.carbon.utils + + + org.apache.velocity + velocity + 1.7 + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/Abstract* + + + + + org.apache.felix + maven-scr-plugin + + + org.apache.felix + maven-bundle-plugin + true + + + ${project.artifactId} + ${project.artifactId} + ${carbon.device.mgt.version} + API Management Application Bundle + org.wso2.carbon.apimgt.application.extension.internal + + io.entgra.device.mgt.core.apimgt.analytics.extension.dto, + org.apache.velocity, + org.apache.velocity.app, + org.apache.velocity.context, + org.wso2.carbon.utils;version="[4.6,5)" + + + io.entgra.device.mgt.core.apimgt.analytics.extension.* + + + scribe;scope=compile|runtime;inline=false; + + + + + + org.jacoco + jacoco-maven-plugin + + ${basedir}/target/coverage-reports/jacoco-unit.exec + + + + jacoco-initialize + + prepare-agent + + + + jacoco-site + test + + report + + + ${basedir}/target/coverage-reports/jacoco-unit.exec + ${basedir}/target/coverage-reports/site + + + + + + + + diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java new file mode 100644 index 00000000000..6731aaee3fe --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java @@ -0,0 +1,169 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension; + +import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.*; +import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventPublisherDeployerException; +import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventReceiverDeployerException; +import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventStreamDeployerException; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.VelocityEngine; + +import org.apache.velocity.runtime.RuntimeConstants; +import org.wso2.carbon.utils.CarbonUtils; +import org.wso2.carbon.utils.multitenancy.MultitenantConstants; + +import java.io.*; + +public class AnalyticsArtifactsDeployer { + + public static final String TEMPLATE_LOCATION = "repository" + File.separator + "resources" + File.separator + "io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/resources/iot-analytics-templates"; + public static final String EVENT_STREAM_LOCATION = "eventstreams"; + public static final String EVENT_PUBLISHER_LOCATION = "eventpublishers"; + public static final String EVENT_RECEIVER_LOCATION = "eventreceivers"; + public static final String EVENT_STREAM_TEMPLATE = TEMPLATE_LOCATION + File.separator + "event_stream.json.template"; + public static final String EVENT_PUBLISHER_TEMPLATE = TEMPLATE_LOCATION + File.separator + "event_publisher.xml.template"; + public static final String EVENT_RECEIVER_TEMPLATE = TEMPLATE_LOCATION + File.separator + "event_receiver.xml.template"; + + + public void deployEventStream(EventStreamData eventStreamData, int tenantId) throws EventStreamDeployerException { + try { + VelocityEngine ve = new VelocityEngine(); + ve.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, CarbonUtils.getCarbonHome()); + ve.init(); + Template template = ve.getTemplate(EVENT_STREAM_TEMPLATE); + + VelocityContext context = populateContextForEventStreams(eventStreamData); + StringWriter writer = new StringWriter(); + template.merge(context, writer); + + String fileName = eventStreamData.getName() + "_" + eventStreamData.getVersion() + ".json"; + String fileLocation = null; + if (MultitenantConstants.SUPER_TENANT_ID == tenantId) { + fileLocation = CarbonUtils.getCarbonHome() + File.separator + "repository" + File.separator + "deployment" + + File.separator + "server" + File.separator + EVENT_STREAM_LOCATION + File.separator + fileName; + } else { + fileLocation = CarbonUtils.getCarbonTenantsDirPath() + File.separator + tenantId + File.separator + + EVENT_STREAM_LOCATION + File.separator + fileName; + } + + PrintWriter printWriter = new PrintWriter(fileLocation, "UTF-8"); + printWriter.println(writer.toString()); + printWriter.close(); + } catch (FileNotFoundException | UnsupportedEncodingException e) { + throw new EventStreamDeployerException("Error while persisting event stream definition ", e); + } + } + + public void deployEventPublisher(EventPublisherData eventPublisherData, int tenantId) throws EventPublisherDeployerException { + try { + VelocityEngine ve = new VelocityEngine(); + ve.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, CarbonUtils.getCarbonHome()); + ve.init(); + Template template = ve.getTemplate(EVENT_PUBLISHER_TEMPLATE); + + VelocityContext context = populateContextForEventPublisher(eventPublisherData); + StringWriter writer = new StringWriter(); + template.merge(context, writer); + + String fileName = eventPublisherData.getName() + ".xml"; + String fileLocation = null; + if (MultitenantConstants.SUPER_TENANT_ID == tenantId) { + fileLocation = CarbonUtils.getCarbonHome() + File.separator + "repository" + File.separator + "deployment" + + File.separator + "server" + File.separator + EVENT_PUBLISHER_LOCATION + File.separator + fileName; + } else { + fileLocation = CarbonUtils.getCarbonTenantsDirPath() + File.separator + tenantId + File.separator + + EVENT_PUBLISHER_LOCATION + File.separator + fileName; + } + + PrintWriter printWriter = new PrintWriter(fileLocation, "UTF-8"); + printWriter.println(writer.toString()); + printWriter.close(); + } catch (FileNotFoundException | UnsupportedEncodingException e) { + throw new EventPublisherDeployerException("Error while persisting rdbms event publisher ", e); + } + } + + public void deployEventReceiver(EventReceiverData eventReceiverData, int tenantId) throws EventReceiverDeployerException { + try { + VelocityEngine ve = new VelocityEngine(); + ve.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, CarbonUtils.getCarbonHome()); + ve.init(); + Template template = ve.getTemplate(EVENT_RECEIVER_TEMPLATE); + + VelocityContext context = populateContextForEventReceiver(eventReceiverData); + StringWriter writer = new StringWriter(); + template.merge(context, writer); + + String fileName = eventReceiverData.getName() + ".xml"; + String fileLocation = null; + if (MultitenantConstants.SUPER_TENANT_ID == tenantId) { + fileLocation = CarbonUtils.getCarbonHome() + File.separator + "repository" + File.separator + "deployment" + + File.separator + "server" + File.separator + EVENT_RECEIVER_LOCATION + File.separator + fileName; + } else { + fileLocation = CarbonUtils.getCarbonTenantsDirPath() + File.separator + tenantId + File.separator + + EVENT_RECEIVER_LOCATION + File.separator + fileName; + } + + PrintWriter printWriter = new PrintWriter(fileLocation, "UTF-8"); + printWriter.println(writer.toString()); + printWriter.close(); + } catch (FileNotFoundException | UnsupportedEncodingException e) { + throw new EventReceiverDeployerException("Error while persisting oauth mqtt event receiver ", e); + } + } + + private VelocityContext populateContextForEventStreams(EventStreamData eventStreamData) { + VelocityContext context = new VelocityContext(); + context.put("name", eventStreamData.getName()); + context.put("version", eventStreamData.getVersion()); + context.put("metaData", + eventStreamData.getMetaData() != null ? eventStreamData.getMetaData() : new MetaData("deviceId", "STRING")); + if (eventStreamData.getPayloadData() != null) { + context.put("properties", eventStreamData.getPayloadData()); + } + return context; + } + + private VelocityContext populateContextForEventPublisher(EventPublisherData eventPublisherData) { + VelocityContext context = new VelocityContext(); + + context.put("name", eventPublisherData.getName()); + context.put("streamName", eventPublisherData.getStreamName()); + context.put("streamVersion", eventPublisherData.getStreamVersion()); + context.put("properties", eventPublisherData.getPropertyList()); + context.put("eventAdapterType", eventPublisherData.getEventAdaptorType()); + context.put("customMappingType", eventPublisherData.getCustomMappingType()); + + return context; + } + + private VelocityContext populateContextForEventReceiver(EventReceiverData eventReceiverData) { + VelocityContext context = new VelocityContext(); + + context.put("name", eventReceiverData.getName()); + context.put("streamName", eventReceiverData.getStreamName()); + context.put("streamVersion", eventReceiverData.getStreamVersion()); + context.put("properties", eventReceiverData.getPropertyList()); + context.put("eventAdapterType", eventReceiverData.getEventAdapterType()); + context.put("customMappingType", eventReceiverData.getCustomMappingType()); + + return context; + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventPublisherData.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventPublisherData.java new file mode 100644 index 00000000000..6d1620a5b90 --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventPublisherData.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.dto; + +import java.util.List; + +public class EventPublisherData { + private String name; + private String streamVersion; + private String streamName; + + private List propertyList; + + private String eventAdaptorType; + + private String customMappingType; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStreamVersion() { + return streamVersion; + } + + public void setStreamVersion(String streamVersion) { + this.streamVersion = streamVersion; + } + + public String getStreamName() { + return streamName; + } + + public void setStreamName(String streamName) { + this.streamName = streamName; + } + + public List getPropertyList() { + return propertyList; + } + + public void setPropertyList(List propertyList) { + this.propertyList = propertyList; + } + + public String getEventAdaptorType() { + return eventAdaptorType; + } + + public void setEventAdaptorType(String eventAdaptorType) { + this.eventAdaptorType = eventAdaptorType; + } + + public String getCustomMappingType() { + return customMappingType; + } + + public void setCustomMappingType(String customMappingType) { + this.customMappingType = customMappingType; + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventReceiverData.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventReceiverData.java new file mode 100644 index 00000000000..764229c55a3 --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventReceiverData.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.dto; + +import java.util.List; + +public class EventReceiverData { + + private String name; + private String streamVersion; + private String streamName; + + private String eventAdapterType; + + List propertyList; + + private String customMappingType; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStreamVersion() { + return streamVersion; + } + + public void setStreamVersion(String streamVersion) { + this.streamVersion = streamVersion; + } + + public String getStreamName() { + return streamName; + } + + public void setStreamName(String streamName) { + this.streamName = streamName; + } + + public String getEventAdapterType() { + return eventAdapterType; + } + + public void setEventAdapterType(String eventAdapterType) { + this.eventAdapterType = eventAdapterType; + } + + public List getPropertyList() { + return propertyList; + } + + public void setPropertyList(List propertyList) { + this.propertyList = propertyList; + } + + public String getCustomMappingType() { + return customMappingType; + } + + public void setCustomMappingType(String customMappingType) { + this.customMappingType = customMappingType; + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventStreamData.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventStreamData.java new file mode 100644 index 00000000000..a80520bef4b --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/EventStreamData.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.dto; + +import java.util.List; + +public class EventStreamData { + private String name; + private String version; + private MetaData metaData; + private List payloadData; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public MetaData getMetaData() { + return metaData; + } + + public void setMetaData(MetaData metaData) { + this.metaData = metaData; + } + + public List getPayloadData() { + return payloadData; + } + + public void setPayloadData(List payloadData) { + this.payloadData = payloadData; + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/MetaData.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/MetaData.java new file mode 100644 index 00000000000..ba77d04413b --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/MetaData.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.dto; + +public class MetaData { + String name; + String type; + + public MetaData(String name, String type){ + this.setName(name); + this.setType(type); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/Property.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/Property.java new file mode 100644 index 00000000000..995cf2c5a85 --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/dto/Property.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.dto; + +public class Property { + String name; + String value; + + public Property(String name, String value){ + this.setName(name); + this.setValue(value); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventPublisherDeployerException.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventPublisherDeployerException.java new file mode 100644 index 00000000000..2f924d0e7ba --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventPublisherDeployerException.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.exception; + +public class EventPublisherDeployerException extends Exception { + + private static final long serialVersionUID = -3151279311929070299L; + + public EventPublisherDeployerException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + public EventPublisherDeployerException(String message, Throwable cause) { + super(message, cause); + } + + public EventPublisherDeployerException(String msg) { + super(msg); + } + + public EventPublisherDeployerException() { + super(); + } + + public EventPublisherDeployerException(Throwable cause) { + super(cause); + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventReceiverDeployerException.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventReceiverDeployerException.java new file mode 100644 index 00000000000..3e0d49e0883 --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventReceiverDeployerException.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.exception; + +public class EventReceiverDeployerException extends Exception { + + private static final long serialVersionUID = -3151279311929070299L; + + public EventReceiverDeployerException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + public EventReceiverDeployerException(String message, Throwable cause) { + super(message, cause); + } + + public EventReceiverDeployerException(String msg) { + super(msg); + } + + public EventReceiverDeployerException() { + super(); + } + + public EventReceiverDeployerException(Throwable cause) { + super(cause); + } +} diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventStreamDeployerException.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventStreamDeployerException.java new file mode 100644 index 00000000000..1bba4c8cfe9 --- /dev/null +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/exception/EventStreamDeployerException.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * + * Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.apimgt.analytics.extension.exception; + +public class EventStreamDeployerException extends Exception { + + private static final long serialVersionUID = -3151279311929070298L; + + public EventStreamDeployerException(String msg, Exception nestedEx) { + super(msg, nestedEx); + } + + public EventStreamDeployerException(String message, Throwable cause) { + super(message, cause); + } + + public EventStreamDeployerException(String msg) { + super(msg); + } + + public EventStreamDeployerException() { + super(); + } + + public EventStreamDeployerException(Throwable cause) { + super(cause); + } +} diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index ba99795a045..f2426c980f4 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -39,6 +39,7 @@ org.wso2.carbon.apimgt.annotations org.wso2.carbon.apimgt.keymgt.extension org.wso2.carbon.apimgt.keymgt.extension.api + io.entgra.device.mgt.core.apimgt.analytics.extension diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index f43128fc6cf..f552c5aebfd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -450,5 +450,10 @@ org.wso2.carbon.event.output.adapter.rdbms provided + + org.wso2.carbon.devicemgt + io.entgra.device.mgt.core.apimgt.analytics.extension + provided + \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java index 49cbdae59a8..23be4d88ebb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceEventManagementServiceImpl.java @@ -1,30 +1,20 @@ package org.wso2.carbon.device.mgt.jaxrs.service.impl; -import edu.emory.mathcs.backport.java.util.Arrays; +import io.entgra.device.mgt.core.apimgt.analytics.extension.AnalyticsArtifactsDeployer; +import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.*; +import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventReceiverDeployerException; +import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventPublisherDeployerException; +import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventStreamDeployerException; import org.apache.axis2.AxisFault; import org.apache.axis2.client.Stub; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.velocity.util.ArrayListWrapper; -import org.json.JSONObject; -import org.opensaml.xml.signature.J; -import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminService; -import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceEventStreamPersistenceAdminServiceExceptionException; -import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceStub; -import org.wso2.carbon.analytics.stream.persistence.stub.dto.AnalyticsTable; -import org.wso2.carbon.analytics.stream.persistence.stub.dto.AnalyticsTableRecord; import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.databridge.commons.StreamDefinition; import org.wso2.carbon.databridge.commons.exception.MalformedStreamDefinitionException; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; -import org.wso2.carbon.device.mgt.core.dto.DeviceType; -import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.Attribute; import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.AttributeType; import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.DeviceTypeEvent; @@ -34,24 +24,16 @@ import org.wso2.carbon.device.mgt.jaxrs.service.api.DeviceEventManagementService import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.event.input.adapter.core.InputEventAdapterConfiguration; -import org.wso2.carbon.event.input.adapter.core.MessageType; import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration; -import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterService; -import org.wso2.carbon.event.output.adapter.rdbms.RDBMSEventAdapter; -import org.wso2.carbon.event.output.adapter.rdbms.internal.ds.RDBMSEventAdapterServiceDS; -import org.wso2.carbon.event.processor.manager.core.EventProcessorManagementService; -import org.wso2.carbon.event.processor.manager.core.EventPublisherManagementService; import org.wso2.carbon.event.publisher.core.EventPublisherService; import org.wso2.carbon.event.publisher.core.config.EventPublisherConfiguration; import org.wso2.carbon.event.publisher.core.config.mapping.JSONOutputMapping; import org.wso2.carbon.event.publisher.core.config.mapping.MapOutputMapping; import org.wso2.carbon.event.publisher.core.exception.EventPublisherConfigurationException; -import org.wso2.carbon.event.publisher.core.internal.ds.EventPublisherServiceDS; import org.wso2.carbon.event.publisher.stub.EventPublisherAdminServiceCallbackHandler; import org.wso2.carbon.event.publisher.stub.EventPublisherAdminServiceStub; import org.wso2.carbon.event.receiver.core.EventReceiverService; import org.wso2.carbon.event.receiver.core.config.EventReceiverConfiguration; -import org.wso2.carbon.event.receiver.core.config.InputMapping; import org.wso2.carbon.event.receiver.core.config.mapping.JSONInputMapping; import org.wso2.carbon.event.receiver.core.config.mapping.WSO2EventInputMapping; import org.wso2.carbon.event.receiver.core.exception.EventReceiverConfigurationException; @@ -59,7 +41,6 @@ import org.wso2.carbon.event.receiver.stub.EventReceiverAdminServiceCallbackHand import org.wso2.carbon.event.receiver.stub.EventReceiverAdminServiceStub; import org.wso2.carbon.event.receiver.stub.types.BasicInputAdapterPropertyDto; import org.wso2.carbon.event.receiver.stub.types.EventReceiverConfigurationDto; -import org.wso2.carbon.event.receiver.stub.types.InputAdapterConfigurationDto; import org.wso2.carbon.event.stream.core.EventStreamService; import org.wso2.carbon.event.stream.core.exception.EventStreamConfigurationException; import org.wso2.carbon.event.stream.stub.EventStreamAdminServiceStub; @@ -71,7 +52,6 @@ import org.wso2.carbon.user.api.UserStoreException; import javax.validation.Valid; import javax.ws.rs.*; import javax.ws.rs.core.Response; -import java.io.IOException; import java.rmi.RemoteException; import java.util.ArrayList; import java.util.HashMap; @@ -225,6 +205,7 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain(); + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); try { for (DeviceTypeEvent deviceTypeEvent : deviceTypeEvents) { TransportType transportType = deviceTypeEvent.getTransportType(); @@ -239,46 +220,101 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe log.error(errorMessage); return Response.status(Response.Status.BAD_REQUEST).build(); } + // event stream String streamName = DeviceMgtAPIUtils.getStreamDefinition(deviceType, tenantDomain, eventName); - publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes); - + AnalyticsArtifactsDeployer artifactsDeployer = new AnalyticsArtifactsDeployer(); + List props = new ArrayList<>(); + for (Attribute attribute : eventAttributes.getList()) { + props.add(new Property(attribute.getName(), attribute.getType().name())); + } + EventStreamData eventStreamData = new EventStreamData(); + eventStreamData.setName(streamName); + eventStreamData.setVersion(Constants.DEFAULT_STREAM_VERSION); + eventStreamData.setMetaData(new MetaData(DEFAULT_DEVICE_ID_ATTRIBUTE, "STRING")); + eventStreamData.setPayloadData(props); + artifactsDeployer.deployEventStream(eventStreamData, tenantId); + + // event receiver String receiverName = getReceiverName(deviceType, tenantDomain, transportType, eventName); - publishEventReceivers(streamName, Constants.DEFAULT_STREAM_VERSION, transportType, tenantDomain, - isSharedWithAllTenants, deviceType, deviceTypeEvent.getEventTopicStructure(), receiverName); + EventReceiverData receiverData = new EventReceiverData(); + receiverData.setName(receiverName); + receiverData.setStreamName(streamName); + receiverData.setStreamVersion(Constants.DEFAULT_STREAM_VERSION); + List propertyList = new ArrayList<>(); + if (transportType == TransportType.MQTT) { + receiverData.setEventAdapterType(OAUTH_MQTT_ADAPTER_TYPE); + propertyList.add(new Property(MQTT_CONTENT_TRANSFORMER_TYPE, MQTT_CONTENT_TRANSFORMER)); + propertyList.add(new Property(MQTT_CONTENT_VALIDATOR_TYPE, MQTT_CONTENT_VALIDATOR)); + String topic; + if (!StringUtils.isEmpty(deviceTypeEvent.getEventTopicStructure())) { + if (isSharedWithAllTenants) { + topic = deviceTypeEvent.getEventTopicStructure().replace("${deviceId}", "+") + .replace("${deviceType}", deviceType) + .replace("${tenantDomain}", "+"); + } else { + topic = deviceTypeEvent.getEventTopicStructure().replace("${deviceId}", "+") + .replace("${deviceType}", deviceType) + .replace("${tenantDomain}", tenantDomain); + } + } else { + if (isSharedWithAllTenants) { + topic = "+/" + deviceType + "/+/events"; + } else { + topic = tenantDomain + "/" + deviceType + "/+/events"; + } + } + propertyList.add(new Property("topic", topic)); + receiverData.setCustomMappingType("json"); + + } else { + receiverData.setEventAdapterType(THRIFT_ADAPTER_TYPE); + propertyList.add(new Property("events.duplicated.in.cluster", "false")); + receiverData.setCustomMappingType("wso2event"); + } + receiverData.setPropertyList(propertyList); + artifactsDeployer.deployEventReceiver(receiverData, tenantId); + if (!skipPersist) { + // rdbms event publisher String rdbmsPublisherName = getPublisherName(deviceType, tenantDomain, eventName) + "_rdbms_publisher"; - publishEventStore(streamName, Constants.DEFAULT_STREAM_VERSION, rdbmsPublisherName); + + EventPublisherData eventPublisherData = new EventPublisherData(); + eventPublisherData.setName(rdbmsPublisherName); + eventPublisherData.setStreamName(streamName); + eventPublisherData.setStreamVersion(Constants.DEFAULT_STREAM_VERSION); + eventPublisherData.setEventAdaptorType("rdbms"); + eventPublisherData.setCustomMappingType("map"); + List publisherProps = new ArrayList<>(); + publisherProps.add(new Property("datasource.name", "EVENT_DB")); + publisherProps.add(new Property("table.name", "table_" + rdbmsPublisherName.replace(".", ""))); + publisherProps.add(new Property("execution.mode", "insert")); + eventPublisherData.setPropertyList(publisherProps); + artifactsDeployer.deployEventPublisher(eventPublisherData, tenantId); } + + // web socket event publisher String wsPublisherName = getPublisherName(deviceType, tenantDomain, eventName) + "_ws_publisher"; - publishWebsocketPublisherDefinition(streamName, Constants.DEFAULT_STREAM_VERSION, wsPublisherName); - try { - PrivilegedCarbonContext.startTenantFlow(); - PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain( - MultitenantConstants.SUPER_TENANT_DOMAIN_NAME, true); - if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) { - publishStreamDefinitons(streamName, Constants.DEFAULT_STREAM_VERSION, eventAttributes); - publishEventReceivers(streamName, Constants.DEFAULT_STREAM_VERSION, transportType, tenantDomain, - isSharedWithAllTenants, deviceType, deviceTypeEvent.getEventTopicStructure(), receiverName); - } - } finally { - PrivilegedCarbonContext.endTenantFlow(); - } + EventPublisherData wsEventPublisherData = new EventPublisherData(); + wsEventPublisherData.setName(wsPublisherName); + wsEventPublisherData.setStreamName(streamName); + wsEventPublisherData.setStreamVersion(Constants.DEFAULT_STREAM_VERSION); + wsEventPublisherData.setEventAdaptorType("websocket-local"); + wsEventPublisherData.setCustomMappingType("json"); + artifactsDeployer.deployEventPublisher(wsEventPublisherData, tenantId); + } return Response.ok().build(); } catch (DeviceManagementException e) { log.error("Failed to access device management service, tenantDomain: " + tenantDomain, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } catch (MalformedStreamDefinitionException e) { - log.error("Failed while creating stream definition, tenantDomain: " + tenantDomain, e); + } catch (EventStreamDeployerException e) { + log.error("Failed while deploying event stream definition, tenantDomain: " + tenantDomain, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } catch (EventStreamConfigurationException e) { - log.error("Failed while configuring stream definition, tenantDomain: " + tenantDomain, e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } catch (EventPublisherConfigurationException e) { - log.error("Failed while configuring event publisher, tenantDomain: " + tenantDomain, e); + } catch (EventPublisherDeployerException e) { + log.error("Failed while deploying event publisher, tenantDomain: " + tenantDomain, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } catch (EventReceiverConfigurationException e) { - log.error("Failed while configuring event receiver, tenantDomain: " + tenantDomain, e); + } catch (EventReceiverDeployerException e) { + log.error("Failed while deploying event receiver, tenantDomain: " + tenantDomain, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } } diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml new file mode 100644 index 00000000000..04466490367 --- /dev/null +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml @@ -0,0 +1,99 @@ + + + + + org.wso2.carbon.devicemgt + apimgt-extensions-feature + 5.0.21-SNAPSHOT + ../pom.xml + + + 4.0.0 + io.entgra.device.mgt.core.apimgt.analytics.extension.feature + pom + Entgra - APIM Analytics Extension Feature + http://entgra.io + + + + org.wso2.carbon.devicemgt + io.entgra.device.mgt.core.apimgt.analytics.extension + + + + + + + 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 + + + io.entgra.device.mgt.core.apimgt.analytics.extension + ../../../features/etc/feature.properties + + + org.wso2.carbon.p2.category.type:server + org.eclipse.equinox.p2.type.group:true + + + + + org.wso2.carbon.devicemgt:io.entgra.device.mgt.core.apimgt.analytics.extension:${carbon.device.mgt.version} + + + + + + + + + + diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/build.properties b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/build.properties new file mode 100644 index 00000000000..93c4b10701e --- /dev/null +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/build.properties @@ -0,0 +1 @@ +custom = true \ No newline at end of file diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_publisher.xml.template b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_publisher.xml.template new file mode 100644 index 00000000000..b103c8d1ac0 --- /dev/null +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_publisher.xml.template @@ -0,0 +1,19 @@ + + + + + + + #foreach( $property in $properties ) + ${property.value} + #end + + \ No newline at end of file diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_receiver.xml.template b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_receiver.xml.template new file mode 100644 index 00000000000..c9b90877f07 --- /dev/null +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_receiver.xml.template @@ -0,0 +1,20 @@ + + + + + #foreach( $property in $properties ) + ${property.value} + #end + + + + \ No newline at end of file diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_stream.json.template b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_stream.json.template new file mode 100644 index 00000000000..5f0b85ad3b0 --- /dev/null +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/iot-analytics-templates/event_stream.json.template @@ -0,0 +1,26 @@ +{ + "streamId": "$name:$version", + "name": "$name", + "version": "$version", + "nickName": "", + "description": "", + "metaData": [ + { + "name": "${metaData.name}", + "type": "${metaData.type}" + } + ], + "correlationData": [], + "payloadData": [ +#foreach( $property in $properties ) + { + "name": "${property.name}", + "type": "${property.value}" + }, +#end + { + "name": "ts", + "type": "LONG" + } + ] +} \ No newline at end of file diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf new file mode 100644 index 00000000000..7c46f1cafc4 --- /dev/null +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf @@ -0,0 +1,2 @@ +instructions.configure = \ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.device.mgt.core.apimgt.analytics.extension_${feature.version}/iot-analytics-templates/,target:${installFolder}/../../resources/,overwrite:true);\ diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 45a706e7a95..ecb17f4c159 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -37,6 +37,7 @@ org.wso2.carbon.apimgt.webapp.publisher.feature org.wso2.carbon.apimgt.application.extension.feature org.wso2.carbon.apimgt.keymgt.extension.feature + io.entgra.device.mgt.core.apimgt.analytics.extension.feature diff --git a/pom.xml b/pom.xml index 09590375ba1..978a200b234 100644 --- a/pom.xml +++ b/pom.xml @@ -284,6 +284,11 @@ org.wso2.carbon.apimgt.application.extension ${carbon.device.mgt.version} + + org.wso2.carbon.devicemgt + io.entgra.device.mgt.core.apimgt.analytics.extension + ${carbon.device.mgt.version} + org.wso2.carbon.devicemgt org.wso2.carbon.identity.jwt.client.extension From 5da3df3984e88a60887a1addf1b79a93c260c9ca Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Wed, 29 Mar 2023 22:56:22 +0530 Subject: [PATCH 092/101] fixed template location --- .../extension/AnalyticsArtifactsDeployer.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java index 6731aaee3fe..fcd197bb0e0 100644 --- a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/java/io/entgra/device/mgt/core/apimgt/analytics/extension/AnalyticsArtifactsDeployer.java @@ -17,7 +17,10 @@ */ package io.entgra.device.mgt.core.apimgt.analytics.extension; -import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.*; +import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.EventPublisherData; +import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.EventReceiverData; +import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.EventStreamData; +import io.entgra.device.mgt.core.apimgt.analytics.extension.dto.MetaData; import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventPublisherDeployerException; import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventReceiverDeployerException; import io.entgra.device.mgt.core.apimgt.analytics.extension.exception.EventStreamDeployerException; @@ -29,11 +32,15 @@ import org.apache.velocity.runtime.RuntimeConstants; import org.wso2.carbon.utils.CarbonUtils; import org.wso2.carbon.utils.multitenancy.MultitenantConstants; -import java.io.*; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.UnsupportedEncodingException; public class AnalyticsArtifactsDeployer { - public static final String TEMPLATE_LOCATION = "repository" + File.separator + "resources" + File.separator + "io.entgra.device.mgt.core.apimgt.analytics.extension/src/main/resources/iot-analytics-templates"; + public static final String TEMPLATE_LOCATION = "repository" + File.separator + "resources" + File.separator + "iot-analytics-templates"; public static final String EVENT_STREAM_LOCATION = "eventstreams"; public static final String EVENT_PUBLISHER_LOCATION = "eventpublishers"; public static final String EVENT_RECEIVER_LOCATION = "eventreceivers"; From 3c13196aa527bab931865b79257b8fcc254e03b4 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Wed, 29 Mar 2023 23:07:39 +0530 Subject: [PATCH 093/101] fixed feature installation issue --- .../src/main/resources/p2.inf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf index 7c46f1cafc4..235bd0424cc 100644 --- a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/src/main/resources/p2.inf @@ -1,2 +1,3 @@ instructions.configure = \ -org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.device.mgt.core.apimgt.analytics.extension_${feature.version}/iot-analytics-templates/,target:${installFolder}/../../resources/,overwrite:true);\ +org.eclipse.equinox.p2.touchpoint.natives.mkdir(path:${installFolder}/../../../repository/resources/iot-analytics-templates);\ +org.eclipse.equinox.p2.touchpoint.natives.copy(source:${installFolder}/../features/io.entgra.device.mgt.core.apimgt.analytics.extension_${feature.version}/iot-analytics-templates/,target:${installFolder}/../../resources/iot-analytics-templates/,overwrite:true);\ From 19750486dec1d3dc3a414a9be23eef02b9a88ce3 Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Thu, 30 Mar 2023 23:20:15 +0530 Subject: [PATCH 094/101] Add improvements --- .../carbon/device/mgt/core/config/ui/HubspotChat.java | 9 --------- .../src/main/resources/conf/mdm-ui-config.xml | 1 - 2 files changed, 10 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java index 728176e1dbe..ec22d125a15 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/ui/HubspotChat.java @@ -25,7 +25,6 @@ public class HubspotChat { private String trackingUrl; private String accessToken; private String senderActorId; - private long channelAccountId; @XmlElement(name = "EnableHubspot") public boolean isEnableHubspot() { @@ -61,12 +60,4 @@ public class HubspotChat { public void setSenderActorId(String senderActorId) { this.senderActorId = senderActorId; } - @XmlElement(name = "ChannelAccountId") - public long getChannelAccountId() { - return channelAccountId; - } - - public void setChannelAccountId(long channelAccountId) { - this.channelAccountId = channelAccountId; - } } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml index 4867c665c04..1c33bddfdb7 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/mdm-ui-config.xml @@ -31,7 +31,6 @@ access_token sender_actorId - channel_AccountId false From 95d4afbc3be87087d6d9bed7c8028d648f887d34 Mon Sep 17 00:00:00 2001 From: osh Date: Tue, 4 Apr 2023 11:02:47 +0530 Subject: [PATCH 095/101] Fix PR comments --- .../mgt/core/impl/ApplicationStorageManagerImpl.java | 8 +++----- .../mgt/jaxrs/service/api/WhiteLabelService.java | 2 +- .../mgt/jaxrs/service/impl/MetadataServiceImpl.java | 2 -- .../mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java | 11 ++++------- .../org/wso2/carbon/device/mgt/common/Base64File.java | 2 +- .../wso2/carbon/device/mgt/common/FileResponse.java | 2 +- .../mgt/common/exceptions/NotFoundException.java | 2 +- .../common/metadata/mgt/WhiteLabelArtifactPath.java | 2 +- .../mgt/common/metadata/mgt/WhiteLabelImage.java | 2 +- .../metadata/mgt/WhiteLabelImageRequestPayload.java | 2 +- .../metadata/mgt/WhiteLabelManagementService.java | 2 +- .../mgt/common/metadata/mgt/WhiteLabelTheme.java | 2 +- .../metadata/mgt/WhiteLabelThemeCreateRequest.java | 2 +- .../common/exception/StorageManagementException.java | 2 +- .../config/metadata/mgt/MetaDataConfiguration.java | 2 +- .../mgt/whitelabel/WhiteLabelConfiguration.java | 2 +- .../metadata/mgt/whitelabel/WhiteLabelImages.java | 2 +- .../metadata/mgt/WhiteLabelManagementServiceImpl.java | 4 ++-- .../core/metadata/mgt/dao/util/MetadataConstants.java | 2 +- .../core/metadata/mgt/util/WhiteLabelStorageUtil.java | 2 +- .../src/main/resources/conf/cdm-config.xml | 2 +- .../templates/repository/conf/cdm-config.xml.j2 | 2 +- 22 files changed, 27 insertions(+), 34 deletions(-) diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java index c9965d4f06f..09b7b208487 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationStorageManagerImpl.java @@ -115,7 +115,7 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager log.error(msg, e); throw new ApplicationStorageManagementException(msg, e); } catch (StorageManagementException e) { - String msg = "Error occurred while uploading image artifacts" + String msg = "Error occurred while uploading image artifacts. UUID: " + applicationReleaseDTO.getUuid(); log.error(msg, e); throw new ResourceManagementException(msg, e); @@ -167,7 +167,7 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager log.error(msg, e); throw new ResourceManagementException( msg, e); } catch (StorageManagementException e) { - String msg = "Error occurred while uploading image artifacts" + String msg = "Error occurred while uploading image artifacts. UUID: " + applicationReleaseDTO.getUuid(); log.error(msg, e); throw new ResourceManagementException(msg, e); @@ -301,14 +301,12 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager @Override public String getMD5(InputStream inputStream) throws StorageManagementException { - String md5; try { - md5 = DigestUtils.md5Hex(inputStream); + return DigestUtils.md5Hex(inputStream); } catch (IOException e) { String msg = "IO Exception occurred while trying to get the md5sum value of application"; log.error(msg, e); throw new StorageManagementException(msg, e); } - return md5; } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java index 8617d6ec1b4..85be91bdd8f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/WhiteLabelService.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java index 64d182bf677..559ecc41ec0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/MetadataServiceImpl.java @@ -162,7 +162,6 @@ public class MetadataServiceImpl implements MetadataService { Response.ResponseBuilder response = Response .ok(binaryDuplicate, MediaType.APPLICATION_OCTET_STREAM); response.status(Response.Status.OK); -// response.header("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.header("Content-Length", content.length); return response.build(); } catch (IOException e) { @@ -171,5 +170,4 @@ public class MetadataServiceImpl implements MetadataService { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } } - } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java index 573b954df5c..97621667dcd 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/WhiteLabelServiceImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -59,8 +59,7 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelFavicon(tenantDomain); return sendFileStream(fileResponse); } catch (NotFoundException e) { - String msg = "Favicon white label image cannot be found in the system. Updating the whitelabel theme might" + - "help restore it"; + String msg = "Favicon white label image cannot be found in the system. Uploading the favicon white label image again might help solve the issue."; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { @@ -78,8 +77,7 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogo(tenantDomain); return sendFileStream(fileResponse); } catch (NotFoundException e) { - String msg = "Logo white label image cannot be found in the system. Updating the whitelabel theme might" + - "help restore it"; + String msg = "Logo white label image cannot be found in the system. Uploading the logo white label image again might help solve the issue."; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { @@ -97,8 +95,7 @@ public class WhiteLabelServiceImpl implements WhiteLabelService { FileResponse fileResponse = DeviceMgtAPIUtils.getWhiteLabelManagementService().getWhiteLabelLogoIcon(tenantDomain); return sendFileStream(fileResponse); } catch (NotFoundException e) { - String msg = "Logo white label image cannot be found in the system. Updating the whitelabel theme might" + - "help restore it"; + String msg = "Icon white label image cannot be found in the system. Uploading the icon white label image again might help solve the issue."; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (MetadataManagementException e) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java index 0ec7e800d93..93303f4493f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Base64File.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * Copyright (c) 2023, 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 diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java index 45ee74e020b..e3e83cf3c2c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/FileResponse.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java index 6a8287db01e..15986e31dae 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/exceptions/NotFoundException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. * * Entgra (pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java index 22a839803d3..501e35a0744 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelArtifactPath.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java index 2e8a4da3477..846aca5f761 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. * * Entgra (pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java index e78e85b2402..0ccce87c930 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelImageRequestPayload.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. * * Entgra (pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java index b028c40d7a4..6ccf82eab47 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelManagementService.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java index 5761d727cdc..2600eeef907 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelTheme.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java index e6d4c2e7280..7939f3428a9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/metadata/mgt/WhiteLabelThemeCreateRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java index dada3c2818a..38985716deb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/common/exception/StorageManagementException.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. +/* Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java index 4f929ea030c..848f206441d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/MetaDataConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java index 1fa808f5a73..436146f5b66 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java index 76734f785eb..7a01bc2538e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/metadata/mgt/whitelabel/WhiteLabelImages.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java index ada1b7a9791..ec2bca767e0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/WhiteLabelManagementServiceImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. + * Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -439,7 +439,7 @@ public class WhiteLabelManagementServiceImpl implements WhiteLabelManagementServ Metadata metadata = metadataDAO.getMetadata(tenantId, MetadataConstants.WHITELABEL_META_KEY); if (metadata == null) { String msg = "Whitelabel theme not found for tenant: " + tenantId; - log.debug(msg); + log.error(msg); throw new NotFoundException(msg); } return new Gson().fromJson(metadata.getMetaValue(), WhiteLabelTheme.class); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java index 19d7cf59bdc..e16f466c6e3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/dao/util/MetadataConstants.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. +/* Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java index 5fe4d9dfcc8..fc71a89e5e9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/metadata/mgt/util/WhiteLabelStorageUtil.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2022, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. +/* Copyright (c) 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. * * Entgra (Pvt) Ltd. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml index fafc2dce739..de35cf1ba8b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf/cdm-config.xml @@ -189,7 +189,7 @@ <a href='https://entgra.io' target='_blank'> Entgra </a> - IoT Server 5.0.0 | © 2023 + IoT Server 5.2.0 | © 2023 , All Rights Reserved. Entgra diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 index 5c6162f385b..264345c2e08 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/conf_templates/templates/repository/conf/cdm-config.xml.j2 @@ -328,7 +328,7 @@ <a href='https://entgra.io' target='_blank'> Entgra </a> - IoT Server 5.0.0 | © 2023 + IoT Server 5.2.0 | © 2023 , All Rights Reserved. Entgra From 5720651046edecb24b10a1636365e9828c753366 Mon Sep 17 00:00:00 2001 From: builder Date: Tue, 4 Apr 2023 11:40:39 +0530 Subject: [PATCH 096/101] [maven-release-plugin] prepare release v5.0.21 --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- components/logger/io.entgra.notification.logger/pom.xml | 6 ++---- components/logger/pom.xml | 6 ++---- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- components/task-mgt/pom.xml | 2 +- .../task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml | 2 +- .../task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml | 2 +- components/task-mgt/task-manager/pom.xml | 2 +- .../task-watcher/io.entgra.task.mgt.watcher/pom.xml | 2 +- components/task-mgt/task-watcher/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../logger/io.entgra.notification.logger.feature/pom.xml | 2 +- features/logger/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- features/task-mgt/io.entgra.task.mgt.feature/pom.xml | 2 +- features/task-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 122 files changed, 126 insertions(+), 130 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 9d4d76223d6..4ba889f75bc 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index 402e68a706c..b10e7347faa 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index a66ba64fff2..f436217be8b 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 92bc7f17213..35fd804fb6f 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index 533b60c9897..adee79e8d38 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml index 4271f6a8150..4a27f653c4d 100644 --- a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml @@ -20,7 +20,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index e9137ae00a7..fda7805dbb3 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 2e7f50e9971..4fff195d022 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 1c29c246e54..1e3d5c2632d 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index dd957864f20..9814fd32de3 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 4379709bef1..89159c23979 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 1e9e44a4a5c..260eeface60 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index f2426c980f4..137b78207d5 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 66df7e582ba..0a8d32b6481 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index f869b39c73e..81b5419f964 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index d753086d86b..d1e9921af38 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index ec9127ea06d..f1c778afb06 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index 80e1bd83ea5..a4d0cbdff6f 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 760accf4ba6..4cde05126d0 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 9ac074925c1..43289f43035 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 36b4e164f17..42d453224ff 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index ee2ac87f573..1e29a334e08 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index dbd94e3b22e..037852c22f5 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 1bd757ac9bb..2240e669be2 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 5ede05302d1..17dd8ec8409 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index 37dcc4ec1bd..bfca0ab296d 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index ef88e49a2ab..2ff13d33af0 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 1641e9e38de..0b666ed930e 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index b35311d91b5..08a17a9b7ff 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 9cb045b700f..1724f6a221d 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index cab4f2afbe4..2658ada190e 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index 9536f5e514a..cd0bd91478b 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index 354033a4c3e..be47ca8f272 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 250815e9ba4..58b1fb48ce7 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 4888ed01559..3b7aa2298b6 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index f552c5aebfd..bff361ca4ac 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 8e7e132f263..7f3b4aeabe9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml 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 e0ce6e82a7c..b3a0b898a8e 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml 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 index 8ecdd1dea7a..6bad4fd68c3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index dec22c688c0..e4307ca0c20 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 480b375d311..2d93b06e4a2 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index 2b3cd78219d..a341265e16d 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index 272466b3260..c72aa6baa49 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 37b1f466a7b..74a83c3c0cf 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index e98ae105c3f..55237df0916 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 454b046f52e..5333db9e703 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index 6044056d1d0..d22ae2ae41a 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -17,15 +17,13 @@ ~ under the License. --> - + 4.0.0 org.wso2.carbon.devicemgt logger - 5.0.21-SNAPSHOT + 5.0.21 io.entgra.notification.logger diff --git a/components/logger/pom.xml b/components/logger/pom.xml index f0884c2238d..1a152dd2923 100644 --- a/components/logger/pom.xml +++ b/components/logger/pom.xml @@ -16,15 +16,13 @@ ~ specific language governing permissions and limitations ~ under the License. --> - + 4.0.0 carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index d20a058c014..5d363801345 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index ae24f2c1033..6869270f836 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index 065e6db69ce..b9ee8bd5a9b 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index 2d4cb3f782a..f935d88e459 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index 8c0bc9058ee..ee036cfc880 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/task-mgt/pom.xml b/components/task-mgt/pom.xml index f46835f8be2..96ba045a8b3 100755 --- a/components/task-mgt/pom.xml +++ b/components/task-mgt/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml index 39551beebb1..691e0c94a2b 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml @@ -20,7 +20,7 @@ task-manager org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml index 6eeba4c8bc9..06386ee1a0a 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-manager - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/task-mgt/task-manager/pom.xml b/components/task-mgt/task-manager/pom.xml index 344ee82cfc1..77d7a0d6d85 100755 --- a/components/task-mgt/task-manager/pom.xml +++ b/components/task-mgt/task-manager/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml index 34eaf2c4303..a800c8b0d79 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-watcher - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/task-mgt/task-watcher/pom.xml b/components/task-mgt/task-watcher/pom.xml index 23d376c0720..45298d9b29b 100755 --- a/components/task-mgt/task-watcher/pom.xml +++ b/components/task-mgt/task-watcher/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index e36ee469ff0..8a49e2a3263 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index e5d79a0c6c2..748023d2904 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index fb8cf3777ca..ac518a3635e 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index c2f4f050760..852f73274bb 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 6fcf7686ace..11db631f30a 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 6088ee00531..28db07d188a 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 63039c781f2..5f31023e457 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 1c585b5b74a..4d4d17fe848 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index d849368d9b0..4e9fdd4b854 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index f11df1e3a4e..cee177d60c1 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index b1a10ee9f5d..806cc97d54d 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index 0c7462faaf5..fdab1446ba8 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 6d3e16a0633..5d6a0bc1fd7 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index 787ea0747f1..d98712e2fd1 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index ccb9f84d26a..6baa0f242ae 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml index 04466490367..3a25262bbf9 100644 --- a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml @@ -20,7 +20,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 0d9d2b9d6aa..576a49d29c1 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index b6a28994d82..e9b3ab2ae1e 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index c1b4c921722..68915da8ee3 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index ecb17f4c159..131ff1816b6 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index d215fd6e296..5178b7dd519 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index e1447edb86a..45efd5bae82 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index 527c8a633d1..f362da5431f 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index 2bd79de79e7..fdc12db719e 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index 7c9fb7153e9..f64fc5e2d38 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index b730341140e..390cec49bea 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 05fdb44cc14..0482cbdd86d 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index 54e8544e677..ebe34779c59 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index b9eaed372fd..c0774023e3e 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 1046d773c9d..08a3ee2dc4f 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 0678d1bbe68..89247c75b0c 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index 4d38c3719b2..ced91e0944e 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 5ee749568c4..98451984452 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index ae887ab14cc..64101d46bfa 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index 314b1a82b3f..a4f7f3f4b4e 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 1c98737cfa4..8b62c443739 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 0bb36492dfd..66de294bf0d 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index ba9e88437c6..c641464f007 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index 31ff541dfc8..f77f6789a7f 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index ae68720cf96..04663d5258b 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml 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 59113b6e914..0eebb3d4205 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index e606feaa460..be449fdbdf7 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 6c21432c0b1..2caba95b1e9 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 42febcc76b1..1f2e5547320 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 31f48b995ec..81bccd814a7 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 50925e545ac..0154025789c 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/logger/io.entgra.notification.logger.feature/pom.xml b/features/logger/io.entgra.notification.logger.feature/pom.xml index be7f7146f23..0b596fea208 100644 --- a/features/logger/io.entgra.notification.logger.feature/pom.xml +++ b/features/logger/io.entgra.notification.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt logger-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/logger/pom.xml b/features/logger/pom.xml index 10fc1b3f0b4..7a0a8a8a0b3 100644 --- a/features/logger/pom.xml +++ b/features/logger/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index eb28b067bf5..c3d134cd51d 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 9a9f371f785..55eeb529ab3 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml index 4094f312fb0..2a0542a7f7e 100755 --- a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml +++ b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../../pom.xml diff --git a/features/task-mgt/pom.xml b/features/task-mgt/pom.xml index 189a163b78b..cc18fda1858 100755 --- a/features/task-mgt/pom.xml +++ b/features/task-mgt/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index dba94063ed9..4cfddc07a91 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 0e3241ad889..2fc0f84535c 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 07ecebe2ffe..42f427e657b 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index 47cb040d27a..e6eb647e725 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index 41b8d3b338e..43c58671dcd 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index d4bb6a06a69..6ddd66a1bd0 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index d7fec7d0ca3..3cb7661791e 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index 40c07d7c8da..b63f3b69b17 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 15dbbd671f1..4ebf9e3293a 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.21-SNAPSHOT + 5.0.21 ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 80a6f00d3ca..86a7e98721e 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21-SNAPSHOT + 5.0.21 ../../pom.xml diff --git a/pom.xml b/pom.xml index 978a200b234..93b86dbc6d5 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.21-SNAPSHOT + 5.0.21 WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1889,7 +1889,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - HEAD + v5.0.21 @@ -2101,7 +2101,7 @@ 1.2.11.wso2v10 - 5.0.21-SNAPSHOT + 5.0.21 4.7.35 From f5ef8bafd62417cd95b6c06f3afd1f167d1ec3f8 Mon Sep 17 00:00:00 2001 From: builder Date: Tue, 4 Apr 2023 11:40:46 +0530 Subject: [PATCH 097/101] [maven-release-plugin] prepare for next development iteration --- .../io.entgra.analytics.mgt.grafana.proxy.api/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.common/pom.xml | 2 +- .../io.entgra.analytics.mgt.grafana.proxy.core/pom.xml | 2 +- components/analytics-mgt/grafana-mgt/pom.xml | 2 +- components/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.annotations/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.application.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher/pom.xml | 2 +- components/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.addons/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.api/pom.xml | 2 +- .../io.entgra.application.mgt.common/pom.xml | 2 +- .../application-mgt/io.entgra.application.mgt.core/pom.xml | 2 +- .../io.entgra.application.mgt.publisher.api/pom.xml | 2 +- .../io.entgra.application.mgt.store.api/pom.xml | 2 +- components/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.core/pom.xml | 2 +- components/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger/pom.xml | 2 +- .../io.entgra.device.mgt.extensions.stateengine/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- components/device-mgt-extensions/pom.xml | 2 +- .../io.entgra.carbon.device.mgt.config.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.api/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.common/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.core/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.url.printer/pom.xml | 2 +- components/device-mgt/pom.xml | 2 +- .../io.entgra.server.bootup.heartbeat.beacon/pom.xml | 2 +- components/heartbeat-management/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.oauth.extensions/pom.xml | 2 +- .../org.wso2.carbon.identity.jwt.client.extension/pom.xml | 2 +- components/identity-extensions/pom.xml | 2 +- components/logger/io.entgra.notification.logger/pom.xml | 2 +- components/logger/pom.xml | 2 +- .../org.wso2.carbon.policy.decision.point/pom.xml | 2 +- .../org.wso2.carbon.policy.information.point/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml | 2 +- .../policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml | 2 +- components/policy-mgt/pom.xml | 2 +- components/task-mgt/pom.xml | 2 +- .../task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml | 2 +- .../task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml | 2 +- components/task-mgt/task-manager/pom.xml | 2 +- .../task-watcher/io.entgra.task.mgt.watcher/pom.xml | 2 +- components/task-mgt/task-watcher/pom.xml | 2 +- .../email-sender/org.wso2.carbon.email.sender.core/pom.xml | 2 +- components/transport-mgt/email-sender/pom.xml | 2 +- components/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.common/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.core/pom.xml | 2 +- components/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor/pom.xml | 2 +- components/ui-request-interceptor/pom.xml | 2 +- .../org.wso2.carbon.webapp.authenticator.framework/pom.xml | 2 +- components/webapp-authenticator-framework/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/analytics-mgt/grafana-mgt/pom.xml | 2 +- features/analytics-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml | 2 +- .../org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml | 2 +- features/apimgt-extensions/pom.xml | 2 +- .../io.entgra.application.mgt.api.feature/pom.xml | 2 +- .../io.entgra.application.mgt.server.feature/pom.xml | 2 +- features/application-mgt/pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.wso2.carbon.certificate.mgt.server.feature/pom.xml | 2 +- features/certificate-mgt/pom.xml | 2 +- .../pom.xml | 2 +- .../io.entgra.device.mgt.extensions.logger.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- features/device-mgt-extensions/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.api.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.basics.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.extensions.feature/pom.xml | 2 +- .../device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml | 2 +- .../org.wso2.carbon.device.mgt.server.feature/pom.xml | 2 +- features/device-mgt/pom.xml | 2 +- .../io.entgra.server.heart.beat.feature/pom.xml | 2 +- features/heartbeat-management/pom.xml | 2 +- .../pom.xml | 2 +- features/jwt-client/pom.xml | 2 +- .../logger/io.entgra.notification.logger.feature/pom.xml | 2 +- features/logger/pom.xml | 2 +- .../org.wso2.carbon.policy.mgt.server.feature/pom.xml | 2 +- features/policy-mgt/pom.xml | 2 +- features/task-mgt/io.entgra.task.mgt.feature/pom.xml | 2 +- features/task-mgt/pom.xml | 2 +- .../org.wso2.carbon.email.sender.feature/pom.xml | 2 +- features/transport-mgt/email-sender/pom.xml | 2 +- features/transport-mgt/pom.xml | 2 +- .../io.entgra.transport.mgt.sms.handler.api.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/transport-mgt/sms-handler/pom.xml | 2 +- .../io.entgra.ui.request.interceptor.feature/pom.xml | 2 +- features/ui-request-interceptor/pom.xml | 2 +- .../pom.xml | 2 +- features/webapp-authenticator-framework/pom.xml | 2 +- pom.xml | 6 +++--- 122 files changed, 124 insertions(+), 124 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml index 4ba889f75bc..5ddd2eacf84 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml index b10e7347faa..b8f04c797d3 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml index f436217be8b..020ebeec6b5 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/grafana-mgt/pom.xml b/components/analytics-mgt/grafana-mgt/pom.xml index 35fd804fb6f..17251bd9496 100644 --- a/components/analytics-mgt/grafana-mgt/pom.xml +++ b/components/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/analytics-mgt/pom.xml b/components/analytics-mgt/pom.xml index adee79e8d38..9e3978e7176 100644 --- a/components/analytics-mgt/pom.xml +++ b/components/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml index 4a27f653c4d..6f1da82ae9a 100644 --- a/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml +++ b/components/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension/pom.xml @@ -20,7 +20,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml index fda7805dbb3..dec91246ab7 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml index 4fff195d022..e72bcc5d3b4 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml @@ -21,7 +21,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml index 1e3d5c2632d..a7bcd9a3d09 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml index 9814fd32de3..6af6ec43bfa 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.api/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT 4.0.0 diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml index 89159c23979..c122a2f8028 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension/pom.xml @@ -3,7 +3,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml index 260eeface60..1db744409df 100644 --- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml +++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml @@ -22,7 +22,7 @@ apimgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml index 137b78207d5..93638f60da4 100644 --- a/components/apimgt-extensions/pom.xml +++ b/components/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml index 0a8d32b6481..5b018fa6912 100644 --- a/components/application-mgt/io.entgra.application.mgt.addons/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.addons/pom.xml @@ -20,7 +20,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.api/pom.xml index 81b5419f964..34e852922e5 100644 --- a/components/application-mgt/io.entgra.application.mgt.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.common/pom.xml b/components/application-mgt/io.entgra.application.mgt.common/pom.xml index d1e9921af38..ec5c4ecbc85 100644 --- a/components/application-mgt/io.entgra.application.mgt.common/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.common/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.core/pom.xml b/components/application-mgt/io.entgra.application.mgt.core/pom.xml index f1c778afb06..79bfb74e1e0 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt application-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml index a4d0cbdff6f..b866b041e24 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml index 4cde05126d0..dfbdceb72f1 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml +++ b/components/application-mgt/io.entgra.application.mgt.store.api/pom.xml @@ -22,7 +22,7 @@ application-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 43289f43035..603debde5b0 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml index 42d453224ff..401bf1e2902 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml index 1e29a334e08..ca00607aa1c 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml @@ -22,7 +22,7 @@ certificate-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml index 037852c22f5..b78bc2a6dc1 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml @@ -38,7 +38,7 @@ org.wso2.carbon.devicemgt certificate-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml index 2240e669be2..34f37128a7e 100644 --- a/components/certificate-mgt/pom.xml +++ b/components/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml index 17dd8ec8409..8e56f845ac9 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml index bfca0ab296d..d71db177578 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.logger/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml index 2ff13d33af0..ac423deb81a 100644 --- a/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml +++ b/components/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine/pom.xml @@ -23,7 +23,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml index 0b666ed930e..a16f0e46ca4 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml index 08a17a9b7ff..3d9e19dd8a0 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml index 1724f6a221d..658b51a8ceb 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml index 2658ada190e..0d107ecda81 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml index cd0bd91478b..ba38443cd27 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml index be47ca8f272..7f4e6d7386d 100644 --- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml +++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml @@ -22,7 +22,7 @@ device-mgt-extensions org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml index 58b1fb48ce7..5b2bf7774f8 100644 --- a/components/device-mgt-extensions/pom.xml +++ b/components/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml index 3b7aa2298b6..7ffc616573a 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml index bff361ca4ac..fd55008151f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml index 7f3b4aeabe9..b769df09061 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml @@ -21,7 +21,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml 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 b3a0b898a8e..07d7cdc4a7d 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml 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 index 6bad4fd68c3..a7be85cc99e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml @@ -22,7 +22,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml index e4307ca0c20..65d76a4ce82 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml @@ -23,7 +23,7 @@ device-mgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 2d93b06e4a2..33b9d79a2d2 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml index a341265e16d..675795d5513 100644 --- a/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml +++ b/components/heartbeat-management/io.entgra.server.bootup.heartbeat.beacon/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heartbeat-management - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/heartbeat-management/pom.xml b/components/heartbeat-management/pom.xml index c72aa6baa49..0c11fed91d3 100644 --- a/components/heartbeat-management/pom.xml +++ b/components/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml index 74a83c3c0cf..79bd49ff21a 100644 --- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml index 55237df0916..58c581c51a6 100644 --- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml +++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt identity-extensions - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml index 5333db9e703..f5f8d9e4f68 100644 --- a/components/identity-extensions/pom.xml +++ b/components/identity-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/logger/io.entgra.notification.logger/pom.xml b/components/logger/io.entgra.notification.logger/pom.xml index d22ae2ae41a..b0e30a6d4bb 100644 --- a/components/logger/io.entgra.notification.logger/pom.xml +++ b/components/logger/io.entgra.notification.logger/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt logger - 5.0.21 + 5.0.22-SNAPSHOT io.entgra.notification.logger diff --git a/components/logger/pom.xml b/components/logger/pom.xml index 1a152dd2923..bc0f814449f 100644 --- a/components/logger/pom.xml +++ b/components/logger/pom.xml @@ -22,7 +22,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml index 5d363801345..d35d3b55904 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml index 6869270f836..63bf49d90e3 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml @@ -3,7 +3,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml index b9ee8bd5a9b..ad871a76f38 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml index f935d88e459..00861dea8bf 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt policy-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml index ee036cfc880..6709e908710 100644 --- a/components/policy-mgt/pom.xml +++ b/components/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/task-mgt/pom.xml b/components/task-mgt/pom.xml index 96ba045a8b3..3dd072c407e 100755 --- a/components/task-mgt/pom.xml +++ b/components/task-mgt/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml index 691e0c94a2b..e58e7e49694 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.common/pom.xml @@ -20,7 +20,7 @@ task-manager org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml index 06386ee1a0a..d0621effa7d 100755 --- a/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml +++ b/components/task-mgt/task-manager/io.entgra.task.mgt.core/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-manager - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-manager/pom.xml b/components/task-mgt/task-manager/pom.xml index 77d7a0d6d85..0b666e4a3e7 100755 --- a/components/task-mgt/task-manager/pom.xml +++ b/components/task-mgt/task-manager/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml index a800c8b0d79..26ee6b6e665 100755 --- a/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml +++ b/components/task-mgt/task-watcher/io.entgra.task.mgt.watcher/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-watcher - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/task-mgt/task-watcher/pom.xml b/components/task-mgt/task-watcher/pom.xml index 45298d9b29b..4e70adb6361 100755 --- a/components/task-mgt/task-watcher/pom.xml +++ b/components/task-mgt/task-watcher/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt task-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml index 8a49e2a3263..2b39b919794 100644 --- a/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml +++ b/components/transport-mgt/email-sender/org.wso2.carbon.email.sender.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/email-sender/pom.xml b/components/transport-mgt/email-sender/pom.xml index 748023d2904..c4a5ab633ef 100644 --- a/components/transport-mgt/email-sender/pom.xml +++ b/components/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/pom.xml b/components/transport-mgt/pom.xml index ac518a3635e..7f600bc7b0c 100644 --- a/components/transport-mgt/pom.xml +++ b/components/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml index 852f73274bb..0685e390189 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml index 11db631f30a..95e61579975 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.common/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml index 28db07d188a..f97f7c1e019 100644 --- a/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml +++ b/components/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.core/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/transport-mgt/sms-handler/pom.xml b/components/transport-mgt/sms-handler/pom.xml index 5f31023e457..170ea23fefb 100644 --- a/components/transport-mgt/sms-handler/pom.xml +++ b/components/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml index 4d4d17fe848..811940eca09 100644 --- a/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml +++ b/components/ui-request-interceptor/io.entgra.ui.request.interceptor/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor io.entgra.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT 4.0.0 diff --git a/components/ui-request-interceptor/pom.xml b/components/ui-request-interceptor/pom.xml index 4e9fdd4b854..0e28cc938ac 100644 --- a/components/ui-request-interceptor/pom.xml +++ b/components/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml index cee177d60c1..cb4a230459e 100644 --- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml +++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml index 806cc97d54d..081ec8435d5 100644 --- a/components/webapp-authenticator-framework/pom.xml +++ b/components/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml index fdab1446ba8..cf405ce8725 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml index 5d6a0bc1fd7..6ca64815a7a 100644 --- a/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml +++ b/features/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt grafana-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/grafana-mgt/pom.xml b/features/analytics-mgt/grafana-mgt/pom.xml index d98712e2fd1..95fad6f184a 100644 --- a/features/analytics-mgt/grafana-mgt/pom.xml +++ b/features/analytics-mgt/grafana-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt analytics-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/analytics-mgt/pom.xml b/features/analytics-mgt/pom.xml index 6baa0f242ae..cc859b27c82 100644 --- a/features/analytics-mgt/pom.xml +++ b/features/analytics-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml index 3a25262bbf9..bbe2d2226e9 100644 --- a/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml +++ b/features/apimgt-extensions/io.entgra.device.mgt.core.apimgt.analytics.extension.feature/pom.xml @@ -20,7 +20,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml index 576a49d29c1..a0f0b246eb8 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml index e9b3ab2ae1e..f202cbf25f5 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.keymgt.extension.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml index 68915da8ee3..bcfce9faed2 100644 --- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml +++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt apimgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml index 131ff1816b6..45123719f01 100644 --- a/features/apimgt-extensions/pom.xml +++ b/features/apimgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml index 5178b7dd519..40f8b41c8b0 100644 --- a/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml index 45efd5bae82..eb0727491a4 100644 --- a/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml +++ b/features/application-mgt/io.entgra.application.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt application-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/application-mgt/pom.xml b/features/application-mgt/pom.xml index f362da5431f..5148a57452c 100644 --- a/features/application-mgt/pom.xml +++ b/features/application-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml index fdc12db719e..acfdb1ab6cd 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml index f64fc5e2d38..5dc6185f234 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml index 390cec49bea..0c05cd78ffc 100644 --- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml +++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt certificate-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml index 0482cbdd86d..f21dfc2695d 100644 --- a/features/certificate-mgt/pom.xml +++ b/features/certificate-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml index ebe34779c59..fed8c0f25b9 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.defaultrole.manager.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml index c0774023e3e..8f57e439c8b 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml index 08a3ee2dc4f..8dd649d652a 100644 --- a/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml +++ b/features/device-mgt-extensions/io.entgra.device.mgt.extensions.stateengine.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml index 89247c75b0c..0016ab0066f 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml index ced91e0944e..2ef24d1914c 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml index 98451984452..46d7df4f25a 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml index 64101d46bfa..42442839ded 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml index a4f7f3f4b4e..b89b6ff19e5 100644 --- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml +++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-extensions-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml index 8b62c443739..58eac7c911d 100644 --- a/features/device-mgt-extensions/pom.xml +++ b/features/device-mgt-extensions/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml index 66de294bf0d..9a9b95bdf8e 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml index c641464f007..14457650ac8 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml index f77f6789a7f..0185636c8e7 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml @@ -4,7 +4,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml index 04663d5258b..7f7ae962052 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml +++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml 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 0eebb3d4205..baec3856805 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 @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt device-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index be449fdbdf7..62a22489dd9 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml index 2caba95b1e9..0c4f1f09b68 100644 --- a/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml +++ b/features/heartbeat-management/io.entgra.server.heart.beat.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt heart-beat-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/heartbeat-management/pom.xml b/features/heartbeat-management/pom.xml index 1f2e5547320..9268f032b3d 100644 --- a/features/heartbeat-management/pom.xml +++ b/features/heartbeat-management/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml index 81bccd814a7..8fcbd20f074 100644 --- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml +++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt jwt-client-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml index 0154025789c..70a1ee67416 100644 --- a/features/jwt-client/pom.xml +++ b/features/jwt-client/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/logger/io.entgra.notification.logger.feature/pom.xml b/features/logger/io.entgra.notification.logger.feature/pom.xml index 0b596fea208..c9630369bc3 100644 --- a/features/logger/io.entgra.notification.logger.feature/pom.xml +++ b/features/logger/io.entgra.notification.logger.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt logger-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/logger/pom.xml b/features/logger/pom.xml index 7a0a8a8a0b3..ab41d67cf8d 100644 --- a/features/logger/pom.xml +++ b/features/logger/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml index c3d134cd51d..491b2810c61 100644 --- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml +++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt policy-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml index 55eeb529ab3..97c4cc4e61d 100644 --- a/features/policy-mgt/pom.xml +++ b/features/policy-mgt/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml index 2a0542a7f7e..ff0531217c3 100755 --- a/features/task-mgt/io.entgra.task.mgt.feature/pom.xml +++ b/features/task-mgt/io.entgra.task.mgt.feature/pom.xml @@ -21,7 +21,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../../pom.xml diff --git a/features/task-mgt/pom.xml b/features/task-mgt/pom.xml index cc18fda1858..df640d0bec4 100755 --- a/features/task-mgt/pom.xml +++ b/features/task-mgt/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml index 4cfddc07a91..7e9f22200cd 100644 --- a/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml +++ b/features/transport-mgt/email-sender/org.wso2.carbon.email.sender.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt email-sender-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/email-sender/pom.xml b/features/transport-mgt/email-sender/pom.xml index 2fc0f84535c..f44ae495cf6 100644 --- a/features/transport-mgt/email-sender/pom.xml +++ b/features/transport-mgt/email-sender/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/pom.xml b/features/transport-mgt/pom.xml index 42f427e657b..98a183d6a0e 100644 --- a/features/transport-mgt/pom.xml +++ b/features/transport-mgt/pom.xml @@ -3,7 +3,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml index e6eb647e725..1035de452f2 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.api.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml index 43c58671dcd..a8020865a17 100644 --- a/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml +++ b/features/transport-mgt/sms-handler/io.entgra.transport.mgt.sms.handler.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt sms-handler-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/transport-mgt/sms-handler/pom.xml b/features/transport-mgt/sms-handler/pom.xml index 6ddd66a1bd0..c2b954db0b0 100644 --- a/features/transport-mgt/sms-handler/pom.xml +++ b/features/transport-mgt/sms-handler/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt transport-mgt-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml index 3cb7661791e..fc9c879a41f 100644 --- a/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml +++ b/features/ui-request-interceptor/io.entgra.ui.request.interceptor.feature/pom.xml @@ -21,7 +21,7 @@ ui-request-interceptor-feature io.entgra.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT 4.0.0 diff --git a/features/ui-request-interceptor/pom.xml b/features/ui-request-interceptor/pom.xml index b63f3b69b17..bd9a7bd03b6 100644 --- a/features/ui-request-interceptor/pom.xml +++ b/features/ui-request-interceptor/pom.xml @@ -21,7 +21,7 @@ carbon-devicemgt org.wso2.carbon.devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml index 4ebf9e3293a..4909d5c93e0 100644 --- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml +++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt webapp-authenticator-framework-feature - 5.0.21 + 5.0.22-SNAPSHOT ../pom.xml diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml index 86a7e98721e..474a36cc23c 100644 --- a/features/webapp-authenticator-framework/pom.xml +++ b/features/webapp-authenticator-framework/pom.xml @@ -22,7 +22,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt - 5.0.21 + 5.0.22-SNAPSHOT ../../pom.xml diff --git a/pom.xml b/pom.xml index 93b86dbc6d5..985eb5c4d80 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.wso2.carbon.devicemgt carbon-devicemgt pom - 5.0.21 + 5.0.22-SNAPSHOT WSO2 Carbon - Device Management - Parent http://wso2.org WSO2 Connected Device Manager Components @@ -1889,7 +1889,7 @@ https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git scm:git:https://repository.entgra.net/community/device-mgt-core.git - v5.0.21 + HEAD @@ -2101,7 +2101,7 @@ 1.2.11.wso2v10 - 5.0.21 + 5.0.22-SNAPSHOT 4.7.35 From 708d6be59d450ffc2349aecdcb25d91b6717c31c Mon Sep 17 00:00:00 2001 From: navodzoysa Date: Tue, 28 Feb 2023 21:22:25 +0530 Subject: [PATCH 098/101] Add offset and limit when querying policies from DAO layer --- .../impl/PolicyManagementServiceImpl.java | 14 ++-- .../mgt/common/PolicyAdministratorPoint.java | 10 ++- .../carbon/policy/mgt/core/dao/PolicyDAO.java | 10 +++ .../core/dao/PolicyManagementDAOFactory.java | 22 +++++- .../AbstractPolicyDAOImpl.java} | 11 +-- .../dao/impl/policy/GenericPolicyDAOImpl.java | 70 +++++++++++++++++++ .../dao/impl/policy/OraclePolicyDAOImpl.java | 69 ++++++++++++++++++ .../impl/policy/PostgreSQLPolicyDAOImpl.java | 69 ++++++++++++++++++ .../impl/policy/SQLServerPolicyDAOImpl.java | 68 ++++++++++++++++++ .../impl/PolicyAdministratorPointImpl.java | 5 +- .../policy/mgt/core/mgt/PolicyManager.java | 10 ++- .../mgt/core/mgt/impl/PolicyManagerImpl.java | 18 +++-- .../main/resources/dbscripts/cdm/mssql.sql | 1 + 13 files changed, 352 insertions(+), 25 deletions(-) rename components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/{PolicyDAOImpl.java => policy/AbstractPolicyDAOImpl.java} (99%) create mode 100644 components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java create mode 100644 components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java create mode 100644 components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java create mode 100644 components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java index 6a2dbe68a3c..93c8bb4192b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java @@ -40,6 +40,7 @@ import org.apache.commons.logging.LogFactory; 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.PaginationRequest; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; @@ -508,18 +509,13 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { RequestValidationUtil.validatePaginationParameters(offset, limit); PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); List policies; - List filteredPolicies; PolicyList targetPolicies = new PolicyList(); + PaginationRequest request = new PaginationRequest(offset, limit); try { PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP(); - policies = policyAdministratorPoint.getPolicyList(); - targetPolicies.setCount(policies.size()); - if (offset == 0 && limit == 0) { - targetPolicies.setList(policies); - } else { - filteredPolicies = FilteringUtil.getFilteredList(policies, offset, limit); - targetPolicies.setList(filteredPolicies); - } + policies = policyAdministratorPoint.getPolicyList(request); + targetPolicies.setCount(policyAdministratorPoint.getPolicyCount()); + targetPolicies.setList(policies); } catch (PolicyManagementException e) { String msg = "Error occurred while retrieving all available policies"; log.error(msg, e); diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/PolicyAdministratorPoint.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/PolicyAdministratorPoint.java index 591761db5f1..5c12cead8d1 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/PolicyAdministratorPoint.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/src/main/java/org/wso2/carbon/policy/mgt/common/PolicyAdministratorPoint.java @@ -19,6 +19,7 @@ package org.wso2.carbon.policy.mgt.common; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DynamicTaskContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; import org.wso2.carbon.device.mgt.common.policy.mgt.Profile; @@ -164,5 +165,12 @@ public interface PolicyAdministratorPoint { */ List getPolicies(String policyType) throws PolicyManagementException; - List getPolicyList() throws PolicyManagementException; + /** + * Returns a list of policies filtered by offset and limit + * @param request {@link PaginationRequest} contains offset and limit + * @return {@link List} - list of policies for current tenant + * @throws PolicyManagementException when there is an error while retrieving the policies from database or + * while retrieving device groups + */ + List getPolicyList(PaginationRequest request) throws PolicyManagementException; } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyDAO.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyDAO.java index 20b53f81a99..c5ae7c0a522 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyDAO.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyDAO.java @@ -36,6 +36,7 @@ package org.wso2.carbon.policy.mgt.core.dao; import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.policy.mgt.CorrectiveAction; import org.wso2.carbon.policy.mgt.common.Criterion; import org.wso2.carbon.device.mgt.common.policy.mgt.DeviceGroupWrapper; @@ -214,4 +215,13 @@ public interface PolicyDAO { HashMap getAppliedPolicyIdsDeviceIds() throws PolicyManagerDAOException; List getAllPolicies(String policyType) throws PolicyManagerDAOException; + + /** + * This method is used to retrieve policies from the database based on the offset and limit + * sent through the PaginationRequest + * @param request {@link PaginationRequest} contains offset and limit + * @return {@link List} - list of policies for current tenant + * @throws PolicyManagerDAOException when there is an error while retrieving the policies from database + */ + List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException; } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyManagementDAOFactory.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyManagementDAOFactory.java index 78d5434d01e..a0a83c454d9 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyManagementDAOFactory.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/PolicyManagementDAOFactory.java @@ -26,11 +26,14 @@ import org.wso2.carbon.device.mgt.common.exceptions.UnsupportedDatabaseEngineExc import org.wso2.carbon.policy.mgt.core.config.datasource.DataSourceConfig; import org.wso2.carbon.policy.mgt.core.config.datasource.JNDILookupDefinition; import org.wso2.carbon.policy.mgt.core.dao.impl.MonitoringDAOImpl; -import org.wso2.carbon.policy.mgt.core.dao.impl.PolicyDAOImpl; import org.wso2.carbon.policy.mgt.core.dao.impl.ProfileDAOImpl; import org.wso2.carbon.policy.mgt.core.dao.impl.feature.GenericFeatureDAOImpl; import org.wso2.carbon.policy.mgt.core.dao.impl.feature.OracleServerFeatureDAOImpl; import org.wso2.carbon.policy.mgt.core.dao.impl.feature.SQLServerFeatureDAOImpl; +import org.wso2.carbon.policy.mgt.core.dao.impl.policy.GenericPolicyDAOImpl; +import org.wso2.carbon.policy.mgt.core.dao.impl.policy.OraclePolicyDAOImpl; +import org.wso2.carbon.policy.mgt.core.dao.impl.policy.PostgreSQLPolicyDAOImpl; +import org.wso2.carbon.policy.mgt.core.dao.impl.policy.SQLServerPolicyDAOImpl; import org.wso2.carbon.policy.mgt.core.dao.util.PolicyManagementDAOUtil; import javax.sql.DataSource; @@ -65,7 +68,22 @@ public class PolicyManagementDAOFactory { } public static PolicyDAO getPolicyDAO() { - return new PolicyDAOImpl(); + if (databaseEngine != null) { + switch (databaseEngine) { + case DeviceManagementConstants.DataBaseTypes.DB_TYPE_MSSQL: + return new SQLServerPolicyDAOImpl(); + case DeviceManagementConstants.DataBaseTypes.DB_TYPE_ORACLE: + return new OraclePolicyDAOImpl(); + case DeviceManagementConstants.DataBaseTypes.DB_TYPE_POSTGRESQL: + return new PostgreSQLPolicyDAOImpl(); + case DeviceManagementConstants.DataBaseTypes.DB_TYPE_H2: + case DeviceManagementConstants.DataBaseTypes.DB_TYPE_MYSQL: + return new GenericPolicyDAOImpl(); + default: + throw new UnsupportedDatabaseEngineException("Unsupported database engine : " + databaseEngine); + } + } + throw new IllegalStateException("Database engine has not initialized properly."); } public static ProfileDAO getProfileDAO() { diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/PolicyDAOImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/AbstractPolicyDAOImpl.java similarity index 99% rename from components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/PolicyDAOImpl.java rename to components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/AbstractPolicyDAOImpl.java index 063b5c47a89..02dc4005780 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/PolicyDAOImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/AbstractPolicyDAOImpl.java @@ -33,7 +33,7 @@ * under the License. */ -package org.wso2.carbon.policy.mgt.core.dao.impl; +package org.wso2.carbon.policy.mgt.core.dao.impl.policy; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -66,9 +66,12 @@ import java.util.HashMap; import java.util.List; import java.util.Properties; -public class PolicyDAOImpl implements PolicyDAO { +/** + * Abstract implementation of PolicyDAO which holds generic SQL queries. + */ +public abstract class AbstractPolicyDAOImpl implements PolicyDAO { - private static final Log log = LogFactory.getLog(PolicyDAOImpl.class); + private static final Log log = LogFactory.getLog(AbstractPolicyDAOImpl.class); @Override public Policy addPolicy(Policy policy) throws PolicyManagerDAOException { @@ -1838,7 +1841,7 @@ public class PolicyDAOImpl implements PolicyDAO { } } - private List extractPolicyListFromDbResult(ResultSet resultSet, int tenantId) throws SQLException { + protected List extractPolicyListFromDbResult(ResultSet resultSet, int tenantId) throws SQLException { List policies = new ArrayList<>(); while (resultSet.next()) { Policy policy = new Policy(); diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java new file mode 100644 index 00000000000..d8916c95a95 --- /dev/null +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/GenericPolicyDAOImpl.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2018 - 2023 Entgra (Pvt) Ltd, Inc - All Rights Reserved. + * + * Unauthorised copying/redistribution of this file, via any medium is strictly prohibited. + * + * Licensed under the Entgra Commercial License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://entgra.io/licenses/entgra-commercial/1.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.core.dao.impl.policy; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagementDAOFactory; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagerDAOException; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class GenericPolicyDAOImpl extends AbstractPolicyDAOImpl { + + private static final Log log = LogFactory.getLog(GenericPolicyDAOImpl.class); + + private Connection getConnection() { + return PolicyManagementDAOFactory.getConnection(); + } + + @Override + public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + Connection conn; + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + + try { + conn = this.getConnection(); + String query = "SELECT * " + + "FROM DM_POLICY " + + "WHERE TENANT_ID = ? " + + "ORDER BY ID LIMIT ?,?"; + + try (PreparedStatement stmt = conn.prepareStatement(query)) { + stmt.setInt(1, tenantId); + stmt.setInt(2, request.getStartIndex()); + stmt.setInt(3, request.getRowCount()); + try (ResultSet resultSet = stmt.executeQuery()) { + return this.extractPolicyListFromDbResult(resultSet, tenantId); + } + } + } catch (SQLException e) { + String msg = "Error occurred while reading the policies from the database."; + log.error(msg, e); + throw new PolicyManagerDAOException(msg, e); + } + } +} diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java new file mode 100644 index 00000000000..c8f89a906af --- /dev/null +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/OraclePolicyDAOImpl.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2018 - 2023 Entgra (Pvt) Ltd, Inc - All Rights Reserved. + * + * Unauthorised copying/redistribution of this file, via any medium is strictly prohibited. + * + * Licensed under the Entgra Commercial License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://entgra.io/licenses/entgra-commercial/1.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.core.dao.impl.policy; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagementDAOFactory; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagerDAOException; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class OraclePolicyDAOImpl extends AbstractPolicyDAOImpl { + private static final Log log = LogFactory.getLog(OraclePolicyDAOImpl.class); + + private Connection getConnection() { + return PolicyManagementDAOFactory.getConnection(); + } + + @Override + public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + Connection conn; + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + + try { + conn = this.getConnection(); + String query = "SELECT * " + + "FROM DM_POLICY " + + "WHERE TENANT_ID = ? " + + "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; + + try (PreparedStatement stmt = conn.prepareStatement(query)) { + stmt.setInt(1, tenantId); + stmt.setInt(2, request.getStartIndex()); + stmt.setInt(3, request.getRowCount()); + try (ResultSet resultSet = stmt.executeQuery()) { + return this.extractPolicyListFromDbResult(resultSet, tenantId); + } + } + } catch (SQLException e) { + String msg = "Error occurred while reading the policies from the database."; + log.error(msg, e); + throw new PolicyManagerDAOException(msg, e); + } + } +} diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java new file mode 100644 index 00000000000..afb57d3466b --- /dev/null +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/PostgreSQLPolicyDAOImpl.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2018 - 2023 Entgra (Pvt) Ltd, Inc - All Rights Reserved. + * + * Unauthorised copying/redistribution of this file, via any medium is strictly prohibited. + * + * Licensed under the Entgra Commercial License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://entgra.io/licenses/entgra-commercial/1.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.core.dao.impl.policy; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagementDAOFactory; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagerDAOException; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class PostgreSQLPolicyDAOImpl extends AbstractPolicyDAOImpl { + private static final Log log = LogFactory.getLog(PostgreSQLPolicyDAOImpl.class); + + private Connection getConnection() { + return PolicyManagementDAOFactory.getConnection(); + } + + @Override + public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + Connection conn; + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + + try { + conn = this.getConnection(); + String query = "SELECT * " + + "FROM DM_POLICY " + + "WHERE TENANT_ID = ? " + + "ORDER BY ID LIMIT ? OFFSET ?"; + + try (PreparedStatement stmt = conn.prepareStatement(query)) { + stmt.setInt(1, tenantId); + stmt.setInt(2, request.getRowCount()); + stmt.setInt(3, request.getStartIndex()); + try (ResultSet resultSet = stmt.executeQuery()) { + return this.extractPolicyListFromDbResult(resultSet, tenantId); + } + } + } catch (SQLException e) { + String msg = "Error occurred while reading the policies from the database."; + log.error(msg, e); + throw new PolicyManagerDAOException(msg, e); + } + } +} diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java new file mode 100644 index 00000000000..dc7e4024397 --- /dev/null +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/dao/impl/policy/SQLServerPolicyDAOImpl.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2018 - 2023 Entgra (Pvt) Ltd, Inc - All Rights Reserved. + * + * Unauthorised copying/redistribution of this file, via any medium is strictly prohibited. + * + * Licensed under the Entgra Commercial License, Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://entgra.io/licenses/entgra-commercial/1.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.core.dao.impl.policy; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; +import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagementDAOFactory; +import org.wso2.carbon.policy.mgt.core.dao.PolicyManagerDAOException; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +public class SQLServerPolicyDAOImpl extends AbstractPolicyDAOImpl { + private static final Log log = LogFactory.getLog(SQLServerPolicyDAOImpl.class); + + private Connection getConnection() { + return PolicyManagementDAOFactory.getConnection(); + } + + @Override + public List getAllPolicies(PaginationRequest request) throws PolicyManagerDAOException { + Connection conn; + int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); + + try { + conn = this.getConnection(); + String query = "SELECT * " + + "FROM DM_POLICY " + + "WHERE TENANT_ID = ? " + + "ORDER BY ID OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; + try (PreparedStatement stmt = conn.prepareStatement(query)) { + stmt.setInt(1, tenantId); + stmt.setInt(2, request.getStartIndex()); + stmt.setInt(3, request.getRowCount()); + try (ResultSet resultSet = stmt.executeQuery()) { + return this.extractPolicyListFromDbResult(resultSet, tenantId); + } + } + } catch (SQLException e) { + String msg = "Error occurred while reading the policies from the database."; + log.error(msg, e); + throw new PolicyManagerDAOException(msg, e); + } + } +} diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java index 42e34bf4907..f3249e48140 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/impl/PolicyAdministratorPointImpl.java @@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DynamicTaskContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; import org.wso2.carbon.device.mgt.common.policy.mgt.Profile; import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; @@ -334,7 +335,7 @@ public class PolicyAdministratorPointImpl implements PolicyAdministratorPoint { } @Override - public List getPolicyList() throws PolicyManagementException { - return policyManager.getPolicyList(); + public List getPolicyList(PaginationRequest request) throws PolicyManagementException { + return policyManager.getPolicyList(request); } } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/PolicyManager.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/PolicyManager.java index b0b2c241d00..8f45900a21d 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/PolicyManager.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/PolicyManager.java @@ -20,6 +20,7 @@ package org.wso2.carbon.policy.mgt.core.mgt; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DynamicTaskContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.policy.mgt.Policy; import org.wso2.carbon.policy.mgt.common.PolicyManagementException; import org.wso2.carbon.policy.mgt.core.mgt.bean.UpdatedPolicyDeviceListBean; @@ -90,5 +91,12 @@ public interface PolicyManager { List getPolicies(String type) throws PolicyManagementException; - List getPolicyList() throws PolicyManagementException; + /** + * Returns list of policies with users, roles and groups attached to that policy + * @param request {@link PaginationRequest} contains offset and limit + * @return {@link List} - list of policies for current tenant + * @throws PolicyManagementException when there is an error while retrieving the policies from database or + * while retrieving device groups + */ + List getPolicyList(PaginationRequest request) throws PolicyManagementException; } diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java index 13e8665102e..1bd77a398f4 100644 --- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java +++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/src/main/java/org/wso2/carbon/policy/mgt/core/mgt/impl/PolicyManagerImpl.java @@ -41,6 +41,7 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DynamicTaskContext; +import org.wso2.carbon.device.mgt.common.PaginationRequest; import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException; import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup; @@ -1504,12 +1505,11 @@ public class PolicyManagerImpl implements PolicyManager { } @Override - public List getPolicyList() throws PolicyManagementException { - + public List getPolicyList(PaginationRequest request) throws PolicyManagementException { List policyList; try { PolicyManagementDAOFactory.openConnection(); - policyList = policyDAO.getAllPolicies(); + policyList = policyDAO.getAllPolicies(request); for (Policy policy : policyList) { policy.setRoles(policyDAO.getPolicyAppliedRoles(policy.getId())); policy.setUsers(policyDAO.getPolicyAppliedUsers(policy.getId())); @@ -1521,11 +1521,17 @@ public class PolicyManagerImpl implements PolicyManager { } Collections.sort(policyList); } catch (PolicyManagerDAOException e) { - throw new PolicyManagementException("Error occurred while getting all the policies.", e); + String msg = "Error occurred while getting all the policies."; + log.error(msg, e); + throw new PolicyManagementException(msg, e); } catch (SQLException e) { - throw new PolicyManagementException("Error occurred while opening a connection to the data source", e); + String msg = "Error occurred while opening a connection to the data source."; + log.error(msg, e); + throw new PolicyManagementException(msg, e); } catch (GroupManagementException e) { - throw new PolicyManagementException("Error occurred while getting device groups.", e); + String msg = "Error occurred while getting device groups."; + log.error(msg, e); + throw new PolicyManagementException(msg, e); } finally { PolicyManagementDAOFactory.closeConnection(); } diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql index 1c22ba25fc6..4d05ebab177 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -303,6 +303,7 @@ CREATE TABLE DM_POLICY_CORRECTIVE_ACTION ( CORRECTIVE_POLICY_ID INTEGER DEFAULT NULL, POLICY_ID INTEGER NOT NULL, FEATURE_ID INTEGER DEFAULT NULL, + IS_REACTIVE BIT NOT NULL DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT FK_DM_POLICY_DM_POLICY_CORRECTIVE_ACTION FOREIGN KEY (POLICY_ID) From fbbd07d262f38a1eb538f61a800dcaf5818a781c Mon Sep 17 00:00:00 2001 From: Shamalka Navod Date: Thu, 6 Apr 2023 05:14:02 +0000 Subject: [PATCH 099/101] Restructure Traccar integration on device management (#81) Co-authored-by: shamalka Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/81 Co-authored-by: Shamalka Navod Co-committed-by: Shamalka Navod --- .../mgt/jaxrs/util/DeviceMgtAPIUtils.java | 1 + .../common/spi/TraccarManagementService.java | 56 +++++++++++++++++++ ...ApplicationManagerProviderServiceImpl.java | 2 +- .../impl/DeviceInformationManagerImpl.java | 31 +--------- .../internal/DeviceManagementDataHolder.java | 21 ++++++- .../DeviceManagementProviderServiceImpl.java | 45 ++++++--------- .../src/main/resources/dbscripts/cdm/h2.sql | 15 ++++- 7 files changed, 112 insertions(+), 59 deletions(-) create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/TraccarManagementService.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java index 37a08c7e00f..e2100f03eb1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/util/DeviceMgtAPIUtils.java @@ -77,6 +77,7 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.report.mgt.ReportManagementService; import org.wso2.carbon.device.mgt.common.spi.DeviceTypeGeneratorService; import org.wso2.carbon.device.mgt.common.spi.OTPManagementService; +import org.wso2.carbon.device.mgt.common.spi.TraccarManagementService; import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService; import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager; import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/TraccarManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/TraccarManagementService.java new file mode 100644 index 00000000000..0c3379eedfa --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/spi/TraccarManagementService.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2023, 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.device.mgt.common.spi; + +import org.wso2.carbon.device.mgt.common.Device; +import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; + +public interface TraccarManagementService { + + /** + * Add the provided device to Traccar. + * @param device The device to be added to Traccar. + */ + void addDevice(Device device); + + /** + * Removes the Traccar device with the specified device ID from the logged in user. + * @param deviceEnrollmentId The enrollment ID of the device to be removed from Traccar. + */ + void unLinkTraccarDevice(int deviceEnrollmentId); + + /** + * Update the provided device to Traccar. + * @param device The device to be updated on Traccar. + */ + void updateDevice(Device device); + + /** + * Removes the device with the specified enrollment ID from Traccar. + * @param deviceEnrollmentId The enrollment ID of the device to be removed from Traccar. + */ + void removeDevice(int deviceEnrollmentId); + + /** + * Updates the location of the provided device with the specified device location. + * @param device The device whose location is to be updated. + * @param deviceLocation The new location of the device. + */ + void updateLocation(Device device, DeviceLocation deviceLocation); +} 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 cc82921cbc4..7dde5efb162 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 @@ -354,4 +354,4 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem DeviceManagementDAOFactory.closeConnection(); } } -} \ 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/device/details/mgt/impl/DeviceInformationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java index b293798ba26..f17719d228d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/device/details/mgt/impl/DeviceInformationManagerImpl.java @@ -382,25 +382,11 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager { deviceLocation.getBearing(), deviceLocation.getDistance() }; -// DeviceManagerUtil.getEventPublisherService().publishEvent( -// LOCATION_EVENT_STREAM_DEFINITION, "1.0.0", metaData, new Object[0], payload -// ); } //Tracker update GPS Location if (HttpReportingUtil.isLocationPublishing() && HttpReportingUtil.isTrackerEnabled()) { - try { - DeviceManagementDataHolder.getInstance().getDeviceAPIClientService() - .updateLocation(device, deviceLocation, CarbonContext.getThreadLocalCarbonContext().getTenantId()); - } catch (ExecutionException e) { - log.error("ExecutionException : " + e); - //throw new RuntimeException(e); - //Exception was not thrown due to being conflicted with non-traccar features - } catch (InterruptedException e) { - log.error("InterruptedException : " + e); - //throw new RuntimeException(e); - //Exception was not thrown due to being conflicted with non-traccar features - } + DeviceManagementDataHolder.getInstance().getTraccarManagementService().updateLocation(device, deviceLocation); } else { if(!HttpReportingUtil.isLocationPublishing()) { if (log.isDebugEnabled()) { @@ -413,8 +399,6 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager { } } } - //Tracker update GPS Location - DeviceManagementDAOFactory.commitTransaction(); } catch (TransactionManagementException e) { throw new DeviceDetailsMgtException("Transactional error occurred while adding the device location " + @@ -453,18 +437,7 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager { for (DeviceLocation deviceLocation: deviceLocations) { //Tracker update GPS Location if (HttpReportingUtil.isLocationPublishing() && HttpReportingUtil.isTrackerEnabled()) { - try { - DeviceManagementDataHolder.getInstance().getDeviceAPIClientService() - .updateLocation(device, deviceLocation, CarbonContext.getThreadLocalCarbonContext().getTenantId()); - } catch (ExecutionException e) { - log.error("ExecutionException : " + e); - //throw new RuntimeException(e); - // NOTE: Exception was not thrown due to being conflicted with non-traccar features - } catch (InterruptedException e) { - log.error("InterruptedException : " + e); - //throw new RuntimeException(e); - // NOTE: Exception was not thrown due to being conflicted with non-traccar features - } + DeviceManagementDataHolder.getInstance().getTraccarManagementService().updateLocation(device, deviceLocation); } else { if(!HttpReportingUtil.isLocationPublishing()) { if (log.isDebugEnabled()) { 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 13999efbc7e..08cfdff5911 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 @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.core.internal; import io.entgra.server.bootup.heartbeat.beacon.service.HeartBeatManagementService; +import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.device.mgt.common.DeviceStatusTaskPluginConfig; import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig; import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager; @@ -30,6 +31,7 @@ import org.wso2.carbon.device.mgt.common.metadata.mgt.MetadataManagementService; import org.wso2.carbon.device.mgt.common.metadata.mgt.WhiteLabelManagementService; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager; import org.wso2.carbon.device.mgt.common.spi.DeviceTypeGeneratorService; +import org.wso2.carbon.device.mgt.common.spi.TraccarManagementService; 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.device.details.mgt.DeviceInformationManager; @@ -90,6 +92,7 @@ public class DeviceManagementDataHolder { private DeviceAPIClientService deviceAPIClientService; private MetadataManagementService metadataManagementService; private WhiteLabelManagementService whiteLabelManagementService; + private TraccarManagementService traccarManagementService; private final Map deviceStatusTaskPluginConfigs = Collections.synchronizedMap( new HashMap<>()); @@ -357,7 +360,7 @@ public class DeviceManagementDataHolder { OperationTimeoutTaskManagerService operationTimeoutTaskManagerService) { this.operationTimeoutTaskManagerService = operationTimeoutTaskManagerService; } - + public DeviceAPIClientService getDeviceAPIClientService() { return deviceAPIClientService; } @@ -381,4 +384,20 @@ public class DeviceManagementDataHolder { public void setWhiteLabelManagementService(WhiteLabelManagementService whiteLabelManagementService) { this.whiteLabelManagementService = whiteLabelManagementService; } + + public TraccarManagementService getTraccarManagementService() { + TraccarManagementService traccarManagementService; + PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + traccarManagementService = (TraccarManagementService) ctx.getOSGiService( + TraccarManagementService.class, null); + if (traccarManagementService == null) { + String msg = "Traccar management service not initialized."; + throw new IllegalStateException(msg); + } + return traccarManagementService; + } + + public void setTraccarManagementService(TraccarManagementService traccarManagementService) { + this.traccarManagementService = traccarManagementService; + } } 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 6257e0b34d2..d3363717ada 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 @@ -48,6 +48,7 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.protocol.HTTP; +import org.opensaml.xmlsec.signature.P; import org.wso2.carbon.CarbonConstants; import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.context.PrivilegedCarbonContext; @@ -433,23 +434,12 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv //enroll Traccar device if (HttpReportingUtil.isTrackerEnabled()) { - try { - DeviceManagementDataHolder.getInstance().getDeviceAPIClientService().addDevice(device, tenantId); - } catch (ExecutionException e) { - log.error("ExecutionException : " + e); - //throw new RuntimeException(e); - //Exception was not thrown due to being conflicted with non-traccar features - } catch (InterruptedException e) { - log.error("InterruptedException : " + e); - //throw new RuntimeException(e); - //Exception was not thrown due to being conflicted with non-traccar features - } + DeviceManagementDataHolder.getInstance().getTraccarManagementService().addDevice(device); } else { if (log.isDebugEnabled()) { log.debug("Traccar is disabled"); } } - //enroll Traccar device if (status) { addDeviceToGroups(deviceIdentifier, device.getEnrolmentInfo().getOwnership()); @@ -534,24 +524,13 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv extractDeviceLocationToUpdate(device); //enroll Traccar device if (HttpReportingUtil.isTrackerEnabled()) { - try { - int tenantId = this.getTenantId(); - DeviceManagementDataHolder.getInstance().getDeviceAPIClientService().modifyDevice(device, tenantId); - } catch (ExecutionException e) { - log.error("ExecutionException : " + e); - //throw new RuntimeException(e); - //Exception was not thrown due to being conflicted with non-traccar features - } catch (InterruptedException e) { - log.error("InterruptedException : " + e); - //throw new RuntimeException(e); - //Exception was not thrown due to being conflicted with non-traccar features - } + DeviceManagementDataHolder.getInstance().getTraccarManagementService().updateDevice(device); } else { if (log.isDebugEnabled()) { log.debug("Traccar is disabled"); } } - //enroll Traccar device + return status; } @@ -635,8 +614,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv //procees to dis-enroll a device from traccar starts if (HttpReportingUtil.isTrackerEnabled()) { - DeviceManagementDataHolder.getInstance().getDeviceAPIClientService() - .disEnrollDevice(device.getId(), tenantId); + DeviceManagementDataHolder.getInstance().getTraccarManagementService().unLinkTraccarDevice(device.getEnrolmentInfo().getId()); + } else { + if (log.isDebugEnabled()) { + log.debug("Traccar is disabled"); + } } //procees to dis-enroll a device from traccar ends @@ -756,6 +738,15 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv if (log.isDebugEnabled()) { log.debug("Successfully permanently deleted the details of devices : " + validDeviceIdentifiers); } + if (HttpReportingUtil.isTrackerEnabled()) { + for (int enrollmentId : enrollmentIds) { + DeviceManagementDataHolder.getInstance().getTraccarManagementService().removeDevice(enrollmentId); + } + } else { + if (log.isDebugEnabled()) { + log.debug("Traccar is disabled"); + } + } return true; } catch (TransactionManagementException e) { String msg = "Error occurred while initiating transaction"; diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql index f383c5d5b9c..960fedcc20a 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -786,4 +786,17 @@ CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE ); --- END OF DYNAMIC TASK TABLE-- \ No newline at end of file +-- END OF DYNAMIC TASK TABLE-- + +-- DM_TRACCAR_UNSYNCED_DEVICES TABLE -- +CREATE TABLE IF NOT EXISTS DM_TRACCAR_UNSYNCED_DEVICES ( + ID INT NOT NULL AUTO_INCREMENT, + DEVICE_NAME VARCHAR(100) NOT NULL, + IOTS_DEVICE_IDENTIFIER VARCHAR(300) DEFAULT NULL UNIQUE, + TRACCAR_DEVICE_UNIQUE_ID INT NOT NULL, + TRACCAR_USENAME VARCHAR(100) NULL, + STATUS VARCHAR(100) NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (ID) +); +-- END OF DM_TRACCAR_UNSYNCED_DEVICES TABLE -- From 4d97a6ee14927e648e9e6209f7fd5f723c93b3e9 Mon Sep 17 00:00:00 2001 From: Sanjana Rajapakshe Date: Fri, 7 Apr 2023 09:04:49 +0000 Subject: [PATCH 100/101] Fix on API response messages (#50) Co-authored-by: Thashmi-nil Reviewed-on: https://repository.entgra.net/community/device-mgt-core/pulls/50 Co-authored-by: Sanjana Rajapakshe Co-committed-by: Sanjana Rajapakshe --- .../mgt/core/impl/ApplicationManagerImpl.java | 70 +++++++------ .../mgt/core/impl/ReviewManagerImpl.java | 36 +++---- .../core/impl/SubscriptionManagerImpl.java | 4 +- ...ApplicationManagementPublisherAPIImpl.java | 61 ++++++++---- .../impl/SPApplicationServiceImpl.java | 13 ++- ...cationManagementPublisherAdminAPIImpl.java | 8 ++ .../impl/ApplicationManagementAPIImpl.java | 6 +- .../impl/ReviewManagementAPIImpl.java | 18 ++-- .../impl/SubscriptionManagementAPIImpl.java | 25 +++-- .../SubscriptionManagementAdminAPIImpl.java | 2 +- .../DeviceManagementConfigServiceImpl.java | 19 ++-- .../impl/ActivityProviderServiceImpl.java | 30 +++--- .../impl/DeviceManagementServiceImpl.java | 97 ++++++++----------- .../impl/DeviceTypeManagementServiceImpl.java | 15 ++- .../impl/GeoLocationBasedServiceImpl.java | 50 +++++----- .../impl/GroupManagementServiceImpl.java | 10 +- .../impl/PolicyManagementServiceImpl.java | 46 ++++----- .../impl/RoleManagementServiceImpl.java | 53 +++++----- .../impl/UserManagementServiceImpl.java | 37 +++---- ...ApplicationManagementAdminServiceImpl.java | 10 +- .../DeviceManagementAdminServiceImpl.java | 9 +- .../GroupManagementAdminServiceImpl.java | 2 +- .../impl/util/RequestValidationUtil.java | 25 ++--- 23 files changed, 325 insertions(+), 321 deletions(-) diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java index 4ea91300ce0..98a50e427a1 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ApplicationManagerImpl.java @@ -402,7 +402,7 @@ public class ApplicationManagerImpl implements ApplicationManager { */ private void validateRemoveAppFromFavouritesRequest(int appId) throws ApplicationManagementException { if (!isFavouriteApp(appId)) { - String msg = "Provided appId " + appId + " is not a favourite app in order remove from favourites"; + String msg = "Provided application is not a favourite app in order remove from favourites"; throw new BadRequestException(msg); } } @@ -417,11 +417,11 @@ public class ApplicationManagerImpl implements ApplicationManager { try { getApplication(appId); } catch (NotFoundException e) { - String msg = " No application exists for the provided appId " + appId; + String msg = "Requested application does not exists for add to favourites."; throw new BadRequestException(msg); } if (isFavouriteApp(appId)) { - String msg = "Provided appId " + appId + " is already a favourite app"; + String msg = "Requested application is already in favourites list."; throw new BadRequestException(msg); } } @@ -1505,7 +1505,7 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { - String msg = "Error occured when getting, either application tags or application categories"; + String msg = "Error occurred when getting, either application tags or application categories"; log.error(msg, e); throw new ApplicationManagementException(msg, e); } finally { @@ -1779,7 +1779,7 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (LifeCycleManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured while deleting life-cycle state data of application releases of the application" + String msg = "Error occurred while deleting life-cycle state data of application releases of the application" + " which has application ID: " + applicationDTO.getId(); log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -1896,7 +1896,7 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occurred while verifying whether application relase has an subscription or " + String msg = "Error occurred while verifying whether application release has an subscription or " + "not. Application release UUID: " + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -1945,7 +1945,7 @@ public class ApplicationManagerImpl implements ApplicationManager { ConnectionManagerUtil.commitDBTransaction(); } catch (DBConnectionException e) { String msg = - "Error occured when getting DB connection to update image artifacts of the application release " + "Error occurred when getting DB connection to update image artifacts of the application release " + "which has uuid " + uuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -1957,13 +1957,13 @@ public class ApplicationManagerImpl implements ApplicationManager { } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); String msg = - "Error occured while getting application release data for updating image artifacts of the application release uuid " + "Error occurred while getting application release data for updating image artifacts of the application release uuid " + uuid + "."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ResourceManagementException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured while updating image artifacts of the application release uuid " + uuid + "."; + String msg = "Error occurred while updating image artifacts of the application release uuid " + uuid + "."; log.error(msg, e); throw new ApplicationManagementException(msg , e); } finally { @@ -1992,7 +1992,7 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new BadRequestException(msg); } } catch (DeviceManagementException e) { - String msg = "Error occured while getting supported device types in IoTS"; + String msg = "Error occurred while getting supported device types in IoTS"; log.error(msg, e); throw new ApplicationManagementException(msg, e); } @@ -2034,16 +2034,16 @@ public class ApplicationManagerImpl implements ApplicationManager { ConnectionManagerUtil.commitDBTransaction(); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured while getting/updating APPM DB for updating application Installer."; + String msg = "Error occurred while getting/updating APPM DB for updating application Installer."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (TransactionManagementException e) { - String msg = "Error occured while starting the transaction to update application release artifact which has " + String msg = "Error occurred while starting the transaction to update application release artifact which has " + "application uuid " + releaseUuid + "."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (DBConnectionException e) { - String msg = "Error occured when getting DB connection to update application release artifact of the " + String msg = "Error occurred when getting DB connection to update application release artifact of the " + "application release uuid " + releaseUuid + "."; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -2054,7 +2054,7 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ResourceManagementException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured when updating application installer."; + String msg = "Error occurred when updating application installer."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } finally { @@ -2252,7 +2252,7 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured when getting existing categories or when inserting new application categories."; + String msg = "Error occurred when getting existing categories or when inserting new application categories."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } finally { @@ -2574,7 +2574,7 @@ public class ApplicationManagerImpl implements ApplicationManager { applicationDAO.deleteApplicationTag(tag.getId(), applicationDTO.getId(), tenantId); ConnectionManagerUtil.commitDBTransaction(); } else { - String msg = "Tag " + tagName + " is not an application tag. Application ID: " + appId; + String msg = "Tag " + tagName + " is not an application tag. Application name: " + applicationDTO.getName(); log.error(msg); throw new BadRequestException(msg); } @@ -2782,7 +2782,7 @@ public class ApplicationManagerImpl implements ApplicationManager { .collect(Collectors.toList()); } else { String msg = "Tag list is either null or empty. In order to add new tags for application which has " - + "application ID: " + appId +", tag list should be a list of Stings. Therefore please " + + "application name: " + applicationDTO.getName() +", tag list should be a list of Stings. Therefore please " + "verify the payload."; log.error(msg); throw new BadRequestException(msg); @@ -2888,11 +2888,17 @@ public class ApplicationManagerImpl implements ApplicationManager { @Override public void updateCategory(String oldCategoryName, String newCategoryName) throws ApplicationManagementException { int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true); + if (StringUtils.isEmpty(oldCategoryName) || StringUtils.isEmpty(newCategoryName)) { + String msg = "Either old category name or new category name contains empty/null value. Hence please verify the " + + "request."; + log.error(msg); + throw new BadRequestException(msg); + } try { ConnectionManagerUtil.beginDBTransaction(); CategoryDTO category = applicationDAO.getCategoryForCategoryName(oldCategoryName, tenantId); if (category == null){ - String msg = "Couldn't found a category for tag name " + oldCategoryName + "."; + String msg = "Couldn't found a category for category name " + oldCategoryName + "."; log.error(msg); throw new NotFoundException(msg); } @@ -2904,7 +2910,7 @@ public class ApplicationManagerImpl implements ApplicationManager { log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (TransactionManagementException e) { - String msg = "Database access error is occurred when updating categiry."; + String msg = "Database access error is occurred when updating category."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { @@ -3079,11 +3085,11 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured when updating Ent Application release of UUID: " + releaseUuid; + String msg = "Error occurred when updating Ent Application release of UUID: " + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ResourceManagementException e) { - String msg = "Error occured when updating application release artifact in the file system. Ent App release " + String msg = "Error occurred when updating application release artifact in the file system. Ent App release " + "UUID:" + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -3148,11 +3154,11 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured when updating public app release of UUID: " + releaseUuid; + String msg = "Error occurred when updating public app release of UUID: " + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ResourceManagementException e) { - String msg = "Error occured when updating public app release artifact in the file system. Public app " + String msg = "Error occurred when updating public app release artifact in the file system. Public app " + "release UUID:" + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -3213,11 +3219,11 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured when updating web app release for web app Release UUID: " + releaseUuid; + String msg = "Error occurred when updating web app release for web app Release UUID: " + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ResourceManagementException e) { - String msg = "Error occured when updating web app release artifact in the file system. Web app " + String msg = "Error occurred when updating web app release artifact in the file system. Web app " + "release UUID:" + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -3343,11 +3349,11 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new ApplicationManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured when updating Ent Application release of UUID: " + releaseUuid; + String msg = "Error occurred when updating Ent Application release of UUID: " + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (ResourceManagementException e) { - String msg = "Error occured when updating application release artifact in the file system. Ent App release " + String msg = "Error occurred when updating application release artifact in the file system. Ent App release " + "UUID:" + releaseUuid; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -3721,7 +3727,7 @@ public class ApplicationManagerImpl implements ApplicationManager { throw new BadRequestException(msg); } if (StringUtils.isEmpty(webAppReleaseWrapper.getUrl())) { - String msg = "URL should't be null for the application release creating request for application type " + String msg = "URL shouldn't be null for the application release creating request for application type " + "WEB_CLIP"; log.error(msg); throw new BadRequestException(msg); @@ -3901,11 +3907,11 @@ public class ApplicationManagerImpl implements ApplicationManager { } ConnectionManagerUtil.commitDBTransaction(); } catch (ApplicationManagementDAOException e) { - String msg = "Error occured while updating app subscription status of the device."; + String msg = "Error occurred while updating app subscription status of the device."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (DBConnectionException e) { - String msg = "Error occurred while obersving the database connection to update aoo subscription status of " + String msg = "Error occurred while observing the database connection to update aoo subscription status of " + "device."; log.error(msg, e); throw new ApplicationManagementException(msg, e); @@ -3932,11 +3938,11 @@ public class ApplicationManagerImpl implements ApplicationManager { } ConnectionManagerUtil.commitDBTransaction(); } catch (ApplicationManagementDAOException e) { - String msg = "Error occured while updating app subscription status of the device."; + String msg = "Error occurred while updating app subscription status of the device."; log.error(msg, e); throw new ApplicationManagementException(msg, e); } catch (DBConnectionException e) { - String msg = "Error occurred while obersving the database connection to update aoo subscription status of " + String msg = "Error occurred while observing the database connection to update aoo subscription status of " + "device."; log.error(msg, e); throw new ApplicationManagementException(msg, e); diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ReviewManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ReviewManagerImpl.java index 323149d8941..facbfa4163a 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ReviewManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/ReviewManagerImpl.java @@ -224,7 +224,7 @@ public class ReviewManagerImpl implements ReviewManager { throw new ReviewManagementException(msg, e); } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured while verifying whether application release is exists or not for UUID " + uuid; + String msg = "Error occurred while verifying whether application release is exists or not for UUID " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } finally { @@ -360,7 +360,7 @@ public class ReviewManagerImpl implements ReviewManager { return null; } catch (ReviewManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured while getting reviewTmp with reviewTmp id " + reviewId + "."; + String msg = "Error occurred while getting reviewTmp with reviewTmp id " + reviewId + "."; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (DBConnectionException e) { @@ -393,11 +393,11 @@ public class ReviewManagerImpl implements ReviewManager { } return getReviewTree(this.reviewDAO.getAllReleaseReviews(releaseDTO.getId(), request, tenantId)); } catch (ReviewManagementDAOException e) { - String msg = "Error occured while getting all reviews for application uuid: " + uuid; + String msg = "Error occurred while getting all reviews for application uuid: " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (DBConnectionException e) { - String msg ="Error occured while getting the DB connection to get all reviews for application release which" + String msg ="Error occurred while getting the DB connection to get all reviews for application release which" + " has UUID " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); @@ -423,12 +423,12 @@ public class ReviewManagerImpl implements ReviewManager { ConnectionManagerUtil.openDBConnection(); return getReviewTree(this.reviewDAO.getAllActiveAppReviews(applicationReleaseIds, request, tenantId)); } catch (ReviewManagementDAOException e) { - String msg = "Error occured while getting all reviews for application which has an " + String msg = "Error occurred while getting all reviews for application which has an " + "application release of uuid: " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (DBConnectionException e) { - String msg = "Error occured while getting the DB connection to get app app reviews."; + String msg = "Error occurred while getting the DB connection to get app app reviews."; log.error(msg, e); throw new ReviewManagementException(msg, e); } finally { @@ -458,12 +458,12 @@ public class ReviewManagerImpl implements ReviewManager { } return getReviewTree(reviewDtos); } catch (ReviewManagementDAOException e) { - String msg = "Error occured while getting all " + username + "'s reviews for application which has an " + String msg = "Error occurred while getting all " + username + "'s reviews for application which has an " + "application release of uuid: " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (DBConnectionException e) { - String msg = "Error occured while getting DB connection to get all " + username + "'s reviews for " + String msg = "Error occurred while getting DB connection to get all " + username + "'s reviews for " + "application which has an application release of uuid: " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); @@ -486,7 +486,7 @@ public class ReviewManagerImpl implements ReviewManager { .collect(Collectors.toList()); } catch (DBConnectionException e) { String msg = - "Error occured while getting the DB connection to get application which has application release" + "Error occurred while getting the DB connection to get application which has application release" + " of UUID: " + uuid; log.error(msg, e); throw new ReviewManagementException(msg, e); @@ -526,7 +526,7 @@ public class ReviewManagerImpl implements ReviewManager { paginationResult.setRecordsTotal(numOfReviews); return paginationResult; } catch (ReviewManagementDAOException e) { - String msg = "Error occured while getting all reply comments for given review list"; + String msg = "Error occurred while getting all reply comments for given review list"; log.error(msg, e); throw new ReviewManagementException(msg, e); } @@ -635,11 +635,11 @@ public class ReviewManagerImpl implements ReviewManager { throw new ReviewManagementException(msg, e); } catch (ReviewManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); - String msg = "Error occured while deleting review with review id " + reviewId + "."; + String msg = "Error occurred while deleting review with review id " + reviewId + "."; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (TransactionManagementException e) { - String msg = "Error occurred when handleing transaction to delete application reviews."; + String msg = "Error occurred when handling transaction to delete application reviews."; log.error(msg, e); throw new ReviewManagementException(msg, e); } finally { @@ -663,16 +663,16 @@ public class ReviewManagerImpl implements ReviewManager { return rating; } catch (ApplicationManagementDAOException e) { String msg = - "Error occured while getting the rating value of the application release uuid: " + appReleaseUuid; + "Error occurred while getting the rating value of the application release uuid: " + appReleaseUuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (DBConnectionException e) { - String msg = "DB Connection error occured while getting the rating value of the application release uuid: " + String msg = "DB Connection error occurred while getting the rating value of the application release uuid: " + appReleaseUuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (ReviewManagementDAOException e) { - String msg = "Error occured while getting all rating values for the application release UUID: " + String msg = "Error occurred while getting all rating values for the application release UUID: " + appReleaseUuid; log.error(msg, e); throw new ReviewManagementException(msg, e); @@ -704,18 +704,18 @@ public class ReviewManagerImpl implements ReviewManager { return rating; } catch (DBConnectionException e) { String msg = - "DB Connection error occured while getting app rating of the application which has application " + "DB Connection error occurred while getting app rating of the application which has application " + "release for uuid: " + appReleaseUuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (ApplicationManagementDAOException e) { - String msg = "Error occured while getting the application DTO for the application release uuid: " + String msg = "Error occurred while getting the application DTO for the application release uuid: " + appReleaseUuid; log.error(msg, e); throw new ReviewManagementException(msg, e); } catch (ReviewManagementDAOException e) { String msg = - "Error occured while getting all rating values of application which has the application release " + "Error occurred while getting all rating values of application which has the application release " + "for UUID: " + appReleaseUuid; log.error(msg, e); throw new ReviewManagementException(msg, e); diff --git a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SubscriptionManagerImpl.java b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SubscriptionManagerImpl.java index 74d423a8732..a2cb17b079b 100644 --- a/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SubscriptionManagerImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.core/src/main/java/io/entgra/application/mgt/core/impl/SubscriptionManagerImpl.java @@ -367,14 +367,14 @@ public class SubscriptionManagerImpl implements SubscriptionManager { try { device = DataHolder.getInstance().getDeviceManagementService().getDevice(deviceIdentifier, false); if (device == null) { - String msg = "Invalid device identifier is received and couldn't find an deveice for the requested " + String msg = "Invalid device identifier is received and couldn't find an device for the requested " + "device identifier. Device UUID: " + deviceIdentifier.getId() + " Device Type: " + deviceIdentifier.getType(); log.error(msg); throw new BadRequestException(msg); } } catch (DeviceManagementException e) { - String msg = "Error occured while getting device data for given device identifier.Device UUID: " + String msg = "Error occurred while getting device data for given device identifier.Device UUID: " + deviceIdentifier.getId() + " Device Type: " + deviceIdentifier.getType(); log.error(msg, e); throw new ApplicationManagementException(msg, e); diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java index e8c0211166b..df98b1ee8ac 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/ApplicationManagementPublisherAPIImpl.java @@ -89,11 +89,11 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem ApplicationList applications = applicationManager.getApplications(filter); return Response.status(Response.Status.OK).entity(applications).build(); } catch (BadRequestException e) { - String msg = "Incompatible request payload is found. Please try with valid request payload."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (UnexpectedServerErrorException e) { - String msg = "Error Occured when getting supported device types by Entgra IoTS"; + String msg = "Error occurred when getting supported device types by Entgra IoTS"; log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -173,7 +173,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem try { return createApplication(applicationWrapper, isPublished); } catch (BadRequestException e) { - String msg = "Found incompatible payload with ent. app creating request."; + String msg = "Found incompatible payload with ent. app creating request. Please try with valid request payload."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -195,7 +195,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem try { return createApplication(webAppWrapper, isPublished); } catch (BadRequestException e) { - String msg = "Found incompatible payload with web app creating request."; + String msg = "Found incompatible payload with web app creating request. Please try with valid request payload."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -217,7 +217,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem try { return createApplication(publicAppWrapper, isPublished); } catch (BadRequestException e) { - String msg = "Found incompatible payload with pub app creating request."; + String msg = "Found incompatible payload with pub app creating request. Please try with valid request payload."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -239,7 +239,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem try { return createApplication(customAppWrapper, isPublished); } catch (BadRequestException e) { - String msg = "Found incompatible payload with custom app creating request."; + String msg = "Found incompatible payload with custom app creating request. Please try with valid request payload."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -267,7 +267,11 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem ApplicationRelease release = applicationManager.createEntAppRelease(appId, entAppReleaseWrapper, isPublished); return Response.status(Response.Status.CREATED).entity(release).build(); } catch (RequestValidatingException e) { - String msg = "Error occurred while validating binaryArtifact"; + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } catch (BadRequestException e){ + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -291,6 +295,10 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem applicationManager.validatePublicAppReleaseCreatingRequest(publicAppReleaseWrapper, deviceTypeName); ApplicationRelease applicationRelease = applicationManager.createPubAppRelease(appId, publicAppReleaseWrapper, isPublished); return Response.status(Response.Status.CREATED).entity(applicationRelease).build(); + } catch (BadRequestException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { String msg = "Error occurred while creating application release for the application with the id " + appId; log.error(msg, e); @@ -300,7 +308,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (RequestValidatingException e) { - String msg = "Invalid payload found in public app release create request"; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } @@ -318,6 +326,10 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem applicationManager.validateWebAppReleaseCreatingRequest(webAppReleaseWrapper); ApplicationRelease applicationRelease= applicationManager.createWebAppRelease(appId, webAppReleaseWrapper, isPublished); return Response.status(Response.Status.CREATED).entity(applicationRelease).build(); + } catch (BadRequestException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ResourceManagementException e) { String msg = "Error occurred while uploading application release artifacts"; log.error(msg, e); @@ -327,7 +339,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (RequestValidatingException e) { - String msg = "Invalid payload found in web app release create request"; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } @@ -346,8 +358,12 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem applicationManager.validateCustomAppReleaseCreatingRequest(customAppReleaseWrapper, deviceTypeName); ApplicationRelease release = applicationManager.createCustomAppRelease(appId, customAppReleaseWrapper, isPublished); return Response.status(Response.Status.CREATED).entity(release).build(); + } catch (BadRequestException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (RequestValidatingException e) { - String msg = "Error occurred while validating binaryArtifact"; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ResourceManagementException e) { @@ -386,7 +402,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem } return Response.status(Response.Status.OK).build(); } catch (BadRequestException e) { - String msg = "Found invalid device type to check application existence."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -460,6 +476,10 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem String msg = "Found an invalid device type: " + deviceType + " with the request"; log.error(msg); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); + } catch (ForbiddenException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.FORBIDDEN).entity(msg).build(); } catch (ApplicationManagementException e) { String msg = "Error occurred while updating the image artifacts of the application with the uuid " + applicationReleaseUuid; @@ -483,8 +503,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Error occurred while modifying the application. Found bad request payload for updating the " - + "application"; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -514,8 +533,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem } return Response.status(Response.Status.OK).entity(applicationRelease).build(); } catch (BadRequestException e) { - String msg = - "Invalid request to update ent app release for application release UUID " + applicationUUID; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (NotFoundException e) { @@ -555,7 +573,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem } return Response.status(Response.Status.OK).entity(applicationRelease).build(); } catch (BadRequestException e) { - String msg = "Invalid request to update public app release for application release UUID " + applicationUUID; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (NotFoundException e) { @@ -595,7 +613,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem } return Response.status(Response.Status.OK).entity(applicationRelease).build(); } catch (BadRequestException e) { - String msg = "Invalid request to update web app release for web app release UUID " + applicationUUID; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (NotFoundException e) { @@ -634,8 +652,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem } return Response.status(Response.Status.OK).entity(applicationRelease).build(); } catch (BadRequestException e) { - String msg = - "Invalid request to update ent app release for application release UUID " + applicationUUID; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (NotFoundException e) { @@ -685,7 +702,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem .changeLifecycleState(applicationUuid, lifecycleChanger); return Response.status(Response.Status.CREATED).entity(applicationRelease).build(); } catch (BadRequestException e) { - String msg = "Request payload contains invalid data, hence verify the request payload."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).build(); } catch (ForbiddenException e) { @@ -847,6 +864,10 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem try { List applicationTags = applicationManager.addApplicationTags(appId, tagNames); return Response.status(Response.Status.OK).entity(applicationTags).build(); + } catch (BadRequestException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (NotFoundException e) { String msg = e.getMessage(); log.error(msg, e); diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/SPApplicationServiceImpl.java b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/SPApplicationServiceImpl.java index 4abe861ce81..4eacf5accf4 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/SPApplicationServiceImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/SPApplicationServiceImpl.java @@ -96,6 +96,7 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String msg = "Identity server with the id " + id + " does not exist."; log.error(msg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { String errMsg = "Error occurred while trying to merge identity server apps with existing apps"; @@ -115,6 +116,7 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String msg = "Identity server with the id " + id + " does not exist."; log.error(msg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { String errMsg = "Error occurred while trying to merge identity server apps with existing apps"; @@ -134,9 +136,10 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String msg = "Identity server with the id " + id + " does not exist."; log.error(msg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (BadRequestException e) { - String errMsg = "Identity server request payload is invalid"; + String errMsg = e.getMessage(); log.error(errMsg, e); return Response.status(Response.Status.BAD_REQUEST).entity(errMsg).build(); } catch (ApplicationManagementException e) { @@ -156,8 +159,8 @@ public class SPApplicationServiceImpl implements SPApplicationService { IdentityServerResponse identityServer = spAppManager.createIdentityServer(identityServerDTO); return Response.status(Response.Status.CREATED).entity(identityServer).build(); } catch (BadRequestException e) { - String errMsg = "Identity server request payload is invalid"; - log.error(errMsg, e); + String errMsg = e.getMessage(); + log.error(errMsg, e); return Response.status(Response.Status.BAD_REQUEST).entity(errMsg).build(); } catch (ApplicationManagementException e) { String errMsg = "Error occurred while trying to merge identity server apps with existing apps"; @@ -232,6 +235,7 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String errMsg = "No Identity server exist with the id: " + identityServerId; log.error(errMsg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(errMsg).build(); } catch (ApplicationManagementException e) { String errMsg = "Error occurred while trying to merge identity server apps with existing apps"; @@ -252,6 +256,7 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String msg = "No identity server exist with the id " + identityServerId; log.error(msg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (BadRequestException e) { String msg = "Invalid appIds provided"; @@ -277,6 +282,7 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String msg = "No identity server exist with the id " + identityServerId; log.error(msg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (BadRequestException e) { String msg = "Invalid appIds provided"; @@ -343,6 +349,7 @@ public class SPApplicationServiceImpl implements SPApplicationService { } catch (NotFoundException e) { String msg = "No identity server exist with the id " + identityServerId; log.error(msg, e); + // TODO : the correct way is to use the NOT_FOUND response here. In order to do it changes are needed for the UI code as well return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (BadRequestException e) { String msg = "Found incompatible payload with create service provider app request."; diff --git a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/admin/ApplicationManagementPublisherAdminAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/admin/ApplicationManagementPublisherAdminAPIImpl.java index 9dae875ca88..6fd83760103 100644 --- a/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/admin/ApplicationManagementPublisherAdminAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.publisher.api/src/main/java/io/entgra/application/mgt/publisher/api/services/impl/admin/ApplicationManagementPublisherAdminAPIImpl.java @@ -155,6 +155,10 @@ public class ApplicationManagementPublisherAdminAPIImpl implements ApplicationMa applicationManager.updateCategory(oldCategoryName, newCategoryName); return Response.status(Response.Status.OK) .entity("Category is updated from " + oldCategoryName + " to " + newCategoryName).build(); + } catch (BadRequestException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (NotFoundException e) { String msg = e.getMessage(); log.error(msg, e); @@ -181,6 +185,10 @@ public class ApplicationManagementPublisherAdminAPIImpl implements ApplicationMa String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); + } catch (ForbiddenException e) { + String msg = e.getMessage(); + log.error(msg, e); + return Response.status(Response.Status.FORBIDDEN).entity(msg).build(); } catch (ApplicationManagementException e) { String msg = "Error Occurred while deleting registered category."; log.error(msg, e); diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ApplicationManagementAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ApplicationManagementAPIImpl.java index 5f1f124d636..f771645a771 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ApplicationManagementAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ApplicationManagementAPIImpl.java @@ -58,7 +58,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI { applicationManager.addAppToFavourites(appId); return Response.status(Response.Status.OK).build(); } catch (BadRequestException e) { - String msg = "Invalid payload found in the request. Hence verify the request payload."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -78,7 +78,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI { applicationManager.removeAppFromFavourites(appId); return Response.status(Response.Status.OK).build(); } catch (BadRequestException e) { - String msg = "Invalid payload found in the request. Hence verify the request payload."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -147,7 +147,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI { String msg = "Could not found an application release which is in " + applicationManager .getInstallableLifecycleState() + " state."; log.error(msg); - return Response.status(Response.Status.OK).entity(msg).build(); + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } return Response.status(Response.Status.OK).entity(application).build(); } catch (NotFoundException e) { diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ReviewManagementAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ReviewManagementAPIImpl.java index 8aa8b728af9..b07f1ea9c61 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ReviewManagementAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/ReviewManagementAPIImpl.java @@ -131,7 +131,7 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload data with the request. Hence, please verify the request payload."; + String msg = e.getMessage(); log.error(msg); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -144,7 +144,7 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (ApplicationManagementException e) { - String msg = "Error occured while accessing application release for UUID: " + uuid; + String msg = "Error occurred while accessing application release for UUID: " + uuid; log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } @@ -164,7 +164,7 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { if (isRepliedForReview) { return Response.status(Response.Status.CREATED).entity(reviewWrapper).build(); } else { - String msg = "Error occured when adding reply comment for the review. Please contact the administrator.."; + String msg = "Error occurred when adding reply comment for the review. Please contact the administrator.."; log.error(msg); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } @@ -173,7 +173,7 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload data with the request to add reply comment. Hence, please verify the " + String msg = "Invalid payload data found with the requested add reply comment. Hence, please verify the " + "request payload."; log.error(msg); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); @@ -182,7 +182,7 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (ApplicationManagementException e) { - String msg = "Error occured while accessing application release for UUID: " + uuid; + String msg = "Error occurred while accessing application release for UUID: " + uuid; log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } @@ -214,8 +214,12 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { String msg = "Couldn't found application release data for UUID " + uuid + " or Review for review ID: " + reviewId; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); + } catch (BadRequestException e) { + String msg = "Invalid payload data found with the request. Hence, please verify the request payload."; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { - String msg = "You dont have permission to update application release review."; + String msg = "You don't have permission to update application release review."; log.error(msg, e); return Response.status(Response.Status.FORBIDDEN).entity(msg).build(); } catch (ApplicationManagementException e) { @@ -267,7 +271,7 @@ public class ReviewManagementAPIImpl implements ReviewManagementAPI { log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (ReviewManagementException | ApplicationManagementException e) { - String msg = "Error occured while getting review data for application release UUID: " + uuid; + String msg = "Error occurred while getting review data for application release UUID: " + uuid; log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/SubscriptionManagementAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/SubscriptionManagementAPIImpl.java index 11b1ffa6893..ab13168e174 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/SubscriptionManagementAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/SubscriptionManagementAPIImpl.java @@ -93,12 +93,11 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ SubAction.valueOf(action.toUpperCase()), timestamp, properties); } } catch (NotFoundException e) { - String msg = "Couldn't found an application release for UUI: " + uuid; + String msg = "Couldn't found an application release for UUID: " + uuid; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload for installing application which has UUID: " + uuid + ". Hence verify " - + "the payload"; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -147,8 +146,7 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload for installing application which has UUID: " + uuid + ". Hence verify " - + "the payload"; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -187,13 +185,12 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ SubAction.valueOf(SubAction.INSTALL.toString().toUpperCase()), timestamp, null); } } catch (NotFoundException e) { - String msg = "Couldn't found an application release for UUI: " + uuid + " to perform ent app installation " + String msg = "Couldn't found an application release for UUID: " + uuid + " to perform ent app installation " + "on subscriber's devices"; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload when performing ent app installation on application which has UUID: " - + uuid + ". Hence verify the payload of the request."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -237,8 +234,7 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload when performing ent app installation on application which has UUID: " - + uuid + ". Hence verify the payload of the request."; + String msg = e.getMessage(); log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -360,7 +356,7 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "User requested details are not valid"; + String msg = "User requested details are not valid. Please verify the payload of the request."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -424,8 +420,7 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Found invalid payload for getting application which has UUID: " + uuid - + ". Hence verify the payload"; + String msg = "Invalid payload found when getting application. Hence verify the payload"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ForbiddenException e) { @@ -502,6 +497,10 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{ String msg = "Application with application release UUID: " + uuid + " is not found"; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); + } catch (BadRequestException e) { + String msg = "Invalid payload found with the request. Please verify the payload."; + log.error(msg,e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { String msg = "Error occurred while getting application with the application " + "release uuid: " + uuid; diff --git a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/admin/SubscriptionManagementAdminAPIImpl.java b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/admin/SubscriptionManagementAdminAPIImpl.java index 158696d65e0..08226c72bf0 100644 --- a/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/admin/SubscriptionManagementAdminAPIImpl.java +++ b/components/application-mgt/io.entgra.application.mgt.store.api/src/main/java/io/entgra/application/mgt/store/api/services/impl/admin/SubscriptionManagementAdminAPIImpl.java @@ -133,7 +133,7 @@ public class SubscriptionManagementAdminAPIImpl implements SubscriptionManagemen log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } catch (BadRequestException e) { - String msg = "User requested details are not valid"; + String msg = "User requested details are not valid. Please verify the request payload."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (ApplicationManagementException e) { diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java index 4f13273e217..8aea316c557 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java @@ -91,9 +91,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig if (properties == null || properties.isEmpty()) { String msg = "Devices configuration retrieval criteria cannot be null or empty."; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build() - ).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } ObjectMapper mapper = new ObjectMapper(); @@ -113,18 +111,15 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } catch (DeviceNotFoundException e) { log.warn(e.getMessage()); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); } catch (AmbiguousConfigurationException e) { String msg = "Configurations are ambiguous. " + e.getMessage(); log.warn(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (JsonParseException | JsonMappingException e) { String msg = "Malformed device property structure"; log.error(msg.concat(" ").concat(properties), e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (IOException e) { String msg = "Error occurred while parsing query param JSON data."; log.error(msg.concat(" ").concat(properties), e); @@ -150,8 +145,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig if (devicesTransferred.isEmpty()) { String msg = "Devices are not enrolled to super tenant"; log.warn(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } else { return Response.status(Response.Status.OK).entity(devicesTransferred).build(); } @@ -163,8 +157,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } catch (DeviceNotFoundException e) { log.error(e.getMessage(), e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java index 9c253c4fa6e..d0539f7b8b5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java @@ -74,9 +74,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService dmService = DeviceMgtAPIUtils.getDeviceManagementService(); activity = dmService.getOperationByActivityId(id); if (activity == null) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No activity can be " + - "found upon the provided activity id '" + id + "'").build()).build(); + String msg = "No activity can be " + + "found upon the provided activity id '" + id + "'"; + return Response.status(404).entity(msg).build(); } return Response.status(Response.Status.OK).entity(activity).build(); } catch (OperationManagementException e) { @@ -98,10 +98,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService List idList; idList = activityIdList.getIdList(); if (idList == null || idList.isEmpty()) { - String msg = "Activity Ids shouldn't be empty"; + String msg = "Activities should not be empty"; log.error(msg); - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(400).entity(msg).build(); } Response validationFailedResponse = validateAdminPermission(); if (validationFailedResponse == null) { @@ -125,8 +124,7 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService } else { String msg = "No activity found with the given IDs."; log.error(msg); - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(404).entity(msg).build(); } } catch (OperationManagementException e) { String msg = "ErrorResponse occurred while fetching the activity list for the supplied ids."; @@ -162,9 +160,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService dmService = DeviceMgtAPIUtils.getDeviceManagementService(); activity = dmService.getOperationByActivityIdAndDevice(id, deviceIdentifier); if (activity == null) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No activity can be " + - "found upon the provided activity id '" + id + "'").build()).build(); + String msg = "No activity can be " + + "found upon the provided activity id '" + id + "'"; + return Response.status(404).entity(msg).build(); } return Response.status(Response.Status.OK).entity(activity).build(); } catch (OperationManagementException e) { @@ -247,9 +245,8 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService try { ifSinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "Invalid date string is provided in 'If-Modified-Since' header").build()).build(); + String msg = "Invalid date string is provided in [If-Modified-Since] header."; + return Response.status(400).entity(msg).build(); } ifModifiedSinceTimestamp = ifSinceDate.getTime(); timestamp = ifModifiedSinceTimestamp / 1000; @@ -259,9 +256,8 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService try { sinceDate = format.parse(since); } catch (ParseException e) { - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "Invalid date string is provided in 'since' filter").build()).build(); + String msg = "Invalid date string is provided in [since] filter."; + return Response.status(400).entity(msg).build(); } sinceTimestamp = sinceDate.getTime(); timestamp = sinceTimestamp / 1000; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 6d0696df84e..1e9d741aa95 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -169,10 +169,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { @QueryParam("limit") int limit) { try { if (!StringUtils.isEmpty(name) && !StringUtils.isEmpty(role)) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Request contains both name and role " + - "parameters. Only one is allowed " + - "at once.").build()).build(); + String msg = "Request contains both name and role parameters. Only one is allowed at once."; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } // RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status); RequestValidationUtil.validatePaginationParameters(offset, limit); @@ -261,9 +259,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { sinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + - "string is provided in 'If-Modified-Since' header").build()).build(); + String msg = "Invalid date string is provided in [If-Modified-Since] header"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } request.setSince(sinceDate); if (requireDeviceInfo) { @@ -282,9 +279,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { sinceDate = format.parse(since); } catch (ParseException e) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + - "string is provided in 'since' filter").build()).build(); + String msg = "Invalid date string is provided in [since] filter"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } request.setSince(sinceDate); if (requireDeviceInfo) { @@ -517,6 +513,10 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { String msg = "Error occurred while retrieving role list of user '" + authorizedUser + "'"; log.error(msg); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); + }catch (BadRequestException e){ + String msg = "Error occurred while validating the device group."; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } PaginationResult result = dms.getAllDevices(request, false); @@ -533,7 +533,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { } return Response.status(Response.Status.OK).entity(devices).build(); } catch (BadRequestException e) { - String msg = "Invalid type, use either 'path' or 'full'"; + String msg = "Invalid type, use either [path] or [full]"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (UnAuthorizedException e) { @@ -567,12 +567,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { boolean response = deviceManagementProviderService.disenrollDevice(deviceIdentifier); return Response.status(Response.Status.OK).entity(response).build(); } catch (DeviceManagementException e) { - String msg = "Error encountered while deleting device of type : " + deviceType + " and " + - "ID : " + deviceId; + String msg = "Error encountered while deleting requested device of type : " + deviceType ; log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build() - ).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -594,11 +591,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.CREATED).entity(response).build(); } catch (DeviceManagementException e) { - log.error("Error encountered while updating device of type : " + deviceType + " and " + - "ID : " + deviceId); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Error while updating " + - "device of type " + deviceType + " and ID : " + deviceId).build()).build(); + String msg = "Error encountered while updating requested device of type : " + deviceType ; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -639,10 +634,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { sinceDate = format.parse(ifModifiedSince); deviceData.setLastModifiedDate(sinceDate); } catch (ParseException e) { - String msg = "Invalid date string is provided in 'If-Modified-Since' header"; + String msg = "Invalid date string is provided in [If-Modified-Since] header"; log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -669,9 +663,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " + "after the timestamp provided in 'If-Modified-Since' header").build(); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_NOT_FOUND).setMessage("Requested device of type '" + - type + "', which carries id '" + id + "' does not exist").build()).build(); + String msg = "Requested device of type " + type + " does not exist"; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } return Response.status(Response.Status.OK).entity(device).build(); } @@ -692,7 +685,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { dms); return Response.status(Response.Status.OK).entity(snapshotWrapper).build(); } catch (BadRequestException e) { - String msg = "Invalid type, use either 'path' or 'full'"; + String msg = "Invalid type, use either [path] or [full]"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (UnAuthorizedException e) { @@ -738,12 +731,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { sinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - String message = "Error occurred while parse the since date.Invalid date string is provided in " + - "'If-Modified-Since' header"; + String message = "Invalid date string is provided in [If-Modified-Since] header"; log.error(message, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + - "string is provided in 'If-Modified-Since' header").build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(message).build(); } } if (sinceDate != null) { @@ -752,16 +742,15 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { String message = "No device is modified after the timestamp provided in 'If-Modified-Since' header"; log.error(message); return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " + - "after the timestamp provided in 'If-Modified-Since' header").build(); + "after the timestamp provided in [If-Modified-Since] header").build(); } } else { device = dms.getDevice(id, requireDeviceInfo); } if (device == null) { - String message = "Device does not exist with id '" + id + "'"; + String message = "Device does not exist"; log.error(message); - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setCode(404l).setMessage(message).build()).build(); + return Response.status(Response.Status.NOT_FOUND).entity(message).build(); } DeviceIdentifier deviceIdentifier = new DeviceIdentifier(id, device.getType()); // check whether the user is authorized @@ -819,7 +808,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceManagementProviderService deviceManagementProviderService = DeviceMgtAPIUtils.getDeviceManagementService(); if (deviceIds == null || deviceIds.isEmpty()) { - String msg = "Required values of device identifiers are not set.."; + String msg = "Required values of device identifiers are not set."; log.error(msg); return Response.status(Response.Status.BAD_REQUEST).build(); } @@ -1000,9 +989,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { fm = dms.getFeatureManager(type); } catch (DeviceTypeNotFoundException e) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder() - .setMessage("No device type found with name '" + type + "'").build()).build(); + String msg = "No device type found with name : " + type ; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } if (fm != null) { features = fm.getFeatures(); @@ -1223,8 +1211,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } catch (InputValidationException e) { - String msg = "Error occurred while fetching the operations for the '" + type + "' device, which " + - "carries the id '" + id + "'"; + String msg = "Error occurred while fetching the operations for the type : " + type + " device"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (DeviceManagementException e) { @@ -1233,7 +1220,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (DeviceTypeNotFoundException e) { - String msg = "No device type found with name '" + type + "'"; + String msg = "No device type found with name : " + type ; log.error(msg, e); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } @@ -1343,11 +1330,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { boolean response = deviceManagementProviderService.changeDeviceStatus(deviceIdentifier, newsStatus); return Response.status(Response.Status.OK).entity(response).build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while changing device status of type : " + type + " and " + - "device id : " + id; + String msg = "Error occurred while changing device status of device type : " + type ; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -1375,11 +1360,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { List deviceStatusHistory = deviceManagementProviderService.getDeviceStatusHistory(persistedDevice); return Response.status(Response.Status.OK).entity(deviceStatusHistory).build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while retreiving device status history for device of type : " + type + " and " + - "device id : " + id; + String msg = "Error occurred while retrieving device status history for device of type : " + type ; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -1407,11 +1390,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { List deviceStatusHistory = deviceManagementProviderService.getDeviceCurrentEnrolmentStatusHistory(persistedDevice); return Response.status(Response.Status.OK).entity(deviceStatusHistory).build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while retreiving device status history for device of type : " + type + " and " + - "device id : " + id; + String msg = "Error occurred while retrieving device status history for device of type : " + type; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -1488,7 +1469,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build(); } catch (DeviceManagementException e) { - String errorMessage = "Issue in retrieving deivce management service instance"; + String errorMessage = "Issue in retrieving device management service instance"; log.error(errorMessage, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build(); @@ -1688,7 +1669,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceType deviceTypeObj = DeviceManagerUtil.getDeviceType( deviceType, tenantId); if (deviceTypeObj == null) { - String msg = "Error, device of type: " + deviceType + " does not exist"; + String msg = "Device of type: " + deviceType + " does not exist"; log.error(msg); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java index 393fd31ff59..b8d7aeb97ac 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java @@ -141,16 +141,15 @@ public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementServ DeviceManagementProviderService dms; try { if (StringUtils.isEmpty(type)) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Type cannot be empty.").build()).build(); + String msg = "Type cannot be empty."; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } dms = DeviceMgtAPIUtils.getDeviceManagementService(); FeatureManager fm = dms.getFeatureManager(type); if (fm == null) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No feature manager is " + - "registered with the given type '" + type + "'").build()).build(); + String msg = "No feature manager is registered with the given type : " + type ; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } if (StringUtils.isEmpty(hidden)) { @@ -165,11 +164,9 @@ public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementServ return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } catch (DeviceTypeNotFoundException e) { - String msg = "No device type found with name '" + type + "'"; + String msg = "No device type found with name : " + type ; log.error(msg, e); - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder() - .setMessage(msg).build()).build(); + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } return Response.status(Response.Status.OK).entity(features).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java index 2207957a2ac..b2063f8985c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java @@ -63,6 +63,7 @@ import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.beans.EventAction; import org.wso2.carbon.device.mgt.jaxrs.beans.GeofenceWrapper; +import org.wso2.carbon.device.mgt.jaxrs.exception.BadRequestException; import org.wso2.carbon.device.mgt.jaxrs.service.api.GeoLocationBasedService; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; @@ -107,8 +108,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { @QueryParam("from") long from, @QueryParam("to") long to) { try { if (!DeviceManagerUtil.isPublishLocationResponseEnabled()) { + String msg = "Unable to retrieve Geo Device stats. Geo Data publishing does not enabled."; return Response.status(Response.Status.BAD_REQUEST.getStatusCode()) - .entity("Unable to retrive Geo Device stats. Geo Data publishing does not enabled.").build(); + .entity(msg).build(); } } catch (DeviceManagementException e) { return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(e.getMessage()).build(); @@ -277,7 +279,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { log.debug("Device not found: " + identifier.toString()); } - return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); + String msg = "Device not found."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); @@ -288,12 +291,11 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (AlertAlreadyExistException e) { - String error = "A geo alert with this name already exists."; + String error = "A geo alert with this name already exists. Try with another name."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested "+ deviceType + " device."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -314,7 +316,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (AlertAlreadyExistException e) { - String error = "A geo alert with this name already exists."; + String error = "A geo alert with this name already exists. Try with another name."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -344,23 +346,23 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { log.debug("Device not found: " + identifier.toString()); } - return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); + String msg = "Device not found."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); geoService.updateGeoAlert(alert, identifier, alertType, device.getEnrolmentInfo().getOwner()); return Response.ok().build(); } catch (DeviceAccessAuthorizationException | GeoLocationBasedServiceException e) { - String error = "Error occurred while creating the geo alert for " + deviceType + " with id: " + deviceId; + String error = "Error occurred while updating the geo alert for " + deviceType + " with id: " + deviceId; log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (AlertAlreadyExistException e) { - String error = "A geo alert with this name already exists."; + String error = "A geo alert with this name already exists. Try with another name."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested " + deviceType + " device."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -380,7 +382,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (AlertAlreadyExistException e) { - String error = "A geo alert with this name already exists."; + String error = "A geo alert with this name already exists. Try with another name."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -410,7 +412,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { log.debug("Device not found: " + identifier.toString()); } - return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); + String msg = "Device not found."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); @@ -421,8 +424,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested " +deviceType + " device"; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -467,7 +469,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { log.debug("Device not found: " + identifier.toString()); } - return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); + String msg = "Device not found."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); @@ -497,8 +500,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested " + deviceType + " device"; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -687,9 +689,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { @Consumes("application/json") @Produces("application/json") public Response createGeofence(GeofenceWrapper geofenceWrapper) { - RequestValidationUtil.validateGeofenceData(geofenceWrapper); - RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); try { + RequestValidationUtil.validateGeofenceData(geofenceWrapper); + RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); if (!geoService.createGeofence(geofenceData)) { @@ -699,6 +701,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } return Response.status(Response.Status.CREATED).entity("Geo Fence record created successfully").build(); + } catch (BadRequestException e){ + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); } catch (GeoLocationBasedServiceException e) { String msg = "Failed to create geofence"; log.error(msg, e); @@ -895,9 +899,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { public Response updateGeofence(GeofenceWrapper geofenceWrapper, @PathParam("fenceId") int fenceId, @QueryParam("eventIds") int[] eventIds) { - RequestValidationUtil.validateGeofenceData(geofenceWrapper); - RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); try { + RequestValidationUtil.validateGeofenceData(geofenceWrapper); + RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); if (!geoService.updateGeofence(geofenceData, fenceId)) { @@ -912,6 +916,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { geoService.updateGeoEventConfigurations(geofenceData, eventsToRemove, geofenceData.getGroupIds(), fenceId); return Response.status(Response.Status.CREATED).entity("Geo Fence update successfully").build(); + } catch (BadRequestException e){ + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); } catch (GeoLocationBasedServiceException e) { String msg = "Failed to update geofence"; log.error(msg, e); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java index 898ffb6c23a..514685507df 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java @@ -167,7 +167,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (GroupAlreadyExistException e) { - String msg = "Group already exists with name " + group.getName() + "."; + String msg = "Group already exists with name : " + group.getName() + "."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } @@ -181,7 +181,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { if (deviceGroup != null) { return Response.status(Response.Status.OK).entity(deviceGroup).build(); } else { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity("Group not found.").build(); } } catch (GroupManagementException e) { String error = "Error occurred while getting the group."; @@ -198,7 +198,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { if (deviceGroup != null) { return Response.status(Response.Status.OK).entity(deviceGroup).build(); } else { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity("Group not found.").build(); } } catch (GroupManagementException e) { String error = "Error occurred while getting the group."; @@ -220,11 +220,11 @@ public class GroupManagementServiceImpl implements GroupManagementService { log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (GroupNotExistException e) { - String msg = "Group doesn't exist with ID '" + deviceGroup.getGroupId() + "'."; + String msg = "Group does not exist."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } catch (GroupAlreadyExistException e) { - String msg = "Group already exists with name '" + deviceGroup.getName() + "'."; + String msg = "Group already exists with name : '" + deviceGroup.getName() + "'."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java index 6a2dbe68a3c..fdc0fbf7a61 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java @@ -83,8 +83,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { .validatePolicyDetails(policyWrapper); // validation failure results; if (!features.isEmpty()) { - log.error("Policy feature/s validation failed."); - return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); + String msg = "Policy feature/s validation failed." ; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " + features).build(); } PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); @@ -212,9 +213,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP(); policy = policyAdministratorPoint.getPolicy(id); if (policy == null) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No policy found with the id '" + id + "'").build()).build(); + String msg = "Policy not found."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } catch (PolicyManagementException e) { String msg = "Error occurred while retrieving policy corresponding to the id '" + id + "'"; @@ -233,8 +233,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { .validatePolicyDetails(policyWrapper); // validation failure results; if (!features.isEmpty()) { - log.error("Policy feature/s validation failed."); - return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); + String msg = "Policy feature/s validation failed." ; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " + features).build(); } PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); try { @@ -296,10 +297,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { //TODO:Check of this logic is correct String modifiedInvalidPolicyIds = invalidPolicyIds.substring(0, invalidPolicyIds.length() - 1); - return Response.status(Response.Status.BAD_REQUEST). - entity(new ErrorResponse.ErrorResponseBuilder(). - setMessage("Policies with the policy ID " + modifiedInvalidPolicyIds + - " doesn't exist").build()).build(); + String msg = "Policies does not exist."; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -329,9 +328,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { return Response.status(Response.Status.OK).entity("Selected policies have been successfully activated") .build(); } else { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Selected policies have " + - "not been activated").build()).build(); + String msg = "Selected policies have not been activated."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } @@ -361,9 +359,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { return Response.status(Response.Status.OK).entity("Selected policies have been successfully " + "deactivated").build(); } else { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Selected policies have " + - "not been deactivated").build()).build(); + String msg = "Selected policies have not been activated."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } @@ -412,9 +409,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { + "updated.").build(); } else { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Policy priorities did " - + "not update. Bad Request.").build()).build(); + String msg = "Policy priorities did not update. Bad Request."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } @@ -440,9 +436,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { } policy = policyManagementService.getAppliedPolicyToDevice(device); if (policy == null) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No policy found for device ID '" + deviceId + "'"+ deviceId).build()).build(); + String msg = "Policy not found for the requested device."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } catch (PolicyManagementException e) { String msg = "Error occurred while retrieving policy corresponding to the id '" + deviceType + "'"+ deviceId; @@ -491,8 +486,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { = RequestValidationUtil.validateProfileFeatures(profileFeaturesList); // validation failure results; if (!features.isEmpty()) { - log.error("Policy feature/s validation failed."); - return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); + String msg = "Policy feature/s validation failed." ; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " +features).build(); } return Response.status(Response.Status.OK).entity("Valid request").build(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java index af05da7991f..0894b2f2cd6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java @@ -169,8 +169,9 @@ public class RoleManagementServiceImpl implements RoleManagementService { try { final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); if (!userRealm.getUserStoreManager().isExistingRole(roleName)) { - return Response.status(404).entity(new ErrorResponse.ErrorResponseBuilder().setMessage( - "No role exists with the name '" + roleName + "'").build()).build(); + + String msg = "No role exists with the name : " + roleName ; + return Response.status(404).entity(msg).build(); } final UIPermissionNode rolePermissions = this.getUIPermissionNode(roleName, userRealm); @@ -249,9 +250,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { final UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); if (!userStoreManager.isExistingRole(roleName)) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No role exists with the name '" + - roleName + "'").build()).build(); + String msg = "No role exists with the name : " + roleName ; + return Response.status(404).entity(msg).build(); } roleInfo.setRoleName(roleName); roleInfo.setUsers(userStoreManager.getUserListOfRole(roleName)); @@ -325,7 +325,7 @@ public class RoleManagementServiceImpl implements RoleManagementService { } if (ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode().equals(errorCode)) { String roleName = roleInfo.getRoleName().split("/")[1]; - String msg = "Role already exists with name " + roleName + "."; + String msg = "Role already exists with name : " + roleName + ". Try with another role name."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } else { @@ -354,10 +354,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { roleName = userStoreName + "/" + roleName; } if (roles.size() < 2) { - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Combining Roles requires at least two roles.") - .build() - ).build(); + String msg = "Combining Roles requires at least two roles."; + return Response.status(400).entity(msg).build(); } for (String role : roles) { RequestValidationUtil.validateRoleName(role); @@ -374,9 +372,7 @@ public class RoleManagementServiceImpl implements RoleManagementService { mergePermissions(new UIPermissionNode[]{getRolePermissions(role)}, permsSet); } } catch (IllegalArgumentException e) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build() - ).build(); + return Response.status(404).entity(e.getMessage()).build(); } Permission[] permissions = permsSet.toArray(new Permission[permsSet.size()]); @@ -424,9 +420,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserStoreManager userStoreManager = userRealm.getUserStoreManager(); if (!userStoreManager.isExistingRole(roleName)) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No role exists with the name '" + - roleName + "'").build()).build(); + String msg = "No role exists with the name : " + roleName ; + return Response.status(404).entity(msg).build(); } final AuthorizationManager authorizationManager = userRealm.getAuthorizationManager(); @@ -481,10 +476,23 @@ public class RoleManagementServiceImpl implements RoleManagementService { return Response.status(Response.Status.OK).entity("Role '" + roleInfo.getRoleName() + "' has " + "successfully been updated").build(); } catch (UserStoreException e) { - String msg = "Error occurred while updating role '" + roleName + "'"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + String errorCode = ""; + String errorMessage = e.getMessage(); + if (errorMessage != null && !errorMessage.isEmpty() && + errorMessage.contains(ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode())) { + errorCode = e.getMessage().split("-")[0].trim(); + } + if (ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode().equals(errorCode)) { + String role = roleInfo.getRoleName().split("/")[1]; + String msg = "Role already exists with name : " + role + ". Try with another role name."; + log.warn(msg); + return Response.status(Response.Status.CONFLICT).entity(msg).build(); + }else{ + String msg = "Error occurred while updating role '" + roleName + "'"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } } catch (UserAdminException e) { String msg = "Error occurred while updating permissions of the role '" + roleName + "'"; log.error(msg, e); @@ -559,9 +567,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserStoreManager userStoreManager = userRealm.getUserStoreManager(); if (!userStoreManager.isExistingRole(roleName)) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No role exists with the name '" + - roleName + "'").build()).build(); + String msg = "No role exists with the name : " + roleName ; + return Response.status(404).entity(msg).build(); } final AuthorizationManager authorizationManager = userRealm.getAuthorizationManager(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java index 1fbb402dcd0..c6f6d882e05 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java @@ -157,10 +157,8 @@ public class UserManagementServiceImpl implements UserManagementService { " already exists. Therefore, request made to add user was refused."); } // returning response with bad request state - return Response.status(Response.Status.CONFLICT).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + - userInfo.getUsername() + " already exists. Therefore, request made to add user " + - "was refused.").build()).build(); + String msg = "User by username: " + userInfo.getUsername() + " already exists. Try with another username." ; + return Response.status(Response.Status.CONFLICT).entity(msg).build(); } String initialUserPassword; @@ -290,9 +288,8 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + username + " does not exist."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "User doesn't exist.").build()).build(); + String msg = "User by username: " + username + " does not exist."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } BasicUserInfo user = this.getBasicUserInfo(username); @@ -318,9 +315,8 @@ public class UserManagementServiceImpl implements UserManagementService { log.debug("User by username: " + username + " doesn't exists. Therefore, request made to update user was refused."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + - username + " doesn't exist.").build()).build(); + String msg = "User by username: " + username + " does not exist."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } Map defaultUserClaims = @@ -396,9 +392,8 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + username + " does not exist for removal."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User '" + - username + "' does not exist for removal.").build()).build(); + String msg = "User by username: " + username + " does not exist for removal."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } // Un-enroll all devices for the user DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService(); @@ -430,9 +425,8 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + username + " does not exist for role retrieval."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + username + - " does not exist for role retrieval.").build()).build(); + String msg = "User by username: " + username + " does not exist for role retrieval."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } RoleList result = new RoleList(); @@ -867,8 +861,8 @@ public class UserManagementServiceImpl implements UserManagementService { try { ifSinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - return Response.status(400).entity(new ErrorResponse.ErrorResponseBuilder() - .setMessage("Invalid date string is provided in 'If-Modified-Since' header").build()).build(); + String msg = "Invalid date string is provided in [If-Modified-Since] header"; + return Response.status(400).entity(msg).build(); } ifModifiedSinceTimestamp = ifSinceDate.getTime(); isIfModifiedSinceSet = true; @@ -879,8 +873,8 @@ public class UserManagementServiceImpl implements UserManagementService { try { sinceDate = format.parse(since); } catch (ParseException e) { - return Response.status(400).entity(new ErrorResponse.ErrorResponseBuilder() - .setMessage("Invalid date string is provided in 'since' filter").build()).build(); + String msg = "Invalid date string is provided in [since] filter"; + return Response.status(400).entity(msg).build(); } sinceTimestamp = sinceDate.getTime(); timestamp = sinceTimestamp / 1000; @@ -1094,8 +1088,7 @@ public class UserManagementServiceImpl implements UserManagementService { if (!userStoreManager.isExistingUser(username)) { String message = "User by username: " + username + " does not exist for permission retrieval."; log.error(message); - return Response.status(Response.Status.NOT_FOUND) - .entity(new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); + return Response.status(Response.Status.NOT_FOUND).entity(message).build(); } // Get a list of roles which the user assigned to List roles = getFilteredRoles(userStoreManager, username); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java index d942c77e7b0..55c8c2ff1d0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java @@ -81,9 +81,8 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem applicationWrapper.getDeviceIdentifiers().size() > 0) { activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers()); } else { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No application installation criteria i.e. user/role/device is given").build()).build(); + String msg = "No application installation criteria i.e. user/role/device is given"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } return Response.status(Response.Status.ACCEPTED).entity(activity).build(); @@ -131,9 +130,8 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem applicationWrapper.getDeviceIdentifiers().size() > 0) { activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers()); } else { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No application un-installation criteria i.e. user/role/device is given").build()).build(); + String msg = "No application un-installation criteria i.e. user/role/device is given"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } return Response.status(Response.Status.ACCEPTED).entity(activity).build(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index acadf926f2b..1137beceed6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -169,7 +169,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (UserNotFoundException e) { - String msg = "Couldn't found the owner in user store to update the owner of devices."; + String msg = "Could not found the owner in user store to update the owner of devices."; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } @@ -197,8 +197,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe } catch (InvalidDeviceException e) { String msg = "Found Invalid devices"; log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -222,7 +221,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (BadRequestException e) { - String msg = "Bad request, can't proceed. Hence verify the request and re-try"; + String msg = "Bad request, cannot proceed. Hence verify the request and re-try"; log.error(msg); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (DeviceManagementException e) { @@ -230,7 +229,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (DeviceNotFoundException e) { - String msg = "Couldn't find an device for device identifier: " + deviceIdentifier; + String msg = "Could not find an device"; log.error(msg); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java index a461b71b500..9dd67617e81 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java @@ -156,7 +156,7 @@ public class GroupManagementAdminServiceImpl implements GroupManagementAdminServ log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (GroupAlreadyExistException e) { - String msg = "Group already exists with name " + group.getName() + "."; + String msg = "Group already exists with name : " + group.getName() + ". Try with another group name."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index 564e16f8dde..bb15685f2cc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -49,6 +49,7 @@ import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper; import org.wso2.carbon.device.mgt.jaxrs.beans.ProfileFeature; import org.wso2.carbon.device.mgt.jaxrs.beans.RoleInfo; import org.wso2.carbon.device.mgt.jaxrs.beans.Scope; +import org.wso2.carbon.device.mgt.jaxrs.exception.BadRequestException; import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.policy.mgt.common.PolicyPayloadValidator; @@ -849,8 +850,7 @@ public class RequestValidationUtil { if (geofenceWrapper.getFenceName() == null || geofenceWrapper.getFenceName().trim().isEmpty()) { String msg = "Geofence name should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (geofenceWrapper.getGeoJson() != null && !geofenceWrapper.getGeoJson().trim().isEmpty()) { isGeoJsonExists = true; @@ -858,26 +858,22 @@ public class RequestValidationUtil { if ((geofenceWrapper.getLatitude() < -90 || geofenceWrapper.getLatitude() > 90) && !isGeoJsonExists) { String msg = "Latitude should be a value between -90 and 90"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if ((geofenceWrapper.getLongitude() < -180 || geofenceWrapper.getLongitude() > 180) && !isGeoJsonExists) { String msg = "Longitude should be a value between -180 and 180"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (geofenceWrapper.getRadius() < 1 && !isGeoJsonExists) { String msg = "Minimum radius of the fence should be 1m"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (geofenceWrapper.getFenceShape().trim().isEmpty()) { String msg = "Fence shape should not be empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } } @@ -889,23 +885,20 @@ public class RequestValidationUtil { if (eventConfig == null ||eventConfig.isEmpty()) { String msg = "Event configuration is mandatory, since should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } for (EventConfig config : eventConfig) { if (config.getActions() == null || config.getActions().isEmpty()) { String msg = "Event actions are mandatory, since should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (config.getEventLogic() == null || config.getEventLogic().trim().isEmpty()) { String msg = "Event logic is mandatory, since should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } } } From dab2a5ded7e0ffcebb8abf8cb5f76bba74eba529 Mon Sep 17 00:00:00 2001 From: navodzoysa Date: Tue, 20 Dec 2022 12:26:14 +0530 Subject: [PATCH 101/101] Check tenant IDs of cached queries before sending to Grafana --- .../service/impl/GrafanaQueryServiceImpl.java | 19 ++++++- .../query/GrafanaPreparedQueryBuilder.java | 56 ++++++++++++++++++- .../proxy/core/util/GrafanaConstants.java | 1 + 3 files changed, 73 insertions(+), 3 deletions(-) diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/service/impl/GrafanaQueryServiceImpl.java b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/service/impl/GrafanaQueryServiceImpl.java index b15ebed76ab..7af9acf5596 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/service/impl/GrafanaQueryServiceImpl.java +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/service/impl/GrafanaQueryServiceImpl.java @@ -68,8 +68,23 @@ public class GrafanaQueryServiceImpl implements GrafanaQueryService { int datasourceId = datasourceIdJson.getAsInt(); CacheManager cacheManager = CacheManager.getInstance(); String encodedQuery = cacheManager.getEncodedQueryCache().getIfPresent(rawSql); - if (cacheManager.getEncodedQueryCache().getIfPresent(rawSql) != null) { - queryObj.addProperty(GrafanaConstants.RAW_SQL_KEY, encodedQuery); + if (encodedQuery != null && !encodedQuery.isEmpty()) { + // Checks if the tenant ID in the cached query (encodedQuery) is matching the current tenant ID + // taken from Carbon Context and if it's not matching then the query is modified with the current + // tenant ID and then added to the cache + if (encodedQuery.contains(GrafanaConstants.ENCODED_QUERY_TENANT_ID_KEY)) { + String encodedQueryTenantId = GrafanaPreparedQueryBuilder.getEncodedQueryTenantId(encodedQuery); + boolean isMatchingTenantId = GrafanaPreparedQueryBuilder.isMatchingTenantId(encodedQueryTenantId); + if (isMatchingTenantId) { + queryObj.addProperty(GrafanaConstants.RAW_SQL_KEY, encodedQuery); + } else { + String modifiedEncodedQuery = GrafanaPreparedQueryBuilder.modifyEncodedQuery(encodedQuery); + CacheManager.getInstance().getEncodedQueryCache().put(rawSql, modifiedEncodedQuery); + queryObj.addProperty(GrafanaConstants.RAW_SQL_KEY, modifiedEncodedQuery); + } + } else { + queryObj.addProperty(GrafanaConstants.RAW_SQL_KEY, encodedQuery); + } return; } Datasource datasource = cacheManager.getDatasourceAPICache().getIfPresent(datasourceId); diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/sql/query/GrafanaPreparedQueryBuilder.java b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/sql/query/GrafanaPreparedQueryBuilder.java index 8b8606dacb8..da14278cafc 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/sql/query/GrafanaPreparedQueryBuilder.java +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/sql/query/GrafanaPreparedQueryBuilder.java @@ -38,6 +38,7 @@ public class GrafanaPreparedQueryBuilder { private static final String VAR_PARAM_TEMPLATE = "$param"; private static final String GRAFANA_QUOTED_VAR_REGEX = "('\\$(\\d|\\w|_)+')|('\\$\\{.*?\\}')|(\"\\$(\\d|\\w|_)+\")|(\"\\$\\{.*?\\}\")"; private static final String GRAFANA_VAR_REGEX = "(\\$(\\d|\\w|_)+)|(\\$\\{.*?\\})"; + private static final String ENCODED_QUERY_TENANT_ID_REGEX = "TENANT_ID\\s=\\s('[^']+'|-?[1-9]\\d*|0)"; public static PreparedQuery build(String queryTemplate, String rawQuery) throws QueryMisMatch { @@ -125,6 +126,60 @@ public class GrafanaPreparedQueryBuilder { return new PreparedQuery(preparedQueryBuilder.toString(), parameters); } + /** + * Get the tenant ID used in the cached query with the matching regex pattern which are integers that + * may or may not have surrounding single quotes and could have a minus sign (e.g., '-1234') + * @param encodedQuery the cached query + * @return returns the tenant ID extracted from the cached query + */ + public static String getEncodedQueryTenantId(String encodedQuery) { + Pattern pattern = Pattern.compile(ENCODED_QUERY_TENANT_ID_REGEX); + Matcher matcher = pattern.matcher(encodedQuery); + String encodedQueryTenantId = ""; + while (matcher.find()) { + encodedQueryTenantId = matcher.group(1); + if (encodedQueryTenantId != null && !encodedQueryTenantId.isEmpty()) { + break; + } + } + return unQuoteString(encodedQueryTenantId); + } + + /** + * Checks if passed tenant ID is matching with tenant ID from Carbon Context + * @param encodedQueryTenantId the tenant ID + * @return true if tenant IDs match otherwise false + */ + public static boolean isMatchingTenantId(String encodedQueryTenantId) { + if (encodedQueryTenantId != null && !encodedQueryTenantId.isEmpty()) { + return GrafanaUtil.getTenantId() == Integer.parseInt(encodedQueryTenantId); + } + return false; + } + + /** + * Modify the tenant ID used in the cached query to the current tenant ID taken from Carbon Context + * with the matching regex pattern which are integers that may or may not have surrounding single quotes and + * could have a minus sign (e.g., '-1234') + * @param encodedQuery the cached query + * @return returns the modified query with the current tenant ID + */ + public static String modifyEncodedQuery(String encodedQuery) { + Pattern pattern = Pattern.compile(ENCODED_QUERY_TENANT_ID_REGEX); + Matcher matcher = pattern.matcher(encodedQuery); + StringBuffer stringBuffer = new StringBuffer(encodedQuery.length()); + String encodedQueryTenantId = ""; + while (matcher.find()) { + encodedQueryTenantId = matcher.group(1); + if (encodedQueryTenantId != null && !encodedQueryTenantId.isEmpty()) { + matcher.appendReplacement(stringBuffer, Matcher.quoteReplacement( + GrafanaConstants.ENCODED_QUERY_TENANT_ID_KEY + " " + GrafanaUtil.getTenantId())); + } + } + matcher.appendTail(stringBuffer); + return stringBuffer.toString(); + } + private static String[] splitByComma(String str) { // Using regex to avoid splitting by comma inside quotes return str.split("(\\s|\\t)*,(\\s|\\t)*(?=(?:[^'\"]*['|\"][^'\"]*['|\"])*[^'\"]*$)"); @@ -194,5 +249,4 @@ public class GrafanaPreparedQueryBuilder { private static String singleQuoteString(String str) { return "'" + str + "'"; } - } diff --git a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/util/GrafanaConstants.java b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/util/GrafanaConstants.java index b8a33f8b329..0abed858b79 100644 --- a/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/util/GrafanaConstants.java +++ b/components/analytics-mgt/grafana-mgt/io.entgra.analytics.mgt.grafana.proxy.core/src/main/java/io/entgra/analytics/mgt/grafana/proxy/core/util/GrafanaConstants.java @@ -39,6 +39,7 @@ public class GrafanaConstants { public static final int IFRAME_URL_DASHBOARD_UID_INDEX = 1; public static final String TENANT_ID_VAR_NAME = "tenantId"; + public static final String ENCODED_QUERY_TENANT_ID_KEY = "TENANT_ID ="; public static final String VAR_PREFIX = "$"; public static final String TENANT_ID_VAR = VAR_PREFIX + TENANT_ID_VAR_NAME; public static final String QUERY_PARAM_VAR_PREFIX = "var-";