mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt
This commit is contained in:
commit
e52fed0b2d
@ -67,10 +67,9 @@ public class GenericCertificateDAOImpl implements CertificateDAO {
|
|||||||
serialNumber = String.valueOf(certificate.getCertificate().getSerialNumber());
|
serialNumber = String.valueOf(certificate.getCertificate().getSerialNumber());
|
||||||
}
|
}
|
||||||
byte[] bytes = Serializer.serialize(certificate.getCertificate());
|
byte[] bytes = Serializer.serialize(certificate.getCertificate());
|
||||||
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
|
|
||||||
|
|
||||||
stmt.setString(1, serialNumber);
|
stmt.setString(1, serialNumber);
|
||||||
stmt.setObject(2, byteArrayInputStream);
|
stmt.setBytes(2, bytes);
|
||||||
stmt.setInt(3, certificate.getTenantId());
|
stmt.setInt(3, certificate.getTenantId());
|
||||||
stmt.setString(4, username);
|
stmt.setString(4, username);
|
||||||
stmt.addBatch();
|
stmt.addBatch();
|
||||||
@ -102,7 +101,7 @@ public class GenericCertificateDAOImpl implements CertificateDAO {
|
|||||||
stmt.setInt(2, tenantId);
|
stmt.setInt(2, tenantId);
|
||||||
resultSet = stmt.executeQuery();
|
resultSet = stmt.executeQuery();
|
||||||
|
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
certificateResponse = new CertificateResponse();
|
certificateResponse = new CertificateResponse();
|
||||||
byte [] certificateBytes = resultSet.getBytes("CERTIFICATE");
|
byte [] certificateBytes = resultSet.getBytes("CERTIFICATE");
|
||||||
certificateResponse.setCertificate(certificateBytes);
|
certificateResponse.setCertificate(certificateBytes);
|
||||||
@ -110,7 +109,6 @@ public class GenericCertificateDAOImpl implements CertificateDAO {
|
|||||||
certificateResponse.setTenantId(resultSet.getInt("TENANT_ID"));
|
certificateResponse.setTenantId(resultSet.getInt("TENANT_ID"));
|
||||||
certificateResponse.setUsername(resultSet.getString("USERNAME"));
|
certificateResponse.setUsername(resultSet.getString("USERNAME"));
|
||||||
CertificateGenerator.extractCertificateDetails(certificateBytes, certificateResponse);
|
CertificateGenerator.extractCertificateDetails(certificateBytes, certificateResponse);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String errorMsg =
|
String errorMsg =
|
||||||
|
|||||||
@ -28,7 +28,7 @@ public class BasePaginatedResult {
|
|||||||
private String previous;
|
private String previous;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of Devices returned.
|
* Number of Resources returned.
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "Number of resources returned.")
|
@ApiModelProperty(value = "Number of resources returned.")
|
||||||
@JsonProperty("count")
|
@JsonProperty("count")
|
||||||
|
|||||||
@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
* 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.jaxrs.beans;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class DeviceTypeList {
|
||||||
|
|
||||||
|
private int count;
|
||||||
|
private String next;
|
||||||
|
private String previous;
|
||||||
|
private List<String> deviceTypes = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of Devices Types returned.
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "Number of resources returned.")
|
||||||
|
@JsonProperty("count")
|
||||||
|
public int getCount() {
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCount(int count) {
|
||||||
|
this.count = count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Link to the next subset of resources qualified. \nEmpty if no more resources are to be returned.
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "Link to the next subset of resources qualified. \n " +
|
||||||
|
"Empty if no more resources are to be returned.")
|
||||||
|
@JsonProperty("next")
|
||||||
|
public String getNext() {
|
||||||
|
return next;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNext(String next) {
|
||||||
|
this.next = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Link to the previous subset of resources qualified. \nEmpty if current subset is the first subset returned.
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "Link to the previous subset of resources qualified. \n" +
|
||||||
|
"Empty if current subset is the first subset returned.")
|
||||||
|
@JsonProperty("previous")
|
||||||
|
public String getPrevious() {
|
||||||
|
return previous;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrevious(String previous) {
|
||||||
|
this.previous = previous;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "List of device types returned")
|
||||||
|
@JsonProperty("devicesTypes")
|
||||||
|
public List<String> getList() {
|
||||||
|
return deviceTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setList(List<String> deviceTypes) {
|
||||||
|
this.deviceTypes = deviceTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append("{\n");
|
||||||
|
|
||||||
|
sb.append(" count: ").append(getCount()).append(",\n");
|
||||||
|
sb.append(" next: ").append(getNext()).append(",\n");
|
||||||
|
sb.append(" previous: ").append(getPrevious()).append(",\n");
|
||||||
|
sb.append(" deviceTypes: [").append(deviceTypes).append("\n");
|
||||||
|
sb.append("]}\n");
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -40,7 +40,7 @@ public class Profile {
|
|||||||
private int tenantId;
|
private int tenantId;
|
||||||
@ApiModelProperty(name = "deviceType", value = "Contains the device type details the policy was created "
|
@ApiModelProperty(name = "deviceType", value = "Contains the device type details the policy was created "
|
||||||
+ "for", required = true)
|
+ "for", required = true)
|
||||||
private DeviceType deviceType;
|
private String deviceType;
|
||||||
@ApiModelProperty(name = "createdDate", value = "The date the policy was created", required = true)
|
@ApiModelProperty(name = "createdDate", value = "The date the policy was created", required = true)
|
||||||
private Timestamp createdDate;
|
private Timestamp createdDate;
|
||||||
@ApiModelProperty(name = "updatedDate", value = "The date the changes made to the policy was published to"
|
@ApiModelProperty(name = "updatedDate", value = "The date the changes made to the policy was published to"
|
||||||
@ -50,11 +50,11 @@ public class Profile {
|
|||||||
+ "in the policy", required = true)
|
+ "in the policy", required = true)
|
||||||
private List<ProfileFeature> profileFeaturesList; // Features included in the policies.
|
private List<ProfileFeature> profileFeaturesList; // Features included in the policies.
|
||||||
|
|
||||||
public DeviceType getDeviceType() {
|
public String getDeviceType() {
|
||||||
return deviceType;
|
return deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeviceType(DeviceType deviceType) {
|
public void setDeviceType(String deviceType) {
|
||||||
this.deviceType = deviceType;
|
this.deviceType = deviceType;
|
||||||
}
|
}
|
||||||
@XmlElement
|
@XmlElement
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class ProfileFeature implements Serializable {
|
|||||||
private int profileId;
|
private int profileId;
|
||||||
@ApiModelProperty(name = "deviceTypeId", value = "The ID used to define the type of the device platform",
|
@ApiModelProperty(name = "deviceTypeId", value = "The ID used to define the type of the device platform",
|
||||||
required = true)
|
required = true)
|
||||||
private int deviceTypeId;
|
private String deviceType;
|
||||||
@ApiModelProperty(name = "content", value = "The list of parameters that define the policy",
|
@ApiModelProperty(name = "content", value = "The list of parameters that define the policy",
|
||||||
required = true)
|
required = true)
|
||||||
private Object content;
|
private Object content;
|
||||||
@ -69,12 +69,12 @@ public class ProfileFeature implements Serializable {
|
|||||||
this.profileId = profileId;
|
this.profileId = profileId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDeviceTypeId() {
|
public String getDeviceTypeId() {
|
||||||
return deviceTypeId;
|
return deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeviceTypeId(int deviceTypeId) {
|
public void setDeviceType(String deviceType) {
|
||||||
this.deviceTypeId = deviceTypeId;
|
this.deviceType = deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -125,7 +125,7 @@ public interface NotificationManagementService {
|
|||||||
int limit);
|
int limit);
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("{id}/mark-checked")
|
@Path("/{id}/mark-checked")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "PUT",
|
httpMethod = "PUT",
|
||||||
|
|||||||
@ -0,0 +1,93 @@
|
|||||||
|
/*
|
||||||
|
* 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.jaxrs.service.api.admin;
|
||||||
|
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import org.wso2.carbon.apimgt.annotations.api.API;
|
||||||
|
import org.wso2.carbon.apimgt.annotations.api.Permission;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeList;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||||
|
|
||||||
|
import javax.ws.rs.*;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
|
||||||
|
@API(name = "Device Type Management", version = "1.0.0", context = "/admin/device-types", tags = {"devicemgt_admin"})
|
||||||
|
|
||||||
|
@Path("/admin/device-types")
|
||||||
|
@Api(value = "Device Type Management", description = "This API corresponds to all tasks related to device " +
|
||||||
|
"type management")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
public interface DeviceTypeManagementService {
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@ApiOperation(
|
||||||
|
produces = MediaType.APPLICATION_JSON,
|
||||||
|
httpMethod = "GET",
|
||||||
|
value = "Get the list of device types registered.",
|
||||||
|
notes = "Retrieves the list of device types of which the devices intended to be managed.",
|
||||||
|
tags = "Device Type Management")
|
||||||
|
@ApiResponses(
|
||||||
|
value = {
|
||||||
|
@ApiResponse(
|
||||||
|
code = 200,
|
||||||
|
message = "OK. \n Successfully fetched the list of supported device types.",
|
||||||
|
response = DeviceTypeList.class,
|
||||||
|
responseHeaders = {
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "Content-Type",
|
||||||
|
description = "The content type of the body"),
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "ETag",
|
||||||
|
description = "Entity Tag of the response resource.\n" +
|
||||||
|
"Used by caches, or in conditional requests."),
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "Last-Modified",
|
||||||
|
description = "Date and time the resource has been modified the last time.\n" +
|
||||||
|
"Used by caches, or in conditional requests."),
|
||||||
|
}
|
||||||
|
),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 304,
|
||||||
|
message = "Not Modified. \n Empty body because the client has already the latest version of " +
|
||||||
|
"the requested resource."),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 406,
|
||||||
|
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 500,
|
||||||
|
message = "Internal Server Error. \n Server error occurred while fetching the " +
|
||||||
|
"list of supported device types.",
|
||||||
|
response = ErrorResponse.class)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@Permission(
|
||||||
|
scope = "read:device-types",
|
||||||
|
permissions = {"/permission/admin/device-mgt/admin/device-types/view"}
|
||||||
|
)
|
||||||
|
Response getDeviceTypes(
|
||||||
|
@ApiParam(
|
||||||
|
name = "If-Modified-Since",
|
||||||
|
value = "Validates if the requested variant has not been modified since the time specified",
|
||||||
|
required = false)
|
||||||
|
@HeaderParam("If-Modified-Since")
|
||||||
|
String ifModifiedSince);
|
||||||
|
|
||||||
|
}
|
||||||
@ -76,7 +76,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("{id}/mark-checked")
|
@Path("/{id}/mark-checked")
|
||||||
public Response updateNotificationStatus(
|
public Response updateNotificationStatus(
|
||||||
@PathParam("id") int id) {
|
@PathParam("id") int id) {
|
||||||
String msg;
|
String msg;
|
||||||
|
|||||||
@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* 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.jaxrs.service.impl.admin;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeList;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceTypeManagementService;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||||
|
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.HeaderParam;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Path("/admin/device-types")
|
||||||
|
public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementService {
|
||||||
|
|
||||||
|
private static Log log = LogFactory.getLog(DeviceTypeManagementServiceImpl.class);
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Override
|
||||||
|
public Response getDeviceTypes(@HeaderParam("If-Modified-Since") String ifModifiedSince) {
|
||||||
|
List<String> deviceTypes;
|
||||||
|
try {
|
||||||
|
deviceTypes = DeviceMgtAPIUtils.getDeviceManagementService().getAvailableDeviceTypes();
|
||||||
|
|
||||||
|
DeviceTypeList deviceTypeList = new DeviceTypeList();
|
||||||
|
deviceTypeList.setCount(deviceTypes.size());
|
||||||
|
deviceTypeList.setList(deviceTypes);
|
||||||
|
return Response.status(Response.Status.OK).entity(deviceTypeList).build();
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while fetching the list of device types.";
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.serverError().entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -52,7 +52,7 @@ public class DeviceMgtUtil {
|
|||||||
new org.wso2.carbon.policy.mgt.common.ProfileFeature();
|
new org.wso2.carbon.policy.mgt.common.ProfileFeature();
|
||||||
profileFeature.setProfileId(mdmProfileFeature.getProfileId());
|
profileFeature.setProfileId(mdmProfileFeature.getProfileId());
|
||||||
profileFeature.setContent(mdmProfileFeature.getPayLoad());
|
profileFeature.setContent(mdmProfileFeature.getPayLoad());
|
||||||
profileFeature.setDeviceTypeId(mdmProfileFeature.getDeviceTypeId());
|
profileFeature.setDeviceType(mdmProfileFeature.getDeviceTypeId());
|
||||||
profileFeature.setFeatureCode(mdmProfileFeature.getFeatureCode());
|
profileFeature.setFeatureCode(mdmProfileFeature.getFeatureCode());
|
||||||
profileFeature.setId(mdmProfileFeature.getId());
|
profileFeature.setId(mdmProfileFeature.getId());
|
||||||
return profileFeature;
|
return profileFeature;
|
||||||
|
|||||||
@ -981,4 +981,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
<!-- End of Dashboard related APIs -->
|
<!-- End of Dashboard related APIs -->
|
||||||
|
|
||||||
|
<!-- Permissions of Device Type Management related resources -->
|
||||||
|
<Permission>
|
||||||
|
<name>Get device types registered in the system</name>
|
||||||
|
<path>/device-mgt/admin/device-types</path>
|
||||||
|
<url>/admin/device-types</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
<!-- End of permissions of Device Type Management related resources -->
|
||||||
</PermissionConfiguration>
|
</PermissionConfiguration>
|
||||||
|
|||||||
@ -38,6 +38,7 @@
|
|||||||
<!--<ref bean="groupManagementService"/>-->
|
<!--<ref bean="groupManagementService"/>-->
|
||||||
<ref bean="groupManagementAdminService"/>
|
<ref bean="groupManagementAdminService"/>
|
||||||
<ref bean="applicationManagementAdminService"/>
|
<ref bean="applicationManagementAdminService"/>
|
||||||
|
<ref bean="deviceTypeManagementAdminService"/>
|
||||||
<ref bean="dashboardServiceBean"/>
|
<ref bean="dashboardServiceBean"/>
|
||||||
<ref bean="swaggerResource"/>
|
<ref bean="swaggerResource"/>
|
||||||
</jaxrs:serviceBeans>
|
</jaxrs:serviceBeans>
|
||||||
@ -77,6 +78,7 @@
|
|||||||
<bean id="groupManagementAdminService" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.admin.GroupManagementAdminServiceImpl"/>
|
<bean id="groupManagementAdminService" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.admin.GroupManagementAdminServiceImpl"/>
|
||||||
<bean id="userManagementAdminService" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.admin.UserManagementAdminServiceImpl"/>
|
<bean id="userManagementAdminService" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.admin.UserManagementAdminServiceImpl"/>
|
||||||
<bean id="dashboardServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.DashboardImpl"/>
|
<bean id="dashboardServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.DashboardImpl"/>
|
||||||
|
<bean id="deviceTypeManagementAdminService" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.admin.DeviceTypeManagementServiceImpl"/>
|
||||||
<bean id="jsonProvider" class="org.wso2.carbon.device.mgt.jaxrs.common.GsonMessageBodyHandler"/>
|
<bean id="jsonProvider" class="org.wso2.carbon.device.mgt.jaxrs.common.GsonMessageBodyHandler"/>
|
||||||
<!--<bean id="errorHandler" class="org.wso2.carbon.device.mgt.jaxrs.common.ErrorHandler"/>-->
|
<!--<bean id="errorHandler" class="org.wso2.carbon.device.mgt.jaxrs.common.ErrorHandler"/>-->
|
||||||
|
|
||||||
|
|||||||
@ -51,17 +51,17 @@ public interface DeviceTypeDAO {
|
|||||||
List<DeviceType> getDeviceTypes(int tenantId) throws DeviceManagementDAOException;
|
List<DeviceType> getDeviceTypes(int tenantId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param tenandId of the device type provider.
|
* @param tenantId of the device type provider.
|
||||||
* @return return only the device types that are associated with the provider tenant.
|
* @return return only the device types that are associated with the provider tenant.
|
||||||
* @throws DeviceManagementDAOException
|
* @throws DeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
List<DeviceType> getDeviceTypesByProvider(int tenandId) throws DeviceManagementDAOException;
|
List<String> getDeviceTypesByProvider(int tenantId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return sharedWithAllDeviceTypes This returns public shared device types.
|
* @return sharedWithAllDeviceTypes This returns public shared device types.
|
||||||
* @throws DeviceManagementDAOException
|
* @throws DeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
List<DeviceType> getSharedDeviceTypes() throws DeviceManagementDAOException;
|
List<String> getSharedDeviceTypes() throws DeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param id retrieve the device type with its id.
|
* @param id retrieve the device type with its id.
|
||||||
|
|||||||
@ -89,24 +89,21 @@ public class DeviceTypeDAOImpl implements DeviceTypeDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceType> getDeviceTypesByProvider(int tenantId) throws DeviceManagementDAOException {
|
public List<String> getDeviceTypesByProvider(int tenantId) throws DeviceManagementDAOException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
List<DeviceType> deviceTypes = new ArrayList<>();
|
List<String> deviceTypes = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String sql =
|
String sql =
|
||||||
"SELECT ID AS DEVICE_TYPE_ID, NAME AS DEVICE_TYPE FROM DM_DEVICE_TYPE where PROVIDER_TENANT_ID =?";
|
"SELECT NAME AS DEVICE_TYPE FROM DM_DEVICE_TYPE where PROVIDER_TENANT_ID =?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setInt(1, tenantId);
|
stmt.setInt(1, tenantId);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
DeviceType deviceType = new DeviceType();
|
deviceTypes.add(rs.getString("DEVICE_TYPE"));
|
||||||
deviceType.setId(rs.getInt("DEVICE_TYPE_ID"));
|
|
||||||
deviceType.setName(rs.getString("DEVICE_TYPE"));
|
|
||||||
deviceTypes.add(deviceType);
|
|
||||||
}
|
}
|
||||||
return deviceTypes;
|
return deviceTypes;
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -117,25 +114,22 @@ public class DeviceTypeDAOImpl implements DeviceTypeDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceType> getSharedDeviceTypes() throws DeviceManagementDAOException {
|
public List<String> getSharedDeviceTypes() throws DeviceManagementDAOException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
List<DeviceType> deviceTypes = new ArrayList<>();
|
List<String> deviceTypes = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String sql =
|
String sql =
|
||||||
"SELECT ID AS DEVICE_TYPE_ID, NAME AS DEVICE_TYPE FROM DM_DEVICE_TYPE where " +
|
"SELECT NAME AS DEVICE_TYPE FROM DM_DEVICE_TYPE where " +
|
||||||
"SHARED_WITH_ALL_TENANTS = ?";
|
"SHARED_WITH_ALL_TENANTS = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setBoolean(1, true);
|
stmt.setBoolean(1, true);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
DeviceType deviceType = new DeviceType();
|
deviceTypes.add(rs.getString("DEVICE_TYPE"));
|
||||||
deviceType.setId(rs.getInt("DEVICE_TYPE_ID"));
|
|
||||||
deviceType.setName(rs.getString("DEVICE_TYPE"));
|
|
||||||
deviceTypes.add(deviceType);
|
|
||||||
}
|
}
|
||||||
return deviceTypes;
|
return deviceTypes;
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
|
|||||||
@ -207,7 +207,7 @@ public interface DeviceManagementProviderService {
|
|||||||
|
|
||||||
Device getDevice(DeviceIdentifier deviceId, EnrolmentInfo.Status status) throws DeviceManagementException;
|
Device getDevice(DeviceIdentifier deviceId, EnrolmentInfo.Status status) throws DeviceManagementException;
|
||||||
|
|
||||||
List<DeviceType> getAvailableDeviceTypes() throws DeviceManagementException;
|
List<String> getAvailableDeviceTypes() throws DeviceManagementException;
|
||||||
|
|
||||||
boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException;
|
boolean updateDeviceInfo(DeviceIdentifier deviceIdentifier, Device device) throws DeviceManagementException;
|
||||||
|
|
||||||
|
|||||||
@ -857,10 +857,10 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceType> getAvailableDeviceTypes() throws DeviceManagementException {
|
public List<String> getAvailableDeviceTypes() throws DeviceManagementException {
|
||||||
List<DeviceType> deviceTypesProvidedByTenant;
|
List<String> deviceTypesProvidedByTenant;
|
||||||
List<DeviceType> publicSharedDeviceTypesInDB;
|
List<String> publicSharedDeviceTypesInDB;
|
||||||
List<DeviceType> deviceTypesResponse = new ArrayList<>();
|
List<String> deviceTypesResponse = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
int tenantId = this.getTenantId();
|
int tenantId = this.getTenantId();
|
||||||
@ -872,21 +872,20 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
|
|
||||||
if (registeredTypes != null) {
|
if (registeredTypes != null) {
|
||||||
if (deviceTypesProvidedByTenant != null) {
|
if (deviceTypesProvidedByTenant != null) {
|
||||||
for (DeviceType deviceType : deviceTypesProvidedByTenant) {
|
for (String deviceType : deviceTypesProvidedByTenant) {
|
||||||
DeviceTypeIdentifier providerKey = new DeviceTypeIdentifier(deviceType.getName(), tenantId);
|
DeviceTypeIdentifier providerKey = new DeviceTypeIdentifier(deviceType, tenantId);
|
||||||
if (registeredTypes.get(providerKey) != null) {
|
if (registeredTypes.get(providerKey) != null) {
|
||||||
deviceTypesResponse.add(deviceType);
|
deviceTypesResponse.add(deviceType);
|
||||||
deviceTypeSetForTenant.add(deviceType.getName());
|
deviceTypeSetForTenant.add(deviceType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Get the device from the public space, however if there is another device with same name then give
|
// Get the device from the public space, however if there is another device with same name then give
|
||||||
// priority to that
|
// priority to that
|
||||||
if (publicSharedDeviceTypesInDB != null) {
|
if (publicSharedDeviceTypesInDB != null) {
|
||||||
for (DeviceType deviceType : publicSharedDeviceTypesInDB) {
|
for (String deviceType : publicSharedDeviceTypesInDB) {
|
||||||
DeviceTypeIdentifier providerKey = new DeviceTypeIdentifier(deviceType.getName());
|
DeviceTypeIdentifier providerKey = new DeviceTypeIdentifier(deviceType);
|
||||||
if (registeredTypes.get(providerKey) != null && !deviceTypeSetForTenant.contains(
|
if (registeredTypes.get(providerKey) != null && !deviceTypeSetForTenant.contains(deviceType)) {
|
||||||
deviceType.getName())) {
|
|
||||||
deviceTypesResponse.add(deviceType);
|
deviceTypesResponse.add(deviceType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ public class PolicyFilterImpl implements PolicyFilter {
|
|||||||
@Override
|
@Override
|
||||||
public List<Policy> extractPoliciesRelatedToRoles(List<Policy> policyList, List<String> roles) {
|
public List<Policy> extractPoliciesRelatedToRoles(List<Policy> policyList, List<String> roles) {
|
||||||
|
|
||||||
List<Policy> policies = new ArrayList<Policy>();
|
List<Policy> policies = new ArrayList<>();
|
||||||
|
|
||||||
for (Policy policy : policyList) {
|
for (Policy policy : policyList) {
|
||||||
List<String> roleList = policy.getRoles();
|
List<String> roleList = policy.getRoles();
|
||||||
@ -60,10 +60,10 @@ public class PolicyFilterImpl implements PolicyFilter {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Policy> extractPoliciesRelatedToDeviceType(List<Policy> policyList, String deviceType) {
|
public List<Policy> extractPoliciesRelatedToDeviceType(List<Policy> policyList, String deviceType) {
|
||||||
List<Policy> policies = new ArrayList<Policy>();
|
List<Policy> policies = new ArrayList<>();
|
||||||
|
|
||||||
for (Policy policy : policyList) {
|
for (Policy policy : policyList) {
|
||||||
if (policy.getProfile().getDeviceType().getName().equalsIgnoreCase(deviceType)) {
|
if (policy.getProfile().getDeviceType().equalsIgnoreCase(deviceType)) {
|
||||||
policies.add(policy);
|
policies.add(policy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,17 +33,17 @@ public class Profile implements Serializable {
|
|||||||
private int profileId;
|
private int profileId;
|
||||||
private String profileName;
|
private String profileName;
|
||||||
private int tenantId;
|
private int tenantId;
|
||||||
private DeviceType deviceType;
|
private String deviceType;
|
||||||
private Timestamp createdDate;
|
private Timestamp createdDate;
|
||||||
private Timestamp updatedDate;
|
private Timestamp updatedDate;
|
||||||
// private List<Feature> featuresList; // Features included in the policies.
|
// private List<Feature> featuresList; // Features included in the policies.
|
||||||
private List<ProfileFeature> profileFeaturesList; // Features included in the policies.
|
private List<ProfileFeature> profileFeaturesList; // Features included in the policies.
|
||||||
|
|
||||||
public DeviceType getDeviceType() {
|
public String getDeviceType() {
|
||||||
return deviceType;
|
return deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeviceType(DeviceType deviceType) {
|
public void setDeviceType(String deviceType) {
|
||||||
this.deviceType = deviceType;
|
this.deviceType = deviceType;
|
||||||
}
|
}
|
||||||
@XmlElement
|
@XmlElement
|
||||||
|
|||||||
@ -38,7 +38,7 @@ public class ProfileFeature implements Serializable {
|
|||||||
private int profileId;
|
private int profileId;
|
||||||
@ApiModelProperty(name = "deviceTypeId", value = "The ID used to define the type of the device platform",
|
@ApiModelProperty(name = "deviceTypeId", value = "The ID used to define the type of the device platform",
|
||||||
required = true)
|
required = true)
|
||||||
private int deviceTypeId;
|
private String deviceType;
|
||||||
@ApiModelProperty(name = "content", value = "The list of parameters that define the policy",
|
@ApiModelProperty(name = "content", value = "The list of parameters that define the policy",
|
||||||
required = true)
|
required = true)
|
||||||
private Object content;
|
private Object content;
|
||||||
@ -67,12 +67,12 @@ public class ProfileFeature implements Serializable {
|
|||||||
this.profileId = profileId;
|
this.profileId = profileId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDeviceTypeId() {
|
public String getDeviceType() {
|
||||||
return deviceTypeId;
|
return deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeviceTypeId(int deviceTypeId) {
|
public void setDeviceType(String deviceType) {
|
||||||
this.deviceTypeId = deviceTypeId;
|
this.deviceType = deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getContent() {
|
public Object getContent() {
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public interface PolicyDAO {
|
|||||||
|
|
||||||
Policy addPolicy(Policy policy) throws PolicyManagerDAOException;
|
Policy addPolicy(Policy policy) throws PolicyManagerDAOException;
|
||||||
|
|
||||||
Policy addPolicy(String deviceType, Policy policy) throws PolicyManagerDAOException;
|
// Policy addPolicyToDeviceType(String deviceType, Policy policy) throws PolicyManagerDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is used to add/update the roles associated with the policy.
|
* This method is used to add/update the roles associated with the policy.
|
||||||
|
|||||||
@ -85,6 +85,6 @@ public interface ProfileDAO {
|
|||||||
* @return retruns list of profiles.
|
* @return retruns list of profiles.
|
||||||
* @throws ProfileManagerDAOException
|
* @throws ProfileManagerDAOException
|
||||||
*/
|
*/
|
||||||
List<Profile> getProfilesOfDeviceType(DeviceType deviceType) throws ProfileManagerDAOException;
|
List<Profile> getProfilesOfDeviceType(String deviceType) throws ProfileManagerDAOException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -66,14 +66,14 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "INSERT INTO DM_PROFILE_FEATURES (PROFILE_ID, FEATURE_CODE, DEVICE_TYPE_ID, CONTENT, " +
|
String query = "INSERT INTO DM_PROFILE_FEATURES (PROFILE_ID, FEATURE_CODE, DEVICE_TYPE, CONTENT, " +
|
||||||
"TENANT_ID) VALUES (?, ?, ?, ?, ?)";
|
"TENANT_ID) VALUES (?, ?, ?, ?, ?)";
|
||||||
stmt = conn.prepareStatement(query, new String[] {"id"});
|
stmt = conn.prepareStatement(query, new String[] {"id"});
|
||||||
|
|
||||||
for (ProfileFeature feature : features) {
|
for (ProfileFeature feature : features) {
|
||||||
stmt.setInt(1, profileId);
|
stmt.setInt(1, profileId);
|
||||||
stmt.setString(2, feature.getFeatureCode());
|
stmt.setString(2, feature.getFeatureCode());
|
||||||
stmt.setInt(3, feature.getDeviceTypeId());
|
stmt.setString(3, feature.getDeviceType());
|
||||||
// if (conn.getMetaData().getDriverName().contains("H2")) {
|
// if (conn.getMetaData().getDriverName().contains("H2")) {
|
||||||
// stmt.setBytes(4, PolicyManagerUtil.getBytes(feature.getContent()));
|
// stmt.setBytes(4, PolicyManagerUtil.getBytes(feature.getContent()));
|
||||||
// } else {
|
// } else {
|
||||||
@ -145,10 +145,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setInt(1, profile.getProfileId());
|
stmt.setInt(1, profile.getProfileId());
|
||||||
stmt.setInt(2, tenantId);
|
stmt.setInt(2, tenantId);
|
||||||
if (stmt.executeUpdate() > 0) {
|
return stmt.executeUpdate() > 0;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new FeatureManagerDAOException("Error occurred while deleting the feature related to a profile.", e);
|
throw new FeatureManagerDAOException("Error occurred while deleting the feature related to a profile.", e);
|
||||||
} finally {
|
} finally {
|
||||||
@ -211,7 +208,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "SELECT ID, PROFILE_ID, FEATURE_CODE, DEVICE_TYPE_ID, CONTENT FROM DM_PROFILE_FEATURES " +
|
String query = "SELECT ID, PROFILE_ID, FEATURE_CODE, DEVICE_TYPE, CONTENT FROM DM_PROFILE_FEATURES " +
|
||||||
"WHERE TENANT_ID = ?";
|
"WHERE TENANT_ID = ?";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setInt(1, tenantId);
|
stmt.setInt(1, tenantId);
|
||||||
@ -221,7 +218,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
|
|
||||||
ProfileFeature profileFeature = new ProfileFeature();
|
ProfileFeature profileFeature = new ProfileFeature();
|
||||||
profileFeature.setFeatureCode(resultSet.getString("FEATURE_CODE"));
|
profileFeature.setFeatureCode(resultSet.getString("FEATURE_CODE"));
|
||||||
profileFeature.setDeviceTypeId(resultSet.getInt("DEVICE_TYPE_ID"));
|
profileFeature.setDeviceType(resultSet.getString("DEVICE_TYPE"));
|
||||||
profileFeature.setId(resultSet.getInt("ID"));
|
profileFeature.setId(resultSet.getInt("ID"));
|
||||||
profileFeature.setProfileId(resultSet.getInt("PROFILE_ID"));
|
profileFeature.setProfileId(resultSet.getInt("PROFILE_ID"));
|
||||||
|
|
||||||
@ -272,9 +269,9 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
List<Feature> featureList = new ArrayList<Feature>();
|
List<Feature> featureList = new ArrayList<Feature>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "SELECT f.ID ID, f.NAME NAME, f.CODE CODE, f.DEVICE_TYPE_ID DEVICE_TYPE_ID," +
|
String query = "SELECT f.ID ID, f.NAME NAME, f.CODE CODE, f.DEVICE_TYPE DEVICE_TYPE," +
|
||||||
" f.EVALUATION_RULE EVALUATION_RULE FROM DM_FEATURES f INNER JOIN DM_DEVICE_TYPE d " +
|
" f.EVALUATION_RULE EVALUATION_RULE FROM DM_FEATURES f INNER JOIN DM_DEVICE_TYPE d " +
|
||||||
"ON d.ID=f.DEVICE_TYPE_ID WHERE d.NAME = ?";
|
"ON d.ID=f.DEVICE_TYPE WHERE d.NAME = ?";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setString(1, deviceType);
|
stmt.setString(1, deviceType);
|
||||||
resultSet = stmt.executeQuery();
|
resultSet = stmt.executeQuery();
|
||||||
@ -306,7 +303,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "SELECT ID, FEATURE_CODE, DEVICE_TYPE_ID, CONTENT FROM DM_PROFILE_FEATURES " +
|
String query = "SELECT ID, FEATURE_CODE, DEVICE_TYPE, CONTENT FROM DM_PROFILE_FEATURES " +
|
||||||
"WHERE PROFILE_ID = ? AND TENANT_ID = ?";
|
"WHERE PROFILE_ID = ? AND TENANT_ID = ?";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setInt(1, profileId);
|
stmt.setInt(1, profileId);
|
||||||
@ -317,7 +314,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
ProfileFeature profileFeature = new ProfileFeature();
|
ProfileFeature profileFeature = new ProfileFeature();
|
||||||
profileFeature.setId(resultSet.getInt("ID"));
|
profileFeature.setId(resultSet.getInt("ID"));
|
||||||
profileFeature.setFeatureCode(resultSet.getString("FEATURE_CODE"));
|
profileFeature.setFeatureCode(resultSet.getString("FEATURE_CODE"));
|
||||||
profileFeature.setDeviceTypeId(resultSet.getInt("DEVICE_TYPE_ID"));
|
profileFeature.setDeviceType(resultSet.getString("DEVICE_TYPE"));
|
||||||
|
|
||||||
ByteArrayInputStream bais = null;
|
ByteArrayInputStream bais = null;
|
||||||
ObjectInputStream ois = null;
|
ObjectInputStream ois = null;
|
||||||
|
|||||||
@ -48,25 +48,25 @@ public class PolicyDAOImpl implements PolicyDAO {
|
|||||||
return persistPolicy(policy);
|
return persistPolicy(policy);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// @Override
|
||||||
public Policy addPolicy(String deviceType, Policy policy) throws PolicyManagerDAOException {
|
// public Policy addPolicyToDeviceType(String deviceType, Policy policy) throws PolicyManagerDAOException {
|
||||||
Connection conn;
|
// Connection conn;
|
||||||
PreparedStatement stmt = null;
|
// PreparedStatement stmt = null;
|
||||||
try {
|
// try {
|
||||||
conn = this.getConnection();
|
// conn = this.getConnection();
|
||||||
String query = "INSERT INTO DM_DEVICE_TYPE_POLICY (DEVICE_TYPE_ID, POLICY_ID) VALUES (?, ?)";
|
// String query = "INSERT INTO DM_DEVICE_TYPE_POLICY (DEVICE_TYPE_ID, POLICY_ID) VALUES (?, ?)";
|
||||||
stmt = conn.prepareStatement(query);
|
// stmt = conn.prepareStatement(query);
|
||||||
stmt.setInt(1, getDeviceTypeId(deviceType));
|
// stmt.setInt(1, getDeviceTypeId(deviceType));
|
||||||
stmt.setInt(2, policy.getId());
|
// stmt.setInt(2, policy.getId());
|
||||||
stmt.executeQuery();
|
// stmt.executeQuery();
|
||||||
} catch (SQLException e) {
|
// } catch (SQLException e) {
|
||||||
throw new PolicyManagerDAOException("Error occurred while adding the device type policy to database.", e);
|
// throw new PolicyManagerDAOException("Error occurred while adding the device type policy to database.", e);
|
||||||
} finally {
|
// } finally {
|
||||||
PolicyManagementDAOUtil.cleanupResources(stmt, null);
|
// PolicyManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
}
|
// }
|
||||||
return policy;
|
// return policy;
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Policy addPolicyToRole(List<String> rolesToAdd, Policy policy) throws PolicyManagerDAOException {
|
public Policy addPolicyToRole(List<String> rolesToAdd, Policy policy) throws PolicyManagerDAOException {
|
||||||
@ -831,10 +831,10 @@ public class PolicyDAOImpl implements PolicyDAO {
|
|||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "INSERT INTO DM_POLICY_CHANGE_MGT (POLICY_ID, DEVICE_TYPE_ID, TENANT_ID) VALUES (?, ?, ?)";
|
String query = "INSERT INTO DM_POLICY_CHANGE_MGT (POLICY_ID, DEVICE_TYPE, TENANT_ID) VALUES (?, ?, ?)";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setInt(1, policy.getId());
|
stmt.setInt(1, policy.getId());
|
||||||
stmt.setInt(2, policy.getProfile().getDeviceType().getId());
|
stmt.setString(2, policy.getProfile().getDeviceType());
|
||||||
stmt.setInt(3, tenantId);
|
stmt.setInt(3, tenantId);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
|
|
||||||
@ -855,11 +855,11 @@ public class PolicyDAOImpl implements PolicyDAO {
|
|||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "INSERT INTO DM_POLICY_CHANGE_MGT (POLICY_ID, DEVICE_TYPE_ID, TENANT_ID) VALUES (?, ?, ?)";
|
String query = "INSERT INTO DM_POLICY_CHANGE_MGT (POLICY_ID, DEVICE_TYPE, TENANT_ID) VALUES (?, ?, ?)";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
for (Policy policy : policies) {
|
for (Policy policy : policies) {
|
||||||
stmt.setInt(1, policy.getId());
|
stmt.setInt(1, policy.getId());
|
||||||
stmt.setInt(2, policy.getProfile().getDeviceType().getId());
|
stmt.setString(2, policy.getProfile().getDeviceType());
|
||||||
stmt.setInt(3, tenantId);
|
stmt.setInt(3, tenantId);
|
||||||
stmt.addBatch();
|
stmt.addBatch();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,12 +50,12 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "INSERT INTO DM_PROFILE " +
|
String query = "INSERT INTO DM_PROFILE " +
|
||||||
"(PROFILE_NAME,TENANT_ID, DEVICE_TYPE_ID, CREATED_TIME, UPDATED_TIME) VALUES (?, ?, ?, ?, ?)";
|
"(PROFILE_NAME, TENANT_ID, DEVICE_TYPE, CREATED_TIME, UPDATED_TIME) VALUES (?, ?, ?, ?, ?)";
|
||||||
stmt = conn.prepareStatement(query, new String[] {"id"});
|
stmt = conn.prepareStatement(query, new String[] {"id"});
|
||||||
|
|
||||||
stmt.setString(1, profile.getProfileName());
|
stmt.setString(1, profile.getProfileName());
|
||||||
stmt.setInt(2, tenantId);
|
stmt.setInt(2, tenantId);
|
||||||
stmt.setLong(3, profile.getDeviceType().getId());
|
stmt.setString(3, profile.getDeviceType());
|
||||||
stmt.setTimestamp(4, profile.getCreatedDate());
|
stmt.setTimestamp(4, profile.getCreatedDate());
|
||||||
stmt.setTimestamp(5, profile.getUpdatedDate());
|
stmt.setTimestamp(5, profile.getUpdatedDate());
|
||||||
|
|
||||||
@ -95,11 +95,11 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "UPDATE DM_PROFILE SET PROFILE_NAME = ? , DEVICE_TYPE_ID = ? , UPDATED_TIME = ? " +
|
String query = "UPDATE DM_PROFILE SET PROFILE_NAME = ? , DEVICE_TYPE = ? , UPDATED_TIME = ? " +
|
||||||
"WHERE ID = ? AND TENANT_ID = ?";
|
"WHERE ID = ? AND TENANT_ID = ?";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setString(1, profile.getProfileName());
|
stmt.setString(1, profile.getProfileName());
|
||||||
stmt.setLong(2, profile.getDeviceType().getId());
|
stmt.setString(2, profile.getDeviceType());
|
||||||
stmt.setTimestamp(3, profile.getUpdatedDate());
|
stmt.setTimestamp(3, profile.getUpdatedDate());
|
||||||
stmt.setInt(4, profile.getProfileId());
|
stmt.setInt(4, profile.getProfileId());
|
||||||
stmt.setInt(5, tenantId);
|
stmt.setInt(5, tenantId);
|
||||||
@ -183,8 +183,6 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet resultSet = null;
|
ResultSet resultSet = null;
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "SELECT * FROM DM_PROFILE WHERE ID = ?";
|
String query = "SELECT * FROM DM_PROFILE WHERE ID = ?";
|
||||||
@ -194,11 +192,10 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
|
|
||||||
deviceType.setId(resultSet.getInt("DEVICE_TYPE_ID"));
|
|
||||||
profile.setProfileId(profileId);
|
profile.setProfileId(profileId);
|
||||||
profile.setProfileName(resultSet.getString("PROFILE_NAME"));
|
profile.setProfileName(resultSet.getString("PROFILE_NAME"));
|
||||||
profile.setTenantId(resultSet.getInt("TENANT_ID"));
|
profile.setTenantId(resultSet.getInt("TENANT_ID"));
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType(resultSet.getString("DEVICE_TYPE"));
|
||||||
profile.setCreatedDate(resultSet.getTimestamp("CREATED_TIME"));
|
profile.setCreatedDate(resultSet.getTimestamp("CREATED_TIME"));
|
||||||
profile.setUpdatedDate(resultSet.getTimestamp("UPDATED_TIME"));
|
profile.setUpdatedDate(resultSet.getTimestamp("UPDATED_TIME"));
|
||||||
}
|
}
|
||||||
@ -236,11 +233,7 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
profile.setTenantId(resultSet.getInt("TENANT_ID"));
|
profile.setTenantId(resultSet.getInt("TENANT_ID"));
|
||||||
profile.setCreatedDate(resultSet.getTimestamp("CREATED_TIME"));
|
profile.setCreatedDate(resultSet.getTimestamp("CREATED_TIME"));
|
||||||
profile.setUpdatedDate(resultSet.getTimestamp("UPDATED_TIME"));
|
profile.setUpdatedDate(resultSet.getTimestamp("UPDATED_TIME"));
|
||||||
|
profile.setDeviceType(resultSet.getString("DEVICE_TYPE"));
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
deviceType.setId(resultSet.getInt("DEVICE_TYPE_ID"));
|
|
||||||
|
|
||||||
profile.setDeviceType(deviceType);
|
|
||||||
|
|
||||||
profileList.add(profile);
|
profileList.add(profile);
|
||||||
}
|
}
|
||||||
@ -256,16 +249,16 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Profile> getProfilesOfDeviceType(DeviceType deviceType) throws ProfileManagerDAOException {
|
public List<Profile> getProfilesOfDeviceType(String deviceType) throws ProfileManagerDAOException {
|
||||||
Connection conn;
|
Connection conn;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet resultSet = null;
|
ResultSet resultSet = null;
|
||||||
List<Profile> profileList = new ArrayList<>();
|
List<Profile> profileList = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String query = "SELECT * FROM DM_PROFILE WHERE DEVICE_TYPE_ID = ?";
|
String query = "SELECT * FROM DM_PROFILE WHERE DEVICE_TYPE = ?";
|
||||||
stmt = conn.prepareStatement(query);
|
stmt = conn.prepareStatement(query);
|
||||||
stmt.setInt(1, deviceType.getId());
|
stmt.setString(1, deviceType);
|
||||||
resultSet = stmt.executeQuery();
|
resultSet = stmt.executeQuery();
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
@ -273,7 +266,7 @@ public class ProfileDAOImpl implements ProfileDAO {
|
|||||||
profile.setProfileId(resultSet.getInt("ID"));
|
profile.setProfileId(resultSet.getInt("ID"));
|
||||||
profile.setProfileName(resultSet.getString("PROFILE_NAME"));
|
profile.setProfileName(resultSet.getString("PROFILE_NAME"));
|
||||||
profile.setTenantId(resultSet.getInt("TENANT_ID"));
|
profile.setTenantId(resultSet.getInt("TENANT_ID"));
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType(resultSet.getString("DEVICE_TYPE"));
|
||||||
profile.setCreatedDate(resultSet.getTimestamp("CREATED_TIME"));
|
profile.setCreatedDate(resultSet.getTimestamp("CREATED_TIME"));
|
||||||
profile.setUpdatedDate(resultSet.getTimestamp("UPDATED_TIME"));
|
profile.setUpdatedDate(resultSet.getTimestamp("UPDATED_TIME"));
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ public class DelegationTask implements Task {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
PolicyManager policyManager = new PolicyManagerImpl();
|
PolicyManager policyManager = new PolicyManagerImpl();
|
||||||
List<DeviceType> deviceTypes = policyManager.applyChangesMadeToPolicies();
|
List<String> deviceTypes = policyManager.applyChangesMadeToPolicies();
|
||||||
|
|
||||||
PolicyCacheManagerImpl.getInstance().rePopulateCache();
|
PolicyCacheManagerImpl.getInstance().rePopulateCache();
|
||||||
|
|
||||||
@ -65,9 +65,9 @@ public class DelegationTask implements Task {
|
|||||||
DeviceManagementProviderService service = PolicyManagementDataHolder.getInstance()
|
DeviceManagementProviderService service = PolicyManagementDataHolder.getInstance()
|
||||||
.getDeviceManagementService();
|
.getDeviceManagementService();
|
||||||
List<Device> devices = new ArrayList<>();
|
List<Device> devices = new ArrayList<>();
|
||||||
for (DeviceType deviceType : deviceTypes) {
|
for (String deviceType : deviceTypes) {
|
||||||
try {
|
try {
|
||||||
devices.addAll(service.getAllDevices(deviceType.getName()));
|
devices.addAll(service.getAllDevices(deviceType));
|
||||||
} catch (DeviceManagementException e) {
|
} catch (DeviceManagementException e) {
|
||||||
throw new PolicyManagementException("Error occurred while taking the devices", e);
|
throw new PolicyManagementException("Error occurred while taking the devices", e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -179,7 +179,7 @@ public class PolicyFilterImpl implements PolicyFilter {
|
|||||||
|
|
||||||
List<Policy> temp = new ArrayList<Policy>();
|
List<Policy> temp = new ArrayList<Policy>();
|
||||||
for (Policy policy : policies) {
|
for (Policy policy : policies) {
|
||||||
if (deviceType.equalsIgnoreCase(policy.getProfile().getDeviceType().getName())) {
|
if (deviceType.equalsIgnoreCase(policy.getProfile().getDeviceType())) {
|
||||||
temp.add(policy);
|
temp.add(policy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,7 +68,7 @@ public interface PolicyManager {
|
|||||||
void addAppliedPolicyFeaturesToDevice(DeviceIdentifier deviceIdentifier, Policy policy)
|
void addAppliedPolicyFeaturesToDevice(DeviceIdentifier deviceIdentifier, Policy policy)
|
||||||
throws PolicyManagementException;
|
throws PolicyManagementException;
|
||||||
|
|
||||||
List<DeviceType> applyChangesMadeToPolicies() throws PolicyManagementException;
|
List<String> applyChangesMadeToPolicies() throws PolicyManagementException;
|
||||||
|
|
||||||
void addAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier, Policy policy) throws PolicyManagementException;
|
void addAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier, Policy policy) throws PolicyManagementException;
|
||||||
|
|
||||||
|
|||||||
@ -681,7 +681,7 @@ public class PolicyManagerImpl implements PolicyManager {
|
|||||||
List<Policy> allPolicies = PolicyCacheManagerImpl.getInstance().getAllPolicies();
|
List<Policy> allPolicies = PolicyCacheManagerImpl.getInstance().getAllPolicies();
|
||||||
|
|
||||||
for (Policy policy : allPolicies) {
|
for (Policy policy : allPolicies) {
|
||||||
if (policy.getProfile().getDeviceType().getName().equalsIgnoreCase(deviceTypeName)) {
|
if (policy.getProfile().getDeviceType().equalsIgnoreCase(deviceTypeName)) {
|
||||||
policies.add(policy);
|
policies.add(policy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -843,9 +843,9 @@ public class PolicyManagerImpl implements PolicyManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceType> applyChangesMadeToPolicies() throws PolicyManagementException {
|
public List<String> applyChangesMadeToPolicies() throws PolicyManagementException {
|
||||||
|
|
||||||
List<DeviceType> changedDeviceTypes = new ArrayList<>();
|
List<String> changedDeviceTypes = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
//HashMap<Integer, Integer> map = policyDAO.getUpdatedPolicyIdandDeviceTypeId();
|
//HashMap<Integer, Integer> map = policyDAO.getUpdatedPolicyIdandDeviceTypeId();
|
||||||
List<Policy> updatedPolicies = new ArrayList<>();
|
List<Policy> updatedPolicies = new ArrayList<>();
|
||||||
|
|||||||
@ -144,8 +144,6 @@ public class ProfileManagerImpl implements ProfileManager {
|
|||||||
public Profile getProfile(int profileId) throws ProfileManagementException {
|
public Profile getProfile(int profileId) throws ProfileManagementException {
|
||||||
Profile profile;
|
Profile profile;
|
||||||
List<ProfileFeature> featureList;
|
List<ProfileFeature> featureList;
|
||||||
DeviceType deviceType = null;
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PolicyManagementDAOFactory.openConnection();
|
PolicyManagementDAOFactory.openConnection();
|
||||||
profile = profileDAO.getProfile(profileId);
|
profile = profileDAO.getProfile(profileId);
|
||||||
@ -161,41 +159,12 @@ public class ProfileManagerImpl implements ProfileManager {
|
|||||||
} finally {
|
} finally {
|
||||||
PolicyManagementDAOFactory.closeConnection();
|
PolicyManagementDAOFactory.closeConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
|
||||||
DeviceManagementDAOFactory.openConnection();
|
|
||||||
deviceType = deviceTypeDAO.getDeviceType(profile.getDeviceType().getId());
|
|
||||||
} catch (DeviceManagementDAOException e) {
|
|
||||||
throw new ProfileManagementException("Error occurred while getting features related profile id (" +
|
|
||||||
profileId + ")", e);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
throw new ProfileManagementException("SQL exception occurred while getting features related profile id (" +
|
|
||||||
profileId + ")", e);
|
|
||||||
} finally {
|
|
||||||
DeviceManagementDAOFactory.closeConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
profile.setDeviceType(deviceType);
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Profile> getAllProfiles() throws ProfileManagementException {
|
public List<Profile> getAllProfiles() throws ProfileManagementException {
|
||||||
List<Profile> profileList;
|
List<Profile> profileList;
|
||||||
List<DeviceType> deviceTypes;
|
|
||||||
|
|
||||||
try {
|
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
|
||||||
DeviceManagementDAOFactory.openConnection();
|
|
||||||
deviceTypes = deviceTypeDAO.getDeviceTypes(tenantId);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
throw new ProfileManagementException("Error occurred while opening a connection to the data source", e);
|
|
||||||
} catch (DeviceManagementDAOException e) {
|
|
||||||
throw new ProfileManagementException("Error occurred while retrieving device type information", e);
|
|
||||||
} finally {
|
|
||||||
DeviceManagementDAOFactory.closeConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PolicyManagementDAOFactory.openConnection();
|
PolicyManagementDAOFactory.openConnection();
|
||||||
profileList = profileDAO.getAllProfiles();
|
profileList = profileDAO.getAllProfiles();
|
||||||
@ -210,12 +179,6 @@ public class ProfileManagerImpl implements ProfileManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
profile.setProfileFeaturesList(list);
|
profile.setProfileFeaturesList(list);
|
||||||
|
|
||||||
for (DeviceType deviceType : deviceTypes) {
|
|
||||||
if (profile.getDeviceType().getId() == deviceType.getId()) {
|
|
||||||
profile.setDeviceType(deviceType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (ProfileManagerDAOException e) {
|
} catch (ProfileManagerDAOException e) {
|
||||||
throw new ProfileManagementException("Error occurred while getting profiles", e);
|
throw new ProfileManagementException("Error occurred while getting profiles", e);
|
||||||
@ -225,29 +188,14 @@ public class ProfileManagerImpl implements ProfileManager {
|
|||||||
throw new ProfileManagementException("Error occurred while opening a connection to the data source", e);
|
throw new ProfileManagementException("Error occurred while opening a connection to the data source", e);
|
||||||
} finally {
|
} finally {
|
||||||
PolicyManagementDAOFactory.closeConnection();
|
PolicyManagementDAOFactory.closeConnection();
|
||||||
// DeviceManagementDAOFactory.closeConnection();
|
|
||||||
}
|
}
|
||||||
return profileList;
|
return profileList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Profile> getProfilesOfDeviceType(String deviceTypeName) throws ProfileManagementException {
|
public List<Profile> getProfilesOfDeviceType(String deviceType) throws ProfileManagementException {
|
||||||
List<Profile> profileList;
|
List<Profile> profileList;
|
||||||
List<ProfileFeature> featureList;
|
List<ProfileFeature> featureList;
|
||||||
DeviceType deviceType;
|
|
||||||
|
|
||||||
try {
|
|
||||||
DeviceManagementDAOFactory.openConnection();
|
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
|
||||||
deviceType = deviceTypeDAO.getDeviceType(deviceTypeName, tenantId);
|
|
||||||
} catch (DeviceManagementDAOException e) {
|
|
||||||
throw new ProfileManagementException("Error occurred while retrieving device type information", e);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
throw new ProfileManagementException("Error occurred while opening a connection to the data source", e);
|
|
||||||
} finally {
|
|
||||||
DeviceManagementDAOFactory.closeConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PolicyManagementDAOFactory.openConnection();
|
PolicyManagementDAOFactory.openConnection();
|
||||||
|
|
||||||
|
|||||||
@ -59,13 +59,25 @@ public class MonitoringTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMonitorDao() throws PolicyManagementException, DeviceManagementException {
|
public void testMonitorDao() {
|
||||||
|
|
||||||
DeviceManagementProviderService service = new DeviceManagementProviderServiceImpl();
|
DeviceManagementProviderService service = new DeviceManagementProviderServiceImpl();
|
||||||
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
||||||
|
|
||||||
List<Policy> policies = policyManagerService.getPolicies(ANDROID);
|
List<Policy> policies = null;
|
||||||
List<Device> devices = service.getAllDevices(ANDROID);
|
List<Device> devices = null;
|
||||||
|
try {
|
||||||
|
policies = policyManagerService.getPolicies(ANDROID);
|
||||||
|
devices = service.getAllDevices(ANDROID);
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving the list of policies defined against the device type '" +
|
||||||
|
ANDROID + "'", e);
|
||||||
|
Assert.fail();
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving the list of devices pertaining to the type '" +
|
||||||
|
ANDROID + "'", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
for (Policy policy : policies) {
|
for (Policy policy : policies) {
|
||||||
log.debug("Policy Name : " + policy.getPolicyName());
|
log.debug("Policy Name : " + policy.getPolicyName());
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.policy.mgt.core;
|
package org.wso2.carbon.policy.mgt.core;
|
||||||
|
|
||||||
|
import junit.framework.Assert;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.testng.annotations.BeforeClass;
|
import org.testng.annotations.BeforeClass;
|
||||||
@ -63,10 +64,11 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
deviceTypeDAO.addDeviceType(DeviceTypeCreator.getDeviceType(), -1234, true);
|
deviceTypeDAO.addDeviceType(DeviceTypeCreator.getDeviceType(), -1234, true);
|
||||||
} catch (DeviceManagementDAOException e) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
DeviceManagementDAOFactory.rollbackTransaction();
|
DeviceManagementDAOFactory.rollbackTransaction();
|
||||||
throw new DeviceManagementDAOException("Error occurred while adding dummy device type", e);
|
log.error("Error occurred while adding dummy device type", e);
|
||||||
|
Assert.fail();
|
||||||
} catch (TransactionManagementException e) {
|
} catch (TransactionManagementException e) {
|
||||||
throw new DeviceManagementDAOException("Error occurred while initiating a transaction to add dummy " +
|
log.error("Error occurred while initiating a transaction to add dummy device type", e);
|
||||||
"device type", e);
|
Assert.fail();
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOFactory.closeConnection();
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
}
|
}
|
||||||
@ -94,10 +96,12 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
enrollmentDAO.addEnrollment(id, device.getEnrolmentInfo(), -1234);
|
enrollmentDAO.addEnrollment(id, device.getEnrolmentInfo(), -1234);
|
||||||
}
|
}
|
||||||
} catch (TransactionManagementException e) {
|
} catch (TransactionManagementException e) {
|
||||||
throw new PolicyManagementException("Error occurred while adding device enrolment", e);
|
log.error("Error occurred while adding device enrolment", e);
|
||||||
|
Assert.fail();
|
||||||
} catch (DeviceManagementDAOException e) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
DeviceManagementDAOFactory.rollbackTransaction();
|
DeviceManagementDAOFactory.rollbackTransaction();
|
||||||
throw new PolicyManagementException("Error occurred while adding device information", e);
|
log.error("Error occurred while adding device information", e);
|
||||||
|
Assert.fail();
|
||||||
} finally {
|
} finally {
|
||||||
DeviceManagementDAOFactory.closeConnection();
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
}
|
}
|
||||||
@ -107,7 +111,9 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
|
|
||||||
PolicyManagementDataHolder.getInstance().setDeviceManagementService(service);
|
PolicyManagementDataHolder.getInstance().setDeviceManagementService(service);
|
||||||
|
|
||||||
log.debug("Printing device taken by calling the service layer with device type.");
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Printing device taken by calling the service layer with device type.");
|
||||||
|
}
|
||||||
List<Device> devices3 = service.getAllDevices("android");
|
List<Device> devices3 = service.getAllDevices("android");
|
||||||
|
|
||||||
log.debug("Device list size ...! " + devices3.size());
|
log.debug("Device list size ...! " + devices3.size());
|
||||||
@ -141,14 +147,19 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("addProfileFeatures"))
|
@Test(dependsOnMethods = ("addProfileFeatures"))
|
||||||
public void addPolicy() throws PolicyManagementException, ProfileManagementException {
|
public void addPolicy() {
|
||||||
// ProfileManager profileManager = new ProfileManagerImpl();
|
// ProfileManager profileManager = new ProfileManagerImpl();
|
||||||
Profile profile = ProfileCreator.getProfile5(FeatureCreator.getFeatureList5());
|
try {
|
||||||
|
Profile profile = ProfileCreator.getProfile5(FeatureCreator.getFeatureList5());
|
||||||
// profileManager.addProfile(profile);
|
// profileManager.addProfile(profile);
|
||||||
PolicyAdministratorPoint pap = new PolicyAdministratorPointImpl();
|
PolicyAdministratorPoint pap = new PolicyAdministratorPointImpl();
|
||||||
policy = PolicyCreator.createPolicy(profile);
|
policy = PolicyCreator.createPolicy(profile);
|
||||||
policy = pap.addPolicy(policy);
|
policy = pap.addPolicy(policy);
|
||||||
pap.activatePolicy(policy.getId());
|
pap.activatePolicy(policy.getId());
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while adding the policy", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("addPolicy"))
|
@Test(dependsOnMethods = ("addPolicy"))
|
||||||
@ -205,9 +216,15 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("addNewPolicy"))
|
@Test(dependsOnMethods = ("addNewPolicy"))
|
||||||
public void getPolicies() throws PolicyManagementException {
|
public void getPolicies() {
|
||||||
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
||||||
List<Policy> policyList = policyAdministratorPoint.getPolicies();
|
List<Policy> policyList = null;
|
||||||
|
try {
|
||||||
|
policyList = policyAdministratorPoint.getPolicies();
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving all the policies registered in the system", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("----------All policies---------");
|
log.debug("----------All policies---------");
|
||||||
|
|
||||||
@ -228,10 +245,16 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("getPolicies"))
|
@Test(dependsOnMethods = ("getPolicies"))
|
||||||
public void getDeviceTypeRelatedPolicy() throws PolicyManagementException {
|
public void getDeviceTypeRelatedPolicy() {
|
||||||
|
|
||||||
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
||||||
List<Policy> policyList = policyAdministratorPoint.getPoliciesOfDeviceType("android");
|
List<Policy> policyList = null;
|
||||||
|
try {
|
||||||
|
policyList = policyAdministratorPoint.getPoliciesOfDeviceType("android");
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving the list of policies configured upon the platform 'android'", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("----------Device type related policy---------");
|
log.debug("----------Device type related policy---------");
|
||||||
|
|
||||||
@ -253,10 +276,17 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
|
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("getDeviceTypeRelatedPolicy"))
|
@Test(dependsOnMethods = ("getDeviceTypeRelatedPolicy"))
|
||||||
public void getUserRelatedPolicy() throws PolicyManagementException {
|
public void getUserRelatedPolicy() {
|
||||||
|
String targetUser = "Dilshan";
|
||||||
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
||||||
List<Policy> policyList = policyAdministratorPoint.getPoliciesOfUser("Dilshan");
|
List<Policy> policyList = null;
|
||||||
|
try {
|
||||||
|
policyList = policyAdministratorPoint.getPoliciesOfUser(targetUser);
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving the list of policies assigned to the user '" +
|
||||||
|
targetUser + "'", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("----------User related policy---------");
|
log.debug("----------User related policy---------");
|
||||||
|
|
||||||
@ -277,10 +307,17 @@ public class PolicyDAOTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = ("getDeviceTypeRelatedPolicy"))
|
@Test(dependsOnMethods = ("getDeviceTypeRelatedPolicy"))
|
||||||
public void getRoleRelatedPolicy() throws PolicyManagementException {
|
public void getRoleRelatedPolicy() {
|
||||||
|
String targetRole = "Test_ROLE_01";
|
||||||
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
PolicyAdministratorPoint policyAdministratorPoint = new PolicyAdministratorPointImpl();
|
||||||
List<Policy> policyList = policyAdministratorPoint.getPoliciesOfRole("Test_ROLE_01");
|
List<Policy> policyList = null;
|
||||||
|
try {
|
||||||
|
policyList = policyAdministratorPoint.getPoliciesOfRole(targetRole);
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving the list of policies defined against the role '" +
|
||||||
|
targetRole + "'", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
log.debug("----------Roles related policy---------");
|
log.debug("----------Roles related policy---------");
|
||||||
|
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.policy.mgt.core;
|
package org.wso2.carbon.policy.mgt.core;
|
||||||
|
|
||||||
|
import junit.framework.Assert;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.testng.annotations.BeforeClass;
|
import org.testng.annotations.BeforeClass;
|
||||||
@ -54,18 +55,37 @@ public class PolicyEvaluationTestCase extends BasePolicyManagementDAOTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void activatePolicies() throws PolicyManagementException, TaskException {
|
public void activatePolicies() {
|
||||||
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
PolicyManagerService policyManagerService = new PolicyManagerServiceImpl();
|
||||||
PolicyAdministratorPoint administratorPoint = policyManagerService.getPAP();
|
PolicyAdministratorPoint administratorPoint = null;
|
||||||
|
try {
|
||||||
|
administratorPoint = policyManagerService.getPAP();
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while loading the policy administration point", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
List<Policy> policies = policyManagerService.getPolicies(ANDROID);
|
List<Policy> policies = null;
|
||||||
|
try {
|
||||||
|
policies = policyManagerService.getPolicies(ANDROID);
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while retrieving the list of policies defined against the device type '" +
|
||||||
|
ANDROID + "'", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
|
|
||||||
for (Policy policy : policies) {
|
for (Policy policy : policies) {
|
||||||
log.debug("Policy status : " + policy.getPolicyName() + " - " + policy.isActive() + " - " + policy
|
log.debug("Policy status : " + policy.getPolicyName() + " - " + policy.isActive() + " - " + policy
|
||||||
.isUpdated() + " Policy id : " + policy.getId());
|
.isUpdated() + " Policy id : " + policy.getId());
|
||||||
|
|
||||||
if (!policy.isActive()) {
|
if (!policy.isActive()) {
|
||||||
administratorPoint.activatePolicy(policy.getId());
|
try {
|
||||||
|
administratorPoint.activatePolicy(policy.getId());
|
||||||
|
} catch (PolicyManagementException e) {
|
||||||
|
log.error("Error occurred while activating the policy, which carries the id '" +
|
||||||
|
policy.getId() + "'", e);
|
||||||
|
Assert.fail();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// This cannot be called due to task service cannot be started from the
|
// This cannot be called due to task service cannot be started from the
|
||||||
|
|||||||
@ -29,60 +29,40 @@ public class ProfileCreator {
|
|||||||
|
|
||||||
public static Profile getProfile(List<Feature> features) {
|
public static Profile getProfile(List<Feature> features) {
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
|
|
||||||
deviceType.setId(1);
|
|
||||||
deviceType.setName("android");
|
|
||||||
|
|
||||||
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
||||||
profile.setProfileName("Test Profile");
|
profile.setProfileName("Test Profile");
|
||||||
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType("android");
|
||||||
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Profile getProfile2(List<Feature> features) {
|
public static Profile getProfile2(List<Feature> features) {
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
|
|
||||||
deviceType.setId(1);
|
|
||||||
deviceType.setName("android");
|
|
||||||
|
|
||||||
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
||||||
profile.setProfileName("Test Profile 2");
|
profile.setProfileName("Test Profile 2");
|
||||||
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType("android");
|
||||||
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Profile getProfile3(List<Feature> features) {
|
public static Profile getProfile3(List<Feature> features) {
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
|
|
||||||
deviceType.setId(1);
|
|
||||||
deviceType.setName("android");
|
|
||||||
|
|
||||||
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
||||||
profile.setProfileName("Test Profile 3");
|
profile.setProfileName("Test Profile 3");
|
||||||
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType("android");
|
||||||
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Profile getProfile4(List<Feature> features) {
|
public static Profile getProfile4(List<Feature> features) {
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
|
|
||||||
deviceType.setId(1);
|
|
||||||
deviceType.setName("android");
|
|
||||||
|
|
||||||
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
||||||
profile.setProfileName("Test Profile 4");
|
profile.setProfileName("Test Profile 4");
|
||||||
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType("android");
|
||||||
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
@ -90,15 +70,10 @@ public class ProfileCreator {
|
|||||||
|
|
||||||
public static Profile getProfile5(List<Feature> features) {
|
public static Profile getProfile5(List<Feature> features) {
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
DeviceType deviceType = new DeviceType();
|
|
||||||
|
|
||||||
deviceType.setId(1);
|
|
||||||
deviceType.setName("android");
|
|
||||||
|
|
||||||
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
profile.setProfileFeaturesList(ProfileFeatureCreator.getProfileFeature(features));
|
||||||
profile.setProfileName("Test Profile 5");
|
profile.setProfileName("Test Profile 5");
|
||||||
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
profile.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
|
||||||
profile.setDeviceType(deviceType);
|
profile.setDeviceType("android");
|
||||||
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,9 @@ public class ProfileFeatureCreator {
|
|||||||
} else {
|
} else {
|
||||||
profileFeature.setContent(getJSON2());
|
profileFeature.setContent(getJSON2());
|
||||||
}
|
}
|
||||||
profileFeature.setDeviceTypeId(1);
|
//TODO why assigning a random number below?
|
||||||
|
//profileFeature.setDeviceTypeId(1);
|
||||||
|
profileFeature.setDeviceType("android");
|
||||||
profileFeature.setFeatureCode(feature.getCode());
|
profileFeature.setFeatureCode(feature.getCode());
|
||||||
|
|
||||||
// profileFeature.setContent("mm");
|
// profileFeature.setContent("mm");
|
||||||
|
|||||||
@ -141,13 +141,13 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE (
|
|||||||
ID INT NOT NULL AUTO_INCREMENT ,
|
ID INT NOT NULL AUTO_INCREMENT ,
|
||||||
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
||||||
TENANT_ID INT NOT NULL ,
|
TENANT_ID INT NOT NULL ,
|
||||||
DEVICE_TYPE_ID INT NOT NULL ,
|
DEVICE_TYPE VARCHAR(20) NOT NULL ,
|
||||||
CREATED_TIME DATETIME NOT NULL ,
|
CREATED_TIME DATETIME NOT NULL ,
|
||||||
UPDATED_TIME DATETIME NOT NULL ,
|
UPDATED_TIME DATETIME NOT NULL ,
|
||||||
PRIMARY KEY (ID) ,
|
PRIMARY KEY (ID) ,
|
||||||
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
||||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
FOREIGN KEY (DEVICE_TYPE )
|
||||||
REFERENCES DM_DEVICE_TYPE (ID )
|
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||||
ON DELETE NO ACTION
|
ON DELETE NO ACTION
|
||||||
ON UPDATE NO ACTION
|
ON UPDATE NO ACTION
|
||||||
);
|
);
|
||||||
@ -202,7 +202,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY (
|
|||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||||
ID INT(11) NOT NULL ,
|
ID INT(11) NOT NULL ,
|
||||||
DEVICE_TYPE_ID INT(11) NOT NULL ,
|
DEVICE_TYPE VARCHAR(20) NOT NULL ,
|
||||||
POLICY_ID INT(11) NOT NULL ,
|
POLICY_ID INT(11) NOT NULL ,
|
||||||
PRIMARY KEY (ID) ,
|
PRIMARY KEY (ID) ,
|
||||||
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
||||||
@ -211,8 +211,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
|||||||
ON DELETE NO ACTION
|
ON DELETE NO ACTION
|
||||||
ON UPDATE NO ACTION,
|
ON UPDATE NO ACTION,
|
||||||
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
||||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
FOREIGN KEY (DEVICE_TYPE )
|
||||||
REFERENCES DM_DEVICE_TYPE (ID )
|
REFERENCES DM_DEVICE_TYPE (NAME)
|
||||||
ON DELETE NO ACTION
|
ON DELETE NO ACTION
|
||||||
ON UPDATE NO ACTION
|
ON UPDATE NO ACTION
|
||||||
);
|
);
|
||||||
@ -225,7 +225,7 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
|
|||||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
PROFILE_ID INT(11) NOT NULL,
|
PROFILE_ID INT(11) NOT NULL,
|
||||||
FEATURE_CODE VARCHAR(100) NOT NULL,
|
FEATURE_CODE VARCHAR(100) NOT NULL,
|
||||||
DEVICE_TYPE_ID INT NOT NULL,
|
DEVICE_TYPE VARCHAR(20) NOT NULL,
|
||||||
TENANT_ID INT(11) NOT NULL ,
|
TENANT_ID INT(11) NOT NULL ,
|
||||||
CONTENT BLOB NULL DEFAULT NULL,
|
CONTENT BLOB NULL DEFAULT NULL,
|
||||||
PRIMARY KEY (ID),
|
PRIMARY KEY (ID),
|
||||||
@ -346,7 +346,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS (
|
|||||||
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
||||||
ID INT NOT NULL AUTO_INCREMENT,
|
ID INT NOT NULL AUTO_INCREMENT,
|
||||||
POLICY_ID INT NOT NULL,
|
POLICY_ID INT NOT NULL,
|
||||||
DEVICE_TYPE_ID INT NOT NULL,
|
DEVICE_TYPE VARCHAR(20) NOT NULL,
|
||||||
TENANT_ID INT(11) NOT NULL,
|
TENANT_ID INT(11) NOT NULL,
|
||||||
PRIMARY KEY (ID)
|
PRIMARY KEY (ID)
|
||||||
);
|
);
|
||||||
|
|||||||
@ -141,13 +141,13 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE (
|
|||||||
ID INT NOT NULL AUTO_INCREMENT ,
|
ID INT NOT NULL AUTO_INCREMENT ,
|
||||||
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
||||||
TENANT_ID INT NOT NULL ,
|
TENANT_ID INT NOT NULL ,
|
||||||
DEVICE_TYPE_ID INT NOT NULL ,
|
DEVICE_TYPE VARCHAR(20) NOT NULL ,
|
||||||
CREATED_TIME DATETIME NOT NULL ,
|
CREATED_TIME DATETIME NOT NULL ,
|
||||||
UPDATED_TIME DATETIME NOT NULL ,
|
UPDATED_TIME DATETIME NOT NULL ,
|
||||||
PRIMARY KEY (ID) ,
|
PRIMARY KEY (ID) ,
|
||||||
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
||||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
FOREIGN KEY (DEVICE_TYPE )
|
||||||
REFERENCES DM_DEVICE_TYPE (ID )
|
REFERENCES DM_DEVICE_TYPE (NAME)
|
||||||
ON DELETE NO ACTION
|
ON DELETE NO ACTION
|
||||||
ON UPDATE NO ACTION
|
ON UPDATE NO ACTION
|
||||||
);
|
);
|
||||||
@ -202,7 +202,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY (
|
|||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||||
ID INT(11) NOT NULL ,
|
ID INT(11) NOT NULL ,
|
||||||
DEVICE_TYPE_ID INT(11) NOT NULL ,
|
DEVICE_TYPE VARCHAR(20) NOT NULL ,
|
||||||
POLICY_ID INT(11) NOT NULL ,
|
POLICY_ID INT(11) NOT NULL ,
|
||||||
PRIMARY KEY (ID) ,
|
PRIMARY KEY (ID) ,
|
||||||
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
||||||
@ -211,8 +211,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
|||||||
ON DELETE NO ACTION
|
ON DELETE NO ACTION
|
||||||
ON UPDATE NO ACTION,
|
ON UPDATE NO ACTION,
|
||||||
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
||||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
FOREIGN KEY (DEVICE_TYPE )
|
||||||
REFERENCES DM_DEVICE_TYPE (ID )
|
REFERENCES DM_DEVICE_TYPE (NAME)
|
||||||
ON DELETE NO ACTION
|
ON DELETE NO ACTION
|
||||||
ON UPDATE NO ACTION
|
ON UPDATE NO ACTION
|
||||||
);
|
);
|
||||||
@ -225,7 +225,7 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
|
|||||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
PROFILE_ID INT(11) NOT NULL,
|
PROFILE_ID INT(11) NOT NULL,
|
||||||
FEATURE_CODE VARCHAR(100) NOT NULL,
|
FEATURE_CODE VARCHAR(100) NOT NULL,
|
||||||
DEVICE_TYPE_ID INT NOT NULL,
|
DEVICE_TYPE VARCHAR(20) NOT NULL,
|
||||||
TENANT_ID INT(11) NOT NULL ,
|
TENANT_ID INT(11) NOT NULL ,
|
||||||
CONTENT BLOB NULL DEFAULT NULL,
|
CONTENT BLOB NULL DEFAULT NULL,
|
||||||
PRIMARY KEY (ID),
|
PRIMARY KEY (ID),
|
||||||
@ -346,7 +346,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS (
|
|||||||
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
||||||
ID INT NOT NULL AUTO_INCREMENT,
|
ID INT NOT NULL AUTO_INCREMENT,
|
||||||
POLICY_ID INT NOT NULL,
|
POLICY_ID INT NOT NULL,
|
||||||
DEVICE_TYPE_ID INT NOT NULL,
|
DEVICE_TYPE VARCHAR(20) NOT NULL,
|
||||||
TENANT_ID INT(11) NOT NULL,
|
TENANT_ID INT(11) NOT NULL,
|
||||||
PRIMARY KEY (ID)
|
PRIMARY KEY (ID)
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user