mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'application-mgt-new' into 'application-mgt-new'
Merge with upstream See merge request entgra/carbon-device-mgt!183
This commit is contained in:
commit
38216ecd35
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Annotations</name>
|
<name>WSO2 Carbon - API Management Annotations</name>
|
||||||
<description>WSO2 Carbon - API Management Custom Annotation Module</description>
|
<description>WSO2 Carbon - API Management Custom Annotation Module</description>
|
||||||
|
|||||||
@ -21,12 +21,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<artifactId>org.wso2.carbon.apimgt.application.extension.api</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.application.extension.api</artifactId>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - API Application Management API</name>
|
<name>WSO2 Carbon - API Application Management API</name>
|
||||||
|
|||||||
@ -22,12 +22,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<artifactId>org.wso2.carbon.apimgt.application.extension</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.application.extension</artifactId>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Application Management</name>
|
<name>WSO2 Carbon - API Application Management</name>
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.handlers</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.handlers</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Security Handler Component</name>
|
<name>WSO2 Carbon - API Security Handler Component</name>
|
||||||
<description>WSO2 Carbon - API Management Security Handler Module</description>
|
<description>WSO2 Carbon - API Management Security Handler Module</description>
|
||||||
|
|||||||
@ -13,13 +13,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.integration.client</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.integration.client</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Integration Client</name>
|
<name>WSO2 Carbon - API Management Integration Client</name>
|
||||||
<description>WSO2 Carbon - API Management Integration Client</description>
|
<description>WSO2 Carbon - API Management Integration Client</description>
|
||||||
|
|||||||
@ -13,13 +13,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.integration.generated.client</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.integration.generated.client</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Integration Generated Client</name>
|
<name>WSO2 Carbon - API Management Integration Generated Client</name>
|
||||||
<description>WSO2 Carbon - API Management Integration Client</description>
|
<description>WSO2 Carbon - API Management Integration Client</description>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.webapp.publisher</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.webapp.publisher</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Webapp Publisher</name>
|
<name>WSO2 Carbon - API Management Webapp Publisher</name>
|
||||||
<description>WSO2 Carbon - API Management Webapp Publisher</description>
|
<description>WSO2 Carbon - API Management Webapp Publisher</description>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - API Management Extensions Component</name>
|
<name>WSO2 Carbon - API Management Extensions Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -5,12 +5,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.addons</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.addons</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - Application Management Add-Ons</name>
|
<name>WSO2 Carbon - Application Management Add-Ons</name>
|
||||||
<description>WSO2 Carbon - Application Management Add-Ons</description>
|
<description>WSO2 Carbon - Application Management Add-Ons</description>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.api</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.api</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - Application Management API</name>
|
<name>WSO2 Carbon - Application Management API</name>
|
||||||
<description>WSO2 Carbon - Application Management API</description>
|
<description>WSO2 Carbon - Application Management API</description>
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.common</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.common</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Common</name>
|
<name>WSO2 Carbon - Application Management Common</name>
|
||||||
<description>WSO2 Carbon - Application Management Common</description>
|
<description>WSO2 Carbon - Application Management Common</description>
|
||||||
|
|||||||
@ -0,0 +1,40 @@
|
|||||||
|
/* 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.application.mgt.common.config;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
|
||||||
|
public class MDMConfig {
|
||||||
|
|
||||||
|
private String artifactDownloadProtocol;
|
||||||
|
private String artifactDownloadEndpoint;
|
||||||
|
|
||||||
|
@XmlElement(name = "ArtifactDownloadProtocol", required=true)
|
||||||
|
public String getArtifactDownloadProtocol() { return artifactDownloadProtocol; }
|
||||||
|
|
||||||
|
public void setArtifactDownloadProtocol(String artifactDownloadProtocol) {
|
||||||
|
this.artifactDownloadProtocol = artifactDownloadProtocol;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "ArtifactDownloadEndpoint", required=true)
|
||||||
|
public String getArtifactDownloadEndpoint() { return artifactDownloadEndpoint; }
|
||||||
|
|
||||||
|
public void setArtifactDownloadEndpoint(String artifactDownloadEndpoint) {
|
||||||
|
this.artifactDownloadEndpoint = artifactDownloadEndpoint;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.core</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.core</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Core</name>
|
<name>WSO2 Carbon - Application Management Core</name>
|
||||||
<description>WSO2 Carbon - Application Management Core</description>
|
<description>WSO2 Carbon - Application Management Core</description>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 176 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.application.mgt.core.config;
|
package org.wso2.carbon.device.application.mgt.core.config;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.application.mgt.common.config.MDMConfig;
|
||||||
import org.wso2.carbon.device.application.mgt.common.config.RatingConfiguration;
|
import org.wso2.carbon.device.application.mgt.common.config.RatingConfiguration;
|
||||||
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
import org.wso2.carbon.device.application.mgt.common.config.UIConfiguration;
|
||||||
import org.wso2.carbon.device.application.mgt.common.config.LifecycleState;
|
import org.wso2.carbon.device.application.mgt.common.config.LifecycleState;
|
||||||
@ -37,20 +38,16 @@ public class Configuration {
|
|||||||
|
|
||||||
private List<Extension> extensions;
|
private List<Extension> extensions;
|
||||||
|
|
||||||
private Artifacts artifacts;
|
|
||||||
|
|
||||||
private PaginationConfiguration paginationConfiguration;
|
|
||||||
|
|
||||||
private List<LifecycleState> lifecycleStates;
|
private List<LifecycleState> lifecycleStates;
|
||||||
|
|
||||||
private UIConfiguration uiConfiguration;
|
private UIConfiguration uiConfiguration;
|
||||||
|
|
||||||
private List<String> appCategories;
|
private List<String> appCategories;
|
||||||
|
|
||||||
private String artifactDownloadEndpoint;
|
|
||||||
|
|
||||||
private RatingConfiguration ratingConfiguration;
|
private RatingConfiguration ratingConfiguration;
|
||||||
|
|
||||||
|
private MDMConfig mdmConfig;
|
||||||
|
|
||||||
@XmlElement(name = "DatasourceName", required = true)
|
@XmlElement(name = "DatasourceName", required = true)
|
||||||
public String getDatasourceName() {
|
public String getDatasourceName() {
|
||||||
return datasourceName;
|
return datasourceName;
|
||||||
@ -70,11 +67,6 @@ public class Configuration {
|
|||||||
this.extensions = extensions;
|
this.extensions = extensions;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "PaginationConfiguration", required = true)
|
|
||||||
public PaginationConfiguration getPaginationConfiguration() {
|
|
||||||
return paginationConfiguration;
|
|
||||||
}
|
|
||||||
|
|
||||||
@XmlElementWrapper(name = "LifecycleStates")
|
@XmlElementWrapper(name = "LifecycleStates")
|
||||||
@XmlElement(name = "LifecycleState")
|
@XmlElement(name = "LifecycleState")
|
||||||
public List<LifecycleState> getLifecycleStates() {
|
public List<LifecycleState> getLifecycleStates() {
|
||||||
@ -100,15 +92,6 @@ public class Configuration {
|
|||||||
public void setRatingConfiguration(
|
public void setRatingConfiguration(
|
||||||
RatingConfiguration ratingConfiguration) { this.ratingConfiguration = ratingConfiguration; }
|
RatingConfiguration ratingConfiguration) { this.ratingConfiguration = ratingConfiguration; }
|
||||||
|
|
||||||
@XmlElement(name = "ArtifactDownloadEndpoint", required = true)
|
|
||||||
public String getArtifactDownloadEndpoint() {
|
|
||||||
return artifactDownloadEndpoint;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setArtifactDownloadEndpoint(String artifactDownloadEndpoint) {
|
|
||||||
this.artifactDownloadEndpoint = artifactDownloadEndpoint;
|
|
||||||
}
|
|
||||||
|
|
||||||
@XmlElementWrapper(name = "AppCategories")
|
@XmlElementWrapper(name = "AppCategories")
|
||||||
@XmlElement(name = "Category")
|
@XmlElement(name = "Category")
|
||||||
public List<String> getAppCategories() {
|
public List<String> getAppCategories() {
|
||||||
@ -118,5 +101,12 @@ public class Configuration {
|
|||||||
public void setAppCategories(List<String> appCategories) {
|
public void setAppCategories(List<String> appCategories) {
|
||||||
this.appCategories = appCategories;
|
this.appCategories = appCategories;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "MDMConfig", required = true)
|
||||||
|
public MDMConfig getMdmConfig() { return mdmConfig; }
|
||||||
|
|
||||||
|
public void setMdmConfig(MDMConfig mdmConfig) {
|
||||||
|
this.mdmConfig = mdmConfig;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -77,7 +77,8 @@ public interface SubscriptionDAO {
|
|||||||
void updateSubscriptions(int tenantId, String updateBy, List<String> paramList,
|
void updateSubscriptions(int tenantId, String updateBy, List<String> paramList,
|
||||||
int releaseId, String subType, String action) throws ApplicationManagementDAOException;
|
int releaseId, String subType, String action) throws ApplicationManagementDAOException;
|
||||||
|
|
||||||
List<Integer> getSubscribedDeviceIds(List<Integer> deviceIds, int tenantId) throws ApplicationManagementDAOException;
|
List<Integer> getSubscribedDeviceIds(List<Integer> deviceIds, int applicationReleaseId, int tenantId)
|
||||||
|
throws ApplicationManagementDAOException;
|
||||||
|
|
||||||
List<Integer> getDeviceSubIdsForOperation (int operationId, int tenantId) throws ApplicationManagementDAOException;
|
List<Integer> getDeviceSubIdsForOperation (int operationId, int tenantId) throws ApplicationManagementDAOException;
|
||||||
|
|
||||||
|
|||||||
@ -533,7 +533,8 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Integer> getSubscribedDeviceIds(List<Integer> deviceIds, int tenantId)
|
public List<Integer> getSubscribedDeviceIds(List<Integer> deviceIds, int applicationReleaseId,
|
||||||
|
int tenantId)
|
||||||
throws ApplicationManagementDAOException {
|
throws ApplicationManagementDAOException {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Request received to DAO Layer to get already subscribed dvice Ids for given list of device Ids.");
|
log.debug("Request received to DAO Layer to get already subscribed dvice Ids for given list of device Ids.");
|
||||||
@ -545,14 +546,15 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
|
|||||||
StringJoiner joiner = new StringJoiner(",",
|
StringJoiner joiner = new StringJoiner(",",
|
||||||
"SELECT DS.DM_DEVICE_ID "
|
"SELECT DS.DM_DEVICE_ID "
|
||||||
+ "FROM AP_DEVICE_SUBSCRIPTION DS "
|
+ "FROM AP_DEVICE_SUBSCRIPTION DS "
|
||||||
+ "WHERE DS.DM_DEVICE_ID IN (", ") AND TENANT_ID = ?");
|
+ "WHERE DS.DM_DEVICE_ID IN (", ") AND AP_APP_RELEASE_ID = ? AND TENANT_ID = ?");
|
||||||
deviceIds.stream().map(ignored -> "?").forEach(joiner::add);
|
deviceIds.stream().map(ignored -> "?").forEach(joiner::add);
|
||||||
String query = joiner.toString();
|
String query = joiner.toString();
|
||||||
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
try (PreparedStatement ps = conn.prepareStatement(query)) {
|
||||||
for (Integer deviceId : deviceIds) {
|
for (Integer deviceId : deviceIds) {
|
||||||
ps.setObject(index++, deviceId);
|
ps.setObject(index++, deviceId);
|
||||||
}
|
}
|
||||||
ps.setInt(index, tenantId);
|
ps.setInt(index++, tenantId);
|
||||||
|
ps.setInt(index, applicationReleaseId);
|
||||||
try (ResultSet rs = ps.executeQuery()) {
|
try (ResultSet rs = ps.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
subscribedDevices.add(rs.getInt("DM_DEVICE_ID"));
|
subscribedDevices.add(rs.getInt("DM_DEVICE_ID"));
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import org.wso2.carbon.device.application.mgt.common.ApplicationInstaller;
|
|||||||
import org.wso2.carbon.device.application.mgt.common.DeviceTypes;
|
import org.wso2.carbon.device.application.mgt.common.DeviceTypes;
|
||||||
import org.wso2.carbon.device.application.mgt.common.LifecycleChanger;
|
import org.wso2.carbon.device.application.mgt.common.LifecycleChanger;
|
||||||
import org.wso2.carbon.device.application.mgt.common.Pagination;
|
import org.wso2.carbon.device.application.mgt.common.Pagination;
|
||||||
|
import org.wso2.carbon.device.application.mgt.common.config.MDMConfig;
|
||||||
import org.wso2.carbon.device.application.mgt.common.config.RatingConfiguration;
|
import org.wso2.carbon.device.application.mgt.common.config.RatingConfiguration;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.ApplicationList;
|
import org.wso2.carbon.device.application.mgt.common.ApplicationList;
|
||||||
@ -2868,14 +2869,8 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
|||||||
throw new NotFoundException(msg);
|
throw new NotFoundException(msg);
|
||||||
}
|
}
|
||||||
ApplicationReleaseDTO applicationReleaseDTO = applicationDTO.getApplicationReleaseDTOs().get(0);
|
ApplicationReleaseDTO applicationReleaseDTO = applicationDTO.getApplicationReleaseDTOs().get(0);
|
||||||
String host = System.getProperty(Constants.IOT_HOST_PROPERTY);
|
String artifactDownloadURL = APIUtil.getArtifactDownloadBaseURL() + applicationReleaseDTO.getUuid()
|
||||||
String port = System.getProperty(Constants.IOT_PORT_PROPERTY);
|
+ Constants.FORWARD_SLASH + applicationReleaseDTO.getInstallerName();
|
||||||
String artifactDownloadEndpoint = ConfigurationManager.getInstance().getConfiguration()
|
|
||||||
.getArtifactDownloadEndpoint();
|
|
||||||
String artifactDownloadURL =
|
|
||||||
Constants.ARTIFACT_DOWNLOAD_PROTOCOL + "://" + host + ":" + port + artifactDownloadEndpoint
|
|
||||||
+ Constants.FORWARD_SLASH + applicationReleaseDTO.getUuid() + Constants.FORWARD_SLASH
|
|
||||||
+ applicationReleaseDTO.getInstallerName();
|
|
||||||
String plistContent = "<!DOCTYPE plist PUBLIC "-//Apple//DTDPLIST1.0//EN" "" +
|
String plistContent = "<!DOCTYPE plist PUBLIC "-//Apple//DTDPLIST1.0//EN" "" +
|
||||||
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="" +
|
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="" +
|
||||||
"1.0"><dict><key>items</key><array><dict><" +
|
"1.0"><dict><key>items</key><array><dict><" +
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import org.wso2.carbon.device.application.mgt.common.DeviceTypes;
|
|||||||
import org.wso2.carbon.device.application.mgt.common.SubAction;
|
import org.wso2.carbon.device.application.mgt.common.SubAction;
|
||||||
import org.wso2.carbon.device.application.mgt.common.SubsciptionType;
|
import org.wso2.carbon.device.application.mgt.common.SubsciptionType;
|
||||||
import org.wso2.carbon.device.application.mgt.common.SubscribingDeviceIdHolder;
|
import org.wso2.carbon.device.application.mgt.common.SubscribingDeviceIdHolder;
|
||||||
|
import org.wso2.carbon.device.application.mgt.common.config.MDMConfig;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||||
@ -335,36 +336,38 @@ public class SubscriptionManagerImpl implements SubscriptionManager {
|
|||||||
ConnectionManagerUtil.beginDBTransaction();
|
ConnectionManagerUtil.beginDBTransaction();
|
||||||
List<Integer> deviceSubIds = new ArrayList<>();
|
List<Integer> deviceSubIds = new ArrayList<>();
|
||||||
|
|
||||||
List<String> subscribedEntities = new ArrayList<>();
|
|
||||||
if (SubsciptionType.USER.toString().equalsIgnoreCase(subType)) {
|
if (SubsciptionType.USER.toString().equalsIgnoreCase(subType)) {
|
||||||
subscribedEntities = subscriptionDAO.getSubscribedUserNames(params, tenantId);
|
List<String> subscribedEntities = subscriptionDAO.getSubscribedUserNames(params, tenantId);
|
||||||
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
||||||
params.removeAll(subscribedEntities);
|
params.removeAll(subscribedEntities);
|
||||||
subscriptionDAO.addUserSubscriptions(tenantId, username, params, applicationReleaseId);
|
subscriptionDAO.addUserSubscriptions(tenantId, username, params, applicationReleaseId);
|
||||||
}
|
}
|
||||||
|
subscriptionDAO.updateSubscriptions(tenantId, username, subscribedEntities, applicationReleaseId, subType,
|
||||||
|
action);
|
||||||
} else if (SubsciptionType.ROLE.toString().equalsIgnoreCase(subType)) {
|
} else if (SubsciptionType.ROLE.toString().equalsIgnoreCase(subType)) {
|
||||||
subscribedEntities = subscriptionDAO.getSubscribedRoleNames(params, tenantId);
|
List<String> subscribedEntities = subscriptionDAO.getSubscribedRoleNames(params, tenantId);
|
||||||
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
||||||
params.removeAll(subscribedEntities);
|
params.removeAll(subscribedEntities);
|
||||||
subscriptionDAO.addRoleSubscriptions(tenantId, username, params, applicationReleaseId);
|
subscriptionDAO.addRoleSubscriptions(tenantId, username, params, applicationReleaseId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
subscriptionDAO.updateSubscriptions(tenantId, username, subscribedEntities, applicationReleaseId, subType,
|
||||||
|
action);
|
||||||
} else if (SubsciptionType.GROUP.toString().equalsIgnoreCase(subType)) {
|
} else if (SubsciptionType.GROUP.toString().equalsIgnoreCase(subType)) {
|
||||||
subscribedEntities = subscriptionDAO.getSubscribedGroupNames(params, tenantId);
|
List<String> subscribedEntities = subscriptionDAO.getSubscribedGroupNames(params, tenantId);
|
||||||
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
||||||
params.removeAll(subscribedEntities);
|
params.removeAll(subscribedEntities);
|
||||||
subscriptionDAO.addGroupSubscriptions(tenantId, username, params, applicationReleaseId);
|
subscriptionDAO.addGroupSubscriptions(tenantId, username, params, applicationReleaseId);
|
||||||
}
|
}
|
||||||
|
subscriptionDAO.updateSubscriptions(tenantId, username, subscribedEntities, applicationReleaseId, subType,
|
||||||
|
action);
|
||||||
}
|
}
|
||||||
subscriptionDAO.updateSubscriptions(tenantId, username, subscribedEntities, applicationReleaseId, subType,
|
|
||||||
action);
|
|
||||||
|
|
||||||
for (Activity activity : activities) {
|
for (Activity activity : activities) {
|
||||||
int operationId = Integer.parseInt(activity.getActivityId().split("ACTIVITY_")[1]);
|
int operationId = Integer.parseInt(activity.getActivityId().split("ACTIVITY_")[1]);
|
||||||
List<Integer> operationAddedDeviceIds = getOperationAddedDeviceIds(activity,
|
List<Integer> operationAddedDeviceIds = getOperationAddedDeviceIds(activity,
|
||||||
subscribingDeviceIdHolder.getSubscribableDevices());
|
subscribingDeviceIdHolder.getSubscribableDevices());
|
||||||
List<Integer> alreadySubscribedDevices = subscriptionDAO
|
List<Integer> alreadySubscribedDevices = subscriptionDAO
|
||||||
.getSubscribedDeviceIds(operationAddedDeviceIds, tenantId);
|
.getSubscribedDeviceIds(operationAddedDeviceIds, applicationReleaseId, tenantId);
|
||||||
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
||||||
if (!alreadySubscribedDevices.isEmpty()) {
|
if (!alreadySubscribedDevices.isEmpty()) {
|
||||||
List<Integer> deviceResubscribingIds = subscriptionDAO
|
List<Integer> deviceResubscribingIds = subscriptionDAO
|
||||||
@ -478,14 +481,9 @@ public class SubscriptionManagerImpl implements SubscriptionManager {
|
|||||||
}
|
}
|
||||||
} else if (DeviceTypes.IOS.toString().equalsIgnoreCase(deviceType)) {
|
} else if (DeviceTypes.IOS.toString().equalsIgnoreCase(deviceType)) {
|
||||||
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) {
|
||||||
String host = System.getProperty(Constants.IOT_HOST_PROPERTY);
|
String plistDownloadEndpoint = APIUtil.getArtifactDownloadBaseURL()
|
||||||
String port = System.getProperty(Constants.IOT_PORT_PROPERTY);
|
+ MDMAppConstants.IOSConstants.PLIST + Constants.FORWARD_SLASH
|
||||||
String artifactDownloadEndpoint = ConfigurationManager.getInstance().getConfiguration()
|
+ application.getApplicationReleases().get(0).getUuid();
|
||||||
.getArtifactDownloadEndpoint();
|
|
||||||
String plistDownloadEndpoint =
|
|
||||||
Constants.ARTIFACT_DOWNLOAD_PROTOCOL + "://" + host + ":" + port + artifactDownloadEndpoint
|
|
||||||
+ Constants.FORWARD_SLASH + MDMAppConstants.IOSConstants.PLIST
|
|
||||||
+ Constants.FORWARD_SLASH + application.getApplicationReleases().get(0).getUuid();
|
|
||||||
mobileApp.setType(mobileAppType);
|
mobileApp.setType(mobileAppType);
|
||||||
mobileApp.setLocation(plistDownloadEndpoint);
|
mobileApp.setLocation(plistDownloadEndpoint);
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
|
|||||||
@ -24,8 +24,10 @@ import org.apache.commons.logging.LogFactory;
|
|||||||
import org.apache.commons.validator.routines.UrlValidator;
|
import org.apache.commons.validator.routines.UrlValidator;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
import org.wso2.carbon.device.application.mgt.common.ApplicationType;
|
import org.wso2.carbon.device.application.mgt.common.ApplicationType;
|
||||||
|
import org.wso2.carbon.device.application.mgt.common.config.MDMConfig;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
|
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||||
import org.wso2.carbon.device.application.mgt.common.response.Application;
|
import org.wso2.carbon.device.application.mgt.common.response.Application;
|
||||||
import org.wso2.carbon.device.application.mgt.common.response.ApplicationRelease;
|
import org.wso2.carbon.device.application.mgt.common.response.ApplicationRelease;
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.*;
|
import org.wso2.carbon.device.application.mgt.common.services.*;
|
||||||
@ -306,8 +308,7 @@ public class APIUtil {
|
|||||||
return applicationReleaseDTO;
|
return applicationReleaseDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Application appDtoToAppResponse(ApplicationDTO applicationDTO)
|
public static Application appDtoToAppResponse(ApplicationDTO applicationDTO) throws ApplicationManagementException {
|
||||||
throws BadRequestException, UnexpectedServerErrorException {
|
|
||||||
|
|
||||||
Application application = new Application();
|
Application application = new Application();
|
||||||
if (!ApplicationType.WEB_CLIP.toString().equals(applicationDTO.getType())) {
|
if (!ApplicationType.WEB_CLIP.toString().equals(applicationDTO.getType())) {
|
||||||
@ -326,19 +327,19 @@ public class APIUtil {
|
|||||||
application.setTags(applicationDTO.getTags());
|
application.setTags(applicationDTO.getTags());
|
||||||
application.setUnrestrictedRoles(applicationDTO.getUnrestrictedRoles());
|
application.setUnrestrictedRoles(applicationDTO.getUnrestrictedRoles());
|
||||||
application.setRating(applicationDTO.getAppRating());
|
application.setRating(applicationDTO.getAppRating());
|
||||||
List<ApplicationRelease> applicationReleases = applicationDTO.getApplicationReleaseDTOs()
|
List<ApplicationRelease> applicationReleases = new ArrayList<>();
|
||||||
.stream().map(APIUtil::releaseDtoToRelease).collect(Collectors.toList());
|
for (ApplicationReleaseDTO applicationReleaseDTO : applicationDTO.getApplicationReleaseDTOs()) {
|
||||||
|
ApplicationRelease applicationRelease = releaseDtoToRelease(applicationReleaseDTO);
|
||||||
|
applicationReleases.add(applicationRelease);
|
||||||
|
}
|
||||||
application.setApplicationReleases(applicationReleases);
|
application.setApplicationReleases(applicationReleases);
|
||||||
return application;
|
return application;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ApplicationRelease releaseDtoToRelease(ApplicationReleaseDTO applicationReleaseDTO){
|
public static ApplicationRelease releaseDtoToRelease(ApplicationReleaseDTO applicationReleaseDTO)
|
||||||
String host = System.getProperty(Constants.IOT_HOST_PROPERTY);
|
throws ApplicationManagementException {
|
||||||
String port = System.getProperty(Constants.IOT_PORT_PROPERTY);
|
String basePath = getArtifactDownloadBaseURL() + applicationReleaseDTO.getUuid()
|
||||||
String artifactDownloadEndpoint = ConfigurationManager.getInstance().getConfiguration()
|
+ Constants.FORWARD_SLASH;
|
||||||
.getArtifactDownloadEndpoint();
|
|
||||||
String basePath = Constants.ARTIFACT_DOWNLOAD_PROTOCOL + "://" + host + ":" + port + artifactDownloadEndpoint
|
|
||||||
+ Constants.FORWARD_SLASH + applicationReleaseDTO.getUuid() + Constants.FORWARD_SLASH;
|
|
||||||
|
|
||||||
List<String> screenshotPaths = new ArrayList<>();
|
List<String> screenshotPaths = new ArrayList<>();
|
||||||
ApplicationRelease applicationRelease = new ApplicationRelease();
|
ApplicationRelease applicationRelease = new ApplicationRelease();
|
||||||
@ -391,4 +392,22 @@ public class APIUtil {
|
|||||||
return applicationRelease;
|
return applicationRelease;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getArtifactDownloadBaseURL() throws ApplicationManagementException {
|
||||||
|
String host = System.getProperty(Constants.IOT_HOST_PROPERTY);
|
||||||
|
MDMConfig mdmConfig = ConfigurationManager.getInstance().getConfiguration().getMdmConfig();
|
||||||
|
String port;
|
||||||
|
if (Constants.HTTP_PROTOCOL.equals(mdmConfig.getArtifactDownloadProtocol())){
|
||||||
|
port = System.getProperty(Constants.IOT_HTTP_PORT_PROPERTY);
|
||||||
|
} else if( Constants.HTTPS_PROTOCOL.equals(mdmConfig.getArtifactDownloadProtocol())){
|
||||||
|
port = System.getProperty(Constants.IOT_HTTPS_PORT_PROPERTY);
|
||||||
|
} else {
|
||||||
|
String msg = "In order to download application artifacts invalid protocols are defined.";
|
||||||
|
log.error(msg);
|
||||||
|
throw new ApplicationManagementException(msg);
|
||||||
|
}
|
||||||
|
String artifactDownloadEndpoint = mdmConfig.getArtifactDownloadEndpoint();
|
||||||
|
return mdmConfig.getArtifactDownloadProtocol() + "://" + host + ":" + port
|
||||||
|
+ artifactDownloadEndpoint + Constants.FORWARD_SLASH;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,8 +37,10 @@ public class Constants {
|
|||||||
public static final String CF_BUNDLE_VERSION = "CFBundleVersion";
|
public static final String CF_BUNDLE_VERSION = "CFBundleVersion";
|
||||||
public static final String APP_EXTENSION = ".app";
|
public static final String APP_EXTENSION = ".app";
|
||||||
public static final String IOT_HOST_PROPERTY = "iot.core.host";
|
public static final String IOT_HOST_PROPERTY = "iot.core.host";
|
||||||
public static final String IOT_PORT_PROPERTY = "iot.core.http.port";
|
public static final String IOT_HTTP_PORT_PROPERTY = "iot.core.http.port";
|
||||||
public static final String ARTIFACT_DOWNLOAD_PROTOCOL = "http";
|
public static final String IOT_HTTPS_PORT_PROPERTY = "iot.core.https.port";
|
||||||
|
public static final String HTTPS_PROTOCOL = "https";
|
||||||
|
public static final String HTTP_PROTOCOL = "http";
|
||||||
|
|
||||||
public static final String FORWARD_SLASH = "/";
|
public static final String FORWARD_SLASH = "/";
|
||||||
public static final String ANY = "ANY";
|
public static final String ANY = "ANY";
|
||||||
|
|||||||
@ -23,17 +23,13 @@ import org.apache.commons.logging.LogFactory;
|
|||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.PaginationRequest;
|
|
||||||
|
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.dto.ReviewDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ReviewDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.exception.ReviewManagementException;
|
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorageManager;
|
import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorageManager;
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
||||||
import org.wso2.carbon.device.application.mgt.core.config.Configuration;
|
|
||||||
import org.wso2.carbon.device.application.mgt.core.config.ConfigurationManager;
|
|
||||||
import org.wso2.carbon.device.application.mgt.core.exception.UnexpectedServerErrorException;
|
import org.wso2.carbon.device.application.mgt.core.exception.UnexpectedServerErrorException;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
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.DeviceManagementProviderServiceImpl;
|
||||||
@ -264,21 +260,6 @@ public class DAOUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PaginationRequest validateCommentListPageSize(PaginationRequest paginationRequest) throws
|
|
||||||
ReviewManagementException {
|
|
||||||
if (paginationRequest.getLimit() == 0) {
|
|
||||||
Configuration commentManagementConfig = ConfigurationManager.getInstance().getConfiguration();
|
|
||||||
if (commentManagementConfig != null) {
|
|
||||||
paginationRequest.setLimit(
|
|
||||||
commentManagementConfig.getPaginationConfiguration().getCommentListPageSize());
|
|
||||||
} else {
|
|
||||||
throw new ReviewManagementException(
|
|
||||||
"ApplicationDTO Management configuration has not initialized. Please check the application-mgt.xml file.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return paginationRequest;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static ApplicationManager applicationManager;
|
private static ApplicationManager applicationManager;
|
||||||
private static ApplicationStorageManager applicationStorageManager;
|
private static ApplicationStorageManager applicationStorageManager;
|
||||||
private static SubscriptionManager subscriptionManager;
|
private static SubscriptionManager subscriptionManager;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import org.apache.commons.logging.LogFactory;
|
|||||||
import org.testng.annotations.BeforeClass;
|
import org.testng.annotations.BeforeClass;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
import org.wso2.carbon.device.application.mgt.core.BaseTestCase;
|
import org.wso2.carbon.device.application.mgt.core.BaseTestCase;
|
||||||
|
import org.wso2.carbon.device.application.mgt.core.config.ConfigurationManager;
|
||||||
import org.wso2.carbon.device.application.mgt.core.dao.common.ApplicationManagementDAOFactory;
|
import org.wso2.carbon.device.application.mgt.core.dao.common.ApplicationManagementDAOFactory;
|
||||||
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationsDTO;
|
import org.wso2.carbon.device.application.mgt.core.dto.ApplicationsDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.core.dto.DeviceTypeCreator;
|
import org.wso2.carbon.device.application.mgt.core.dto.DeviceTypeCreator;
|
||||||
@ -22,12 +23,12 @@ public class ApplicationManagementDAOTest extends BaseTestCase {
|
|||||||
@BeforeClass
|
@BeforeClass
|
||||||
public void initialize() throws Exception {
|
public void initialize() throws Exception {
|
||||||
log.info("Initializing ApplicationManagementDAOTest tests");
|
log.info("Initializing ApplicationManagementDAOTest tests");
|
||||||
|
ConfigurationManager configurationManager = ConfigurationManager.getInstance();
|
||||||
// super.initializeServices();
|
// super.initializeServices();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAddApplication() throws Exception {
|
public void testAddApplication() throws Exception {
|
||||||
|
|
||||||
ApplicationDAO applicationDAO = ApplicationManagementDAOFactory.getApplicationDAO();
|
ApplicationDAO applicationDAO = ApplicationManagementDAOFactory.getApplicationDAO();
|
||||||
ConnectionManagerUtil.beginDBTransaction();
|
ConnectionManagerUtil.beginDBTransaction();
|
||||||
applicationDAO.createApplication(ApplicationsDTO.getApp1(), -1234);
|
applicationDAO.createApplication(ApplicationsDTO.getApp1(), -1234);
|
||||||
@ -52,6 +53,4 @@ public class ApplicationManagementDAOTest extends BaseTestCase {
|
|||||||
DeviceManagementDAOFactory.closeConnection();
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
-->
|
-->
|
||||||
<ApplicationManagementConfiguration>
|
<ApplicationManagementConfiguration>
|
||||||
|
|
||||||
<!-- ApplicationDTO Mgt DB schema -->
|
<!-- Application Mgt DB schema -->
|
||||||
<DatasourceName>jdbc/APPM_DS</DatasourceName>
|
<DatasourceName>jdbc/APPM_DS</DatasourceName>
|
||||||
|
|
||||||
<Extensions>
|
<Extensions>
|
||||||
@ -135,7 +135,6 @@
|
|||||||
<UIConfigs>
|
<UIConfigs>
|
||||||
<EnableOAuth>true</EnableOAuth>
|
<EnableOAuth>true</EnableOAuth>
|
||||||
<EnableSSO>false</EnableSSO>
|
<EnableSSO>false</EnableSSO>
|
||||||
<EnableSSO>false</EnableSSO>
|
|
||||||
<AppRegistration>
|
<AppRegistration>
|
||||||
<Tags>
|
<Tags>
|
||||||
<Tag>application_management</Tag>
|
<Tag>application_management</Tag>
|
||||||
@ -150,23 +149,42 @@
|
|||||||
<Scope>perm:app:review:update</Scope>
|
<Scope>perm:app:review:update</Scope>
|
||||||
<Scope>perm:app:publisher:view</Scope>
|
<Scope>perm:app:publisher:view</Scope>
|
||||||
<Scope>perm:app:publisher:update</Scope>
|
<Scope>perm:app:publisher:update</Scope>
|
||||||
|
<Scope>perm:app:store:view</Scope>
|
||||||
|
<Scope>perm:app:subscription:install</Scope>
|
||||||
|
<Scope>perm:app:subscription:uninstall</Scope>
|
||||||
|
<Scope>perm:admin:app:review:update</Scope>
|
||||||
|
<Scope>perm:admin:app:review:view</Scope>
|
||||||
|
<Scope>perm:admin:app:publisher:update</Scope>
|
||||||
|
<Scope>perm:admin:app:review:update</Scope>
|
||||||
</Scopes>
|
</Scopes>
|
||||||
<SSOConfiguration>
|
<SSOConfiguration>
|
||||||
<Issuer>app-mgt</Issuer>
|
<Issuer>app-mgt</Issuer>
|
||||||
</SSOConfiguration>
|
</SSOConfiguration>
|
||||||
<LoginResponse>
|
<ErrorCallback>
|
||||||
<SuccessCallback>/application-mgt</SuccessCallback>
|
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
||||||
<FailureCallback>
|
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
||||||
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
||||||
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
<NotFound>/pages/error/client-errors/404</NotFound>
|
||||||
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
||||||
<NotFound>/pages/error/client-errors/404</NotFound>
|
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
||||||
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
||||||
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
||||||
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
<DefaultPage>/pages/error/default</DefaultPage>
|
||||||
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
</ErrorCallback>
|
||||||
<DefaultPage>/pages/error/default</DefaultPage>
|
|
||||||
</FailureCallback>
|
|
||||||
</LoginResponse>
|
|
||||||
</UIConfigs>
|
</UIConfigs>
|
||||||
|
|
||||||
|
<AppCategories>
|
||||||
|
<Category>EMM</Category>
|
||||||
|
<Category>IoT</Category>
|
||||||
|
</AppCategories>
|
||||||
|
|
||||||
|
<RatingConfig>
|
||||||
|
<MinRatingValue>1</MinRatingValue>
|
||||||
|
<MaxRatingValue>10</MaxRatingValue>
|
||||||
|
</RatingConfig>
|
||||||
|
|
||||||
|
<MDMConfig>
|
||||||
|
<ArtifactDownloadProtocol>https</ArtifactDownloadProtocol>
|
||||||
|
<ArtifactDownloadEndpoint>/api/application-mgt/v1.0/artifact</ArtifactDownloadEndpoint>
|
||||||
|
</MDMConfig>
|
||||||
</ApplicationManagementConfiguration>
|
</ApplicationManagementConfiguration>
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
<Extension name="ApplicationStorageManager">
|
<Extension name="ApplicationStorageManager">
|
||||||
<ClassName>org.wso2.carbon.device.application.mgt.core.impl.ApplicationStorageManagerImpl</ClassName>
|
<ClassName>org.wso2.carbon.device.application.mgt.core.impl.ApplicationStorageManagerImpl</ClassName>
|
||||||
<Parameters>
|
<Parameters>
|
||||||
<Parameter name="StoragePath">/tmp/apps/</Parameter>
|
<Parameter name="StoragePath">repository/resources/apps/</Parameter>
|
||||||
<Parameter name="MaxScreenShotCount">6</Parameter>
|
<Parameter name="MaxScreenShotCount">6</Parameter>
|
||||||
</Parameters>
|
</Parameters>
|
||||||
</Extension>
|
</Extension>
|
||||||
@ -135,7 +135,6 @@
|
|||||||
<UIConfigs>
|
<UIConfigs>
|
||||||
<EnableOAuth>true</EnableOAuth>
|
<EnableOAuth>true</EnableOAuth>
|
||||||
<EnableSSO>false</EnableSSO>
|
<EnableSSO>false</EnableSSO>
|
||||||
<EnableSSO>false</EnableSSO>
|
|
||||||
<AppRegistration>
|
<AppRegistration>
|
||||||
<Tags>
|
<Tags>
|
||||||
<Tag>application_management</Tag>
|
<Tag>application_management</Tag>
|
||||||
@ -151,27 +150,29 @@
|
|||||||
<Scope>perm:app:publisher:view</Scope>
|
<Scope>perm:app:publisher:view</Scope>
|
||||||
<Scope>perm:app:publisher:update</Scope>
|
<Scope>perm:app:publisher:update</Scope>
|
||||||
<Scope>perm:app:store:view</Scope>
|
<Scope>perm:app:store:view</Scope>
|
||||||
|
<Scope>perm:app:subscription:install</Scope>
|
||||||
|
<Scope>perm:app:subscription:uninstall</Scope>
|
||||||
|
<Scope>perm:admin:app:review:update</Scope>
|
||||||
|
<Scope>perm:admin:app:review:view</Scope>
|
||||||
|
<Scope>perm:admin:app:publisher:update</Scope>
|
||||||
|
<Scope>perm:admin:app:review:update</Scope>
|
||||||
</Scopes>
|
</Scopes>
|
||||||
<SSOConfiguration>
|
<SSOConfiguration>
|
||||||
<Issuer>app-mgt</Issuer>
|
<Issuer>app-mgt</Issuer>
|
||||||
</SSOConfiguration>
|
</SSOConfiguration>
|
||||||
<LoginResponse>
|
<ErrorCallback>
|
||||||
<SuccessCallback>/apps</SuccessCallback>
|
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
||||||
<FailureCallback>
|
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
||||||
<BadRequest>/pages/error/client-errors/400</BadRequest>
|
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
||||||
<Unauthorized>/pages/error/client-errors/401</Unauthorized>
|
<NotFound>/pages/error/client-errors/404</NotFound>
|
||||||
<Forbidden>/pages/error/client-errors/403</Forbidden>
|
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
||||||
<NotFound>/pages/error/client-errors/404</NotFound>
|
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
||||||
<MethodNotAllowed>/pages/error/client-errors/405</MethodNotAllowed>
|
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
||||||
<NotAcceptable>/pages/error/client-errors/406</NotAcceptable>
|
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
||||||
<UnsupportedMediaType>/pages/error/client-errors/415</UnsupportedMediaType>
|
<DefaultPage>/pages/error/default</DefaultPage>
|
||||||
<InternalServerError>/pages/error/server-errors/500</InternalServerError>
|
</ErrorCallback>
|
||||||
<DefaultPage>/pages/error/default</DefaultPage>
|
|
||||||
</FailureCallback>
|
|
||||||
</LoginResponse>
|
|
||||||
</UIConfigs>
|
</UIConfigs>
|
||||||
|
|
||||||
<ArtifactDownloadEndpoint>https://localhost:9443/api/application-mgt/v1.0/artifact</ArtifactDownloadEndpoint>
|
|
||||||
<AppCategories>
|
<AppCategories>
|
||||||
<Category>EMM</Category>
|
<Category>EMM</Category>
|
||||||
<Category>IoT</Category>
|
<Category>IoT</Category>
|
||||||
@ -181,4 +182,9 @@
|
|||||||
<MinRatingValue>1</MinRatingValue>
|
<MinRatingValue>1</MinRatingValue>
|
||||||
<MaxRatingValue>10</MaxRatingValue>
|
<MaxRatingValue>10</MaxRatingValue>
|
||||||
</RatingConfig>
|
</RatingConfig>
|
||||||
|
|
||||||
|
<MDMConfig>
|
||||||
|
<ArtifactDownloadProtocol>https</ArtifactDownloadProtocol>
|
||||||
|
<ArtifactDownloadEndpoint>/api/application-mgt/v1.0/artifact</ArtifactDownloadEndpoint>
|
||||||
|
</MDMConfig>
|
||||||
</ApplicationManagementConfiguration>
|
</ApplicationManagementConfiguration>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.publisher.api</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.publisher.api</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Publisher API</name>
|
<name>WSO2 Carbon - Application Management Publisher API</name>
|
||||||
<description>WSO2 Carbon - Application Management Publisher API</description>
|
<description>WSO2 Carbon - Application Management Publisher API</description>
|
||||||
|
|||||||
@ -24,10 +24,10 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.publisher.ui</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.publisher.ui</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Publisher UI Component</name>
|
<name>WSO2 Carbon - Application Management Publisher UI Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.store.api</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.store.api</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Store API</name>
|
<name>WSO2 Carbon - Application Management Store API</name>
|
||||||
<description>WSO2 Carbon - Application Management Store API</description>
|
<description>WSO2 Carbon - Application Management Store API</description>
|
||||||
|
|||||||
@ -82,7 +82,7 @@ public interface SubscriptionManagementAPI {
|
|||||||
String SCOPE = "scope";
|
String SCOPE = "scope";
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/install/{uuid}/devices/{action}")
|
@Path("/{uuid}/devices/{action}")
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@Consumes(MediaType.APPLICATION_JSON)
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
@ -124,7 +124,7 @@ public interface SubscriptionManagementAPI {
|
|||||||
);
|
);
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/install/{uuid}/{subType}/{action}")
|
@Path("/{uuid}/{subType}/{action}")
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@Consumes(MediaType.APPLICATION_JSON)
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
|
|||||||
@ -49,7 +49,7 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@POST
|
@POST
|
||||||
@Path("/install/{uuid}/devices/{action}")
|
@Path("/{uuid}/devices/{action}")
|
||||||
public Response performAppOperationForDevices(
|
public Response performAppOperationForDevices(
|
||||||
@PathParam("uuid") String uuid,
|
@PathParam("uuid") String uuid,
|
||||||
@PathParam("action") String action,
|
@PathParam("action") String action,
|
||||||
@ -83,7 +83,7 @@ public class SubscriptionManagementAPIImpl implements SubscriptionManagementAPI{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@POST
|
@POST
|
||||||
@Path("/install/{uuid}/{subType}/{action}")
|
@Path("/{uuid}/{subType}/{action}")
|
||||||
public Response performBulkAppOperation(
|
public Response performBulkAppOperation(
|
||||||
@PathParam("uuid") String uuid,
|
@PathParam("uuid") String uuid,
|
||||||
@PathParam("subType") String subType,
|
@PathParam("subType") String subType,
|
||||||
|
|||||||
@ -24,10 +24,10 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>org.wso2.carbon.device.application.mgt.store.ui</artifactId>
|
<artifactId>org.wso2.carbon.device.application.mgt.store.ui</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Store UI Component</name>
|
<name>WSO2 Carbon - Application Management Store UI Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import {Button, Modal, Tabs} from "antd";
|
import {Modal, Tabs} from "antd";
|
||||||
import UserInstall from "./UserInstall";
|
import UserInstall from "./UserInstall";
|
||||||
import GroupInstall from "./GroupInstall";
|
import GroupInstall from "./GroupInstall";
|
||||||
import RoleInstall from "./RoleInstall";
|
import RoleInstall from "./RoleInstall";
|
||||||
|
|||||||
@ -130,7 +130,8 @@ class DeviceInstall extends React.Component {
|
|||||||
|
|
||||||
//send request to the invoker
|
//send request to the invoker
|
||||||
axios.get(
|
axios.get(
|
||||||
config.serverConfig.protocol + "://"+config.serverConfig.hostname + ':' + config.serverConfig.httpsPort + config.serverConfig.invoker.uri + config.serverConfig.invoker.deviceMgt+"/devices?" + encodedExtraParams,
|
config.serverConfig.protocol + "://"+config.serverConfig.hostname + ':' + config.serverConfig.httpsPort
|
||||||
|
+ config.serverConfig.invoker.uri + config.serverConfig.invoker.deviceMgt+"/devices?" + encodedExtraParams,
|
||||||
|
|
||||||
).then(res => {
|
).then(res => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
@ -147,7 +148,8 @@ class DeviceInstall extends React.Component {
|
|||||||
if (error.hasOwnProperty("status") && error.response.status === 401) {
|
if (error.hasOwnProperty("status") && error.response.status === 401) {
|
||||||
//todo display a popop with error
|
//todo display a popop with error
|
||||||
message.error('You are not logged in');
|
message.error('You are not logged in');
|
||||||
window.location.href = config.serverConfig.protocol + "://" + config.serverConfig.hostname + ':' + config.serverConfig.httpsPort + '/store/login';
|
window.location.href = config.serverConfig.protocol + "://" + config.serverConfig.hostname + ':'
|
||||||
|
+ config.serverConfig.httpsPort + '/store/login';
|
||||||
} else {
|
} else {
|
||||||
notification["error"]({
|
notification["error"]({
|
||||||
message: "There was a problem",
|
message: "There was a problem",
|
||||||
@ -185,15 +187,17 @@ class DeviceInstall extends React.Component {
|
|||||||
type: device.type
|
type: device.type
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.props.onInstall("device", payload);
|
this.props.onInstall("devices", payload);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {data,pagination,loading,selectedRows} = this.state;
|
const {data,pagination,loading,selectedRows} = this.state;
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Text>Start installing the application for one or more users by entering the corresponding user name. Select install to automatically start downloading the application for the respective user/users. </Text>
|
<Text>
|
||||||
|
Start installing the application for one or more users by entering the corresponding user name.
|
||||||
|
Select install to automatically start downloading the application for the respective user/users.
|
||||||
|
</Text>
|
||||||
<Table
|
<Table
|
||||||
style={{paddingTop:20}}
|
style={{paddingTop:20}}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
@ -212,7 +216,9 @@ class DeviceInstall extends React.Component {
|
|||||||
scroll={{x: 1000}}
|
scroll={{x: 1000}}
|
||||||
/>
|
/>
|
||||||
<div style={{paddingTop: 10, textAlign: "right"}}>
|
<div style={{paddingTop: 10, textAlign: "right"}}>
|
||||||
<Button disabled={selectedRows.length===0} htmlType="button" type="primary" onClick={this.install}>Install</Button>
|
<Button disabled={selectedRows.length===0} htmlType="button" type="primary" onClick={this.install}>
|
||||||
|
Install
|
||||||
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>application-mgt</artifactId>
|
<artifactId>application-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Application Management Component</name>
|
<name>WSO2 Carbon - Application Management Component</name>
|
||||||
<description>WSO2 Carbon - Application Management Component</description>
|
<description>WSO2 Carbon - Application Management Component</description>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Certificate Management Core</name>
|
<name>WSO2 Carbon - Certificate Management Core</name>
|
||||||
<description>WSO2 Carbon - Certificate Management Core</description>
|
<description>WSO2 Carbon - Certificate Management Core</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Certificate Management Component</name>
|
<name>WSO2 Carbon - Certificate Management Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -58,6 +58,7 @@ 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.operation.mgt.Operation;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.NonComplianceData;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.NonComplianceData;
|
||||||
|
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.search.SearchContext;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList;
|
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.ErrorResponse;
|
||||||
@ -79,6 +80,7 @@ import javax.ws.rs.QueryParam;
|
|||||||
import javax.ws.rs.core.MediaType;
|
import javax.ws.rs.core.MediaType;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Device related REST-API. This can be used to manipulated device related details.
|
* Device related REST-API. This can be used to manipulated device related details.
|
||||||
@ -1074,6 +1076,84 @@ public interface DeviceManagementService {
|
|||||||
required = true)
|
required = true)
|
||||||
SearchContext searchContext);
|
SearchContext searchContext);
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/query-devices")
|
||||||
|
@ApiOperation(
|
||||||
|
produces = MediaType.APPLICATION_JSON,
|
||||||
|
consumes = MediaType.APPLICATION_JSON,
|
||||||
|
httpMethod = "POST",
|
||||||
|
value = "Property based Search for Devices",
|
||||||
|
notes = "Search for devices based on properties",
|
||||||
|
tags = "Device Management",
|
||||||
|
extensions = {
|
||||||
|
@Extension(properties = {
|
||||||
|
@ExtensionProperty(name = Constants.SCOPE, value = "perm:devices:search")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ApiResponses(
|
||||||
|
value = {
|
||||||
|
@ApiResponse(
|
||||||
|
code = 200,
|
||||||
|
message = "OK. \n Successfully retrieved the device information.",
|
||||||
|
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 = "Bad Request. \n Invalid request or validation error.",
|
||||||
|
response = ErrorResponse.class),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 404,
|
||||||
|
message = "Not Acceptable.\n The existing device did not match the values specified in the device search.",
|
||||||
|
response = ErrorResponse.class),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 406,
|
||||||
|
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 415,
|
||||||
|
message = "Unsupported media type. \n The format of the requested entity was not supported."),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 500,
|
||||||
|
message = "Internal Server Error. \n " +
|
||||||
|
"Server error occurred while getting the device details.",
|
||||||
|
response = ErrorResponse.class)
|
||||||
|
})
|
||||||
|
Response queryDevicesByProperties(
|
||||||
|
@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 activity details you require from the starting pagination index/offset.",
|
||||||
|
required = false,
|
||||||
|
defaultValue = "5")
|
||||||
|
@QueryParam("limit")
|
||||||
|
int limit,
|
||||||
|
@ApiParam(
|
||||||
|
name = "device property map",
|
||||||
|
value = "properties by which devices need filtered",
|
||||||
|
required = true)
|
||||||
|
PropertyMap map);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{type}/{id}/applications")
|
@Path("/{type}/{id}/applications")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
|
|||||||
@ -63,6 +63,7 @@ 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.common.policy.mgt.Policy;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.NonComplianceData;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.NonComplianceData;
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.PolicyComplianceException;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.monitor.PolicyComplianceException;
|
||||||
|
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.search.SearchContext;
|
||||||
import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderService;
|
||||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException;
|
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException;
|
||||||
@ -104,6 +105,7 @@ import java.text.SimpleDateFormat;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Path("/devices")
|
@Path("/devices")
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@ -652,6 +654,30 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
return Response.status(Response.Status.OK).entity(deviceList).build();
|
return Response.status(Response.Status.OK).entity(deviceList).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/query-devices")
|
||||||
|
@Override
|
||||||
|
public Response queryDevicesByProperties(@QueryParam("offset") int offset,
|
||||||
|
@QueryParam("limit") int limit, PropertyMap map) {
|
||||||
|
List<Device> devices;
|
||||||
|
DeviceList deviceList = new DeviceList();
|
||||||
|
try {
|
||||||
|
DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||||
|
devices = dms.getDevicesBasedOnProperties(map.getProperties());
|
||||||
|
if(devices == null || devices.isEmpty()){
|
||||||
|
return Response.status(Response.Status.OK).entity("No device found matching query criteria.").build();
|
||||||
|
}
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while searching for devices that matches the provided device properties";
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.serverError().entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
|
||||||
|
}
|
||||||
|
deviceList.setList(devices);
|
||||||
|
deviceList.setCount(devices.size());
|
||||||
|
return Response.status(Response.Status.OK).entity(deviceList).build();
|
||||||
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{type}/{id}/applications")
|
@Path("/{type}/{id}/applications")
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -14,6 +14,23 @@
|
|||||||
* KIND, either express or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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.common;
|
package org.wso2.carbon.device.mgt.common;
|
||||||
|
|
||||||
@ -80,6 +97,15 @@ public interface DeviceManager {
|
|||||||
*/
|
*/
|
||||||
boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException;
|
boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to delete a particular device from CDM.
|
||||||
|
*
|
||||||
|
* @param deviceId Fully qualified device identifier
|
||||||
|
* @return A boolean indicating the status of the operation.
|
||||||
|
* @throws DeviceManagementException If some unusual behaviour is observed while deleting a device
|
||||||
|
*/
|
||||||
|
boolean deleteDevice(DeviceIdentifier deviceId, Device device) throws DeviceManagementException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method to retrieve the status of the registration process of a particular device.
|
* Method to retrieve the status of the registration process of a particular device.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
package org.wso2.carbon.device.mgt.common.search;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModel(value = "PropertyMap", description = "Search properties based on which devices need to be found.")
|
||||||
|
public class PropertyMap {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "properties", value = "Contains the properties for search.",
|
||||||
|
required = true)
|
||||||
|
private Map<String, String> properties;
|
||||||
|
|
||||||
|
public Map<String, String> getProperties() {
|
||||||
|
return properties;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProperties(Map<String, String> properties) {
|
||||||
|
this.properties = properties;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -47,6 +47,7 @@ import org.wso2.carbon.device.mgt.core.geo.geoHash.GeoCoordinate;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents the key operations associated with persisting device related information.
|
* This class represents the key operations associated with persisting device related information.
|
||||||
@ -180,6 +181,26 @@ public interface DeviceDAO {
|
|||||||
Device getDevice(DeviceIdentifier deviceIdentifier, Date ifModifiedSince, int tenantId) throws
|
Device getDevice(DeviceIdentifier deviceIdentifier, Date ifModifiedSince, int tenantId) throws
|
||||||
DeviceManagementDAOException;
|
DeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a list of devices based on a given criteria of properties
|
||||||
|
* @param deviceProps properties by which devices need to be filtered
|
||||||
|
* @param tenantId tenant id
|
||||||
|
* @return list of devices with properties
|
||||||
|
* @throws DeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
List<Device> getDeviceBasedOnDeviceProperties(Map<String, String> deviceProps, int tenantId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves properties of given device identifier
|
||||||
|
*
|
||||||
|
* @param deviceId identifier of device that need to be retrieved
|
||||||
|
* @param tenantId tenant ID
|
||||||
|
* @return list of devices with properties
|
||||||
|
* @throws DeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
Device getDeviceProps(String deviceId, int tenantId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is used to retrieve a device of a given device-identifier and tenant-id which modified
|
* This method is used to retrieve a device of a given device-identifier and tenant-id which modified
|
||||||
* later than the ifModifiedSince param.
|
* later than the ifModifiedSince param.
|
||||||
|
|||||||
@ -56,15 +56,22 @@ import java.sql.ResultSet;
|
|||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.StringJoiner;
|
import java.util.StringJoiner;
|
||||||
|
|
||||||
public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
||||||
|
|
||||||
private static final org.apache.commons.logging.Log log = LogFactory.getLog(AbstractDeviceDAOImpl.class);
|
private static final org.apache.commons.logging.Log log = LogFactory.getLog(AbstractDeviceDAOImpl.class);
|
||||||
|
|
||||||
|
private static final String PROPERTY_KEY_COLUMN_NAME = "PROPERTY_NAME";
|
||||||
|
private static final String PROPERTY_VALUE_COLUMN_NAME = "PROPERTY_VALUE";
|
||||||
|
private static final String PROPERTY_DEVICE_TYPE_NAME = "DEVICE_TYPE_NAME";
|
||||||
|
private static final String PROPERTY_DEVICE_IDENTIFICATION = "DEVICE_IDENTIFICATION";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int addDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException {
|
public int addDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
@ -282,6 +289,103 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Device> getDeviceBasedOnDeviceProperties(Map<String,String> deviceProps, int tenantId)
|
||||||
|
throws DeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
ResultSet resultSet = null;
|
||||||
|
List<Device> devices = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
List<List<String>> outputLists = new ArrayList<>();
|
||||||
|
List<String> deviceList = null;
|
||||||
|
conn = this.getConnection();
|
||||||
|
for (Map.Entry<String, String> entry : deviceProps.entrySet()) {
|
||||||
|
|
||||||
|
stmt = conn.prepareStatement("SELECT DEVICE_IDENTIFICATION FROM DM_DEVICE_PROPERTIES " +
|
||||||
|
"WHERE (PROPERTY_NAME , PROPERTY_VALUE) IN " +
|
||||||
|
"((? , ?)) AND TENANT_ID = ?");
|
||||||
|
stmt.setString(1, entry.getKey());
|
||||||
|
stmt.setString(2, entry.getValue());
|
||||||
|
stmt.setInt(3, tenantId);
|
||||||
|
resultSet = stmt.executeQuery();
|
||||||
|
|
||||||
|
deviceList = new ArrayList<>();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
deviceList.add(resultSet.getString(PROPERTY_DEVICE_IDENTIFICATION));
|
||||||
|
}
|
||||||
|
outputLists.add(deviceList);
|
||||||
|
}
|
||||||
|
List<String> deviceIds = findIntersection(outputLists);
|
||||||
|
for(String deviceId : deviceIds){
|
||||||
|
devices.add(getDeviceProps(deviceId, tenantId));
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching devices against criteria : '" + deviceProps;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOUtil.cleanupResources(stmt, resultSet);
|
||||||
|
}
|
||||||
|
return devices;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Device getDeviceProps(String deviceId, int tenantId) throws DeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
Device device = null;
|
||||||
|
ResultSet resultSet = null;
|
||||||
|
String deviceType = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
stmt = conn.prepareStatement(
|
||||||
|
"SELECT * FROM DM_DEVICE_PROPERTIES WHERE DEVICE_IDENTIFICATION = ? AND TENANT_ID = ?");
|
||||||
|
stmt.setString(1, deviceId);
|
||||||
|
stmt.setInt(2, tenantId);
|
||||||
|
resultSet = stmt.executeQuery();
|
||||||
|
List<Device.Property> properties = new ArrayList<>();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
Device.Property property = new Device.Property();
|
||||||
|
property.setName(resultSet.getString(PROPERTY_KEY_COLUMN_NAME));
|
||||||
|
property.setValue(resultSet.getString(PROPERTY_VALUE_COLUMN_NAME));
|
||||||
|
properties.add(property);
|
||||||
|
//We are repeatedly assigning device type here. Yes. This was done intentionally, as there would be
|
||||||
|
//No other efficient/simple/inexpensive way of retrieving device type of a particular device from the database
|
||||||
|
//Note that device-identification will be unique across device types
|
||||||
|
deviceType = resultSet.getString(PROPERTY_DEVICE_TYPE_NAME);
|
||||||
|
}
|
||||||
|
device = new Device();
|
||||||
|
device.setDeviceIdentifier(deviceId);
|
||||||
|
device.setType(deviceType);
|
||||||
|
device.setProperties(properties);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching properties for device : '" + deviceId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOUtil.cleanupResources(stmt, resultSet);
|
||||||
|
}
|
||||||
|
|
||||||
|
return device;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> findIntersection(List<List<String>> collections) {
|
||||||
|
boolean first = true;
|
||||||
|
List<String> intersectedResult = new ArrayList<>();
|
||||||
|
for (Collection<String> collection : collections) {
|
||||||
|
if (first) {
|
||||||
|
intersectedResult.addAll(collection);
|
||||||
|
first = false;
|
||||||
|
} else {
|
||||||
|
intersectedResult.retainAll(collection);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return intersectedResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Device getDevice(String deviceIdentifier, Date since, int tenantId)
|
public Device getDevice(String deviceIdentifier, Date since, int tenantId)
|
||||||
throws DeviceManagementDAOException {
|
throws DeviceManagementDAOException {
|
||||||
@ -1409,91 +1513,97 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void deleteDevice(DeviceIdentifier deviceIdentifier, int tenantId) throws DeviceManagementDAOException {
|
public void deleteDevice(DeviceIdentifier deviceIdentifier, int tenantId) throws DeviceManagementDAOException {
|
||||||
|
String deviceIdentifierId = deviceIdentifier.getId();
|
||||||
|
String deviceType = deviceIdentifier.getType();
|
||||||
Connection conn;
|
Connection conn;
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
int deviceId = getDeviceId(conn, deviceIdentifier, tenantId);
|
int deviceId = getDeviceId(conn, deviceIdentifier, tenantId);
|
||||||
if (deviceId == -1) {
|
if (deviceId == -1) {
|
||||||
String msg = "Device " + deviceIdentifier.getId() + " of type " + deviceIdentifier.getType() +
|
String msg = "Device " + deviceIdentifierId + " of type " + deviceType + " is not found";
|
||||||
" is not found";
|
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
throw new DeviceManagementDAOException(msg);
|
throw new DeviceManagementDAOException(msg);
|
||||||
} else {
|
} else {
|
||||||
int enrollmentId = getEnrollmentId(conn, deviceId, tenantId);
|
List<Integer> enrollmentIds = getEnrollmentIds(conn, deviceId, tenantId);
|
||||||
if (enrollmentId == -1) {
|
if (enrollmentIds == null || enrollmentIds.isEmpty()) {
|
||||||
String msg = "Enrollment not found for the device " + deviceIdentifier.getId() + " of type " +
|
String msg = "Enrollments not found for the device " + deviceIdentifierId + " of type "
|
||||||
deviceIdentifier.getType();
|
+ deviceType;
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
throw new DeviceManagementDAOException(msg);
|
throw new DeviceManagementDAOException(msg);
|
||||||
} else {
|
} else {
|
||||||
removeDeviceDetail(conn, deviceId);
|
removeDeviceDetail(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device detail data");
|
log.debug("Successfully removed device detail data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDeviceLocation(conn, deviceId);
|
removeDeviceLocation(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device location data");
|
log.debug("Successfully removed device location data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDeviceInfo(conn, deviceId);
|
removeDeviceInfo(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device info data");
|
log.debug("Successfully removed device info data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDeviceNotification(conn, deviceId);
|
removeDeviceNotification(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device notification data");
|
log.debug("Successfully removed device notification data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDeviceApplicationMapping(conn, deviceId);
|
removeDeviceApplicationMapping(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device application mapping data");
|
log.debug("Successfully removed device application mapping data of device "
|
||||||
|
+ deviceIdentifierId + " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDevicePolicyApplied(conn, deviceId);
|
removeDevicePolicyApplied(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device applied policy data");
|
log.debug("Successfully removed device applied policy data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDevicePolicy(conn, deviceId);
|
removeDevicePolicy(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device policy data");
|
log.debug("Successfully removed device policy data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeEnrollmentDeviceDetail(conn, enrollmentId);
|
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed enrollment device detail data");
|
log.debug("Starting to remove " + enrollmentIds.size() + " enrollment data of device "
|
||||||
|
+ deviceIdentifierId + " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeEnrollmentDeviceLocation(conn, enrollmentId);
|
for (Integer enrollmentId : enrollmentIds) {
|
||||||
if (log.isDebugEnabled()) {
|
removeEnrollmentDeviceDetail(conn, enrollmentId);
|
||||||
log.debug("Successfully removed enrollment device location data");
|
removeEnrollmentDeviceLocation(conn, enrollmentId);
|
||||||
|
removeEnrollmentDeviceInfo(conn, enrollmentId);
|
||||||
|
removeEnrollmentDeviceApplicationMapping(conn, enrollmentId);
|
||||||
|
removeDeviceOperationResponse(conn, enrollmentId);
|
||||||
|
removeEnrollmentOperationMapping(conn, enrollmentId);
|
||||||
}
|
}
|
||||||
removeEnrollmentDeviceInfo(conn, enrollmentId);
|
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed enrollment device info data");
|
log.debug("Successfully removed enrollment device details, enrollment device location, " +
|
||||||
}
|
"enrollment device info, enrollment device application mapping, " +
|
||||||
removeEnrollmentDeviceApplicationMapping(conn, enrollmentId);
|
"enrollment device operation response, enrollment operation mapping data of device "
|
||||||
if (log.isDebugEnabled()) {
|
+ deviceIdentifierId + " of type " + deviceType);
|
||||||
log.debug("Successfully removed enrollment device application mapping data");
|
|
||||||
}
|
|
||||||
removeDeviceOperationResponse(conn, enrollmentId);
|
|
||||||
if (log.isDebugEnabled()) {
|
|
||||||
log.debug("Successfully removed device operation response data");
|
|
||||||
}
|
|
||||||
removeEnrollmentOperationMapping(conn, enrollmentId);
|
|
||||||
if (log.isDebugEnabled()) {
|
|
||||||
log.debug("Successfully removed enrollment operation mapping data");
|
|
||||||
}
|
}
|
||||||
removeDeviceEnrollment(conn, deviceId);
|
removeDeviceEnrollment(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device enrollment data");
|
log.debug("Successfully removed device enrollment data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDeviceGroupMapping(conn, deviceId);
|
removeDeviceGroupMapping(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully removed device group mapping data");
|
log.debug("Successfully removed device group mapping data of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
removeDevice(conn, deviceId);
|
removeDevice(conn, deviceId);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Successfully permanently deleted the device");
|
log.debug("Successfully permanently deleted the device of device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while deleting the device", e);
|
throw new DeviceManagementDAOException("Error occurred while deleting the device " + deviceIdentifierId
|
||||||
|
+ " of type " + deviceType, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1519,30 +1629,29 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
return deviceId;
|
return deviceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getEnrollmentId(Connection conn, int deviceId, int tenantId) throws DeviceManagementDAOException {
|
private List<Integer> getEnrollmentIds(Connection conn, int deviceId, int tenantId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
int enrollmentId = -1;
|
List<Integer> enrollmentIds = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
String sql = "SELECT ID FROM DM_ENROLMENT WHERE DEVICE_ID = ? AND TENANT_ID = ?";
|
String sql = "SELECT ID FROM DM_ENROLMENT WHERE DEVICE_ID = ? AND TENANT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setInt(1, deviceId);
|
stmt.setInt(1, deviceId);
|
||||||
stmt.setInt(2, tenantId);
|
stmt.setInt(2, tenantId);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
if (rs.next()) {
|
while (rs.next()) {
|
||||||
enrollmentId = rs.getInt("ID");
|
enrollmentIds.add(rs.getInt("ID"));
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while retrieving enrollment id of the device", e);
|
throw new DeviceManagementDAOException("Error occurred while retrieving enrollment id of the device", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||||
}
|
}
|
||||||
return enrollmentId;
|
return enrollmentIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceDetail(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceDetail(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_DETAIL WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_DETAIL WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1551,13 +1660,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device detail", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device detail", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceLocation(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceLocation(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_LOCATION WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_LOCATION WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1566,13 +1674,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device location", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device location", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceInfo(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceInfo(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_INFO WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_INFO WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1581,13 +1688,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device info", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device info", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceNotification(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceNotification(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_NOTIFICATION WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_NOTIFICATION WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1596,13 +1702,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device notification", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device notification", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceApplicationMapping(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceApplicationMapping(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1611,13 +1716,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device application mapping", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device application mapping", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDevicePolicyApplied(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDevicePolicyApplied(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_POLICY_APPLIED WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_POLICY_APPLIED WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1626,13 +1730,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device policy applied", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device policy applied", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDevicePolicy(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDevicePolicy(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_POLICY WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_POLICY WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1641,13 +1744,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device policy", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device policy", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeEnrollmentDeviceDetail(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
private void removeEnrollmentDeviceDetail(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_DETAIL WHERE ENROLMENT_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_DETAIL WHERE ENROLMENT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1656,13 +1758,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing enrollment device detail", e);
|
throw new DeviceManagementDAOException("Error occurred while removing enrollment device detail", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeEnrollmentDeviceLocation(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
private void removeEnrollmentDeviceLocation(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_LOCATION WHERE ENROLMENT_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_LOCATION WHERE ENROLMENT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1671,13 +1772,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing enrollment device location", e);
|
throw new DeviceManagementDAOException("Error occurred while removing enrollment device location", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeEnrollmentDeviceInfo(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
private void removeEnrollmentDeviceInfo(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_INFO WHERE ENROLMENT_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_INFO WHERE ENROLMENT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1686,14 +1786,13 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing enrollment device info", e);
|
throw new DeviceManagementDAOException("Error occurred while removing enrollment device info", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeEnrollmentDeviceApplicationMapping(Connection conn, int enrollmentId)
|
private void removeEnrollmentDeviceApplicationMapping(Connection conn, int enrollmentId)
|
||||||
throws DeviceManagementDAOException {
|
throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_APPLICATION_MAPPING WHERE ENROLMENT_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_APPLICATION_MAPPING WHERE ENROLMENT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1703,13 +1802,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
throw new DeviceManagementDAOException("Error occurred while removing enrollment device application " +
|
throw new DeviceManagementDAOException("Error occurred while removing enrollment device application " +
|
||||||
"mapping", e);
|
"mapping", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceOperationResponse(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
private void removeDeviceOperationResponse(Connection conn, int enrollmentId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_OPERATION_RESPONSE WHERE ENROLMENT_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_OPERATION_RESPONSE WHERE ENROLMENT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1718,14 +1816,13 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device operation response", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device operation response", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeEnrollmentOperationMapping(Connection conn, int enrollmentId)
|
private void removeEnrollmentOperationMapping(Connection conn, int enrollmentId)
|
||||||
throws DeviceManagementDAOException {
|
throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_ENROLMENT_OP_MAPPING WHERE ENROLMENT_ID = ?";
|
String sql = "DELETE FROM DM_ENROLMENT_OP_MAPPING WHERE ENROLMENT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1734,13 +1831,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing enrollment operation mapping", e);
|
throw new DeviceManagementDAOException("Error occurred while removing enrollment operation mapping", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceEnrollment(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceEnrollment(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_ENROLMENT WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_ENROLMENT WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1749,13 +1845,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device enrollment", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device enrollment", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDeviceGroupMapping(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDeviceGroupMapping(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE_GROUP_MAP WHERE DEVICE_ID = ?";
|
String sql = "DELETE FROM DM_DEVICE_GROUP_MAP WHERE DEVICE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1764,13 +1859,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device group mapping", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device group mapping", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDevice(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
private void removeDevice(Connection conn, int deviceId) throws DeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
|
||||||
try {
|
try {
|
||||||
String sql = "DELETE FROM DM_DEVICE WHERE ID = ?";
|
String sql = "DELETE FROM DM_DEVICE WHERE ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
@ -1779,7 +1873,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while removing device", e);
|
throw new DeviceManagementDAOException("Error occurred while removing device", e);
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -66,6 +66,7 @@ import org.wso2.carbon.device.mgt.core.geo.geoHash.GeoCoordinate;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Proxy class for all Device Management related operations that take the corresponding plugin type in
|
* Proxy class for all Device Management related operations that take the corresponding plugin type in
|
||||||
@ -255,6 +256,15 @@ public interface DeviceManagementProviderService {
|
|||||||
*/
|
*/
|
||||||
Device getDevice(DeviceIdentifier deviceId, Date since, boolean requireDeviceInfo) throws DeviceManagementException;
|
Device getDevice(DeviceIdentifier deviceId, Date since, boolean requireDeviceInfo) throws DeviceManagementException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a list of devices based on a given criteria of properties
|
||||||
|
*
|
||||||
|
* @param deviceProps properties by which devices need to be drawn
|
||||||
|
* @return list of devices
|
||||||
|
* @throws DeviceManagementException
|
||||||
|
*/
|
||||||
|
List<Device> getDevicesBasedOnProperties(Map deviceProps) throws DeviceManagementException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the device of specified id.
|
* Returns the device of specified id.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -14,23 +14,23 @@
|
|||||||
* KIND, either express or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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
|
* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://entgra.io) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
* software distributed under the License is distributed on an
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* in compliance with the License.
|
||||||
* KIND, either express or implied. See the License for the
|
* You may obtain a copy of the License at
|
||||||
* specific language governing permissions and limitations
|
*
|
||||||
* under the License.
|
* 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;
|
package org.wso2.carbon.device.mgt.core.service;
|
||||||
|
|
||||||
@ -553,6 +553,14 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.beginTransaction();
|
DeviceManagementDAOFactory.beginTransaction();
|
||||||
deviceDAO.deleteDevice(deviceId, tenantId);
|
deviceDAO.deleteDevice(deviceId, tenantId);
|
||||||
|
try {
|
||||||
|
deviceManager.deleteDevice(deviceId, device);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while permanently deleting '" + deviceId.getType() +
|
||||||
|
"' device with the identifier '" + deviceId.getId() + "' in plugin.";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
DeviceManagementDAOFactory.commitTransaction();
|
DeviceManagementDAOFactory.commitTransaction();
|
||||||
this.removeDeviceFromCache(deviceId);
|
this.removeDeviceFromCache(deviceId);
|
||||||
} catch (DeviceManagementDAOException e) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
@ -1201,6 +1209,46 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Device> getDevicesBasedOnProperties(Map deviceProps) throws DeviceManagementException {
|
||||||
|
if (deviceProps == null || deviceProps.isEmpty()) {
|
||||||
|
String msg = "Devices retrieval criteria cannot be null or empty.";
|
||||||
|
log.error(msg);
|
||||||
|
throw new DeviceManagementException(msg);
|
||||||
|
}
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Attempting to get devices based on criteria : " + deviceProps);
|
||||||
|
}
|
||||||
|
List<Device> devices;
|
||||||
|
try {
|
||||||
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
DeviceManagementDAOFactory.openConnection();
|
||||||
|
devices = deviceDAO.getDeviceBasedOnDeviceProperties(deviceProps, tenantId);
|
||||||
|
if (devices == null) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("No device is found against criteria : " + deviceProps + " and tenantId "+ tenantId);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} catch (DeviceManagementDAOException e) {
|
||||||
|
String msg = "Error occurred while obtaining devices based on criteria : " + deviceProps;
|
||||||
|
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);
|
||||||
|
} catch (Exception e) {
|
||||||
|
String msg = "Error occurred while obtaining devices based on criteria : " + deviceProps;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
|
}
|
||||||
|
return devices;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Device getDevice(String deviceId, Date since, boolean requireDeviceInfo) throws DeviceManagementException {
|
public Device getDevice(String deviceId, Date since, boolean requireDeviceInfo) throws DeviceManagementException {
|
||||||
if (deviceId == null || since == null) {
|
if (deviceId == null || since == null) {
|
||||||
|
|||||||
@ -60,6 +60,11 @@ public class TestDeviceManager implements DeviceManager {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteDevice(DeviceIdentifier deviceId, Device device) throws DeviceManagementException {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,22 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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.extensions.device.type.template;
|
package org.wso2.carbon.device.mgt.extensions.device.type.template;
|
||||||
|
|
||||||
@ -568,4 +584,35 @@ public class DeviceTypeManager implements DeviceManager {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteDevice(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException {
|
||||||
|
if (propertiesExist) {
|
||||||
|
boolean status;
|
||||||
|
Device existingDevice = this.getDevice(deviceIdentifier);
|
||||||
|
if (existingDevice == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Deleting the details of " + deviceType + " device : " + device.getDeviceIdentifier());
|
||||||
|
}
|
||||||
|
deviceTypePluginDAOManager.getDeviceTypeDAOHandler().beginTransaction();
|
||||||
|
status = deviceTypePluginDAOManager.getDeviceDAO().deleteDevice(existingDevice);
|
||||||
|
deviceTypePluginDAOManager.getDeviceTypeDAOHandler().commitTransaction();
|
||||||
|
} catch (DeviceTypeMgtPluginException e) {
|
||||||
|
try {
|
||||||
|
deviceTypePluginDAOManager.getDeviceTypeDAOHandler().rollbackTransaction();
|
||||||
|
} catch (DeviceTypeMgtPluginException e1) {
|
||||||
|
log.warn("Error occurred while roll back the delete device info transaction : '" +
|
||||||
|
device.toString() + "'", e1);
|
||||||
|
}
|
||||||
|
throw new DeviceManagementException(
|
||||||
|
"Error occurred while deleting the " + deviceType + " device: '" +
|
||||||
|
device.getDeviceIdentifier() + "'", e);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,23 @@
|
|||||||
* KIND, either express or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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.extensions.device.type.template.dao;
|
package org.wso2.carbon.device.mgt.extensions.device.type.template.dao;
|
||||||
@ -45,6 +62,7 @@ public class DeviceTypePluginDAOImpl implements PluginDAO {
|
|||||||
private String createDBqueryForAddDevice;
|
private String createDBqueryForAddDevice;
|
||||||
private String updateDBQueryForUpdateDevice;
|
private String updateDBQueryForUpdateDevice;
|
||||||
private String selectDBQueryToGetAllDevice;
|
private String selectDBQueryToGetAllDevice;
|
||||||
|
private String deleteDBQueryForDeleteDevice;
|
||||||
|
|
||||||
public DeviceTypePluginDAOImpl(DeviceDAODefinition deviceDAODefinition,
|
public DeviceTypePluginDAOImpl(DeviceDAODefinition deviceDAODefinition,
|
||||||
DeviceTypeDAOHandler deviceTypeDAOHandler) {
|
DeviceTypeDAOHandler deviceTypeDAOHandler) {
|
||||||
@ -196,6 +214,33 @@ public class DeviceTypePluginDAOImpl implements PluginDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteDevice(Device device) throws DeviceTypeMgtPluginException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = deviceTypeDAOHandler.getConnection();
|
||||||
|
stmt = conn.prepareStatement(deleteDBQueryForDeleteDevice);
|
||||||
|
stmt.setString(1, device.getDeviceIdentifier());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Device " + device.getDeviceIdentifier() + " data has been deleted.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while deleting the device '" + device.getDeviceIdentifier() + "' data in "
|
||||||
|
+ deviceDAODefinition.getDeviceTableName();
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceTypeMgtPluginException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceTypeUtils.cleanupResources(stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
private String getDeviceTableColumnNames() {
|
private String getDeviceTableColumnNames() {
|
||||||
return StringUtils.join(deviceDAODefinition.getColumnNames(), ", ");
|
return StringUtils.join(deviceDAODefinition.getColumnNames(), ", ");
|
||||||
}
|
}
|
||||||
@ -239,5 +284,8 @@ public class DeviceTypePluginDAOImpl implements PluginDAO {
|
|||||||
selectDBQueryToGetAllDevice =
|
selectDBQueryToGetAllDevice =
|
||||||
"SELECT " + getDeviceTableColumnNames() + "," + deviceDAODefinition.getPrimaryKey() + " FROM "
|
"SELECT " + getDeviceTableColumnNames() + "," + deviceDAODefinition.getPrimaryKey() + " FROM "
|
||||||
+ deviceDAODefinition.getDeviceTableName();
|
+ deviceDAODefinition.getDeviceTableName();
|
||||||
|
|
||||||
|
deleteDBQueryForDeleteDevice = "DELETE FROM " + deviceDAODefinition.getDeviceTableName() + " WHERE "
|
||||||
|
+ deviceDAODefinition.getPrimaryKey() + " = ?";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,12 +14,30 @@
|
|||||||
* KIND, either express or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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.extensions.device.type.template.dao;
|
package org.wso2.carbon.device.mgt.extensions.device.type.template.dao;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.extensions.device.type.template.exception.DeviceTypeMgtPluginException;
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.exception.DeviceTypeMgtPluginException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface PluginDAO {
|
public interface PluginDAO {
|
||||||
@ -31,4 +49,6 @@ public interface PluginDAO {
|
|||||||
boolean updateDevice(Device device) throws DeviceTypeMgtPluginException;
|
boolean updateDevice(Device device) throws DeviceTypeMgtPluginException;
|
||||||
|
|
||||||
List<Device> getAllDevices() throws DeviceTypeMgtPluginException;
|
List<Device> getAllDevices() throws DeviceTypeMgtPluginException;
|
||||||
|
|
||||||
|
boolean deleteDevice(Device device) throws DeviceTypeMgtPluginException;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,23 @@
|
|||||||
* KIND, either express or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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.extensions.device.type.template.dao;
|
package org.wso2.carbon.device.mgt.extensions.device.type.template.dao;
|
||||||
@ -31,7 +48,6 @@ import java.sql.PreparedStatement;
|
|||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -201,6 +217,27 @@ public class PropertyBasedPluginDAOImpl implements PluginDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteDevice(Device device) throws DeviceTypeMgtPluginException {
|
||||||
|
Connection conn;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = deviceTypeDAOHandler.getConnection();
|
||||||
|
stmt = conn.prepareStatement("DELETE FROM DM_DEVICE_PROPERTIES WHERE DEVICE_IDENTIFICATION = ?");
|
||||||
|
stmt.setString(1, device.getDeviceIdentifier());
|
||||||
|
stmt.executeUpdate();
|
||||||
|
return true;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while deleting the device '" + device.getDeviceIdentifier() + "' data on"
|
||||||
|
+ deviceType;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceTypeMgtPluginException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceTypeUtils.cleanupResources(stmt, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private String getPropertyValue(List<Device.Property> properties, String propertyName) {
|
private String getPropertyValue(List<Device.Property> properties, String propertyName) {
|
||||||
for (Device.Property property : properties) {
|
for (Device.Property property : properties) {
|
||||||
if (property.getName() != null && property.getName().equals(propertyName)) {
|
if (property.getName() != null && property.getName().equals(propertyName)) {
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -26,14 +26,14 @@
|
|||||||
|
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<h3>About Entgra IoT Server</h3>
|
<h3>About Entgra IoT Server</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 is a complete solution that enables device manufacturers and enterprises to
|
<p>Entgra IoT Server 3.6.0 is a complete solution that enables device manufacturers and enterprises to
|
||||||
connect and manage their devices, build apps, manage events, secure devices and data, and visualize
|
connect and manage their devices, build apps, manage events, secure devices and data, and visualize
|
||||||
sensor data in a scalable manner.</p>
|
sensor data in a scalable manner.</p>
|
||||||
<p>It also offers a complete and secure Enterprise Mobility Management (EMM/MDM) solution that aims to
|
<p>It also offers a complete and secure Enterprise Mobility Management (EMM/MDM) solution that aims to
|
||||||
address mobile computing challenges faced by enterprises today. Supporting iOS, Android, and Windows
|
address mobile computing challenges faced by enterprises today. Supporting iOS, Android, and Windows
|
||||||
devices, it helps organizations deal with both Corporate Owned, Personally Enabled (COPE) and
|
devices, it helps organizations deal with both Corporate Owned, Personally Enabled (COPE) and
|
||||||
employee-owned devices with the Bring Your Own Device (BYOD) concept.</p>
|
employee-owned devices with the Bring Your Own Device (BYOD) concept.</p>
|
||||||
<p>Entgra IoT Server 3.5.0 comes with advanced analytics, enabling users to analyze speed, proximity, and
|
<p>Entgra IoT Server 3.6.0 comes with advanced analytics, enabling users to analyze speed, proximity, and
|
||||||
geo-fencing information of devices including details of those in motion and stationary state.</p>
|
geo-fencing information of devices including details of those in motion and stationary state.</p>
|
||||||
</p>
|
</p>
|
||||||
<h2>Cookie Policy</h2>
|
<h2>Cookie Policy</h2>
|
||||||
@ -45,12 +45,12 @@
|
|||||||
apps remember things about you. Other technologies, including Web storage and identifiers associated
|
apps remember things about you. Other technologies, including Web storage and identifiers associated
|
||||||
with your device, may be used for similar purposes. In this policy, we use the term “cookies” to
|
with your device, may be used for similar purposes. In this policy, we use the term “cookies” to
|
||||||
discuss all of these technologies.</p>
|
discuss all of these technologies.</p>
|
||||||
<h3>How does Entgra IoT Server 3.5.0 process cookies?</h3>
|
<h3>How does Entgra IoT Server 3.6.0 process cookies?</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 uses cookies to store and retrieve information on your browser. This
|
<p>Entgra IoT Server 3.6.0 uses cookies to store and retrieve information on your browser. This
|
||||||
information is used to provide a better user experience. Some cookies serve the purpose of allowing a
|
information is used to provide a better user experience. Some cookies serve the purpose of allowing a
|
||||||
user to log in to the system, maintain sessions, and keep track of activities within the login
|
user to log in to the system, maintain sessions, and keep track of activities within the login
|
||||||
session.</p>
|
session.</p>
|
||||||
<p>Some cookies in Entgra IoT Server 3.5.0 are used to personally identify you. However, the cookie
|
<p>Some cookies in Entgra IoT Server 3.6.0 are used to personally identify you. However, the cookie
|
||||||
lifetime ends once your session ends, i.e., after you log-out, or after the session expiry time has
|
lifetime ends once your session ends, i.e., after you log-out, or after the session expiry time has
|
||||||
elapsed.</p>
|
elapsed.</p>
|
||||||
<p>Some cookies are simply used to give you a more personalised web experience, and these cannot be used
|
<p>Some cookies are simply used to give you a more personalised web experience, and these cannot be used
|
||||||
@ -58,42 +58,42 @@
|
|||||||
<p>This Cookie Policy is part of the IoT Server <a href="{{@app.context}}/privacy-policy">Privacy Policy.</a>
|
<p>This Cookie Policy is part of the IoT Server <a href="{{@app.context}}/privacy-policy">Privacy Policy.</a>
|
||||||
</p>
|
</p>
|
||||||
<h3>What does Entgra IoT Server 3.0.0 use cookies for?</h3>
|
<h3>What does Entgra IoT Server 3.0.0 use cookies for?</h3>
|
||||||
<p>Cookies are used for two purposes in Entgra IoT Server 3.5.0.</p>
|
<p>Cookies are used for two purposes in Entgra IoT Server 3.6.0.</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>To identify you and provide security</li>
|
<li>To identify you and provide security</li>
|
||||||
<li>To provide a satisfying user experience.</li>
|
<li>To provide a satisfying user experience.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h4><u>Preferences</u></h4>
|
<h4><u>Preferences</u></h4>
|
||||||
<p>Entgra IoT Server 3.5.0 uses cookies to remember your settings and preferences and to auto-fill the
|
<p>Entgra IoT Server 3.6.0 uses cookies to remember your settings and preferences and to auto-fill the
|
||||||
fields to make your interactions with the site easier.</p>
|
fields to make your interactions with the site easier.</p>
|
||||||
<p>These cookies can not be used to personally identify you.</p>
|
<p>These cookies can not be used to personally identify you.</p>
|
||||||
|
|
||||||
<h4><u>Security</u></h4>
|
<h4><u>Security</u></h4>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Entgra IoT Server 3.5.0 uses selected cookies to identify and prevent security risks. For example,
|
<li>Entgra IoT Server 3.6.0 uses selected cookies to identify and prevent security risks. For example,
|
||||||
Entgra IoT Server 3.5.0 may use cookies to store your session information to prevent others from
|
Entgra IoT Server 3.6.0 may use cookies to store your session information to prevent others from
|
||||||
changing your password without your username and password.
|
changing your password without your username and password.
|
||||||
</li>
|
</li>
|
||||||
<li>Entgra IoT Server 3.5.0 uses session cookie to maintain your active session.</li>
|
<li>Entgra IoT Server 3.6.0 uses session cookie to maintain your active session.</li>
|
||||||
<li>Entgra IoT Server 3.5.0 may use a temporary cookie when performing multi-factor authentication and
|
<li>Entgra IoT Server 3.6.0 may use a temporary cookie when performing multi-factor authentication and
|
||||||
federated authentication.
|
federated authentication.
|
||||||
</li>
|
</li>
|
||||||
<li>Entgra IoT Server 3.5.0 may use permanent cookies to detect the devices you have logged in
|
<li>Entgra IoT Server 3.6.0 may use permanent cookies to detect the devices you have logged in
|
||||||
previously. This is to to calculate the <b>risk level</b> associated with your current login
|
previously. This is to to calculate the <b>risk level</b> associated with your current login
|
||||||
attempt. Using these cookies protects you and your account from possible attacks.
|
attempt. Using these cookies protects you and your account from possible attacks.
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<h4><u>Performance</u></h4>
|
<h4><u>Performance</u></h4>
|
||||||
<p>Entgra IoT Server 3.5.0 may use cookies to allow <b>Remember Me</b> functionalities.</p>
|
<p>Entgra IoT Server 3.6.0 may use cookies to allow <b>Remember Me</b> functionalities.</p>
|
||||||
<h4><u>Analytics</u></h4>
|
<h4><u>Analytics</u></h4>
|
||||||
<p>Entgra IoT Server 3.5.0 as a product does not use cookies for analytical purposes.</p>
|
<p>Entgra IoT Server 3.6.0 as a product does not use cookies for analytical purposes.</p>
|
||||||
<h4><u>Third party cookies</u></h4>
|
<h4><u>Third party cookies</u></h4>
|
||||||
<p>Using Entgra IoT Server 3.5.0 may cause third-party cookie to be set in your browser. Entgra IoT Server
|
<p>Using Entgra IoT Server 3.6.0 may cause third-party cookie to be set in your browser. Entgra IoT Server
|
||||||
3.5.0 has no control over how any of them operate. The third-party cookies that maybe set
|
3.6.0 has no control over how any of them operate. The third-party cookies that maybe set
|
||||||
include:</p>
|
include:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Any social login sites. For example, third-party cookies may be set when Entgra IoT Server 3.5.0
|
<li>Any social login sites. For example, third-party cookies may be set when Entgra IoT Server 3.6.0
|
||||||
is configured to use “social” or “federated” login, and you opt to login with your “Social
|
is configured to use “social” or “federated” login, and you opt to login with your “Social
|
||||||
Account”.
|
Account”.
|
||||||
</li>
|
</li>
|
||||||
@ -101,11 +101,11 @@
|
|||||||
</ol>
|
</ol>
|
||||||
<p>Entgra strongly advises you to refer the respective cookie policies of such sites carefully as Entgra has
|
<p>Entgra strongly advises you to refer the respective cookie policies of such sites carefully as Entgra has
|
||||||
no knowledge or use on these cookies.</p>
|
no knowledge or use on these cookies.</p>
|
||||||
<h3>What type of cookies does Entgra IoT Server 3.5.0 use?</h3>
|
<h3>What type of cookies does Entgra IoT Server 3.6.0 use?</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 uses persistent cookies and session cookies. A persistent cookie helps Entgra IS
|
<p>Entgra IoT Server 3.6.0 uses persistent cookies and session cookies. A persistent cookie helps Entgra IS
|
||||||
3.5.0 to recognize you as an existing user so that it is easier to return to Entgra or interact with
|
3.6.0 to recognize you as an existing user so that it is easier to return to Entgra or interact with
|
||||||
Entgra IS 3.5.0 without signing in again. After you sign in, a persistent cookie stays in your browser
|
Entgra IS 3.6.0 without signing in again. After you sign in, a persistent cookie stays in your browser
|
||||||
and will be read by Entgra IoT Server 3.5.0 when you return to Entgra IoT Server 3.5.0.</p>
|
and will be read by Entgra IoT Server 3.6.0 when you return to Entgra IoT Server 3.6.0.</p>
|
||||||
<p>A session cookie is a cookie that is erased when the user closes the Web browser. The session cookie
|
<p>A session cookie is a cookie that is erased when the user closes the Web browser. The session cookie
|
||||||
is stored in temporarily and is not retained after the browser is closed. Session cookies do not
|
is stored in temporarily and is not retained after the browser is closed. Session cookies do not
|
||||||
collect information from the user’s computer.</p>
|
collect information from the user’s computer.</p>
|
||||||
@ -114,9 +114,9 @@
|
|||||||
for websites to set cookies, you may worsen your overall user experience since it will no longer be
|
for websites to set cookies, you may worsen your overall user experience since it will no longer be
|
||||||
personalized to you. It may also stop you from saving customized settings like login information.
|
personalized to you. It may also stop you from saving customized settings like login information.
|
||||||
Most likely, disabling cookies will make it unable for you to use authentication and authorization
|
Most likely, disabling cookies will make it unable for you to use authentication and authorization
|
||||||
functionalities offered by Entgra IoT Server 3.5.0.</p>
|
functionalities offered by Entgra IoT Server 3.6.0.</p>
|
||||||
<p>If you have any questions or concerns regarding the use of cookies, please contact the entity or
|
<p>If you have any questions or concerns regarding the use of cookies, please contact the entity or
|
||||||
individuals (or their data protection officer, if applicable) running this Entgra IoT Server 3.5.0
|
individuals (or their data protection officer, if applicable) running this Entgra IoT Server 3.6.0
|
||||||
instance.</p>
|
instance.</p>
|
||||||
<h3>What are the cookies used?</h3>
|
<h3>What are the cookies used?</h3>
|
||||||
<table class="table table-striped table-bordered">
|
<table class="table table-striped table-bordered">
|
||||||
@ -150,17 +150,17 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<h3>Disclaimer</h3>
|
<h3>Disclaimer</h3>
|
||||||
<p>This cookie policy is only for illustrative purposes of the product Entgra IoT Server 3.5.0. The
|
<p>This cookie policy is only for illustrative purposes of the product Entgra IoT Server 3.6.0. The
|
||||||
content in the policy is technically correct at the time of the product shipment. The
|
content in the policy is technically correct at the time of the product shipment. The
|
||||||
entity,organization or individual that runs this Entgra IoT Server 3.5.0 instance has full authority
|
entity,organization or individual that runs this Entgra IoT Server 3.6.0 instance has full authority
|
||||||
and responsibility with regard to the effective Cookie Policy. Entgra, its employees, partners, and
|
and responsibility with regard to the effective Cookie Policy. Entgra, its employees, partners, and
|
||||||
affiliates do not have access to and do not require, store, process or control any of the data,
|
affiliates do not have access to and do not require, store, process or control any of the data,
|
||||||
including personal data contained in Entgra IoT Server 3.5.0. All data, including personal data is
|
including personal data contained in Entgra IoT Server 3.6.0. All data, including personal data is
|
||||||
controlled and processed by the entity, organization or individual running Entgra IoT Server 3.5.0.
|
controlled and processed by the entity, organization or individual running Entgra IoT Server 3.6.0.
|
||||||
Entgra, its employees partners and affiliates are not a data processor or a data controller within the
|
Entgra, its employees partners and affiliates are not a data processor or a data controller within the
|
||||||
meaning of any data privacy regulations. Entgra does not provide any warranties or undertake any
|
meaning of any data privacy regulations. Entgra does not provide any warranties or undertake any
|
||||||
responsibility or liability in connection with the lawfulness or the manner and purposes for which
|
responsibility or liability in connection with the lawfulness or the manner and purposes for which
|
||||||
Entgra IoT Server 3.5.0 is used by such entities, organizations or persons.</p>
|
Entgra IoT Server 3.6.0 is used by such entities, organizations or persons.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -36,18 +36,18 @@
|
|||||||
<p>Entgra IoT Server comes with advanced analytics, enabling users to analyze speed, proximity, and
|
<p>Entgra IoT Server comes with advanced analytics, enabling users to analyze speed, proximity, and
|
||||||
geo-fencing information of devices including details of those in motion and stationary state.</p>
|
geo-fencing information of devices including details of those in motion and stationary state.</p>
|
||||||
<h3>Privacy Policy</h3>
|
<h3>Privacy Policy</h3>
|
||||||
<p>This policy describes how Entgra IoT Server 3.5.0 captures your personal information, the purposes of
|
<p>This policy describes how Entgra IoT Server 3.6.0 captures your personal information, the purposes of
|
||||||
collection, and information about the retention of your personal information.
|
collection, and information about the retention of your personal information.
|
||||||
<p>Please note that this policy is for reference only, and is applicable for the software as a product.
|
<p>Please note that this policy is for reference only, and is applicable for the software as a product.
|
||||||
Entgra and its developers have no access to the information held within Entgra IoT Server
|
Entgra and its developers have no access to the information held within Entgra IoT Server
|
||||||
3.5.0.Please see the Disclaimer section for more information. Entities, organisations or individuals
|
3.6.0.Please see the Disclaimer section for more information. Entities, organisations or individuals
|
||||||
controlling the use and administration of Entgra IoT Server 3.5.0 should create their own privacy
|
controlling the use and administration of Entgra IoT Server 3.6.0 should create their own privacy
|
||||||
policies setting out the manner in which data is controlled or processed by the respective entity,
|
policies setting out the manner in which data is controlled or processed by the respective entity,
|
||||||
organisation or individual.
|
organisation or individual.
|
||||||
<h3>What is personal information?</h3>
|
<h3>What is personal information?</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 considers anything related to you and by which you may be identified as your
|
<p>Entgra IoT Server 3.6.0 considers anything related to you and by which you may be identified as your
|
||||||
personal information.</p>
|
personal information.</p>
|
||||||
<p><b>Signing in to Entgra IoT Server 3.5.0</b></p>
|
<p><b>Signing in to Entgra IoT Server 3.6.0</b></p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Your user name (except in cases where the user name created by your employer is under
|
<li>Your user name (except in cases where the user name created by your employer is under
|
||||||
contract)
|
contract)
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<li>IP address used to log in</li>
|
<li>IP address used to log in</li>
|
||||||
<li>Email address</li>
|
<li>Email address</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p><b>Enrolling a device with Entgra IoT Server 3.5.0</b></p>
|
<p><b>Enrolling a device with Entgra IoT Server 3.6.0</b></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Your device ID (e.g., phone or tablet), mobile number, IMEI number, and IMSI number</li>
|
<li>Your device ID (e.g., phone or tablet), mobile number, IMEI number, and IMSI number</li>
|
||||||
<li>Your device’s location</li>
|
<li>Your device’s location</li>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
memory usage
|
memory usage
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>However, Entgra IoT Server 3.5.0 also collects the following information that is not considered
|
<p>However, Entgra IoT Server 3.6.0 also collects the following information that is not considered
|
||||||
personal information, but is used only for <b>statistical</b> purposes. The reason for this is that
|
personal information, but is used only for <b>statistical</b> purposes. The reason for this is that
|
||||||
this information can not be used to track you.
|
this information can not be used to track you.
|
||||||
<ul>
|
<ul>
|
||||||
@ -74,17 +74,17 @@
|
|||||||
<li>Operating system and generic browser information</li>
|
<li>Operating system and generic browser information</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Collection of personal information</h3>
|
<h3>Collection of personal information</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 collects your information only to serve your access requirements. For example:
|
<p>Entgra IoT Server 3.6.0 collects your information only to serve your access requirements. For example:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Entgra IoT Server 3.5.0 uses your IP address to detect any suspicious login attempts to your
|
<li>Entgra IoT Server 3.6.0 uses your IP address to detect any suspicious login attempts to your
|
||||||
account.
|
account.
|
||||||
<li>Entgra IoT Server 3.5.0 uses attributes like your first name, last name, etc., to provide a rich
|
<li>Entgra IoT Server 3.6.0 uses attributes like your first name, last name, etc., to provide a rich
|
||||||
and personalized user experience.
|
and personalized user experience.
|
||||||
<li>Entgra IoT Server 3.5.0 uses your security questions and answers only to allow account recovery.
|
<li>Entgra IoT Server 3.6.0 uses your security questions and answers only to allow account recovery.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4><u>Tracking Technologies</u></h4>
|
<h4><u>Tracking Technologies</u></h4>
|
||||||
<p>Entgra IoT Server 3.5.0 collects your information by:</p>
|
<p>Entgra IoT Server 3.6.0 collects your information by:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Collecting information from the user profile page where you enter your personal data.</li>
|
<li>Collecting information from the user profile page where you enter your personal data.</li>
|
||||||
<li>Tracking your IP address with HTTP request, HTTP headers, and TCP/IP.</li>
|
<li>Tracking your IP address with HTTP request, HTTP headers, and TCP/IP.</li>
|
||||||
@ -95,15 +95,15 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Use of personal information</h3>
|
<h3>Use of personal information</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 will only use your personal information for the purposes for which it was
|
<p>Entgra IoT Server 3.6.0 will only use your personal information for the purposes for which it was
|
||||||
collected (or for a use identified as consistent with that purpose).</p>
|
collected (or for a use identified as consistent with that purpose).</p>
|
||||||
<p>Entgra IoT Server 3.5.0 uses your personal information only for the following purposes.</p>
|
<p>Entgra IoT Server 3.6.0 uses your personal information only for the following purposes.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>To provide you with a personalized user experience. Entgra IoT Server 3.5.0 uses your name and
|
<li>To provide you with a personalized user experience. Entgra IoT Server 3.6.0 uses your name and
|
||||||
uploaded profile pictures for this purpose.
|
uploaded profile pictures for this purpose.
|
||||||
</li>
|
</li>
|
||||||
<li>To protect your account from unauthorized access or potential hacking attempts. Entgra IoT Server
|
<li>To protect your account from unauthorized access or potential hacking attempts. Entgra IoT Server
|
||||||
3.5.0 uses HTTP or TCP/IP Headers for this purpose.
|
3.6.0 uses HTTP or TCP/IP Headers for this purpose.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p>This includes:</p>
|
<p>This includes:</p>
|
||||||
@ -114,10 +114,10 @@
|
|||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
<li>Derive statistical data for analytical purposes on system performance improvements. Entgra IoT
|
<li>Derive statistical data for analytical purposes on system performance improvements. Entgra IoT
|
||||||
Server 3.5.0 will not keep any personal information after statistical calculations. Therefore,
|
Server 3.6.0 will not keep any personal information after statistical calculations. Therefore,
|
||||||
the statistical report has no means of identifying an individual person.
|
the statistical report has no means of identifying an individual person.
|
||||||
</li>
|
</li>
|
||||||
<li>Entgra IoT Server 3.5.0 may use:</li>
|
<li>Entgra IoT Server 3.6.0 may use:</li>
|
||||||
<li>
|
<li>
|
||||||
<ol>
|
<ol>
|
||||||
<li>IP Address to derive geographic information</li>
|
<li>IP Address to derive geographic information</li>
|
||||||
@ -126,28 +126,28 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Disclosure of personal information</h3>
|
<h3>Disclosure of personal information</h3>
|
||||||
<p>Entgra IoT Server 3.5.0 only discloses personal information to the relevant applications (also known as
|
<p>Entgra IoT Server 3.6.0 only discloses personal information to the relevant applications (also known as
|
||||||
“Service Providers”) that are registered with Entgra IoT Server 3.5.0. These applications are
|
“Service Providers”) that are registered with Entgra IoT Server 3.6.0. These applications are
|
||||||
registered by the identity administrator of your entity or organization. Personal information is
|
registered by the identity administrator of your entity or organization. Personal information is
|
||||||
disclosed only for the purposes for which it was collected (or for a use identified as consistent
|
disclosed only for the purposes for which it was collected (or for a use identified as consistent
|
||||||
with that purpose) as controlled by such Service Providers, unless you have consented otherwise or
|
with that purpose) as controlled by such Service Providers, unless you have consented otherwise or
|
||||||
where it is required by law.</p>
|
where it is required by law.</p>
|
||||||
<h4>Legal process</h4>
|
<h4>Legal process</h4>
|
||||||
<p>Please note that the organisation, entity or individual running Entgra IoT Server 3.5.0 may be
|
<p>Please note that the organisation, entity or individual running Entgra IoT Server 3.6.0 may be
|
||||||
compelled to disclose your personal information with or without your consent when it is required by
|
compelled to disclose your personal information with or without your consent when it is required by
|
||||||
law following due and lawful process.</p>
|
law following due and lawful process.</p>
|
||||||
<h3>Storage of personal information</h3>
|
<h3>Storage of personal information</h3>
|
||||||
<h4><u>Where your personal information is stored</u></h4>
|
<h4><u>Where your personal information is stored</u></h4>
|
||||||
<p>Entgra IoT Server 3.5.0 stores your personal information in secured databases. Entgra IoT Server 3.5.0
|
<p>Entgra IoT Server 3.6.0 stores your personal information in secured databases. Entgra IoT Server 3.6.0
|
||||||
exercises proper industry accepted security measures to protect the database where your personal
|
exercises proper industry accepted security measures to protect the database where your personal
|
||||||
information is held.Entgra IoT Server 3.5.0 as a product does not transfer or share your data with any
|
information is held.Entgra IoT Server 3.6.0 as a product does not transfer or share your data with any
|
||||||
third parties or locations.</p>
|
third parties or locations.</p>
|
||||||
<p>Entgra IoT Server 3.5.0 may use encryption to keep your personal data with an added level of
|
<p>Entgra IoT Server 3.6.0 may use encryption to keep your personal data with an added level of
|
||||||
security.</p>
|
security.</p>
|
||||||
<h4><u>How long your personal information is retained</u></h4>
|
<h4><u>How long your personal information is retained</u></h4>
|
||||||
<p>Entgra IoT Server 3.5.0 retains your personal data as long as you are an active user of our system. You
|
<p>Entgra IoT Server 3.6.0 retains your personal data as long as you are an active user of our system. You
|
||||||
can update your personal data at any time using the given self-care user portals.</p>
|
can update your personal data at any time using the given self-care user portals.</p>
|
||||||
<p>Entgra IoT Server 3.5.0 may keep hashed secrets to provide you with an added level of security. This
|
<p>Entgra IoT Server 3.6.0 may keep hashed secrets to provide you with an added level of security. This
|
||||||
includes:</p>
|
includes:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Current password</li>
|
<li>Current password</li>
|
||||||
@ -157,15 +157,15 @@
|
|||||||
<p>You can request the administrator to delete your account. The administrator is the administrator of
|
<p>You can request the administrator to delete your account. The administrator is the administrator of
|
||||||
the tenant you are registered under, or the super-administrator if you do not use the tenant
|
the tenant you are registered under, or the super-administrator if you do not use the tenant
|
||||||
feature.</p>
|
feature.</p>
|
||||||
<p>Additionally, you can request to anonymize all traces of your activities that Entgra IoT Server 3.5.0
|
<p>Additionally, you can request to anonymize all traces of your activities that Entgra IoT Server 3.6.0
|
||||||
may have retained in logs, databases or analytical storage.</p>
|
may have retained in logs, databases or analytical storage.</p>
|
||||||
<h3>More information</h3>
|
<h3>More information</h3>
|
||||||
<h4><u>Changes to this policy</u></h4>
|
<h4><u>Changes to this policy</u></h4>
|
||||||
<p>Upgraded versions of Entgra IoT Server 3.5.0 may contain changes to this policy. Revisions to this
|
<p>Upgraded versions of Entgra IoT Server 3.6.0 may contain changes to this policy. Revisions to this
|
||||||
policy will be packaged within such upgrades and would only apply to users who choose to use upgraded
|
policy will be packaged within such upgrades and would only apply to users who choose to use upgraded
|
||||||
versions.</p>
|
versions.</p>
|
||||||
<h4><u>Your choices</u></h4>
|
<h4><u>Your choices</u></h4>
|
||||||
<p>If you are already have an user account within Entgra IoT Server 3.5.0 ; you have the right to
|
<p>If you are already have an user account within Entgra IoT Server 3.6.0 ; you have the right to
|
||||||
deactivate your account if you find that this privacy policy is unacceptable to you.</p>
|
deactivate your account if you find that this privacy policy is unacceptable to you.</p>
|
||||||
<p>If you do not have an account and you do not agree with our privacy policy, you can chose not to
|
<p>If you do not have an account and you do not agree with our privacy policy, you can chose not to
|
||||||
create one.</p>
|
create one.</p>
|
||||||
@ -174,19 +174,19 @@
|
|||||||
<p><a href="https://entgra.io/contact/">https://entgra.io.com/contact/</a></p>
|
<p><a href="https://entgra.io/contact/">https://entgra.io.com/contact/</a></p>
|
||||||
<h3>Disclaimer</h3>
|
<h3>Disclaimer</h3>
|
||||||
<p>Entgra, its employees, partners, and affiliates do not have access to and do not require, store,
|
<p>Entgra, its employees, partners, and affiliates do not have access to and do not require, store,
|
||||||
process or control any of the data, including personal data contained in Entgra IoT Server 3.5.0. All
|
process or control any of the data, including personal data contained in Entgra IoT Server 3.6.0. All
|
||||||
data, including personal data is controlled and processed by the entity or individual running Entgra
|
data, including personal data is controlled and processed by the entity or individual running Entgra
|
||||||
IoT Server 3.5.0. Entgra, its employees partners and affiliates are not a data processor or a data
|
IoT Server 3.6.0. Entgra, its employees partners and affiliates are not a data processor or a data
|
||||||
controller within the meaning of any data privacy regulations. Entgra does not provide any warranties
|
controller within the meaning of any data privacy regulations. Entgra does not provide any warranties
|
||||||
or undertake any responsibility or liability in connection with the lawfulness or the manner and
|
or undertake any responsibility or liability in connection with the lawfulness or the manner and
|
||||||
purposes for which Entgra IoT Server 3.5.0 is used by such entities or persons.</p>
|
purposes for which Entgra IoT Server 3.6.0 is used by such entities or persons.</p>
|
||||||
<p>This privacy policy is for the informational purposes of the entity or persons running Entgra IoT
|
<p>This privacy policy is for the informational purposes of the entity or persons running Entgra IoT
|
||||||
Server 3.5.0 and sets out the processes and functionality contained within Entgra IoT Server 3.5.0
|
Server 3.6.0 and sets out the processes and functionality contained within Entgra IoT Server 3.6.0
|
||||||
regarding personal data protection. It is the responsibility of entities and persons running Entgra IoT
|
regarding personal data protection. It is the responsibility of entities and persons running Entgra IoT
|
||||||
Server 3.5.0 to create and administer its own rules and processes governing users’ personal data,
|
Server 3.6.0 to create and administer its own rules and processes governing users’ personal data,
|
||||||
Please note that the creation of such rules and processes may change the use, storage and disclosure
|
Please note that the creation of such rules and processes may change the use, storage and disclosure
|
||||||
policies contained herein. Therefore users should consult the entity or persons running Entgra IoT
|
policies contained herein. Therefore users should consult the entity or persons running Entgra IoT
|
||||||
Server 3.5.0 for its own privacy policy for details governing users’ personal data.</p>
|
Server 3.6.0 for its own privacy policy for details governing users’ personal data.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -17,8 +17,8 @@
|
|||||||
}}
|
}}
|
||||||
{{#zone "footer"}}
|
{{#zone "footer"}}
|
||||||
<p>
|
<p>
|
||||||
<span class="hidden-xs">Entgra IoT Server{{#unless isCloud}} 3.5.0{{/unless}}</span>
|
<span class="hidden-xs">Entgra IoT Server{{#unless isCloud}} 3.6.0{{/unless}}</span>
|
||||||
<span class="visible-xs-inline">Entgra IoT Server{{#unless isCloud}} 3.5.0{{/unless}}</span> | © <script>document.write(new Date().getFullYear());</script>,
|
<span class="visible-xs-inline">Entgra IoT Server{{#unless isCloud}} 3.6.0{{/unless}}</span> | © <script>document.write(new Date().getFullYear());</script>,
|
||||||
<a href="https://www.entgra.io/" target="_blank">Entgra</a>. All Rights Reserved.
|
<a href="https://www.entgra.io/" target="_blank">Entgra</a>. All Rights Reserved.
|
||||||
</p>
|
</p>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
@ -17,8 +17,8 @@
|
|||||||
}}
|
}}
|
||||||
{{#zone "footer"}}
|
{{#zone "footer"}}
|
||||||
<p>
|
<p>
|
||||||
<span class="hidden-xs">Entgra IoT Server 3.5.0</span>
|
<span class="hidden-xs">Entgra IoT Server 3.6.0</span>
|
||||||
<span class="visible-xs-inline">Entgra IoT Server 3.5.0</span> | © <script>document.write(new Date().getFullYear());</script>,
|
<span class="visible-xs-inline">Entgra IoT Server 3.6.0</span> | © <script>document.write(new Date().getFullYear());</script>,
|
||||||
<a href="http://wso2.com/" target="_blank"><i class="icon fw fw-wso2"></i> Inc</a>. All Rights Reserved.
|
<a href="http://wso2.com/" target="_blank"><i class="icon fw fw-wso2"></i> Inc</a>. All Rights Reserved.
|
||||||
</p>
|
</p>
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>email-sender</artifactId>
|
<artifactId>email-sender</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>identity-extensions</artifactId>
|
<artifactId>identity-extensions</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.oauth.extensions</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.oauth.extensions</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - OAuth Extensions</name>
|
<name>WSO2 Carbon - OAuth Extensions</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>identity-extensions</artifactId>
|
<artifactId>identity-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>identity-extensions</artifactId>
|
<artifactId>identity-extensions</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.complex.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.complex.policy.decision.point</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Decision Point</name>
|
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||||
<description>WSO2 Carbon - Policy Decision Point</description>
|
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||||
|
|||||||
@ -3,14 +3,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Decision Point</name>
|
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||||
<description>WSO2 Carbon - Policy Decision Point</description>
|
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||||
|
|||||||
@ -43,9 +43,11 @@ public class PolicyEvaluationServiceImpl implements PolicyEvaluationPoint {
|
|||||||
@Override
|
@Override
|
||||||
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier)
|
public List<ProfileFeature> getEffectiveFeatures(DeviceIdentifier deviceIdentifier)
|
||||||
throws PolicyEvaluationException {
|
throws PolicyEvaluationException {
|
||||||
|
List<ProfileFeature> effectiveFeatures = null;
|
||||||
List<ProfileFeature> effectiveFeatures = evaluation.getEffectivePolicy(deviceIdentifier).
|
Policy effectivePolicy = evaluation.getEffectivePolicy(deviceIdentifier);
|
||||||
getProfile().getProfileFeaturesList();
|
if (effectivePolicy != null) {
|
||||||
|
effectiveFeatures = effectivePolicy.getProfile().getProfileFeaturesList();
|
||||||
|
}
|
||||||
return effectiveFeatures;
|
return effectiveFeatures;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@ -11,7 +11,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.information.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.information.point</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Information Point</name>
|
<name>WSO2 Carbon - Policy Information Point</name>
|
||||||
<description>WSO2 Carbon - Policy Information Point</description>
|
<description>WSO2 Carbon - Policy Information Point</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Management Common</name>
|
<name>WSO2 Carbon - Policy Management Common</name>
|
||||||
<description>WSO2 Carbon - Policy Management Common</description>
|
<description>WSO2 Carbon - Policy Management Common</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Management Core</name>
|
<name>WSO2 Carbon - Policy Management Core</name>
|
||||||
<description>WSO2 Carbon - Policy Management Core</description>
|
<description>WSO2 Carbon - Policy Management Core</description>
|
||||||
|
|||||||
@ -14,6 +14,23 @@
|
|||||||
* KIND, either express or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* 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.policy.mgt.core.mock;
|
package org.wso2.carbon.policy.mgt.core.mock;
|
||||||
|
|
||||||
@ -61,6 +78,11 @@ public class TypeXDeviceManager implements DeviceManager {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteDevice(DeviceIdentifier deviceId, Device device) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Policy Management Component</name>
|
<name>WSO2 Carbon - Policy Management Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>ui-request-interceptor</artifactId>
|
<artifactId>ui-request-interceptor</artifactId>
|
||||||
<groupId>io.entgra.devicemgt</groupId>
|
<groupId>io.entgra.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>io.entgra.ui.request.interceptor</artifactId>
|
<artifactId>io.entgra.ui.request.interceptor</artifactId>
|
||||||
|
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>Entgra - Request Handling Proxy Servlet</name>
|
<name>Entgra - Request Handling Proxy Servlet</name>
|
||||||
<description>Proxy Service for Request Handling in Entgra EMM/IOT Server.</description>
|
<description>Proxy Service for Request Handling in Entgra EMM/IOT Server.</description>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -21,14 +21,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>webapp-authenticator-framework</artifactId>
|
<artifactId>webapp-authenticator-framework</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.webapp.authenticator.framework</artifactId>
|
<artifactId>org.wso2.carbon.webapp.authenticator.framework</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Web Application Authenticator Framework Bundle</name>
|
<name>WSO2 Carbon - Web Application Authenticator Framework Bundle</name>
|
||||||
<description>WSO2 Carbon - Web Application Authenticator Framework Bundle</description>
|
<description>WSO2 Carbon - Web Application Authenticator Framework Bundle</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>webapp-authenticator-framework</artifactId>
|
<artifactId>webapp-authenticator-framework</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Webapp Authenticator Framework</name>
|
<name>WSO2 Carbon - Webapp Authenticator Framework</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,14 +21,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.application.extension.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.application.extension.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - API Management Application Extension Feature</name>
|
<name>WSO2 Carbon - API Management Application Extension Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains an implementation of a api application registration, which takes care of subscription
|
<description>This feature contains an implementation of a api application registration, which takes care of subscription
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.handler.server.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.handler.server.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - Device Management - APIM handler Server Feature</name>
|
<name>WSO2 Carbon - Device Management - APIM handler Server Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains the handler for the api authentications
|
<description>This feature contains the handler for the api authentications
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.integration.client.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.integration.client.feature</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - APIM Integration Client Feature</name>
|
<name>WSO2 Carbon - APIM Integration Client Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,14 +21,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.webapp.publisher.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.webapp.publisher.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - API Management Webapp Publisher Feature</name>
|
<name>WSO2 Carbon - API Management Webapp Publisher Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing
|
<description>This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.2.7-SNAPSHOT</version>
|
<version>3.2.9-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - API Management Extensions Feature</name>
|
<name>WSO2 Carbon - API Management Extensions Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user