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
2a55c50ad1
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,12 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@ -25,12 +25,12 @@ import org.wso2.carbon.certificate.mgt.core.dto.CertificateResponse;
|
|||||||
import org.wso2.carbon.certificate.mgt.core.exception.KeystoreException;
|
import org.wso2.carbon.certificate.mgt.core.exception.KeystoreException;
|
||||||
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
|
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.EnrollmentCertificate;
|
||||||
import org.wso2.carbon.mdm.beans.EnrollmentCertificate;
|
import org.wso2.carbon.device.mgt.jaxrs.exception.Message;
|
||||||
import org.wso2.carbon.mdm.exception.Message;
|
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.DELETE;
|
import javax.ws.rs.DELETE;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
@ -24,9 +24,9 @@ import org.apache.commons.logging.LogFactory;
|
|||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
|
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException;
|
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration;
|
import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.mdm.api.util.MDMAppConstants;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMAppConstants;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.policy.mgt.core.util.PolicyManagerUtil;
|
import org.wso2.carbon.policy.mgt.core.util.PolicyManagerUtil;
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
@ -16,21 +16,24 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.device.mgt.core.service.DeviceManagementAdminService;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
|
||||||
|
|
||||||
|
import javax.ws.rs.DELETE;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.PUT;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.PathParam;
|
import javax.ws.rs.PathParam;
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
@ -231,4 +234,52 @@ public class Device {
|
|||||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update device.
|
||||||
|
*
|
||||||
|
* @return update status.
|
||||||
|
*/
|
||||||
|
@PUT
|
||||||
|
@Path("type/{type}/id/{deviceId}")
|
||||||
|
public Response updateDevice(@PathParam("type") String deviceType, @PathParam("deviceId") String deviceId,
|
||||||
|
org.wso2.carbon.device.mgt.common.Device updatedDevice) {
|
||||||
|
try {
|
||||||
|
DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||||
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||||
|
deviceIdentifier.setType(deviceType);
|
||||||
|
deviceIdentifier.setId(deviceId);
|
||||||
|
org.wso2.carbon.device.mgt.common.Device device = deviceManagementService.getDevice(deviceIdentifier);
|
||||||
|
device.setName(updatedDevice.getName());
|
||||||
|
device.setDescription(updatedDevice.getDescription());
|
||||||
|
Boolean response = deviceManagementService.modifyEnrollment(device);
|
||||||
|
return Response.status(Response.Status.OK).entity(response).build();
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while fetching the list of device types.";
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* disenroll device.
|
||||||
|
*
|
||||||
|
* @return disenrollment status.
|
||||||
|
*/
|
||||||
|
@DELETE
|
||||||
|
@Path("type/{type}/id/{deviceId}")
|
||||||
|
public Response disenrollDevice(@PathParam("type") String deviceType, @PathParam("deviceId") String deviceId) {
|
||||||
|
try {
|
||||||
|
DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||||
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||||
|
deviceIdentifier.setType(deviceType);
|
||||||
|
deviceIdentifier.setId(deviceId);
|
||||||
|
Boolean response = deviceManagementService.disenrollDevice(deviceIdentifier);
|
||||||
|
return Response.status(Response.Status.OK).entity(response).build();
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while fetching the list of device types.";
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@ -26,7 +26,7 @@ import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
|||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation;
|
||||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException;
|
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException;
|
||||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager;
|
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
|
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
@ -16,15 +16,15 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||||
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@ -25,7 +25,7 @@ import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper;
|
|||||||
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.search.mgt.SearchManagerService;
|
import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService;
|
||||||
import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException;
|
import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
|
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
@ -16,13 +16,13 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
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.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
@ -16,11 +16,12 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
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.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||||
@ -29,7 +30,6 @@ import org.wso2.carbon.device.mgt.common.group.mgt.GroupAlreadyEixistException;
|
|||||||
import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException;
|
import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.group.mgt.GroupUser;
|
import org.wso2.carbon.device.mgt.common.group.mgt.GroupUser;
|
||||||
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.DELETE;
|
import javax.ws.rs.DELETE;
|
||||||
@ -97,7 +97,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/{owner}/{groupName}")
|
@Path("/owner/{owner}/name/{groupName}")
|
||||||
@PUT
|
@PUT
|
||||||
@Consumes("application/json")
|
@Consumes("application/json")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
@ -112,7 +112,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/{owner}/{groupName}")
|
@Path("/owner/{owner}/name/{groupName}")
|
||||||
@DELETE
|
@DELETE
|
||||||
public Response deleteGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) {
|
public Response deleteGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) {
|
||||||
try {
|
try {
|
||||||
@ -160,7 +160,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/{owner}/{groupName}")
|
@Path("/owner/{owner}/name/{groupName}")
|
||||||
@GET
|
@GET
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response getGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) {
|
public Response getGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) {
|
||||||
@ -177,14 +177,14 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/search")
|
@Path("/user/{user}/search")
|
||||||
@GET
|
@GET
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response findGroups(@QueryParam("groupName") String groupName,
|
public Response findGroups(@QueryParam("groupName") String groupName,
|
||||||
@QueryParam("userName") String userName) {
|
@PathParam("user") String user) {
|
||||||
try {
|
try {
|
||||||
List<DeviceGroup> groups = DeviceMgtAPIUtils.getGroupManagementProviderService()
|
List<DeviceGroup> groups = DeviceMgtAPIUtils.getGroupManagementProviderService()
|
||||||
.findInGroups(groupName, userName);
|
.findInGroups(groupName, user);
|
||||||
DeviceGroup[] deviceGroups = new DeviceGroup[groups.size()];
|
DeviceGroup[] deviceGroups = new DeviceGroup[groups.size()];
|
||||||
groups.toArray(deviceGroups);
|
groups.toArray(deviceGroups);
|
||||||
return Response.status(Response.Status.OK).entity(deviceGroups).build();
|
return Response.status(Response.Status.OK).entity(deviceGroups).build();
|
||||||
@ -216,6 +216,19 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Path("/count")
|
||||||
|
@GET
|
||||||
|
@Produces("application/json")
|
||||||
|
public Response getAllGroupCount() {
|
||||||
|
try {
|
||||||
|
int count = DeviceMgtAPIUtils.getGroupManagementProviderService().getGroupCount();
|
||||||
|
return Response.status(Response.Status.OK).entity(count).build();
|
||||||
|
} catch (GroupManagementException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Path("/user/{user}/count")
|
@Path("/user/{user}/count")
|
||||||
@GET
|
@GET
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
@ -229,7 +242,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/{owner}/{groupName}/share")
|
@Path("/owner/{owner}/name/{groupName}/share")
|
||||||
@PUT
|
@PUT
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response shareGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner,
|
public Response shareGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner,
|
||||||
@ -250,7 +263,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/{owner}/{groupName}/unshare")
|
@Path("/owner/{owner}/name/{groupName}/unshare")
|
||||||
@PUT
|
@PUT
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response unShareGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner,
|
public Response unShareGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner,
|
||||||
@ -270,7 +283,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Path("/{owner}/{groupName}/share/roles/{roleName}/permissions")
|
@Path("/owner/{owner}/name/{groupName}/share/roles/{roleName}/permissions")
|
||||||
@PUT
|
@PUT
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response addSharing(@QueryParam("shareUser") String shareUser, @PathParam("groupName") String groupName,
|
public Response addSharing(@QueryParam("shareUser") String shareUser, @PathParam("groupName") String groupName,
|
||||||
@ -293,7 +306,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{owner}/{groupName}/share/roles/{roleName}/permissions")
|
@Path("/owner/{owner}/name/{groupName}/share/roles/{roleName}/permissions")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response removeSharing(@QueryParam("userName") String userName, @PathParam("groupName") String groupName,
|
public Response removeSharing(@QueryParam("userName") String userName, @PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner,
|
@PathParam("owner") String owner,
|
||||||
@ -313,7 +326,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{owner}/{groupName}/share/roles")
|
@Path("/owner/{owner}/name/{groupName}/share/roles")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response getRoles(@PathParam("groupName") String groupName,
|
public Response getRoles(@PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner, @QueryParam("userName") String userName) {
|
@PathParam("owner") String owner, @QueryParam("userName") String userName) {
|
||||||
@ -334,7 +347,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{owner}/{groupName}/users")
|
@Path("/owner/{owner}/name/{groupName}/users")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response getUsers(@PathParam("groupName") String groupName,
|
public Response getUsers(@PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner) {
|
@PathParam("owner") String owner) {
|
||||||
@ -351,7 +364,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{owner}/{groupName}/devices/all")
|
@Path("/owner/{owner}/name/{groupName}/devices/all")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response getDevices(@PathParam("groupName") String groupName,
|
public Response getDevices(@PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner) {
|
@PathParam("owner") String owner) {
|
||||||
@ -368,7 +381,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{owner}/{groupName}/devices/count")
|
@Path("/owner/{owner}/name/{groupName}/devices/count")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response getDeviceCount(@PathParam("groupName") String groupName,
|
public Response getDeviceCount(@PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner) {
|
@PathParam("owner") String owner) {
|
||||||
@ -382,7 +395,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/{owner}/{groupName}/devices/{deviceType}/{deviceId}")
|
@Path("/owner/{owner}/name/{groupName}/devices/{deviceType}/{deviceId}")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response addDevice(@PathParam("groupName") String groupName,
|
public Response addDevice(@PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner, @PathParam("deviceId") String deviceId,
|
@PathParam("owner") String owner, @PathParam("deviceId") String deviceId,
|
||||||
@ -404,7 +417,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{owner}/{groupName}/devices/{deviceType}/{deviceId}")
|
@Path("/owner/{owner}/name/{groupName}/devices/{deviceType}/{deviceId}")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response removeDevice(@PathParam("groupName") String groupName,
|
public Response removeDevice(@PathParam("groupName") String groupName,
|
||||||
@PathParam("owner") String owner, @PathParam("deviceId") String deviceId,
|
@PathParam("owner") String owner, @PathParam("deviceId") String deviceId,
|
||||||
@ -425,7 +438,7 @@ public class Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{owner}/{groupName}/users/{userName}/permissions")
|
@Path("/owner/{owner}/name/{groupName}/users/{userName}/permissions")
|
||||||
@Produces("application/json")
|
@Produces("application/json")
|
||||||
public Response getPermissions(@PathParam("userName") String userName,
|
public Response getPermissions(@PathParam("userName") String userName,
|
||||||
@PathParam("groupName") String groupName,
|
@PathParam("groupName") String groupName,
|
||||||
@ -16,14 +16,14 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
|
||||||
|
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.POST;
|
import javax.ws.rs.POST;
|
||||||
@ -16,11 +16,16 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.context.DeviceOperationContext;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMIOSOperationUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ApplicationWrapper;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.MobileApp;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||||
@ -31,14 +36,9 @@ import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
|||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||||
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.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.mdm.api.context.DeviceOperationContext;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMAndroidOperationUtil;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.mdm.api.util.MDMAndroidOperationUtil;
|
|
||||||
import org.wso2.carbon.mdm.api.util.MDMIOSOperationUtil;
|
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
|
||||||
import org.wso2.carbon.mdm.beans.ApplicationWrapper;
|
|
||||||
import org.wso2.carbon.mdm.beans.MobileApp;
|
|
||||||
|
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
@ -16,18 +16,18 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.PriorityUpdatedPolicyWrapper;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtUtil;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
|
||||||
import org.wso2.carbon.mdm.beans.PolicyWrapper;
|
|
||||||
import org.wso2.carbon.mdm.beans.PriorityUpdatedPolicyWrapper;
|
|
||||||
import org.wso2.carbon.mdm.util.MDMUtil;
|
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint;
|
import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException;
|
import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException;
|
||||||
@ -62,7 +62,7 @@ public class Policy {
|
|||||||
policy.setPolicyName(policyWrapper.getPolicyName());
|
policy.setPolicyName(policyWrapper.getPolicyName());
|
||||||
policy.setProfileId(policyWrapper.getProfileId());
|
policy.setProfileId(policyWrapper.getProfileId());
|
||||||
policy.setDescription(policyWrapper.getDescription());
|
policy.setDescription(policyWrapper.getDescription());
|
||||||
policy.setProfile(MDMUtil.convertProfile(policyWrapper.getProfile()));
|
policy.setProfile(DeviceMgtUtil.convertProfile(policyWrapper.getProfile()));
|
||||||
policy.setOwnershipType(policyWrapper.getOwnershipType());
|
policy.setOwnershipType(policyWrapper.getOwnershipType());
|
||||||
policy.setRoles(policyWrapper.getRoles());
|
policy.setRoles(policyWrapper.getRoles());
|
||||||
policy.setUsers(policyWrapper.getUsers());
|
policy.setUsers(policyWrapper.getUsers());
|
||||||
@ -82,7 +82,7 @@ public class Policy {
|
|||||||
policy.setPolicyName(policyWrapper.getPolicyName());
|
policy.setPolicyName(policyWrapper.getPolicyName());
|
||||||
policy.setProfileId(policyWrapper.getProfileId());
|
policy.setProfileId(policyWrapper.getProfileId());
|
||||||
policy.setDescription(policyWrapper.getDescription());
|
policy.setDescription(policyWrapper.getDescription());
|
||||||
policy.setProfile(MDMUtil.convertProfile(policyWrapper.getProfile()));
|
policy.setProfile(DeviceMgtUtil.convertProfile(policyWrapper.getProfile()));
|
||||||
policy.setOwnershipType(policyWrapper.getOwnershipType());
|
policy.setOwnershipType(policyWrapper.getOwnershipType());
|
||||||
policy.setRoles(policyWrapper.getRoles());
|
policy.setRoles(policyWrapper.getRoles());
|
||||||
policy.setUsers(policyWrapper.getUsers());
|
policy.setUsers(policyWrapper.getUsers());
|
||||||
@ -181,7 +181,7 @@ public class Policy {
|
|||||||
policy.setId(policyId);
|
policy.setId(policyId);
|
||||||
policy.setProfileId(policyWrapper.getProfileId());
|
policy.setProfileId(policyWrapper.getProfileId());
|
||||||
policy.setDescription(policyWrapper.getDescription());
|
policy.setDescription(policyWrapper.getDescription());
|
||||||
policy.setProfile(MDMUtil.convertProfile(policyWrapper.getProfile()));
|
policy.setProfile(DeviceMgtUtil.convertProfile(policyWrapper.getProfile()));
|
||||||
policy.setOwnershipType(policyWrapper.getOwnershipType());
|
policy.setOwnershipType(policyWrapper.getOwnershipType());
|
||||||
policy.setRoles(policyWrapper.getRoles());
|
policy.setRoles(policyWrapper.getRoles());
|
||||||
policy.setUsers(policyWrapper.getUsers());
|
policy.setUsers(policyWrapper.getUsers());
|
||||||
@ -16,12 +16,12 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
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.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint;
|
import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint;
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
@ -16,18 +16,18 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.CarbonConstants;
|
import org.wso2.carbon.CarbonConstants;
|
||||||
import org.wso2.carbon.base.MultitenantConstants;
|
import org.wso2.carbon.base.MultitenantConstants;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.mdm.beans.RoleWrapper;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.RoleWrapper;
|
||||||
import org.wso2.carbon.mdm.util.SetReferenceTransformer;
|
import org.wso2.carbon.device.mgt.jaxrs.util.SetReferenceTransformer;
|
||||||
import org.wso2.carbon.user.api.AuthorizationManager;
|
import org.wso2.carbon.user.api.AuthorizationManager;
|
||||||
import org.wso2.carbon.user.api.Permission;
|
import org.wso2.carbon.user.api.Permission;
|
||||||
import org.wso2.carbon.user.api.UserRealm;
|
import org.wso2.carbon.user.api.UserRealm;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api;
|
package org.wso2.carbon.device.mgt.jaxrs.api;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
@ -24,18 +24,18 @@ import org.apache.commons.lang.StringUtils;
|
|||||||
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.wso2.carbon.context.CarbonContext;
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.UserWrapper;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.util.Constants;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
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.EmailMetaInfo;
|
import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.CredentialManagementResponseBuilder;
|
||||||
import org.wso2.carbon.mdm.api.util.CredentialManagementResponseBuilder;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
|
||||||
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
|
||||||
import org.wso2.carbon.mdm.api.util.ResponsePayload;
|
import org.wso2.carbon.device.mgt.jaxrs.util.SetReferenceTransformer;
|
||||||
import org.wso2.carbon.mdm.beans.UserCredentialWrapper;
|
|
||||||
import org.wso2.carbon.mdm.beans.UserWrapper;
|
|
||||||
import org.wso2.carbon.mdm.util.Constants;
|
|
||||||
import org.wso2.carbon.mdm.util.SetReferenceTransformer;
|
|
||||||
import org.wso2.carbon.user.api.UserStoreException;
|
import org.wso2.carbon.user.api.UserStoreException;
|
||||||
import org.wso2.carbon.user.api.UserStoreManager;
|
import org.wso2.carbon.user.api.UserStoreManager;
|
||||||
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,11 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.api.common;
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.api.common;
|
||||||
|
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,11 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.api.common;
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.api.common;
|
||||||
|
|
||||||
|
|
||||||
public class ErrorMessage {
|
public class ErrorMessage {
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,12 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api.common;
|
package org.wso2.carbon.device.mgt.jaxrs.api.common;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom exception class for handling CDM API related exceptions.
|
* Custom exception class for handling CDM API related exceptions.
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,12 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api.context;
|
package org.wso2.carbon.device.mgt.jaxrs.api.context;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||||
@ -16,14 +16,14 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api.util;
|
package org.wso2.carbon.device.mgt.jaxrs.api.util;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
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.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import org.wso2.carbon.mdm.beans.UserCredentialWrapper;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper;
|
||||||
import org.wso2.carbon.user.api.UserStoreException;
|
import org.wso2.carbon.user.api.UserStoreException;
|
||||||
import org.wso2.carbon.user.api.UserStoreManager;
|
import org.wso2.carbon.user.api.UserStoreManager;
|
||||||
|
|
||||||
@ -16,13 +16,14 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api.util;
|
package org.wso2.carbon.device.mgt.jaxrs.api.util;
|
||||||
|
|
||||||
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.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
|
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
|
||||||
import org.wso2.carbon.context.CarbonContext;
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
|
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
|
||||||
@ -34,7 +35,6 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag
|
|||||||
import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService;
|
import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
|
||||||
import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException;
|
import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException;
|
||||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||||
import org.wso2.carbon.policy.mgt.core.task.TaskScheduleService;
|
import org.wso2.carbon.policy.mgt.core.task.TaskScheduleService;
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,17 +11,20 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.api.util;
|
|
||||||
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.api.util;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.MobileApp;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.android.AppStoreApplication;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.android.EnterpriseApplication;
|
||||||
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.core.operation.mgt.ProfileOperation;
|
import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.beans.android.WebApplication;
|
||||||
import org.wso2.carbon.mdm.beans.MobileApp;
|
|
||||||
import org.wso2.carbon.mdm.beans.android.WebApplication;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -45,15 +48,15 @@ public class MDMAndroidOperationUtil {
|
|||||||
|
|
||||||
switch (application.getType()) {
|
switch (application.getType()) {
|
||||||
case ENTERPRISE:
|
case ENTERPRISE:
|
||||||
org.wso2.carbon.mdm.beans.android.EnterpriseApplication enterpriseApplication =
|
EnterpriseApplication enterpriseApplication =
|
||||||
new org.wso2.carbon.mdm.beans.android.EnterpriseApplication();
|
new EnterpriseApplication();
|
||||||
enterpriseApplication.setType(application.getType().toString());
|
enterpriseApplication.setType(application.getType().toString());
|
||||||
enterpriseApplication.setUrl(application.getLocation());
|
enterpriseApplication.setUrl(application.getLocation());
|
||||||
operation.setPayLoad(enterpriseApplication.toJSON());
|
operation.setPayLoad(enterpriseApplication.toJSON());
|
||||||
break;
|
break;
|
||||||
case PUBLIC:
|
case PUBLIC:
|
||||||
org.wso2.carbon.mdm.beans.android.AppStoreApplication appStoreApplication =
|
AppStoreApplication appStoreApplication =
|
||||||
new org.wso2.carbon.mdm.beans.android.AppStoreApplication();
|
new AppStoreApplication();
|
||||||
appStoreApplication.setType(application.getType().toString());
|
appStoreApplication.setType(application.getType().toString());
|
||||||
appStoreApplication.setAppIdentifier(application.getIdentifier());
|
appStoreApplication.setAppIdentifier(application.getIdentifier());
|
||||||
operation.setPayLoad(appStoreApplication.toJSON());
|
operation.setPayLoad(appStoreApplication.toJSON());
|
||||||
@ -86,15 +89,15 @@ public class MDMAndroidOperationUtil {
|
|||||||
|
|
||||||
switch (application.getType()) {
|
switch (application.getType()) {
|
||||||
case ENTERPRISE:
|
case ENTERPRISE:
|
||||||
org.wso2.carbon.mdm.beans.android.EnterpriseApplication enterpriseApplication =
|
EnterpriseApplication enterpriseApplication =
|
||||||
new org.wso2.carbon.mdm.beans.android.EnterpriseApplication();
|
new EnterpriseApplication();
|
||||||
enterpriseApplication.setType(application.getType().toString());
|
enterpriseApplication.setType(application.getType().toString());
|
||||||
enterpriseApplication.setAppIdentifier(application.getAppIdentifier());
|
enterpriseApplication.setAppIdentifier(application.getAppIdentifier());
|
||||||
operation.setPayLoad(enterpriseApplication.toJSON());
|
operation.setPayLoad(enterpriseApplication.toJSON());
|
||||||
break;
|
break;
|
||||||
case PUBLIC:
|
case PUBLIC:
|
||||||
org.wso2.carbon.mdm.beans.android.AppStoreApplication appStoreApplication =
|
AppStoreApplication appStoreApplication =
|
||||||
new org.wso2.carbon.mdm.beans.android.AppStoreApplication();
|
new AppStoreApplication();
|
||||||
appStoreApplication.setType(application.getType().toString());
|
appStoreApplication.setType(application.getType().toString());
|
||||||
appStoreApplication.setAppIdentifier(application.getAppIdentifier());
|
appStoreApplication.setAppIdentifier(application.getAppIdentifier());
|
||||||
operation.setPayLoad(appStoreApplication.toJSON());
|
operation.setPayLoad(appStoreApplication.toJSON());
|
||||||
@ -1,20 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2015, 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
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* 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
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* KIND, either express or implied. See the License for the
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* specific language governing permissions and limitations
|
||||||
* See the License for the specific language governing permissions and
|
* under the License.
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.api.util;
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.api.util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class holds all the constants used for IOS and Android.
|
* This class holds all the constants used for IOS and Android.
|
||||||
@ -1,26 +1,31 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2015, 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
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* 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
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* KIND, either express or implied. See the License for the
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* specific language governing permissions and limitations
|
||||||
* See the License for the specific language governing permissions and
|
* under the License.
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.api.util;
|
|
||||||
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.api.util;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.MobileApp;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ios.AppStoreApplication;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ios.EnterpriseApplication;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ios.RemoveApplication;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ios.WebClip;
|
||||||
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.core.operation.mgt.ProfileOperation;
|
import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
|
||||||
import org.wso2.carbon.mdm.beans.MobileApp;
|
|
||||||
import org.wso2.carbon.mdm.beans.ios.WebClip;
|
|
||||||
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
@ -43,8 +48,8 @@ public class MDMIOSOperationUtil {
|
|||||||
|
|
||||||
switch (application.getType()) {
|
switch (application.getType()) {
|
||||||
case ENTERPRISE:
|
case ENTERPRISE:
|
||||||
org.wso2.carbon.mdm.beans.ios.EnterpriseApplication enterpriseApplication =
|
EnterpriseApplication enterpriseApplication =
|
||||||
new org.wso2.carbon.mdm.beans.ios.EnterpriseApplication();
|
new EnterpriseApplication();
|
||||||
enterpriseApplication.setBundleId(application.getId());
|
enterpriseApplication.setBundleId(application.getId());
|
||||||
enterpriseApplication.setIdentifier(application.getIdentifier());
|
enterpriseApplication.setIdentifier(application.getIdentifier());
|
||||||
enterpriseApplication.setManifestURL(application.getLocation());
|
enterpriseApplication.setManifestURL(application.getLocation());
|
||||||
@ -59,8 +64,8 @@ public class MDMIOSOperationUtil {
|
|||||||
operation.setType(Operation.Type.COMMAND);
|
operation.setType(Operation.Type.COMMAND);
|
||||||
break;
|
break;
|
||||||
case PUBLIC:
|
case PUBLIC:
|
||||||
org.wso2.carbon.mdm.beans.ios.AppStoreApplication appStoreApplication =
|
AppStoreApplication appStoreApplication =
|
||||||
new org.wso2.carbon.mdm.beans.ios.AppStoreApplication();
|
new AppStoreApplication();
|
||||||
appStoreApplication.setRemoveAppUponMDMProfileRemoval((Boolean) application.getProperties().
|
appStoreApplication.setRemoveAppUponMDMProfileRemoval((Boolean) application.getProperties().
|
||||||
get(MDMAppConstants.IOSConstants.IS_REMOVE_APP));
|
get(MDMAppConstants.IOSConstants.IS_REMOVE_APP));
|
||||||
appStoreApplication.setIdentifier(application.getIdentifier());
|
appStoreApplication.setIdentifier(application.getIdentifier());
|
||||||
@ -96,8 +101,8 @@ public class MDMIOSOperationUtil {
|
|||||||
operation.setCode(MDMAppConstants.IOSConstants.OPCODE_REMOVE_APPLICATION);
|
operation.setCode(MDMAppConstants.IOSConstants.OPCODE_REMOVE_APPLICATION);
|
||||||
operation.setType(Operation.Type.PROFILE);
|
operation.setType(Operation.Type.PROFILE);
|
||||||
|
|
||||||
org.wso2.carbon.mdm.beans.ios.RemoveApplication removeApplication =
|
RemoveApplication removeApplication =
|
||||||
new org.wso2.carbon.mdm.beans.ios.RemoveApplication();
|
new RemoveApplication();
|
||||||
removeApplication.setBundleId(application.getIdentifier());
|
removeApplication.setBundleId(application.getIdentifier());
|
||||||
operation.setPayLoad(removeApplication.toJSON());
|
operation.setPayLoad(removeApplication.toJSON());
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.api.util;
|
package org.wso2.carbon.device.mgt.jaxrs.api.util;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
@ -1,23 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2015, 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
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* 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
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* software distributed under the License is distributed on an
|
* KIND, either express or implied. See the License for the
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* specific language governing permissions and limitations
|
||||||
* KIND, either express or implied. See the License for the
|
* under the License.
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
public class EnrollmentCertificate {
|
public class EnrollmentCertificate {
|
||||||
String serial;
|
String serial;
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,14 +11,13 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.beans;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,11 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.beans;
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
public enum MobileAppTypes {
|
public enum MobileAppTypes {
|
||||||
ENTERPRISE,WEBAPP,PUBLIC
|
ENTERPRISE,WEBAPP,PUBLIC
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,12 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,22 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
* in compliance with the License.
|
* in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
public class PriorityUpdatedPolicyWrapper {
|
public class PriorityUpdatedPolicyWrapper {
|
||||||
|
|
||||||
@ -1,22 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
* in compliance with the License.
|
* in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,26 +1,25 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
* in compliance with the License.
|
* in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
|
|
||||||
public class ProfileFeature implements Serializable {
|
public class ProfileFeature implements Serializable {
|
||||||
|
|
||||||
@ -1,24 +1,25 @@
|
|||||||
package org.wso2.carbon.mdm.beans;
|
|
||||||
|
|
||||||
import org.wso2.carbon.user.mgt.common.UIPermissionNode;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
* in compliance with the License.
|
* in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
|
import org.wso2.carbon.user.mgt.common.UIPermissionNode;
|
||||||
|
|
||||||
public class RoleWrapper {
|
public class RoleWrapper {
|
||||||
private String roleName;
|
private String roleName;
|
||||||
private String[] permissions;
|
private String[] permissions;
|
||||||
@ -1,22 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
* in compliance with the License.
|
* in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
public class UserCredentialWrapper {
|
public class UserCredentialWrapper {
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.beans;
|
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||||
|
|
||||||
public class UserWrapper {
|
public class UserWrapper {
|
||||||
|
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* 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.android;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the Appstore Application information.
|
||||||
|
*/
|
||||||
|
public class AppStoreApplication implements Serializable {
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
private String appIdentifier;
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAppIdentifier() {
|
||||||
|
return appIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAppIdentifier(String appIdentifier) {
|
||||||
|
this.appIdentifier = appIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toJSON() throws MDMAPIException {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
return gson.toJson(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* 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.android;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the Enterprise Application information.
|
||||||
|
*/
|
||||||
|
public class EnterpriseApplication implements Serializable {
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
private String url;
|
||||||
|
private String appIdentifier;
|
||||||
|
|
||||||
|
public String getAppIdentifier() {
|
||||||
|
return appIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAppIdentifier(String appIdentifier) {
|
||||||
|
this.appIdentifier = appIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toJSON() throws MDMAPIException {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
return gson.toJson(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* 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.android;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the Web Application information.
|
||||||
|
*/
|
||||||
|
public class WebApplication implements Serializable {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String url;
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toJSON() throws MDMAPIException {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
return gson.toJson(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,15 +11,16 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.beans.ios;
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.beans.ios;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class AppStoreApplication implements Serializable {
|
public class AppStoreApplication implements Serializable {
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,16 +11,16 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.beans.ios;
|
|
||||||
|
package org.wso2.carbon.device.mgt.jaxrs.beans.ios;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class EnterpriseApplication implements Serializable {
|
public class EnterpriseApplication implements Serializable {
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* 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.ios;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class RemoveApplication implements Serializable {
|
||||||
|
|
||||||
|
private String bundleId;
|
||||||
|
|
||||||
|
public String getBundleId() {
|
||||||
|
return bundleId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBundleId(String bundleId) {
|
||||||
|
this.bundleId = bundleId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toJSON() throws MDMAPIException {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
return gson.toJson(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,8 +1,25 @@
|
|||||||
package org.wso2.carbon.mdm.beans.ios;
|
/*
|
||||||
|
* 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.ios;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class WebClip {
|
public class WebClip {
|
||||||
|
|
||||||
@ -1,23 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2015, 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
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
* 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
|
||||||
* Unless required by applicable law or agreed to in writing,
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* software distributed under the License is distributed on an
|
* KIND, either express or implied. See the License for the
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* specific language governing permissions and limitations
|
||||||
* KIND, either express or implied. See the License for the
|
* under the License.
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.mdm.common;
|
package org.wso2.carbon.device.mgt.jaxrs.common;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
*
|
*
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
@ -11,12 +11,12 @@
|
|||||||
* Unless required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.mdm.common;
|
package org.wso2.carbon.device.mgt.jaxrs.common;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.exception;
|
package org.wso2.carbon.device.mgt.jaxrs.exception;
|
||||||
|
|
||||||
import javax.ws.rs.WebApplicationException;
|
import javax.ws.rs.WebApplicationException;
|
||||||
import javax.ws.rs.core.MediaType;
|
import javax.ws.rs.core.MediaType;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.exception;
|
package org.wso2.carbon.device.mgt.jaxrs.exception;
|
||||||
|
|
||||||
public class Message {
|
public class Message {
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.util;
|
package org.wso2.carbon.device.mgt.jaxrs.util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the constants used by Device Management Admin web application.
|
* Holds the constants used by Device Management Admin web application.
|
||||||
@ -15,17 +15,18 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package org.wso2.carbon.mdm.util;
|
|
||||||
|
|
||||||
import org.wso2.carbon.mdm.beans.ProfileFeature;
|
package org.wso2.carbon.device.mgt.jaxrs.util;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.beans.ProfileFeature;
|
||||||
import org.wso2.carbon.policy.mgt.common.Profile;
|
import org.wso2.carbon.policy.mgt.common.Profile;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class MDMUtil {
|
public class DeviceMgtUtil {
|
||||||
|
|
||||||
public static Profile convertProfile(org.wso2.carbon.mdm.beans.Profile mdmProfile) {
|
public static Profile convertProfile(org.wso2.carbon.device.mgt.jaxrs.beans.Profile mdmProfile) {
|
||||||
Profile profile = new Profile();
|
Profile profile = new Profile();
|
||||||
profile.setTenantId(mdmProfile.getTenantId());
|
profile.setTenantId(mdmProfile.getTenantId());
|
||||||
profile.setCreatedDate(mdmProfile.getCreatedDate());
|
profile.setCreatedDate(mdmProfile.getCreatedDate());
|
||||||
@ -16,7 +16,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.wso2.carbon.mdm.util;
|
package org.wso2.carbon.device.mgt.jaxrs.util;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,52 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.wso2.carbon.mdm.beans.android;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class represents the Appstore Application information.
|
|
||||||
*/
|
|
||||||
public class AppStoreApplication implements Serializable {
|
|
||||||
|
|
||||||
private String type;
|
|
||||||
private String appIdentifier;
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(String type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getAppIdentifier() {
|
|
||||||
return appIdentifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAppIdentifier(String appIdentifier) {
|
|
||||||
this.appIdentifier = appIdentifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String toJSON() throws MDMAPIException {
|
|
||||||
Gson gson = new Gson();
|
|
||||||
return gson.toJson(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,61 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.wso2.carbon.mdm.beans.android;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class represents the Enterprise Application information.
|
|
||||||
*/
|
|
||||||
public class EnterpriseApplication implements Serializable {
|
|
||||||
|
|
||||||
private String type;
|
|
||||||
private String url;
|
|
||||||
private String appIdentifier;
|
|
||||||
|
|
||||||
public String getAppIdentifier() {
|
|
||||||
return appIdentifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAppIdentifier(String appIdentifier) {
|
|
||||||
this.appIdentifier = appIdentifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(String type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUrl() {
|
|
||||||
return url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUrl(String url) {
|
|
||||||
this.url = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String toJSON() throws MDMAPIException {
|
|
||||||
Gson gson = new Gson();
|
|
||||||
return gson.toJson(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,61 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.wso2.carbon.mdm.beans.android;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class represents the Web Application information.
|
|
||||||
*/
|
|
||||||
public class WebApplication implements Serializable {
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
private String url;
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUrl() {
|
|
||||||
return url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUrl(String url) {
|
|
||||||
this.url = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(String type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String toJSON() throws MDMAPIException {
|
|
||||||
Gson gson = new Gson();
|
|
||||||
return gson.toJson(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
package org.wso2.carbon.mdm.beans.ios;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import org.wso2.carbon.mdm.api.common.MDMAPIException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
public class RemoveApplication implements Serializable {
|
|
||||||
|
|
||||||
private String bundleId;
|
|
||||||
|
|
||||||
public String getBundleId() {
|
|
||||||
return bundleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBundleId(String bundleId) {
|
|
||||||
this.bundleId = bundleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String toJSON() throws MDMAPIException {
|
|
||||||
Gson gson = new Gson();
|
|
||||||
return gson.toJson(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -59,6 +59,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>User Devices</name>
|
||||||
|
<path>/device-mgt/user/devices</path>
|
||||||
|
<url>/</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Policies</name>
|
<name>Policies</name>
|
||||||
<path>/device-mgt/admin/policies</path>
|
<path>/device-mgt/admin/policies</path>
|
||||||
@ -66,6 +73,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>User Policies</name>
|
||||||
|
<path>/device-mgt/user/policies</path>
|
||||||
|
<url>/</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Notifications</name>
|
<name>Notifications</name>
|
||||||
<path>/device-mgt/admin/notifications</path>
|
<path>/device-mgt/admin/notifications</path>
|
||||||
@ -73,6 +87,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>User Notifications</name>
|
||||||
|
<path>/device-mgt/user/notifications</path>
|
||||||
|
<url>/</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Users</name>
|
<name>Users</name>
|
||||||
<path>/device-mgt/admin/users</path>
|
<path>/device-mgt/admin/users</path>
|
||||||
@ -87,6 +108,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>User Operations</name>
|
||||||
|
<path>/device-mgt/user/operations</path>
|
||||||
|
<url>/</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Applications</name>
|
<name>Applications</name>
|
||||||
<path>/device-mgt/admin/operations/applications</path>
|
<path>/device-mgt/admin/operations/applications</path>
|
||||||
@ -123,12 +151,19 @@
|
|||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>List devices</name>
|
<name>List device types</name>
|
||||||
<path>/device-mgt/admin/devices/list</path>
|
<path>/device-mgt/admin/devices/list</path>
|
||||||
<url>/devices/types</url>
|
<url>/devices/types</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>List device types</name>
|
||||||
|
<path>/device-mgt/user/devices/list</path>
|
||||||
|
<url>/devices/types</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Add policy</name>
|
<name>Add policy</name>
|
||||||
<path>/device-mgt/admin/policies/add</path>
|
<path>/device-mgt/admin/policies/add</path>
|
||||||
@ -136,6 +171,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Add User policy</name>
|
||||||
|
<path>/device-mgt/user/policies/add</path>
|
||||||
|
<url>/devices/types</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Edit policy</name>
|
<name>Edit policy</name>
|
||||||
<path>/device-mgt/admin/policies/update</path>
|
<path>/device-mgt/admin/policies/update</path>
|
||||||
@ -143,6 +185,13 @@
|
|||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Edit User policy</name>
|
||||||
|
<path>/device-mgt/user/policies/update</path>
|
||||||
|
<url>/devices/types</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>View device</name>
|
<name>View device</name>
|
||||||
<path>/device-mgt/admin/devices/view</path>
|
<path>/device-mgt/admin/devices/view</path>
|
||||||
@ -151,12 +200,26 @@
|
|||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>View device</name>
|
<name>View user device</name>
|
||||||
<path>/device-mgt/user/devices/view</path>
|
<path>/device-mgt/user/devices/view</path>
|
||||||
<url>/devices/view</url>
|
<url>/devices/view</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Modify user device</name>
|
||||||
|
<path>/device-mgt/user/devices/update</path>
|
||||||
|
<url>/devices/type/*/id/*</url>
|
||||||
|
<method>PUT</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Remove user device</name>
|
||||||
|
<path>/device-mgt/user/devices/remove</path>
|
||||||
|
<url>/devices/type/*/id/*</url>
|
||||||
|
<method>DELETE</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<!--<Permission>-->
|
<!--<Permission>-->
|
||||||
<!--<name>Get device</name>-->
|
<!--<name>Get device</name>-->
|
||||||
<!--<path>/device-mgt/devices/view</path>-->
|
<!--<path>/device-mgt/devices/view</path>-->
|
||||||
@ -173,18 +236,32 @@
|
|||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>List devices</name>
|
<name>Devices Count All</name>
|
||||||
<path>/device-mgt/admin/devices/list</path>
|
<path>/device-mgt/admin/devices/list</path>
|
||||||
<url>/devices/count</url>
|
<url>/devices/count</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Device Count</name>
|
||||||
|
<path>/device-mgt/user/devices/list</path>
|
||||||
|
<url>/devices/user/*/count</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>List devices</name>
|
<name>List devices</name>
|
||||||
<path>/device-mgt/admin/devices/list</path>
|
<path>/device-mgt/admin/devices/list</path>
|
||||||
<url>/devices/name/*/*</url>
|
<url>/devices/name/*/*</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>List All Own Devices</name>
|
||||||
|
<path>/device-mgt/user/devices/list</path>
|
||||||
|
<url>/devices/user/*</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
<!-- End of Device related APIs -->
|
<!-- End of Device related APIs -->
|
||||||
|
|
||||||
<!-- Notification related APIs -->
|
<!-- Notification related APIs -->
|
||||||
@ -501,19 +578,12 @@
|
|||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>List devices</name>
|
<name>List user devices</name>
|
||||||
<path>/device-mgt/user/devices/list</path>
|
<path>/device-mgt/user/devices/list</path>
|
||||||
<url>/users/devices</url>
|
<url>/users/devices</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
|
||||||
<name>List devices</name>
|
|
||||||
<path>/device-mgt/admin/devices/list</path>
|
|
||||||
<url>/users/devices</url>
|
|
||||||
<method>GET</method>
|
|
||||||
</Permission>
|
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>View user</name>
|
<name>View user</name>
|
||||||
<path>/device-mgt/admin/users/view</path>
|
<path>/device-mgt/admin/users/view</path>
|
||||||
@ -854,144 +924,186 @@
|
|||||||
|
|
||||||
<!-- Group related APIs -->
|
<!-- Group related APIs -->
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Management Admin</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/admin/groups</path>
|
||||||
|
<url>/</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Group Management User</name>
|
||||||
|
<path>/device-mgt/user/groups</path>
|
||||||
|
<url>/</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Add Group</name>
|
||||||
|
<path>/device-mgt/user/groups/add</path>
|
||||||
<url>/groups</url>
|
<url>/groups</url>
|
||||||
<method>POST</method>
|
<method>POST</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group update</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/update</path>
|
||||||
<url>/groups/*/*</url>
|
<url>/groups/owner/*/name/*</url>
|
||||||
<method>PUT</method>
|
<method>PUT</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Delete</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/delete</path>
|
||||||
<url>/groups/*/*</url>
|
<url>/groups/owner/*/name/*</url>
|
||||||
<method>DELETE</method>
|
<method>DELETE</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>List All Groups</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/admin/groups/list</path>
|
||||||
<url>/groups</url>
|
<url>/groups</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>List Groups</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/list</path>
|
||||||
<url>/groups/user/*</url>
|
<url>/groups/user/*</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>List Groups</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/list</path>
|
||||||
<url>/groups/*/*</url>
|
|
||||||
<method>GET</method>
|
|
||||||
</Permission>
|
|
||||||
|
|
||||||
<Permission>
|
|
||||||
<name>Group Management</name>
|
|
||||||
<path>/device-mgt/admin/groups</path>
|
|
||||||
<url>/groups/search</url>
|
|
||||||
<method>GET</method>
|
|
||||||
</Permission>
|
|
||||||
|
|
||||||
<Permission>
|
|
||||||
<name>Group Management</name>
|
|
||||||
<path>/device-mgt/admin/groups</path>
|
|
||||||
<url>/groups/user/*/all</url>
|
<url>/groups/user/*/all</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>View Group</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/view</path>
|
||||||
|
<url>/groups/owner/*/name/*</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Search Group User</name>
|
||||||
|
<path>/device-mgt/user/groups/list</path>
|
||||||
|
<url>/groups/user/*/search</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>All Group Count</name>
|
||||||
|
<path>/device-mgt/admin/groups/list</path>
|
||||||
|
<url>/groups/count</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Group Count</name>
|
||||||
|
<path>/device-mgt/user/groups/list</path>
|
||||||
<url>/groups/user/*/count</url>
|
<url>/groups/user/*/count</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Share</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/share</path>
|
||||||
<url>/groups/*/*/share</url>
|
<url>/groups/owner/*/name/*/share</url>
|
||||||
<method>PUT</method>
|
<method>PUT</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Unshare</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/unshare</path>
|
||||||
<url>/groups/*/*/unshare</url>
|
<url>/groups/owner/*/name/*/unshare</url>
|
||||||
<method>PUT</method>
|
<method>PUT</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Roles</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/roles</path>
|
||||||
<url>/groups/*/*/share/roles/*/permissions</url>
|
<url>/groups/owner/*/name/*/share/roles</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Group Permissions</name>
|
||||||
|
<path>/device-mgt/admin/groups/roles/permissions</path>
|
||||||
|
<url>/groups/owner/*/name/*/share/roles/*/permissions</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Group Add Permissions</name>
|
||||||
|
<path>/device-mgt/admin/groups/roles/permissions/add</path>
|
||||||
|
<url>/groups/owner/*/name/*/share/roles/*/permissions</url>
|
||||||
<method>PUT</method>
|
<method>PUT</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Delete Permissions</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/admin/groups/roles/permissions/delete</path>
|
||||||
<url>/groups/*/*/share/roles/*/permissions</url>
|
<url>/groups/owner/*/name/*/share/roles/*/permissions</url>
|
||||||
<method>DELETE</method>
|
<method>DELETE</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Users</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/users</path>
|
||||||
<url>/groups/*/*/share/roles</url>
|
<url>/</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>List Group Users</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/users/list</path>
|
||||||
<url>/groups/*/*/users</url>
|
<url>/groups/owner/*/name/*/users</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Get Permissions for Group</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/users/permissions</path>
|
||||||
<url>/groups/*/*/devices/all</url>
|
<url>/groups/owner/*/name/*/users/*/permissions</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Group Devices</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/devices</path>
|
||||||
<url>/groups/*/*/devices/count</url>
|
<url>/</url>
|
||||||
<method>GET</method>
|
<method>GET</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>List Group Devices</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/devices/list</path>
|
||||||
<url>/groups/*/*/devices/*/*</url>
|
<url>/groups/owner/*/name/*/devices/all</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Group Devices Count</name>
|
||||||
|
<path>/device-mgt/user/groups/devices/count</path>
|
||||||
|
<url>/groups/owner/*/name/*/devices/count</url>
|
||||||
|
<method>GET</method>
|
||||||
|
</Permission>
|
||||||
|
|
||||||
|
<Permission>
|
||||||
|
<name>Add Device to Group</name>
|
||||||
|
<path>/device-mgt/user/groups/devices/add</path>
|
||||||
|
<url>/groups/owner/*/name/*/devices/*/*</url>
|
||||||
<method>PUT</method>
|
<method>PUT</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
<Permission>
|
||||||
<name>Group Management</name>
|
<name>Remove Device from Group</name>
|
||||||
<path>/device-mgt/admin/groups</path>
|
<path>/device-mgt/user/groups/devices/remove</path>
|
||||||
<url>/groups/*/*/devices/*/*</url>
|
<url>/groups/owner/*/name/*/devices/*/*</url>
|
||||||
<method>DELETE</method>
|
<method>DELETE</method>
|
||||||
</Permission>
|
</Permission>
|
||||||
|
|
||||||
<Permission>
|
|
||||||
<name>Group Management</name>
|
|
||||||
<path>/device-mgt/admin/groups</path>
|
|
||||||
<url>/groups/*/*/users/*/permissions</url>
|
|
||||||
<method>GET</method>
|
|
||||||
</Permission>
|
|
||||||
<!-- End of Group related APIs -->
|
<!-- End of Group related APIs -->
|
||||||
|
|
||||||
</PermissionConfiguration>
|
</PermissionConfiguration>
|
||||||
|
|||||||
@ -163,26 +163,24 @@
|
|||||||
</jaxrs:providers>
|
</jaxrs:providers>
|
||||||
</jaxrs:server>
|
</jaxrs:server>
|
||||||
-->
|
-->
|
||||||
<bean id="operationServiceBean" class="org.wso2.carbon.mdm.api.Operation"/>
|
<bean id="operationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Operation"/>
|
||||||
<bean id="deviceServiceBean" class="org.wso2.carbon.mdm.api.Device"/>
|
<bean id="deviceServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Device"/>
|
||||||
<bean id="groupServiceBean" class="org.wso2.carbon.mdm.api.Group"/>
|
<bean id="groupServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Group"/>
|
||||||
<bean id="userServiceBean" class="org.wso2.carbon.mdm.api.User"/>
|
<bean id="userServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.User"/>
|
||||||
<bean id="roleServiceBean" class="org.wso2.carbon.mdm.api.Role"/>
|
<bean id="roleServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Role"/>
|
||||||
<bean id="featureServiceBean" class="org.wso2.carbon.mdm.api.Feature"/>
|
<bean id="featureServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Feature"/>
|
||||||
<bean id="configurationServiceBean" class="org.wso2.carbon.mdm.api.Configuration"/>
|
<bean id="configurationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Configuration"/>
|
||||||
<bean id="notificationServiceBean" class="org.wso2.carbon.mdm.api.DeviceNotification"/>
|
<bean id="notificationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.DeviceNotification"/>
|
||||||
<bean id="licenseServiceBean" class="org.wso2.carbon.mdm.api.License"/>
|
<bean id="licenseServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.License"/>
|
||||||
<bean id="certificateServiceBean" class="org.wso2.carbon.mdm.api.Certificate"/>
|
<bean id="certificateServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Certificate"/>
|
||||||
|
<bean id="informationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.DeviceInformation"/>
|
||||||
|
<bean id="searchingServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.DeviceSearch"/>
|
||||||
<bean id="informationServiceBean" class="org.wso2.carbon.mdm.api.DeviceInformation"/>
|
|
||||||
<bean id="searchingServiceBean" class="org.wso2.carbon.mdm.api.DeviceSearch"/>
|
|
||||||
<!--
|
<!--
|
||||||
<bean id="authenticationServiceBean" class="org.wso2.carbon.mdm.api.Authentication"/>
|
<bean id="authenticationServiceBean" class="Authentication"/>
|
||||||
-->
|
-->
|
||||||
<bean id="policyServiceBean" class="org.wso2.carbon.mdm.api.Policy"/>
|
<bean id="policyServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Policy"/>
|
||||||
<bean id="profileServiceBean" class="org.wso2.carbon.mdm.api.Profile"/>
|
<bean id="profileServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Profile"/>
|
||||||
<bean id="jsonProvider" class="org.wso2.mdm.common.GsonMessageBodyHandler"/>
|
<bean id="jsonProvider" class="org.wso2.carbon.device.mgt.jaxrs.common.GsonMessageBodyHandler"/>
|
||||||
<bean id="errorHandler" class="org.wso2.carbon.mdm.api.common.ErrorHandler"/>
|
<bean id="errorHandler" class="org.wso2.carbon.device.mgt.jaxrs.api.common.ErrorHandler"/>
|
||||||
|
|
||||||
</beans>
|
</beans>
|
||||||
|
|||||||
@ -118,4 +118,10 @@ public class EnrolmentInfo implements Serializable {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return owner.hashCode() ^ ownership.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
public class ProvisioningConfig {
|
||||||
|
|
||||||
|
private String providerTenantDomain;
|
||||||
|
private boolean isSharedWithAllTenants;
|
||||||
|
|
||||||
|
public ProvisioningConfig(String providerTenantDomain, boolean sharedWithAllTenants) {
|
||||||
|
this.providerTenantDomain = providerTenantDomain;
|
||||||
|
isSharedWithAllTenants = sharedWithAllTenants;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getProviderTenantDomain() {
|
||||||
|
return providerTenantDomain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSharedWithAllTenants() {
|
||||||
|
return isSharedWithAllTenants;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -28,29 +28,29 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* Represents the tenant configuration for a device platform.
|
* Represents the tenant configuration for a device platform.
|
||||||
*/
|
*/
|
||||||
@XmlRootElement(name="tenantConfiguration")
|
@XmlRootElement(name = "tenantConfiguration")
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
public class TenantConfiguration implements Serializable{
|
public class TenantConfiguration implements Serializable {
|
||||||
|
|
||||||
@XmlElement(name="type")
|
@XmlElement(name = "type")
|
||||||
private String type;
|
private String type;
|
||||||
@XmlElement(name="configuration")
|
@XmlElement(name = "configuration")
|
||||||
private List<ConfigurationEntry> configuration;
|
private List<ConfigurationEntry> configuration;
|
||||||
|
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setType(String type) {
|
public void setType(String type) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ConfigurationEntry> getConfiguration() {
|
public List<ConfigurationEntry> getConfiguration() {
|
||||||
return configuration;
|
return configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setConfiguration(List<ConfigurationEntry> configuration) {
|
public void setConfiguration(List<ConfigurationEntry> configuration) {
|
||||||
this.configuration = configuration;
|
this.configuration = configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* 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.push.notification;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class PushNotificationConfig {
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
private Set<String> properties;
|
||||||
|
|
||||||
|
public PushNotificationConfig(String type, Set<String> properties) {
|
||||||
|
this.type = type;
|
||||||
|
this.properties = properties;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<String> getProperties() {
|
||||||
|
return properties;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -18,46 +18,28 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.mgt.common.spi;
|
package org.wso2.carbon.device.mgt.common.spi;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
||||||
|
import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Composite interface that acts as the SPI exposing all device management as well as application management
|
* Composite interface that acts as the SPI exposing all device management as well as application management
|
||||||
* functionalities.
|
* functionalities.
|
||||||
*/
|
*/
|
||||||
public interface DeviceManagementService extends ApplicationManager {
|
public interface DeviceManagementService {
|
||||||
|
|
||||||
/**
|
|
||||||
* Method to retrieve the provider type that implements DeviceManager interface.
|
|
||||||
*
|
|
||||||
* @return Returns provider type
|
|
||||||
*/
|
|
||||||
String getType();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This returns the tenant domain of the provider.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
String getProviderTenantDomain();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* returns true if the device type is shared between all tenants and false if its not.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
boolean isSharedWithAllTenants();
|
|
||||||
|
|
||||||
void init() throws DeviceManagementException;
|
void init() throws DeviceManagementException;
|
||||||
|
|
||||||
|
String getType();
|
||||||
|
|
||||||
DeviceManager getDeviceManager();
|
DeviceManager getDeviceManager();
|
||||||
|
|
||||||
ApplicationManager getApplicationManager();
|
ApplicationManager getApplicationManager();
|
||||||
|
|
||||||
void notifyOperationToDevices(Operation operation, List<DeviceIdentifier> deviceIds) throws DeviceManagementException;
|
ProvisioningConfig getProvisioningConfig();
|
||||||
|
|
||||||
|
PushNotificationConfig getPushNotificationConfig();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import org.apache.commons.logging.Log;
|
|||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier;
|
||||||
|
import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
|
||||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
|
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
|
||||||
@ -44,8 +45,10 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis
|
|||||||
|
|
||||||
public void addDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException {
|
public void addDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException {
|
||||||
String deviceType = provider.getType();
|
String deviceType = provider.getType();
|
||||||
String tenantDomain = provider.getProviderTenantDomain();
|
|
||||||
boolean isSharedWithAllTenants = provider.isSharedWithAllTenants();
|
ProvisioningConfig provisioningConfig = provider.getProvisioningConfig();
|
||||||
|
String tenantDomain = provisioningConfig.getProviderTenantDomain();
|
||||||
|
boolean isSharedWithAllTenants = provisioningConfig.isSharedWithAllTenants();
|
||||||
int tenantId = DeviceManagerUtil.getTenantId(tenantDomain);
|
int tenantId = DeviceManagerUtil.getTenantId(tenantDomain);
|
||||||
if (tenantId == -1) {
|
if (tenantId == -1) {
|
||||||
throw new DeviceManagementException("No tenant available for tenant domain " + tenantDomain);
|
throw new DeviceManagementException("No tenant available for tenant domain " + tenantDomain);
|
||||||
@ -57,7 +60,7 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis
|
|||||||
provider.init();
|
provider.init();
|
||||||
DeviceManagerUtil.registerDeviceType(deviceType, tenantId, isSharedWithAllTenants);
|
DeviceManagerUtil.registerDeviceType(deviceType, tenantId, isSharedWithAllTenants);
|
||||||
DeviceManagementDataHolder.getInstance().setRequireDeviceAuthorization(deviceType,
|
DeviceManagementDataHolder.getInstance().setRequireDeviceAuthorization(deviceType,
|
||||||
provider.getDeviceManager().requireDeviceAuthorization());
|
provider.getDeviceManager().requireDeviceAuthorization());
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (DeviceManagementException e) {
|
} catch (DeviceManagementException e) {
|
||||||
@ -75,13 +78,15 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void removeDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException {
|
public void removeDeviceManagementProvider(DeviceManagementService provider) throws DeviceManagementException {
|
||||||
String deviceTypeName=provider.getType();
|
String deviceTypeName = provider.getType();
|
||||||
if(provider.isSharedWithAllTenants()){
|
|
||||||
DeviceTypeIdentifier deviceTypeIdentifier =new DeviceTypeIdentifier(deviceTypeName);
|
ProvisioningConfig provisioningConfig = provider.getProvisioningConfig();
|
||||||
|
if (provisioningConfig.isSharedWithAllTenants()) {
|
||||||
|
DeviceTypeIdentifier deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName);
|
||||||
providers.remove(deviceTypeIdentifier);
|
providers.remove(deviceTypeIdentifier);
|
||||||
}else{
|
} else {
|
||||||
int providerTenantId=DeviceManagerUtil.getTenantId(provider.getProviderTenantDomain());
|
int providerTenantId = DeviceManagerUtil.getTenantId(provisioningConfig.getProviderTenantDomain());
|
||||||
DeviceTypeIdentifier deviceTypeIdentifier =new DeviceTypeIdentifier(deviceTypeName, providerTenantId);
|
DeviceTypeIdentifier deviceTypeIdentifier = new DeviceTypeIdentifier(deviceTypeName, providerTenantId);
|
||||||
providers.remove(deviceTypeIdentifier);
|
providers.remove(deviceTypeIdentifier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -113,15 +118,17 @@ public class DeviceManagementPluginRepository implements DeviceManagerStartupLis
|
|||||||
for (DeviceManagementService provider : providers.values()) {
|
for (DeviceManagementService provider : providers.values()) {
|
||||||
try {
|
try {
|
||||||
provider.init();
|
provider.init();
|
||||||
int tenantId=DeviceManagerUtil.getTenantId(provider.getProviderTenantDomain());
|
|
||||||
DeviceManagerUtil.registerDeviceType(provider.getType(), tenantId, provider.isSharedWithAllTenants());
|
ProvisioningConfig provisioningConfig = provider.getProvisioningConfig();
|
||||||
|
int tenantId = DeviceManagerUtil.getTenantId(provisioningConfig.getProviderTenantDomain());
|
||||||
|
DeviceManagerUtil.registerDeviceType(provider.getType(), tenantId, provisioningConfig.isSharedWithAllTenants());
|
||||||
//TODO:
|
//TODO:
|
||||||
//This is a temporory fix.
|
//This is a temporory fix.
|
||||||
//windows and IOS cannot resolve user info by extracting certs
|
//windows and IOS cannot resolve user info by extracting certs
|
||||||
//until fix that, use following variable to enable and disable of checking user authorization.
|
//until fix that, use following variable to enable and disable of checking user authorization.
|
||||||
|
|
||||||
DeviceManagementDataHolder.getInstance().setRequireDeviceAuthorization(provider.getType(),
|
DeviceManagementDataHolder.getInstance().setRequireDeviceAuthorization(provider.getType(),
|
||||||
provider.getDeviceManager().requireDeviceAuthorization());
|
provider.getDeviceManager().requireDeviceAuthorization());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
/* Throwable is caught intentionally as failure of one plugin - due to invalid start up parameters,
|
/* Throwable is caught intentionally as failure of one plugin - due to invalid start up parameters,
|
||||||
etc - should not block the initialization of other device management providers */
|
etc - should not block the initialization of other device management providers */
|
||||||
|
|||||||
@ -32,16 +32,13 @@ import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
|||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||||
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.operation.mgt.OperationManagementException;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
|
|
||||||
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
|
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
|
||||||
import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository;
|
|
||||||
import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig;
|
import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig;
|
||||||
import org.wso2.carbon.device.mgt.core.app.mgt.oauth.ServiceAuthenticator;
|
import org.wso2.carbon.device.mgt.core.app.mgt.oauth.ServiceAuthenticator;
|
||||||
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||||
import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations;
|
import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.*;
|
import org.wso2.carbon.device.mgt.core.dao.*;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.PluginInitializationListener;
|
|
||||||
import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceException;
|
import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceException;
|
||||||
import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub;
|
import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub;
|
||||||
import org.wso2.carbon.identity.oauth.stub.dto.OAuthConsumerAppDTO;
|
import org.wso2.carbon.identity.oauth.stub.dto.OAuthConsumerAppDTO;
|
||||||
@ -56,9 +53,6 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class ApplicationManagerProviderServiceImpl implements ApplicationManagementProviderService {
|
public class ApplicationManagerProviderServiceImpl implements ApplicationManagementProviderService {
|
||||||
|
|
||||||
private ConfigurationContext configCtx;
|
|
||||||
private ServiceAuthenticator authenticator;
|
|
||||||
private String oAuthAdminServiceUrl;
|
|
||||||
private DeviceDAO deviceDAO;
|
private DeviceDAO deviceDAO;
|
||||||
private ApplicationDAO applicationDAO;
|
private ApplicationDAO applicationDAO;
|
||||||
private ApplicationMappingDAO applicationMappingDAO;
|
private ApplicationMappingDAO applicationMappingDAO;
|
||||||
@ -67,19 +61,6 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
|||||||
private static final Log log = LogFactory.getLog(ApplicationManagerProviderServiceImpl.class);
|
private static final Log log = LogFactory.getLog(ApplicationManagerProviderServiceImpl.class);
|
||||||
|
|
||||||
public ApplicationManagerProviderServiceImpl(AppManagementConfig appManagementConfig) {
|
public ApplicationManagerProviderServiceImpl(AppManagementConfig appManagementConfig) {
|
||||||
|
|
||||||
IdentityConfigurations identityConfig = DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
|
||||||
getDeviceManagementConfigRepository().getIdentityConfigurations();
|
|
||||||
this.authenticator =
|
|
||||||
new ServiceAuthenticator(identityConfig.getAdminUsername(), identityConfig.getAdminPassword());
|
|
||||||
this.oAuthAdminServiceUrl =
|
|
||||||
identityConfig.getServerUrl() + DeviceManagementConstants.AppManagement.OAUTH_ADMIN_SERVICE;
|
|
||||||
try {
|
|
||||||
this.configCtx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
|
|
||||||
} catch (AxisFault e) {
|
|
||||||
throw new IllegalArgumentException("Error occurred while initializing Axis2 Configuration Context. " +
|
|
||||||
"Please check if an appropriate axis2.xml is provided", e);
|
|
||||||
}
|
|
||||||
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
||||||
this.applicationDAO = DeviceManagementDAOFactory.getApplicationDAO();
|
this.applicationDAO = DeviceManagementDAOFactory.getApplicationDAO();
|
||||||
this.applicationMappingDAO = DeviceManagementDAOFactory.getApplicationMappingDAO();
|
this.applicationMappingDAO = DeviceManagementDAOFactory.getApplicationMappingDAO();
|
||||||
@ -112,7 +93,6 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
|||||||
@Override
|
@Override
|
||||||
public void installApplicationForDevices(Operation operation, List<DeviceIdentifier> deviceIds)
|
public void installApplicationForDevices(Operation operation, List<DeviceIdentifier> deviceIds)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().addOperation(operation, deviceIds);
|
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().addOperation(operation, deviceIds);
|
||||||
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().notifyOperationToDevices
|
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().notifyOperationToDevices
|
||||||
@ -207,50 +187,6 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateInstalledApplicationListOfDevice(
|
|
||||||
DeviceIdentifier deviceIdentifier, List<Application> applications) throws ApplicationManagementException {
|
|
||||||
}
|
|
||||||
|
|
||||||
private OAuthConsumerAppDTO getAppInfo() throws ApplicationManagementException {
|
|
||||||
OAuthConsumerAppDTO appInfo = null;
|
|
||||||
try {
|
|
||||||
OAuthAdminServiceStub oAuthAdminServiceStub =
|
|
||||||
new OAuthAdminServiceStub(configCtx, oAuthAdminServiceUrl);
|
|
||||||
authenticator.authenticate(oAuthAdminServiceStub._getServiceClient());
|
|
||||||
|
|
||||||
try {
|
|
||||||
appInfo = oAuthAdminServiceStub.getOAuthApplicationDataByAppName(
|
|
||||||
DeviceManagementConstants.AppManagement.OAUTH_APPLICATION_NAME);
|
|
||||||
}
|
|
||||||
//application doesn't exist. Due to the way getOAuthApplicationDataByAppName has been
|
|
||||||
//implemented, it throws an AxisFault if the App doesn't exist. Hence the catch.
|
|
||||||
catch (AxisFault fault) {
|
|
||||||
oAuthAdminServiceStub.registerOAuthApplicationData(this.getRequestDTO());
|
|
||||||
appInfo = oAuthAdminServiceStub.getOAuthApplicationDataByAppName(
|
|
||||||
DeviceManagementConstants.AppManagement.OAUTH_APPLICATION_NAME);
|
|
||||||
}
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
handleException("Error occurred while retrieving app info", e);
|
|
||||||
} catch (OAuthAdminServiceException e) {
|
|
||||||
handleException("Error occurred while invoking OAuth admin service stub", e);
|
|
||||||
}
|
|
||||||
return appInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
private OAuthConsumerAppDTO getRequestDTO() {
|
|
||||||
OAuthConsumerAppDTO appDTO = new OAuthConsumerAppDTO();
|
|
||||||
appDTO.setApplicationName(DeviceManagementConstants.AppManagement.OAUTH_APPLICATION_NAME);
|
|
||||||
appDTO.setGrantTypes(
|
|
||||||
DeviceManagementConstants.AppManagement.OAUTH2_GRANT_TYPE_CLIENT_CREDENTIALS);
|
|
||||||
appDTO.setOAuthVersion(DeviceManagementConstants.AppManagement.OAUTH_VERSION_2);
|
|
||||||
return appDTO;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleException(String msg, Exception e) throws ApplicationManagementException {
|
|
||||||
log.error(msg, e);
|
|
||||||
throw new ApplicationManagementException(msg, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateApplicationListInstalledInDevice(
|
public void updateApplicationListInstalledInDevice(
|
||||||
DeviceIdentifier deviceIdentifier, List<Application> applications) throws ApplicationManagementException {
|
DeviceIdentifier deviceIdentifier, List<Application> applications) throws ApplicationManagementException {
|
||||||
|
|||||||
@ -17,8 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.mgt.core.config;
|
package org.wso2.carbon.device.mgt.core.config;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations;
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.policy.PolicyConfiguration;
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.task.TaskConfiguration;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents Device Mgt configuration.
|
* Represents Device Mgt configuration.
|
||||||
@ -27,6 +33,10 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||||||
public final class DeviceManagementConfig {
|
public final class DeviceManagementConfig {
|
||||||
|
|
||||||
private DeviceManagementConfigRepository deviceManagementConfigRepository;
|
private DeviceManagementConfigRepository deviceManagementConfigRepository;
|
||||||
|
private TaskConfiguration taskConfiguration;
|
||||||
|
private IdentityConfigurations identityConfigurations;
|
||||||
|
private PolicyConfiguration policyConfiguration;
|
||||||
|
//private List<String> pushNotificationProviders;
|
||||||
|
|
||||||
@XmlElement(name = "ManagementRepository", required = true)
|
@XmlElement(name = "ManagementRepository", required = true)
|
||||||
public DeviceManagementConfigRepository getDeviceManagementConfigRepository() {
|
public DeviceManagementConfigRepository getDeviceManagementConfigRepository() {
|
||||||
@ -37,4 +47,43 @@ public final class DeviceManagementConfig {
|
|||||||
this.deviceManagementConfigRepository = deviceManagementConfigRepository;
|
this.deviceManagementConfigRepository = deviceManagementConfigRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "IdentityConfiguration", required = true)
|
||||||
|
public IdentityConfigurations getIdentityConfigurations() {
|
||||||
|
return identityConfigurations;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setIdentityConfigurations(IdentityConfigurations identityConfigurations) {
|
||||||
|
this.identityConfigurations = identityConfigurations;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "PolicyConfiguration", required = true)
|
||||||
|
public PolicyConfiguration getPolicyConfiguration() {
|
||||||
|
return policyConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPolicyConfiguration(PolicyConfiguration policyConfiguration) {
|
||||||
|
this.policyConfiguration = policyConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "TaskConfiguration", required = true)
|
||||||
|
public TaskConfiguration getTaskConfiguration() {
|
||||||
|
return taskConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTaskConfiguration(TaskConfiguration taskConfiguration) {
|
||||||
|
this.taskConfiguration = taskConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
// @XmlElementWrapper(name = "PushNotificationProviders", required = true)
|
||||||
|
// @XmlElement(name = "Provider", required = true)
|
||||||
|
// public List<String> getPushNotificationProviders() {
|
||||||
|
// return pushNotificationProviders;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public void setPushNotificationProviders(List<String> pushNotificationProviders) {
|
||||||
|
// this.pushNotificationProviders = pushNotificationProviders;
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -31,12 +31,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||||||
@XmlRootElement(name = "ManagementRepository")
|
@XmlRootElement(name = "ManagementRepository")
|
||||||
public class DeviceManagementConfigRepository {
|
public class DeviceManagementConfigRepository {
|
||||||
|
|
||||||
|
|
||||||
// private EmailConfigurations emailConfigurations;
|
|
||||||
private TaskConfiguration taskConfiguration;
|
|
||||||
private DataSourceConfig dataSourceConfig;
|
private DataSourceConfig dataSourceConfig;
|
||||||
private IdentityConfigurations identityConfigurations;
|
|
||||||
private PolicyConfiguration policyConfiguration;
|
|
||||||
|
|
||||||
@XmlElement(name = "DataSourceConfiguration", required = true)
|
@XmlElement(name = "DataSourceConfiguration", required = true)
|
||||||
public DataSourceConfig getDataSourceConfig() {
|
public DataSourceConfig getDataSourceConfig() {
|
||||||
@ -47,40 +42,4 @@ public class DeviceManagementConfigRepository {
|
|||||||
this.dataSourceConfig = dataSourceConfig;
|
this.dataSourceConfig = dataSourceConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @XmlElement(name = "EmailClientConfiguration", required = true)
|
|
||||||
// public EmailConfigurations getEmailConfigurations() {
|
|
||||||
// return emailConfigurations;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setEmailConfigurations(EmailConfigurations emailConfigurations) {
|
|
||||||
// this.emailConfigurations = emailConfigurations;
|
|
||||||
// }
|
|
||||||
|
|
||||||
@XmlElement(name = "IdentityConfiguration", required = true)
|
|
||||||
public IdentityConfigurations getIdentityConfigurations() {
|
|
||||||
return identityConfigurations;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void setIdentityConfigurations(IdentityConfigurations identityConfigurations) {
|
|
||||||
this.identityConfigurations = identityConfigurations;
|
|
||||||
}
|
|
||||||
|
|
||||||
@XmlElement(name = "PolicyConfiguration", required = true)
|
|
||||||
public PolicyConfiguration getPolicyConfiguration() {
|
|
||||||
return policyConfiguration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPolicyConfiguration(PolicyConfiguration policyConfiguration) {
|
|
||||||
this.policyConfiguration = policyConfiguration;
|
|
||||||
}
|
|
||||||
|
|
||||||
@XmlElement(name = "TaskConfiguration", required = true)
|
|
||||||
public TaskConfiguration getTaskConfiguration() {
|
|
||||||
return taskConfiguration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTaskConfiguration(TaskConfiguration taskConfiguration) {
|
|
||||||
this.taskConfiguration = taskConfiguration;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public class PolicyConfiguration {
|
|||||||
private int minRetriesToMarkUnreachable;
|
private int minRetriesToMarkUnreachable;
|
||||||
private int minRetriesToMarkInactive;
|
private int minRetriesToMarkInactive;
|
||||||
|
|
||||||
@XmlElement(name = "monitoringClass", required = true)
|
@XmlElement(name = "MonitoringClass", required = true)
|
||||||
public String getMonitoringClass() {
|
public String getMonitoringClass() {
|
||||||
return monitoringClass;
|
return monitoringClass;
|
||||||
}
|
}
|
||||||
@ -40,7 +40,7 @@ public class PolicyConfiguration {
|
|||||||
this.monitoringClass = monitoringClass;
|
this.monitoringClass = monitoringClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "maxRetries", required = true)
|
@XmlElement(name = "MaxRetries", required = true)
|
||||||
public int getMaxRetries() {
|
public int getMaxRetries() {
|
||||||
return maxRetries;
|
return maxRetries;
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ public class PolicyConfiguration {
|
|||||||
this.maxRetries = maxRetries;
|
this.maxRetries = maxRetries;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "minRetriesToMarkUnreachable", required = true)
|
@XmlElement(name = "MinRetriesToMarkUnreachable", required = true)
|
||||||
public int getMinRetriesToMarkUnreachable() {
|
public int getMinRetriesToMarkUnreachable() {
|
||||||
return minRetriesToMarkUnreachable;
|
return minRetriesToMarkUnreachable;
|
||||||
}
|
}
|
||||||
@ -58,7 +58,7 @@ public class PolicyConfiguration {
|
|||||||
this.minRetriesToMarkUnreachable = minRetriesToMarkUnreachable;
|
this.minRetriesToMarkUnreachable = minRetriesToMarkUnreachable;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "monitoringEnable", required = true)
|
@XmlElement(name = "MonitoringEnable", required = true)
|
||||||
public boolean getMonitoringEnable() {
|
public boolean getMonitoringEnable() {
|
||||||
return monitoringEnable;
|
return monitoringEnable;
|
||||||
}
|
}
|
||||||
@ -67,7 +67,7 @@ public class PolicyConfiguration {
|
|||||||
this.monitoringEnable = monitoringEnable;
|
this.monitoringEnable = monitoringEnable;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "minRetriesToMarkInactive", required = true)
|
@XmlElement(name = "MinRetriesToMarkInactive", required = true)
|
||||||
public int getMinRetriesToMarkInactive() {
|
public int getMinRetriesToMarkInactive() {
|
||||||
return minRetriesToMarkInactive;
|
return minRetriesToMarkInactive;
|
||||||
}
|
}
|
||||||
@ -76,7 +76,7 @@ public class PolicyConfiguration {
|
|||||||
this.minRetriesToMarkInactive = minRetriesToMarkInactive;
|
this.minRetriesToMarkInactive = minRetriesToMarkInactive;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "monitoringFrequency", required = true)
|
@XmlElement(name = "MonitoringFrequency", required = true)
|
||||||
public int getMonitoringFrequency() {
|
public int getMonitoringFrequency() {
|
||||||
return monitoringFrequency;
|
return monitoringFrequency;
|
||||||
}
|
}
|
||||||
@ -84,4 +84,5 @@ public class PolicyConfiguration {
|
|||||||
public void setMonitoringFrequency(int monitoringFrequency) {
|
public void setMonitoringFrequency(int monitoringFrequency) {
|
||||||
this.monitoringFrequency = monitoringFrequency;
|
this.monitoringFrequency = monitoringFrequency;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,8 +52,9 @@ public class DeviceTaskManagerServiceComponent {
|
|||||||
log.debug("Initializing device details retrieving task manager bundle.");
|
log.debug("Initializing device details retrieving task manager bundle.");
|
||||||
}
|
}
|
||||||
// This will start the device details retrieving task.
|
// This will start the device details retrieving task.
|
||||||
boolean taskEnable = DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
boolean taskEnable =
|
||||||
getDeviceManagementConfigRepository().getTaskConfiguration().isEnabled();
|
DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration().
|
||||||
|
isEnabled();
|
||||||
if (taskEnable) {
|
if (taskEnable) {
|
||||||
DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl();
|
DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl();
|
||||||
taskManagerService.startTask();
|
taskManagerService.startTask();
|
||||||
@ -70,7 +71,6 @@ public class DeviceTaskManagerServiceComponent {
|
|||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
protected void deactivate(ComponentContext componentContext) {
|
protected void deactivate(ComponentContext componentContext) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl();
|
DeviceTaskManagerService taskManagerService = new DeviceTaskManagerServiceImpl();
|
||||||
taskManagerService.stopTask();
|
taskManagerService.stopTask();
|
||||||
@ -93,6 +93,7 @@ public class DeviceTaskManagerServiceComponent {
|
|||||||
}
|
}
|
||||||
DeviceManagementDataHolder.getInstance().setTaskService(null);
|
DeviceManagementDataHolder.getInstance().setTaskService(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -753,17 +753,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
public void notifyOperationToDevices(Operation operation, List<DeviceIdentifier> deviceIds)
|
public void notifyOperationToDevices(Operation operation, List<DeviceIdentifier> deviceIds)
|
||||||
throws DeviceManagementException {
|
throws DeviceManagementException {
|
||||||
|
|
||||||
try {
|
for (DeviceIdentifier deviceId : deviceIds) {
|
||||||
for (DeviceIdentifier deviceId : deviceIds) {
|
DeviceManagementService dms =
|
||||||
DeviceManagementService dms =
|
getPluginRepository().getDeviceManagementService(deviceId.getType(), this.getTenantId());
|
||||||
getPluginRepository().getDeviceManagementService(deviceId.getType(), this.getTenantId());
|
//TODO FIX THIS WITH PUSH NOTIFICATIONS
|
||||||
dms.notifyOperationToDevices(operation, deviceIds);
|
//dms.notifyOperationToDevices(operation, deviceIds);
|
||||||
}
|
|
||||||
} catch (DeviceManagementException deviceMgtEx) {
|
|
||||||
String errorMsg = "Error in notify operations to plugins for app installation:" +
|
|
||||||
deviceMgtEx.getErrorMessage();
|
|
||||||
log.error(errorMsg, deviceMgtEx);
|
|
||||||
throw new DeviceManagementException(errorMsg, deviceMgtEx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,18 +22,16 @@ package org.wso2.carbon.device.mgt.core.task;
|
|||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class Utils {
|
public class Utils {
|
||||||
|
|
||||||
|
public static Map<String, Long> getTenantedTaskOperationMap(Map<Integer, Map<String, Long>> map) {
|
||||||
public static HashMap<String, Long> getTenantedTaskOperationMap(HashMap<Integer, HashMap<String, Long>> map) {
|
|
||||||
|
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
|
||||||
if (map.containsKey(tenantId)) {
|
if (map.containsKey(tenantId)) {
|
||||||
return map.get(tenantId);
|
return map.get(tenantId);
|
||||||
} else {
|
} else {
|
||||||
HashMap<String, Long> mp = new HashMap<>();
|
Map<String, Long> mp = new HashMap<>();
|
||||||
map.put(tenantId, mp);
|
map.put(tenantId, mp);
|
||||||
return mp;
|
return mp;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,23 +36,19 @@ import org.wso2.carbon.device.mgt.core.task.TaskOperation;
|
|||||||
import org.wso2.carbon.device.mgt.core.task.Utils;
|
import org.wso2.carbon.device.mgt.core.task.Utils;
|
||||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
||||||
|
|
||||||
private static Log log = LogFactory.getLog(DeviceTaskManagerImpl.class);
|
private static Log log = LogFactory.getLog(DeviceTaskManagerImpl.class);
|
||||||
|
|
||||||
private static HashMap<Integer, HashMap<String, Long>> map = new HashMap<>();
|
private static Map<Integer, Map<String, Long>> map = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TaskOperation> getOperationList() throws DeviceMgtTaskException {
|
public List<TaskOperation> getOperationList() throws DeviceMgtTaskException {
|
||||||
|
TaskConfiguration taskConfiguration =
|
||||||
TaskConfiguration taskConfiguration = DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration();
|
||||||
getDeviceManagementConfigRepository().getTaskConfiguration();
|
|
||||||
|
|
||||||
List<TaskConfiguration.Operation> ops = taskConfiguration.getOperations();
|
List<TaskConfiguration.Operation> ops = taskConfiguration.getOperations();
|
||||||
List<TaskOperation> taskOperations = new ArrayList<>();
|
List<TaskOperation> taskOperations = new ArrayList<>();
|
||||||
@ -68,29 +64,25 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTaskFrequency() throws DeviceMgtTaskException {
|
public int getTaskFrequency() throws DeviceMgtTaskException {
|
||||||
|
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration().
|
||||||
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
getFrequency();
|
||||||
getDeviceManagementConfigRepository().getTaskConfiguration().getFrequency();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTaskImplementedClazz() throws DeviceMgtTaskException {
|
public String getTaskImplementedClazz() throws DeviceMgtTaskException {
|
||||||
|
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration().
|
||||||
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
getTaskClazz();
|
||||||
getDeviceManagementConfigRepository().getTaskConfiguration().getTaskClazz();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isTaskEnabled() throws DeviceMgtTaskException {
|
public boolean isTaskEnabled() throws DeviceMgtTaskException {
|
||||||
|
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().getTaskConfiguration().
|
||||||
return DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
isEnabled();
|
||||||
getDeviceManagementConfigRepository().getTaskConfiguration().isEnabled();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addOperations() throws DeviceMgtTaskException {
|
public void addOperations() throws DeviceMgtTaskException {
|
||||||
|
|
||||||
DeviceManagementProviderService deviceManagementProviderService =
|
DeviceManagementProviderService deviceManagementProviderService =
|
||||||
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider();
|
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider();
|
||||||
try {
|
try {
|
||||||
@ -98,7 +90,6 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
|||||||
List<String> operations = this.getValidOperationNames();
|
List<String> operations = this.getValidOperationNames();
|
||||||
|
|
||||||
if (!devices.isEmpty()) {
|
if (!devices.isEmpty()) {
|
||||||
|
|
||||||
for (String str : operations) {
|
for (String str : operations) {
|
||||||
CommandOperation operation = new CommandOperation();
|
CommandOperation operation = new CommandOperation();
|
||||||
operation.setEnabled(true);
|
operation.setEnabled(true);
|
||||||
@ -116,17 +107,15 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
|||||||
} catch (OperationManagementException e) {
|
} catch (OperationManagementException e) {
|
||||||
throw new DeviceMgtTaskException("Error occurred while adding the operations to devices", e);
|
throw new DeviceMgtTaskException("Error occurred while adding the operations to devices", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getValidOperationNames() throws DeviceMgtTaskException {
|
public List<String> getValidOperationNames() throws DeviceMgtTaskException {
|
||||||
|
|
||||||
List<TaskOperation> taskOperations = this.getOperationList();
|
List<TaskOperation> taskOperations = this.getOperationList();
|
||||||
List<String> opNames = new ArrayList<>();
|
List<String> opNames = new ArrayList<>();
|
||||||
Long milliseconds = System.currentTimeMillis();
|
Long milliseconds = System.currentTimeMillis();
|
||||||
int frequency = this.getTaskFrequency();
|
int frequency = this.getTaskFrequency();
|
||||||
HashMap<String, Long> mp = Utils.getTenantedTaskOperationMap(map);
|
Map<String, Long> mp = Utils.getTenantedTaskOperationMap(map);
|
||||||
|
|
||||||
for (TaskOperation top : taskOperations) {
|
for (TaskOperation top : taskOperations) {
|
||||||
if (!mp.containsKey(top.getTaskName())) {
|
if (!mp.containsKey(top.getTaskName())) {
|
||||||
@ -163,5 +152,6 @@ public class DeviceTaskManagerImpl implements DeviceTaskManager {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,17 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.mgt.core;
|
package org.wso2.carbon.device.mgt.core;
|
||||||
|
|
||||||
import org.wso2.carbon.device.mgt.common.*;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
||||||
|
import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
||||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
|
||||||
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
|
|
||||||
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.operation.mgt.OperationManagementException;
|
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
|
||||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
|
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -45,14 +42,6 @@ public class TestDeviceManagementService implements DeviceManagementService {
|
|||||||
return providerType;
|
return providerType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getProviderTenantDomain() { return tenantDomain;}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSharedWithAllTenants() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() throws DeviceManagementException {
|
public void init() throws DeviceManagementException {
|
||||||
|
|
||||||
@ -69,44 +58,13 @@ public class TestDeviceManagementService implements DeviceManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notifyOperationToDevices(Operation operation, List<DeviceIdentifier> deviceIds)
|
public ProvisioningConfig getProvisioningConfig() {
|
||||||
throws DeviceManagementException {
|
return new ProvisioningConfig(tenantDomain, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Application[] getApplications(String domain, int pageNumber, int size)
|
public PushNotificationConfig getPushNotificationConfig() {
|
||||||
throws ApplicationManagementException {
|
|
||||||
return new Application[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateApplicationStatus(DeviceIdentifier deviceId, Application application, String status)
|
|
||||||
throws ApplicationManagementException {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getApplicationStatus(DeviceIdentifier deviceId, Application application)
|
|
||||||
throws ApplicationManagementException {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void installApplicationForDevices(Operation operation, List<DeviceIdentifier> deviceIdentifiers)
|
|
||||||
throws ApplicationManagementException {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void installApplicationForUsers(Operation operation, List<String> userNameList)
|
|
||||||
throws ApplicationManagementException {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void installApplicationForUserRoles(Operation operation, List<String> userRoleList)
|
|
||||||
throws ApplicationManagementException {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,6 @@ import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
|||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository;
|
import org.wso2.carbon.device.mgt.core.DeviceManagementPluginRepository;
|
||||||
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.app.mgt.config.AppManagementConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -35,13 +34,11 @@ import java.util.List;
|
|||||||
|
|
||||||
public class ApplicationManagementProviderServiceTest {
|
public class ApplicationManagementProviderServiceTest {
|
||||||
|
|
||||||
private ApplicationManagementProviderService appMgtProvider;
|
|
||||||
private static final Log log = LogFactory.getLog(ApplicationManagementProviderServiceTest.class);
|
private static final Log log = LogFactory.getLog(ApplicationManagementProviderServiceTest.class);
|
||||||
private DeviceManagementPluginRepository deviceManagementPluginRepository = null;
|
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public void init() {
|
public void init() {
|
||||||
deviceManagementPluginRepository = new DeviceManagementPluginRepository();
|
DeviceManagementPluginRepository deviceManagementPluginRepository = new DeviceManagementPluginRepository();
|
||||||
TestDeviceManagementService testDeviceManagementService =
|
TestDeviceManagementService testDeviceManagementService =
|
||||||
new TestDeviceManagementService(TestDataHolder.TEST_DEVICE_TYPE, TestDataHolder.SUPER_TENANT_DOMAIN);
|
new TestDeviceManagementService(TestDataHolder.TEST_DEVICE_TYPE, TestDataHolder.SUPER_TENANT_DOMAIN);
|
||||||
try {
|
try {
|
||||||
@ -82,8 +79,7 @@ public class ApplicationManagementProviderServiceTest {
|
|||||||
deviceId.setId(deviceIdentifier);
|
deviceId.setId(deviceIdentifier);
|
||||||
deviceId.setType(device.getType());
|
deviceId.setType(device.getType());
|
||||||
|
|
||||||
AppManagementConfig appManagementConfig = new AppManagementConfig();
|
ApplicationManagementProviderService appMgtProvider = new ApplicationManagerProviderServiceImpl();
|
||||||
appMgtProvider = new ApplicationManagerProviderServiceImpl();
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
appMgtProvider.updateApplicationListInstalledInDevice(deviceId, applications);
|
appMgtProvider.updateApplicationListInstalledInDevice(deviceId, applications);
|
||||||
|
|||||||
@ -1,133 +0,0 @@
|
|||||||
<%
|
|
||||||
/*
|
|
||||||
* Copyright (c) 2015, 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
var uri = request.getRequestURI();
|
|
||||||
var uriMatcher = new URIMatcher(String(uri));
|
|
||||||
|
|
||||||
var log = new Log("apis/group-api.jag");
|
|
||||||
|
|
||||||
var constants = require("/app/modules/constants.js");
|
|
||||||
|
|
||||||
var utility = require("/app/modules/utility.js").utility;
|
|
||||||
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
|
|
||||||
var responseProcessor = require('utils').response;
|
|
||||||
|
|
||||||
var deviceCloudService = devicemgtProps["httpsURL"] + "/common/group_manager";
|
|
||||||
|
|
||||||
var user = session.get(constants.USER_SESSION_KEY);
|
|
||||||
|
|
||||||
var groupModule = require("/app/modules/group.js").groupModule;
|
|
||||||
|
|
||||||
var result, endPoint, data, groupId, group, role;
|
|
||||||
|
|
||||||
if (!user) {
|
|
||||||
response = responseProcessor.buildErrorResponse(response, 401, "Unauthorized");
|
|
||||||
} else {
|
|
||||||
|
|
||||||
if (uriMatcher.match("/{context}/api/group/add")) {
|
|
||||||
group = request.getContent();
|
|
||||||
result = groupModule.addGroup(group);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/update")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
group = request.getContent();
|
|
||||||
result = groupModule.updateGroup(groupId, group);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/remove")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
result = groupModule.removeGroup(groupId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
result = groupModule.getGroup(groupId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/name/{groupName}")) {
|
|
||||||
var groupName = uriMatcher.elements().groupName;
|
|
||||||
result = groupModule.findGroups(groupName);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/all")) {
|
|
||||||
result = groupModule.getGroups();
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/all/count")) {
|
|
||||||
result = groupModule.getGroupCount();
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/share")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
var shareUser = request.getContent()["shareUser"];
|
|
||||||
role = request.getContent()["role"];
|
|
||||||
result = groupModule.shareGroup(groupId, shareUser, role);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/unshare")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
var unShareUser = request.getContent()["unShareUser"];
|
|
||||||
role = request.getContent()["role"];
|
|
||||||
result = groupModule.unshareGroup(groupId, unShareUser, role);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/add")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
var permissions = request.getContent()["permissions"];
|
|
||||||
role = request.getContent()["role"];
|
|
||||||
result = groupModule.addRole(groupId, role, permissions);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/delete")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
role = request.getContent()["role"];
|
|
||||||
endPoint = deviceCloudService + "/group/id/" + groupId + "/role/" + role;
|
|
||||||
result = groupModule.deleteRole(groupId, role);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/role/all")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
result = groupModule.getGroupRoles(groupId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/{userId}/role/all")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
var userId = uriMatcher.elements().userId;
|
|
||||||
result = groupModule.getUserRoles(groupId, userId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/{userId}/rolemapping")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
userId = uriMatcher.elements().userId;
|
|
||||||
result = groupModule.getRoleMapping(groupId, userId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/{userId}/roleupdate")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
userId = uriMatcher.elements().userId;
|
|
||||||
var roleMap = request.getContent();
|
|
||||||
result = groupModule.setRoleMapping(groupId, userId, roleMap);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/user/all")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
result = groupModule.getUsers(groupId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/device/all")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
result = groupModule.getDevices(groupId);
|
|
||||||
|
|
||||||
} else if (uriMatcher.match("/{context}/api/group/id/{groupId}/assign")) {
|
|
||||||
groupId = uriMatcher.elements().groupId;
|
|
||||||
var deviceId = request.getContent()["deviceId"];
|
|
||||||
var deviceType = request.getContent()["deviceType"];
|
|
||||||
result = groupModule.assignDevice(groupId, deviceId, deviceType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// returning the result.
|
|
||||||
if (result) {
|
|
||||||
print(result);
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
@ -38,11 +38,11 @@ if (!user) {
|
|||||||
if (uriMatcher.match("/{context}/api/operations/{deviceType}/stats")) {
|
if (uriMatcher.match("/{context}/api/operations/{deviceType}/stats")) {
|
||||||
var deviceType = uriMatcher.elements().deviceType;
|
var deviceType = uriMatcher.elements().deviceType;
|
||||||
var deviceId = request.getParameter("deviceId");
|
var deviceId = request.getParameter("deviceId");
|
||||||
var monitor_operations = operationModule.getMonitorOperations(deviceType);
|
var monitorOperations = operationModule.getMonitorOperations(deviceType);
|
||||||
var stats = [];
|
var stats = [];
|
||||||
result = {};
|
result = {};
|
||||||
for (var op in monitor_operations) {
|
for (var op in monitorOperations) {
|
||||||
result = operationModule.handleGETOperation(deviceType, monitor_operations[op].operation, monitor_operations[op].name, deviceId);
|
result = operationModule.handleGETOperation(deviceType, monitorOperations[op].operation, monitorOperations[op].name, deviceId);
|
||||||
stats.push(result.data);
|
stats.push(result.data);
|
||||||
}
|
}
|
||||||
result.data = stats;
|
result.data = stats;
|
||||||
|
|||||||
@ -97,61 +97,6 @@ deviceModule = function () {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
@Deprecated
|
|
||||||
*/
|
|
||||||
publicMethods.listDevicesForUser = function (username) {
|
|
||||||
var carbonUser = session.get(constants.USER_SESSION_KEY);
|
|
||||||
var utility = require('/app/modules/utility.js').utility;
|
|
||||||
if (!carbonUser) {
|
|
||||||
log.error("User object was not found in the session");
|
|
||||||
throw constants.ERRORS.USER_NOT_FOUND;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
utility.startTenantFlow(carbonUser);
|
|
||||||
var deviceManagementService = utility.getDeviceManagementService();
|
|
||||||
var devices = deviceManagementService.getDevicesOfUser(username);
|
|
||||||
var deviceList = [];
|
|
||||||
var i, device, propertiesList, deviceObject;
|
|
||||||
for (i = 0; i < devices.size(); i++) {
|
|
||||||
device = devices.get(i);
|
|
||||||
propertiesList = DeviceManagerUtil.convertDevicePropertiesToMap(device.getProperties());
|
|
||||||
|
|
||||||
deviceObject = {};
|
|
||||||
deviceObject[constants.DEVICE_IDENTIFIER] =
|
|
||||||
privateMethods.validateAndReturn(device.getDeviceIdentifier());
|
|
||||||
deviceObject[constants.DEVICE_NAME] =
|
|
||||||
privateMethods.validateAndReturn(device.getName());
|
|
||||||
deviceObject[constants.DEVICE_OWNERSHIP] =
|
|
||||||
privateMethods.validateAndReturn(device.getEnrolmentInfo().getOwnership());
|
|
||||||
deviceObject[constants.DEVICE_OWNER] =
|
|
||||||
privateMethods.validateAndReturn(device.getEnrolmentInfo().getOwner());
|
|
||||||
deviceObject[constants.DEVICE_TYPE] =
|
|
||||||
privateMethods.validateAndReturn(device.getType());
|
|
||||||
deviceObject[constants.DEVICE_PROPERTIES] = {};
|
|
||||||
if (device.getType() == constants.PLATFORM_IOS) {
|
|
||||||
deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_MODEL] =
|
|
||||||
privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_PRODUCT));
|
|
||||||
deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_VENDOR] = constants.VENDOR_APPLE;
|
|
||||||
} else {
|
|
||||||
deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_MODEL] =
|
|
||||||
privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_MODEL));
|
|
||||||
deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_VENDOR] =
|
|
||||||
privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_VENDOR));
|
|
||||||
}
|
|
||||||
deviceObject[constants.DEVICE_PROPERTIES][constants.DEVICE_OS_VERSION] =
|
|
||||||
privateMethods.validateAndReturn(propertiesList.get(constants.DEVICE_OS_VERSION));
|
|
||||||
|
|
||||||
deviceList.push(deviceObject);
|
|
||||||
}
|
|
||||||
return deviceList;
|
|
||||||
} catch (e) {
|
|
||||||
throw e;
|
|
||||||
} finally {
|
|
||||||
utility.endTenantFlow();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@Deprecated
|
@Deprecated
|
||||||
*/
|
*/
|
||||||
@ -298,8 +243,7 @@ deviceModule = function () {
|
|||||||
deviceObject[constants["DEVICE_PROPERTIES"]] = properties;
|
deviceObject[constants["DEVICE_PROPERTIES"]] = properties;
|
||||||
return deviceObject;
|
return deviceObject;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
,
|
|
||||||
function (responsePayload) {
|
function (responsePayload) {
|
||||||
var response = {};
|
var response = {};
|
||||||
response["status"] = "error";
|
response["status"] = "error";
|
||||||
@ -321,8 +265,7 @@ deviceModule = function () {
|
|||||||
return serviceInvokers.XMLHttp.get(
|
return serviceInvokers.XMLHttp.get(
|
||||||
url, function (responsePayload) {
|
url, function (responsePayload) {
|
||||||
return responsePayload;
|
return responsePayload;
|
||||||
}
|
},
|
||||||
,
|
|
||||||
function (responsePayload) {
|
function (responsePayload) {
|
||||||
log.error(responsePayload);
|
log.error(responsePayload);
|
||||||
return -1;
|
return -1;
|
||||||
@ -335,8 +278,7 @@ deviceModule = function () {
|
|||||||
return serviceInvokers.XMLHttp.get(
|
return serviceInvokers.XMLHttp.get(
|
||||||
url, function (responsePayload) {
|
url, function (responsePayload) {
|
||||||
return responsePayload;
|
return responsePayload;
|
||||||
}
|
},
|
||||||
,
|
|
||||||
function (responsePayload) {
|
function (responsePayload) {
|
||||||
log.error(responsePayload);
|
log.error(responsePayload);
|
||||||
return -1;
|
return -1;
|
||||||
@ -344,14 +286,12 @@ deviceModule = function () {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
publicMethods.getDeviceTypes = function () {
|
publicMethods.getDeviceTypes = function () {
|
||||||
var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/devices/types";
|
var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/devices/types";
|
||||||
return serviceInvokers.XMLHttp.get(
|
return serviceInvokers.XMLHttp.get(
|
||||||
url, function (responsePayload) {
|
url, function (responsePayload) {
|
||||||
return responsePayload;
|
return responsePayload;
|
||||||
}
|
},
|
||||||
,
|
|
||||||
function (responsePayload) {
|
function (responsePayload) {
|
||||||
log.error(responsePayload);
|
log.error(responsePayload);
|
||||||
return -1;
|
return -1;
|
||||||
@ -383,86 +323,20 @@ deviceModule = function () {
|
|||||||
return license;
|
return license;
|
||||||
};
|
};
|
||||||
|
|
||||||
publicMethods.getOwnDevices = function () {
|
publicMethods.getDevices = function (userName) {
|
||||||
var listAllDevicesEndPoint = deviceCloudService + "/device/user/" + user.username + "/all";
|
var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/devices/user/" + userName;
|
||||||
var result = get(listAllDevicesEndPoint, {}, "json");
|
return serviceInvokers.XMLHttp.get(
|
||||||
var devices = result.data;
|
url, function (responsePayload) {
|
||||||
var device;
|
for (var i = 0; i < responsePayload.length; i++) {
|
||||||
for (var d in devices){
|
responsePayload[i].thumb = utility.getDeviceThumb(responsePayload[i].type);
|
||||||
device = devices[d];
|
}
|
||||||
device.assetId = publicMethods.getAssetId(device.deviceType);
|
return responsePayload;
|
||||||
}
|
},
|
||||||
return result;
|
function (responsePayload) {
|
||||||
|
log.error(responsePayload);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
publicMethods.getAllPermittedDevices = function () {
|
|
||||||
var groupModule = require("/app/modules/group.js").groupModule;
|
|
||||||
|
|
||||||
var result = publicMethods.getUnGroupedDevices();
|
|
||||||
var unGroupedDevices = result.data;
|
|
||||||
var user_groups = groupModule.getGroups().data;
|
|
||||||
var allDevices = [];
|
|
||||||
var deviceCount = unGroupedDevices.length;
|
|
||||||
for (var g in user_groups) {
|
|
||||||
var deviceInGroup = user_groups[g].devices;
|
|
||||||
deviceCount += deviceInGroup.length;
|
|
||||||
if (deviceInGroup && deviceInGroup.length == 0) {
|
|
||||||
delete user_groups[g]["devices"];
|
|
||||||
}
|
|
||||||
var device;
|
|
||||||
for (var d in deviceInGroup){
|
|
||||||
device = deviceInGroup[d];
|
|
||||||
device.assetId = publicMethods.getAssetId(device.type);
|
|
||||||
}
|
|
||||||
allDevices.push(user_groups[g]);
|
|
||||||
}
|
|
||||||
allDevices.push({id: 0, devices: unGroupedDevices});
|
|
||||||
result.data = allDevices;
|
|
||||||
result.device_count = deviceCount;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
|
|
||||||
publicMethods.removeDevice = function (deviceType, deviceId) {
|
|
||||||
var carbonUser = session.get(constants.USER_SESSION_KEY);
|
|
||||||
if (!carbonUser) {
|
|
||||||
log.error("User object was not found in the session");
|
|
||||||
throw constants.ERRORS.USER_NOT_FOUND;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
utility.startTenantFlow(carbonUser);
|
|
||||||
var deviceManagementService = utility.getDeviceManagementService();
|
|
||||||
var deviceIdentifier = new DeviceIdentifier();
|
|
||||||
deviceIdentifier.setType(deviceType);
|
|
||||||
deviceIdentifier.setId(deviceId);
|
|
||||||
return deviceManagementService.disenrollDevice(deviceIdentifier);
|
|
||||||
} catch (e) {
|
|
||||||
throw e;
|
|
||||||
} finally {
|
|
||||||
utility.endTenantFlow();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
publicMethods.updateDevice = function (deviceType, deviceId, deviceName) {
|
|
||||||
var carbonUser = session.get(constants.USER_SESSION_KEY);
|
|
||||||
if (!carbonUser) {
|
|
||||||
log.error("User object was not found in the session");
|
|
||||||
throw constants.ERRORS.USER_NOT_FOUND;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
utility.startTenantFlow(carbonUser);
|
|
||||||
var deviceManagementService = utility.getDeviceManagementService();
|
|
||||||
var deviceIdentifier = new DeviceIdentifier();
|
|
||||||
deviceIdentifier.setType(deviceType);
|
|
||||||
deviceIdentifier.setId(deviceId);
|
|
||||||
var device = deviceManagementService.getDevice(deviceIdentifier);
|
|
||||||
device.setName(deviceName);
|
|
||||||
return deviceManagementService.modifyEnrollment(device);
|
|
||||||
} catch (e) {
|
|
||||||
throw e;
|
|
||||||
} finally {
|
|
||||||
utility.endTenantFlow();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return publicMethods;
|
return publicMethods;
|
||||||
}();
|
}();
|
||||||
|
|||||||
@ -20,6 +20,7 @@ var groupModule = {};
|
|||||||
(function (groupModule) {
|
(function (groupModule) {
|
||||||
var log = new Log("/app/modules/group.js");
|
var log = new Log("/app/modules/group.js");
|
||||||
|
|
||||||
|
var userModule = require("/app/modules/user.js").userModule;
|
||||||
var constants = require('/app/modules/constants.js');
|
var constants = require('/app/modules/constants.js');
|
||||||
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
|
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
|
||||||
var utility = require("/app/modules/utility.js").utility;
|
var utility = require("/app/modules/utility.js").utility;
|
||||||
@ -32,7 +33,12 @@ var groupModule = {};
|
|||||||
var endPoint;
|
var endPoint;
|
||||||
|
|
||||||
groupModule.getGroupCount = function () {
|
groupModule.getGroupCount = function () {
|
||||||
endPoint = groupServiceEndpoint + "/user/" + user.username + "/count";
|
var permissions = userModule.getUIPermissions();
|
||||||
|
if (permissions.LIST_ALL_GROUPS) {
|
||||||
|
endPoint = groupServiceEndpoint + "/count";
|
||||||
|
} else if (permissions.LIST_GROUPS) {
|
||||||
|
endPoint = groupServiceEndpoint + "/user/" + user.username + "/count";
|
||||||
|
}
|
||||||
return serviceInvokers.XMLHttp.get(
|
return serviceInvokers.XMLHttp.get(
|
||||||
endPoint, function (responsePayload) {
|
endPoint, function (responsePayload) {
|
||||||
return responsePayload;
|
return responsePayload;
|
||||||
|
|||||||
@ -28,13 +28,6 @@ var userModule = require("/app/modules/user.js")["userModule"];
|
|||||||
var utility = require("/app/modules/utility.js")["utility"];
|
var utility = require("/app/modules/utility.js")["utility"];
|
||||||
|
|
||||||
var permissions = {
|
var permissions = {
|
||||||
'/permission/admin/device-mgt/devices': ['ui.execute'],
|
'/permission/admin/device-mgt/user': ['ui.execute']
|
||||||
'/permission/admin/device-mgt/operations': ['ui.execute'],
|
|
||||||
'/permission/admin/device-mgt/policies': ['ui.execute'],
|
|
||||||
'/permission/admin/device-mgt/user': ['ui.execute'],
|
|
||||||
'/permission/admin/device-mgt/users': ['ui.execute'],
|
|
||||||
'/permission/admin/device-mgt/admin/devices': ['ui.execute'],
|
|
||||||
'/permission/admin/device-mgt/admin/groups': ['ui.execute'],
|
|
||||||
'/permission/admin/device-mgt/admin/policies': ['ui.execute']
|
|
||||||
};
|
};
|
||||||
userModule.addRole("devicemgt-user", ["admin"], permissions);
|
userModule.addRole("devicemgt-user", ["admin"], permissions);
|
||||||
|
|||||||
@ -67,8 +67,7 @@ policyModule = function () {
|
|||||||
policyObjectToView["priorityId"] = policyObjectFromRestEndpoint["priorityId"];
|
policyObjectToView["priorityId"] = policyObjectFromRestEndpoint["priorityId"];
|
||||||
policyObjectToView["name"] = policyObjectFromRestEndpoint["policyName"];
|
policyObjectToView["name"] = policyObjectFromRestEndpoint["policyName"];
|
||||||
policyObjectToView["platform"] = policyObjectFromRestEndpoint["profile"]["deviceType"]["name"];
|
policyObjectToView["platform"] = policyObjectFromRestEndpoint["profile"]["deviceType"]["name"];
|
||||||
policyObjectToView["icon"] = devicemgtProps["httpsURL"] + devicemgtProps["appContext"] +
|
policyObjectToView["icon"] = utility.getDeviceThumb(policyObjectToView["platform"]);
|
||||||
"public/cdmf.unit.device.type." + policyObjectToView["platform"] + ".type-view/images/thumb.png";
|
|
||||||
policyObjectToView["ownershipType"] = policyObjectFromRestEndpoint["ownershipType"];
|
policyObjectToView["ownershipType"] = policyObjectFromRestEndpoint["ownershipType"];
|
||||||
policyObjectToView["roles"] = privateMethods.
|
policyObjectToView["roles"] = privateMethods.
|
||||||
getElementsInAString(policyObjectFromRestEndpoint["roles"]);
|
getElementsInAString(policyObjectFromRestEndpoint["roles"]);
|
||||||
|
|||||||
@ -632,7 +632,13 @@ var userModule = function () {
|
|||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/devices/list")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/devices/list")) {
|
||||||
permissions["LIST_DEVICES"] = true;
|
permissions["LIST_DEVICES"] = true;
|
||||||
}
|
}
|
||||||
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/list")) {
|
||||||
|
permissions["LIST_OWN_DEVICES"] = true;
|
||||||
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/list")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/list")) {
|
||||||
|
permissions["LIST_ALL_GROUPS"] = true;
|
||||||
|
}
|
||||||
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/list")) {
|
||||||
permissions["LIST_GROUPS"] = true;
|
permissions["LIST_GROUPS"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/list")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/list")) {
|
||||||
@ -642,9 +648,12 @@ var userModule = function () {
|
|||||||
permissions["LIST_ROLES"] = true;
|
permissions["LIST_ROLES"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/list")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/list")) {
|
||||||
|
permissions["LIST_ALL_POLICIES"] = true;
|
||||||
|
}
|
||||||
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/policies/list")) {
|
||||||
permissions["LIST_POLICIES"] = true;
|
permissions["LIST_POLICIES"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/add")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/add")) {
|
||||||
permissions["ADD_GROUP"] = true;
|
permissions["ADD_GROUP"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/add")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/add")) {
|
||||||
@ -656,7 +665,7 @@ var userModule = function () {
|
|||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/roles/add")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/roles/add")) {
|
||||||
permissions["ADD_ROLE"] = true;
|
permissions["ADD_ROLE"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/add")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/policies/add")) {
|
||||||
permissions["ADD_POLICY"] = true;
|
permissions["ADD_POLICY"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/priority")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/policies/priority")) {
|
||||||
@ -668,9 +677,6 @@ var userModule = function () {
|
|||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/platform-configs/view")) {
|
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/platform-configs/view")) {
|
||||||
permissions["TENANT_CONFIGURATION"] = true;
|
permissions["TENANT_CONFIGURATION"] = true;
|
||||||
}
|
}
|
||||||
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/list")) {
|
|
||||||
permissions["LIST_OWN_DEVICES"] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return permissions;
|
return permissions;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
var utility;
|
var utility;
|
||||||
utility = function () {
|
utility = function () {
|
||||||
|
|
||||||
|
var constants = require('/app/modules/constants.js');
|
||||||
|
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
|
||||||
var log = new Log("/app/modules/utility.js");
|
var log = new Log("/app/modules/utility.js");
|
||||||
var JavaClass = Packages.java.lang.Class;
|
var JavaClass = Packages.java.lang.Class;
|
||||||
var PrivilegedCarbonContext = Packages.org.wso2.carbon.context.PrivilegedCarbonContext;
|
var PrivilegedCarbonContext = Packages.org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
@ -104,26 +107,43 @@ utility = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
publicMethods.getOperationIcon = function (deviceType, operation) {
|
publicMethods.getOperationIcon = function (deviceType, operation) {
|
||||||
var iconPath = "/app/units/cdmf.unit.device.type."
|
var unitName = publicMethods.getTenantedDeviceUnitName(deviceType, "type-view");
|
||||||
+ deviceType + ".type-view/public/images/operations/" + operation + ".png";
|
var iconPath = "/app/units/" + unitName + "/public/images/operations/" + operation + ".png";
|
||||||
var icon = new File(iconPath);
|
var icon = new File(iconPath);
|
||||||
if (icon.isExists()) {
|
if (icon.isExists()) {
|
||||||
return "public/cdmf.unit.device.type." + deviceType + ".type-view/images/operations/" + operation + ".png";
|
return devicemgtProps["appContext"] + "public/" + unitName + "/images/operations/" + operation + ".png";
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
publicMethods.getDeviceThumb = function (deviceType) {
|
publicMethods.getDeviceThumb = function (deviceType) {
|
||||||
var iconPath = "/app/units/cdmf.unit.device.type."
|
var unitName = publicMethods.getTenantedDeviceUnitName(deviceType, "type-view");
|
||||||
+ deviceType + ".type-view/public/images/thumb.png";
|
var iconPath = "/app/units/" + unitName + "/public/images/thumb.png";
|
||||||
var icon = new File(iconPath);
|
var icon = new File(iconPath);
|
||||||
if (icon.isExists()) {
|
if (icon.isExists()) {
|
||||||
return "/devicemgt/public/cdmf.unit.device.type." + deviceType + ".type-view/images/thumb.png";
|
return devicemgtProps["appContext"] + "public/" + unitName + "/images/thumb.png";
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
publicMethods.getTenantedDeviceUnitName = function (deviceType, unitPostfix) {
|
||||||
|
var user = session.get(constants.USER_SESSION_KEY);
|
||||||
|
if (!user) {
|
||||||
|
log.error("User object was not found in the session");
|
||||||
|
throw constants.ERRORS.USER_NOT_FOUND;
|
||||||
|
}
|
||||||
|
var unitName = user.domain + "cdmf.unit.device.type." + deviceType + "." + unitPostfix;
|
||||||
|
if (new File("/app/units/" + unitName).isExists()) {
|
||||||
|
return unitName;
|
||||||
|
}
|
||||||
|
unitName = "cdmf.unit.device.type." + deviceType + "." + unitPostfix;
|
||||||
|
if (new File("/app/units/" + unitName).isExists()) {
|
||||||
|
return unitName;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
return publicMethods;
|
return publicMethods;
|
||||||
}();
|
}();
|
||||||
|
|||||||
@ -0,0 +1,89 @@
|
|||||||
|
{{#zone "topCss"}}
|
||||||
|
{{css "css/analytics.css"}}
|
||||||
|
{{css "css/daterangepicker.css"}}
|
||||||
|
{{css "css/graph.css"}}
|
||||||
|
{{/zone}}
|
||||||
|
|
||||||
|
{{unit "cdmf.unit.ui.title" pageTitle="Analytics"}}
|
||||||
|
{{unit "cdmf.unit.ui.content.title" pageHeader=title}}
|
||||||
|
{{unit "cdmf.unit.lib.service-invoker-utility"}}
|
||||||
|
{{unit "cdmf.unit.lib.handlebars"}}
|
||||||
|
|
||||||
|
{{#zone "breadcrumbs"}}
|
||||||
|
<li>
|
||||||
|
<a href="{{@app.context}}/">
|
||||||
|
<i class="icon fw fw-home"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{#if groupName}}
|
||||||
|
<li>
|
||||||
|
<a href="{{@app.context}}/groups">
|
||||||
|
Groups
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{@app.context}}/devices?groupId={{groupId}}&groupName={{groupName}}">
|
||||||
|
{{groupName}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{else}}
|
||||||
|
<li>
|
||||||
|
<a href="{{@app.context}}/devices">
|
||||||
|
Devices
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{@app.context}}/device/{{deviceType}}?id={{deviceId}}">
|
||||||
|
{{deviceName}}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
<li>
|
||||||
|
<a href="#">
|
||||||
|
Analytics
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{/zone}}
|
||||||
|
|
||||||
|
{{#zone "content"}}
|
||||||
|
<div class="container container-bg white-bg">
|
||||||
|
<div class=" margin-top-double">
|
||||||
|
<div class="row padding-top-double padding-bottom-double margin-bottom-double">
|
||||||
|
<div class="col-lg-3 margin-top-double">
|
||||||
|
<h1 class="grey ">{{deviceType}} Analytics</h1>
|
||||||
|
</div>
|
||||||
|
<div id="rangeSliderWrapper" class="pull-right col-lg-9">
|
||||||
|
<div id="dateRangePickerContainer">
|
||||||
|
<div class="btn-group" role="group">
|
||||||
|
<button id="hour-btn" type="button"
|
||||||
|
class="btn btn-default date-range">Hour
|
||||||
|
</button>
|
||||||
|
<button id="h12-btn" type="button"
|
||||||
|
class="btn btn-default date-range">12 Hours
|
||||||
|
</button>
|
||||||
|
<button id="h24-btn" type="button"
|
||||||
|
class="btn btn-default date-range">24 Hours
|
||||||
|
</button>
|
||||||
|
<button id="h48-btn" type="button"
|
||||||
|
class="btn btn-default date-range">48 Hours
|
||||||
|
</button>
|
||||||
|
<button id="date-range" type="button"
|
||||||
|
class="btn btn-default date-range last-child"
|
||||||
|
data-toggle="popup"
|
||||||
|
title="Click to set custom date range"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="clear"></div>
|
||||||
|
<div id="div-chart">
|
||||||
|
{{unit deviceAnalyticsViewUnitName}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/zone}}
|
||||||
|
{{#zone "bottomJs"}}
|
||||||
|
{{js "js/jquery.daterangepicker.js"}}
|
||||||
|
{{js "js/graph_util.js"}}
|
||||||
|
{{/zone}}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onRequest(context) {
|
||||||
|
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
||||||
|
if (arguments.length < 3)
|
||||||
|
throw new Error("Handlebars Helper equal needs 2 parameters");
|
||||||
|
if (lvalue != rvalue) {
|
||||||
|
return options.inverse(this);
|
||||||
|
} else {
|
||||||
|
return options.fn(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var deviceType = context.uriParams.deviceType;
|
||||||
|
return {
|
||||||
|
"deviceAnalyticsViewUnitName": "cdmf.unit.device.type." + deviceType + ".analytics-view",
|
||||||
|
"deviceType": deviceType
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0.0",
|
||||||
|
"uri": "/device/analytics/{deviceType}",
|
||||||
|
"layout": "cdmf.layout.default"
|
||||||
|
}
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#rangeSliderWrapper {
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#chart {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#legend {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#legend_container {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 26px;
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#chart_container {
|
||||||
|
float: left;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ast-container {
|
||||||
|
padding-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shrink {
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
.date-range{
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dateRangePickerContainer button.active{
|
||||||
|
background-color: #e6e6e6 !important;
|
||||||
|
}
|
||||||
@ -0,0 +1,348 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.date-picker {
|
||||||
|
width: 170px;
|
||||||
|
height: 25px;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
line-height: 25px;
|
||||||
|
padding-left: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: Arial;
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
color: #303030;
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
border: 1px solid #bfbfbf;
|
||||||
|
background-color: #efefef;
|
||||||
|
width: 448px;
|
||||||
|
padding: 5px 12px;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 20px;
|
||||||
|
color: #aaa;
|
||||||
|
font-family: Arial;
|
||||||
|
box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper.single-date {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper.no-shortcuts {
|
||||||
|
padding-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .footer {
|
||||||
|
display: none;
|
||||||
|
font-size: 11px;
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper b {
|
||||||
|
color: #666;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper a {
|
||||||
|
color: rgb(107, 180, 214);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper {
|
||||||
|
border: 1px solid #bfbfbf;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 5px;
|
||||||
|
cursor: default;
|
||||||
|
position: relative;
|
||||||
|
_overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table {
|
||||||
|
width: 190px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table.month2 {
|
||||||
|
width: 190px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table th,
|
||||||
|
.date-picker-wrapper .month-wrapper table td {
|
||||||
|
vertical-align: middle;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 14px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .day {
|
||||||
|
height: 19px;
|
||||||
|
line-height: 19px;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
color: #999;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table div.day.lastMonth,
|
||||||
|
.date-picker-wrapper .month-wrapper table div.day.nextMonth {
|
||||||
|
color: #999;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .day.checked {
|
||||||
|
background-color: rgb(156, 219, 247);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .week-name {
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .day.has-tooltip {
|
||||||
|
cursor: help !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .day.toMonth.valid {
|
||||||
|
color: #333;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .day.real-today {
|
||||||
|
background-color: rgb(255, 230, 132);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .month-wrapper table .day.real-today.checked {
|
||||||
|
background-color: rgb(112, 204, 213);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper table .caption {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper table .caption .next,
|
||||||
|
.date-picker-wrapper table .caption .prev {
|
||||||
|
padding: 0 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper table .caption .next:hover,
|
||||||
|
.date-picker-wrapper table .caption .prev:hover {
|
||||||
|
background-color: #ccc;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap {
|
||||||
|
position: absolute;
|
||||||
|
display: none;
|
||||||
|
top: 0px;
|
||||||
|
left: 204px;
|
||||||
|
z-index: 1;
|
||||||
|
width: 15px;
|
||||||
|
height: 100%;
|
||||||
|
background-color: red;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-lines {
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-line {
|
||||||
|
height: 15px;
|
||||||
|
width: 15px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-line .gap-1 {
|
||||||
|
z-index: 1;
|
||||||
|
height: 0;
|
||||||
|
border-left: 8px solid white;
|
||||||
|
border-top: 8px solid #eee;
|
||||||
|
border-bottom: 8px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-line .gap-2 {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0px;
|
||||||
|
z-index: 2;
|
||||||
|
height: 0;
|
||||||
|
border-left: 8px solid transparent;
|
||||||
|
border-top: 8px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-line .gap-3 {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 8px;
|
||||||
|
z-index: 2;
|
||||||
|
height: 0;
|
||||||
|
border-left: 8px solid transparent;
|
||||||
|
border-bottom: 8px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-top-mask {
|
||||||
|
width: 6px;
|
||||||
|
height: 1px;
|
||||||
|
position: absolute;
|
||||||
|
top: -1px;
|
||||||
|
left: 1px;
|
||||||
|
background-color: #eee;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .gap .gap-bottom-mask {
|
||||||
|
width: 6px;
|
||||||
|
height: 1px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: -1px;
|
||||||
|
left: 7px;
|
||||||
|
background-color: #eee;
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .selected-days {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar {
|
||||||
|
line-height: 40px;
|
||||||
|
height: 40px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar .error-top {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar .normal-top {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar .default-top {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar.error .default-top {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar.error .error-top {
|
||||||
|
display: block;
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar.normal .default-top {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar.normal .normal-top {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar .apply-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
top: 6px;
|
||||||
|
padding: 3px 5px;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 12px;
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
color: #d9eef7;
|
||||||
|
border: solid 1px #0076a3;
|
||||||
|
background: #0095cd;
|
||||||
|
background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5));
|
||||||
|
background: -moz-linear-gradient(top, #00adee, #0078a5);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5');
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-picker-wrapper .drp_top-bar .apply-btn.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
color: #606060;
|
||||||
|
border: solid 1px #b7b7b7;
|
||||||
|
background: #fff;
|
||||||
|
background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
|
||||||
|
background: -moz-linear-gradient(top, #fff, #ededed);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
|
||||||
|
}
|
||||||
|
|
||||||
|
/*time styling*/
|
||||||
|
.time {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time input[type=range] {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time1, .time2 {
|
||||||
|
width: 180px;
|
||||||
|
padding: 0 5px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time1 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time2 {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hour, .minute {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.hour-range, input.minute-range {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dateRangePickerContainer .date-range, #dateRangePickerContainer .input-append {
|
||||||
|
background: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#date-range {
|
||||||
|
padding-right: 30px;
|
||||||
|
width: 300px;
|
||||||
|
height: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dateRangePickerContainer {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
@ -0,0 +1,463 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* graph */
|
||||||
|
|
||||||
|
.rickshaw_graph {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph svg {
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ticks */
|
||||||
|
|
||||||
|
.rickshaw_graph .x_tick {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 0;
|
||||||
|
border-left: 1px dotted rgba(0, 0, 0, 0.2);
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .x_tick .title {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
opacity: 0.5;
|
||||||
|
white-space: nowrap;
|
||||||
|
margin-left: 3px;
|
||||||
|
bottom: -20px;
|
||||||
|
height: auto;
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* annotations */
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline {
|
||||||
|
height: 1px;
|
||||||
|
border-top: 1px solid #e0e0e0;
|
||||||
|
margin-top: 10px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation {
|
||||||
|
position: absolute;
|
||||||
|
height: 6px;
|
||||||
|
width: 6px;
|
||||||
|
margin-left: -2px;
|
||||||
|
top: -3px;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .annotation_line {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: -6px;
|
||||||
|
width: 0;
|
||||||
|
border-left: 2px solid rgba(0, 0, 0, 0.3);
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .annotation_line.active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .annotation_range {
|
||||||
|
background: rgba(0, 0, 0, 0.1);
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: -6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .annotation_range.active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .annotation_range.active.offscreen {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation .content {
|
||||||
|
background: white;
|
||||||
|
color: black;
|
||||||
|
opacity: 0.9;
|
||||||
|
box-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
|
||||||
|
border-radius: 3px;
|
||||||
|
position: relative;
|
||||||
|
z-index: 20;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 6px 8px 8px;
|
||||||
|
top: 18px;
|
||||||
|
left: -11px;
|
||||||
|
width: 160px;
|
||||||
|
display: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation .content:before {
|
||||||
|
content: "\25b2";
|
||||||
|
position: absolute;
|
||||||
|
top: -11px;
|
||||||
|
color: white;
|
||||||
|
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation.active,
|
||||||
|
.rickshaw_annotation_timeline .annotation:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.8);
|
||||||
|
cursor: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation .content:hover {
|
||||||
|
z-index: 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation.active .content {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_annotation_timeline .annotation:hover .content {
|
||||||
|
display: block;
|
||||||
|
z-index: 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_axis,
|
||||||
|
.rickshaw_graph .x_axis_d3 {
|
||||||
|
fill: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_ticks .tick line,
|
||||||
|
.rickshaw_graph .x_ticks_d3 .tick {
|
||||||
|
stroke: rgba(0, 0, 0, 0.16);
|
||||||
|
stroke-width: 2px;
|
||||||
|
shape-rendering: crisp-edges;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_grid .tick,
|
||||||
|
.rickshaw_graph .x_grid_d3 .tick {
|
||||||
|
z-index: -1;
|
||||||
|
stroke: rgba(0, 0, 0, 0.20);
|
||||||
|
stroke-width: 1px;
|
||||||
|
stroke-dasharray: 1 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_grid .tick[data-y-value="0"] {
|
||||||
|
stroke-dasharray: 1 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_grid path,
|
||||||
|
.rickshaw_graph .x_grid_d3 path {
|
||||||
|
fill: none;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_ticks path,
|
||||||
|
.rickshaw_graph .x_ticks_d3 path {
|
||||||
|
fill: none;
|
||||||
|
stroke: #808080;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .y_ticks text,
|
||||||
|
.rickshaw_graph .x_ticks_d3 text {
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 12px;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .x_tick.glow .title,
|
||||||
|
.rickshaw_graph .y_ticks.glow text {
|
||||||
|
fill: black;
|
||||||
|
color: black;
|
||||||
|
text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1),
|
||||||
|
1px -1px 0 rgba(255, 255, 255, 0.1),
|
||||||
|
1px 1px 0 rgba(255, 255, 255, 0.1),
|
||||||
|
0 1px 0 rgba(255, 255, 255, 0.1),
|
||||||
|
0 -1px 0 rgba(255, 255, 255, 0.1),
|
||||||
|
1px 0 0 rgba(255, 255, 255, 0.1),
|
||||||
|
-1px 0 0 rgba(255, 255, 255, 0.1),
|
||||||
|
-1px -1px 0 rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .x_tick.inverse .title,
|
||||||
|
.rickshaw_graph .y_ticks.inverse text {
|
||||||
|
fill: white;
|
||||||
|
color: white;
|
||||||
|
text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8),
|
||||||
|
1px -1px 0 rgba(0, 0, 0, 0.8),
|
||||||
|
1px 1px 0 rgba(0, 0, 0, 0.8),
|
||||||
|
0 1px 0 rgba(0, 0, 0, 0.8),
|
||||||
|
0 -1px 0 rgba(0, 0, 0, 0.8),
|
||||||
|
1px 0 0 rgba(0, 0, 0, 0.8),
|
||||||
|
-1px 0 0 rgba(0, 0, 0, 0.8),
|
||||||
|
-1px -1px 0 rgba(0, 0, 0, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_rickshaw_graph {
|
||||||
|
position: relative;
|
||||||
|
left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_y_axis {
|
||||||
|
position: absolute;
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_slider {
|
||||||
|
left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom_x_axis {
|
||||||
|
position: relative;
|
||||||
|
left: 40px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*detail*/
|
||||||
|
|
||||||
|
.rickshaw_graph .detail {
|
||||||
|
pointer-events: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
z-index: 2;
|
||||||
|
background: rgba(0, 0, 0, 0.1);
|
||||||
|
bottom: 0;
|
||||||
|
width: 1px;
|
||||||
|
transition: opacity 0.25s linear;
|
||||||
|
-moz-transition: opacity 0.25s linear;
|
||||||
|
-o-transition: opacity 0.25s linear;
|
||||||
|
-webkit-transition: opacity 0.25s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail.inactive {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item.active {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .x_label {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: 6px;
|
||||||
|
opacity: 0.5;
|
||||||
|
border: 1px solid #e0e0e0;
|
||||||
|
font-size: 12px;
|
||||||
|
position: absolute;
|
||||||
|
background: white;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .x_label.left {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .x_label.right {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: 0.25em;
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
opacity: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.4);
|
||||||
|
color: white;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.4);
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
margin-top: -1em;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item.left {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item.right {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item.active {
|
||||||
|
opacity: 1;
|
||||||
|
background: rgba(0, 0, 0, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item:after {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
content: "";
|
||||||
|
|
||||||
|
border: 5px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item.left:after {
|
||||||
|
top: 1em;
|
||||||
|
left: -5px;
|
||||||
|
margin-top: -5px;
|
||||||
|
border-right-color: rgba(0, 0, 0, 0.8);
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .item.right:after {
|
||||||
|
top: 1em;
|
||||||
|
right: -5px;
|
||||||
|
margin-top: -5px;
|
||||||
|
border-left-color: rgba(0, 0, 0, 0.8);
|
||||||
|
border-right-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .dot {
|
||||||
|
width: 4px;
|
||||||
|
height: 4px;
|
||||||
|
margin-left: -3px;
|
||||||
|
margin-top: -3.5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
position: absolute;
|
||||||
|
box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
|
||||||
|
box-sizing: content-box;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
background: white;
|
||||||
|
border-width: 2px;
|
||||||
|
border-style: solid;
|
||||||
|
display: none;
|
||||||
|
background-clip: padding-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_graph .detail .dot.active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*legend*/
|
||||||
|
.rickshaw_legend {
|
||||||
|
font-family: Arial;
|
||||||
|
font-size: 12px;
|
||||||
|
color: white;
|
||||||
|
background: #404040;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 12px 5px;
|
||||||
|
border-radius: 2px;
|
||||||
|
position: relative;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend:hover {
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .swatch {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .line {
|
||||||
|
clear: both;
|
||||||
|
line-height: 140%;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .line .swatch {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 3px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .label {
|
||||||
|
margin: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: inline;
|
||||||
|
font-size: inherit;
|
||||||
|
background-color: transparent;
|
||||||
|
color: inherit;
|
||||||
|
font-weight: normal;
|
||||||
|
line-height: normal;
|
||||||
|
padding: 0;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .action:hover {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .action {
|
||||||
|
margin-right: 0.2em;
|
||||||
|
opacity: 0.2;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend .line.disabled {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend ul {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 2px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend li {
|
||||||
|
padding: 0 0 0 2px;
|
||||||
|
min-width: 80px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend li:hover {
|
||||||
|
background: rgba(255, 255, 255, 0.08);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rickshaw_legend li:active {
|
||||||
|
background: rgba(255, 255, 255, 0.2);
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legend {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legend_container {
|
||||||
|
float: right;
|
||||||
|
padding-right: 10px;
|
||||||
|
width: 0;
|
||||||
|
z-index: 1;
|
||||||
|
position: relative;
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spaced {
|
||||||
|
margin-top: 20px !important;
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var fromDate, toDate, currentDay = new Date();
|
||||||
|
var startDate = new Date(currentDay.getTime() - (60 * 60 * 24 * 100));
|
||||||
|
var endDate = new Date(currentDay.getTime());
|
||||||
|
|
||||||
|
function initDate() {
|
||||||
|
currentDay = new Date();
|
||||||
|
}
|
||||||
|
|
||||||
|
var DateRange = convertDate(startDate) + " to " + convertDate(endDate);
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
initDate();
|
||||||
|
|
||||||
|
$('#date-range').html(DateRange);
|
||||||
|
$('#date-range').dateRangePicker()
|
||||||
|
.bind('datepicker-apply', function (event, dateRange) {
|
||||||
|
$(this).addClass('active');
|
||||||
|
$(this).siblings().removeClass('active');
|
||||||
|
fromDate = dateRange.date1 != "Invalid Date" ? dateRange.date1.getTime() / 1000 : null;
|
||||||
|
toDate = dateRange.date2 != "Invalid Date" ? dateRange.date2.getTime() / 1000 : null;
|
||||||
|
drawGraph(fromDate, toDate);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
setDateTime(currentDay.getTime() - 3600000, currentDay.getTime());
|
||||||
|
$('#hour-btn').addClass('active');
|
||||||
|
});
|
||||||
|
|
||||||
|
//hour
|
||||||
|
$('#hour-btn').on('click', function () {
|
||||||
|
initDate();
|
||||||
|
setDateTime(currentDay.getTime() - 3600000, currentDay.getTime());
|
||||||
|
});
|
||||||
|
|
||||||
|
//12 hours
|
||||||
|
$('#h12-btn').on('click', function () {
|
||||||
|
initDate();
|
||||||
|
setDateTime(currentDay.getTime() - (3600000 * 12), currentDay.getTime());
|
||||||
|
});
|
||||||
|
|
||||||
|
//24 hours
|
||||||
|
$('#h24-btn').on('click', function () {
|
||||||
|
initDate();
|
||||||
|
setDateTime(currentDay.getTime() - (3600000 * 24), currentDay.getTime());
|
||||||
|
});
|
||||||
|
|
||||||
|
//48 hours
|
||||||
|
$('#h48-btn').on('click', function () {
|
||||||
|
initDate();
|
||||||
|
setDateTime(currentDay.getTime() - (3600000 * 48), currentDay.getTime());
|
||||||
|
});
|
||||||
|
|
||||||
|
$('body').on('click', '.btn-group button', function (e) {
|
||||||
|
$(this).addClass('active');
|
||||||
|
$(this).siblings().removeClass('active');
|
||||||
|
});
|
||||||
|
|
||||||
|
function setDateTime(from, to) {
|
||||||
|
fromDate = from;
|
||||||
|
toDate = to;
|
||||||
|
startDate = new Date(from);
|
||||||
|
endDate = new Date(to);
|
||||||
|
DateRange = convertDate(startDate) + " to " + convertDate(endDate);
|
||||||
|
$('#date-range').html(DateRange);
|
||||||
|
var tzOffset = new Date().getTimezoneOffset() * 60 / 1000;
|
||||||
|
from += tzOffset;
|
||||||
|
to += tzOffset;
|
||||||
|
|
||||||
|
// the relevant import units needs to implement this.
|
||||||
|
drawGraph(parseInt(from / 1000), parseInt(to / 1000));
|
||||||
|
}
|
||||||
|
|
||||||
|
function convertDate(date) {
|
||||||
|
var month = date.getMonth() + 1;
|
||||||
|
var day = date.getDate();
|
||||||
|
var hour = date.getHours();
|
||||||
|
var minute = date.getMinutes();
|
||||||
|
return date.getFullYear() + '-' + (('' + month).length < 2 ? '0' : '') + month + '-' +
|
||||||
|
(('' + day).length < 2 ? '0' : '') + day + " " + (('' + hour).length < 2 ? '0' : '') +
|
||||||
|
hour + ":" + (('' + minute).length < 2 ? '0' : '') + minute;
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -39,9 +39,8 @@ function onRequest(context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"deviceTypeViewUnitName": "cdmf.unit.device.type." + deviceType + ".type-view",
|
"deviceTypeViewUnitName": utility.getTenantedDeviceUnitName(deviceType, "type-view"),
|
||||||
"deviceType": deviceType,
|
"deviceType": deviceType,
|
||||||
"label" : configs["deviceType"]["label"]
|
"label" : configs["deviceType"]["label"]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context){
|
function onRequest(context){
|
||||||
|
var utility = require("/app/modules/utility.js").utility;
|
||||||
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
||||||
if (arguments.length < 3)
|
if (arguments.length < 3)
|
||||||
throw new Error("Handlebars Helper equal needs 2 parameters");
|
throw new Error("Handlebars Helper equal needs 2 parameters");
|
||||||
@ -28,6 +29,5 @@ function onRequest(context){
|
|||||||
});
|
});
|
||||||
|
|
||||||
var deviceType = context.uriParams.deviceType;
|
var deviceType = context.uriParams.deviceType;
|
||||||
|
return {"deviceViewUnitName": utility.getTenantedDeviceUnitName(deviceType, "device-view")};
|
||||||
return {"deviceViewUnitName" : "cdmf.unit.device.type." + deviceType + ".device-view"};
|
|
||||||
}
|
}
|
||||||
@ -59,9 +59,9 @@
|
|||||||
<div class="wr-hidden-operations wr-advance-operations"></div>
|
<div class="wr-hidden-operations wr-advance-operations"></div>
|
||||||
<div class="col-md-12 wr-page-content">
|
<div class="col-md-12 wr-page-content">
|
||||||
<div>
|
<div>
|
||||||
|
<span id="permission" data-permission="{{permissions.list}}"></span>
|
||||||
{{unit "cdmf.unit.device.operation-mod"}}
|
{{unit "cdmf.unit.device.operation-mod"}}
|
||||||
{{#if deviceCount}}
|
{{#if deviceCount}}
|
||||||
<span id="permission" data-permission="{{permissions.list}}"></span>
|
|
||||||
<div id="loading-content" class="col-centered">
|
<div id="loading-content" class="col-centered">
|
||||||
<i class="fw fw-settings fw-spin fw-2x"></i>
|
<i class="fw fw-settings fw-spin fw-2x"></i>
|
||||||
|
|
||||||
@ -100,18 +100,19 @@
|
|||||||
<th data-for="By Ownership" class="select-filter"></th>
|
<th data-for="By Ownership" class="select-filter"></th>
|
||||||
<th class="no-sort"></th>
|
<th class="no-sort"></th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="bulk-action-row">
|
<!--TODO: Enable bulk action row after gain compatibility with iot operation bar-->
|
||||||
<th colspan="7">
|
<!--<tr class="bulk-action-row">-->
|
||||||
<div id="operation-bar" class="hidden">
|
<!--<th colspan="7">-->
|
||||||
{{unit "mdm.unit.device.operation-bar"}}
|
<!--<div id="operation-bar" class="hidden">-->
|
||||||
</div>
|
<!--{{!unit "mdm.unit.device.operation-bar"}}-->
|
||||||
<div id="operation-guide" class="bs-callout bs-callout-info">
|
<!--</div>-->
|
||||||
<h4>Enabling Device Operations</h4>
|
<!--<div id="operation-guide" class="bs-callout bs-callout-info">-->
|
||||||
<p>To enable device operations, select the desired platform from above
|
<!--<h4>Enabling Device Operations</h4>-->
|
||||||
filter.</p>
|
<!--<p>To enable device operations, select the desired platform from above-->
|
||||||
</div>
|
<!--filter.</p>-->
|
||||||
</th>
|
<!--</div>-->
|
||||||
</tr>
|
<!--</th>-->
|
||||||
|
<!--</tr>-->
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="ast-container">
|
<tbody id="ast-container">
|
||||||
|
|
||||||
@ -325,8 +326,6 @@
|
|||||||
|
|
||||||
{{#zone "bottomJs"}}
|
{{#zone "bottomJs"}}
|
||||||
<script id="device-listing" data-current-user="{{currentUser.username}}" data-device-types="{{deviceTypes}}"
|
<script id="device-listing" data-current-user="{{currentUser.username}}" data-device-types="{{deviceTypes}}"
|
||||||
data-image-resource="{{@app.context}}/public/cdmf.unit.device.type."
|
|
||||||
src="{{@page.publicUri}}/templates/listing.hbs"
|
|
||||||
type="text/x-handlebars-template"></script>
|
type="text/x-handlebars-template"></script>
|
||||||
{{js "js/listing.js"}}
|
{{js "js/listing.js"}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
@ -35,8 +35,8 @@ function onRequest(context) {
|
|||||||
if (currentUser) {
|
if (currentUser) {
|
||||||
page.permissions = {};
|
page.permissions = {};
|
||||||
page.permissions.list = stringify(userModule.getUIPermissions());
|
page.permissions.list = stringify(userModule.getUIPermissions());
|
||||||
if (userModule.isAuthorized("/permission/admin/device-mgt/admin/devices/add")) {
|
if (userModule.isAuthorized("/permission/admin/device-mgt/user/devices/add")) {
|
||||||
permissions.enroll = true;
|
page.permissions.enroll = true;
|
||||||
}
|
}
|
||||||
page.currentUser = currentUser;
|
page.currentUser = currentUser;
|
||||||
var deviceCount = 0;
|
var deviceCount = 0;
|
||||||
@ -58,7 +58,8 @@ function onRequest(context) {
|
|||||||
deviceTypes.push({
|
deviceTypes.push({
|
||||||
"type": data[i].name,
|
"type": data[i].name,
|
||||||
"category": deviceType.category,
|
"category": deviceType.category,
|
||||||
"label": deviceType.label
|
"label": deviceType.label,
|
||||||
|
"thumb": utility.getDeviceThumb(data[i].name)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,7 +70,6 @@ $(document).ready(function () {
|
|||||||
addDeviceSelectedClass(this);
|
addDeviceSelectedClass(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
var i;
|
|
||||||
var permissionList = $("#permission").data("permission");
|
var permissionList = $("#permission").data("permission");
|
||||||
for (var key in permissionList) {
|
for (var key in permissionList) {
|
||||||
if (permissionList.hasOwnProperty(key)) {
|
if (permissionList.hasOwnProperty(key)) {
|
||||||
@ -97,7 +96,7 @@ $(document).ready(function () {
|
|||||||
console.log(message);
|
console.log(message);
|
||||||
}, function(message){
|
}, function(message){
|
||||||
console.log(message.content);
|
console.log(message.content);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -163,10 +162,8 @@ function toTitleCase(str) {
|
|||||||
|
|
||||||
function loadDevices(searchType, searchParam){
|
function loadDevices(searchType, searchParam){
|
||||||
var deviceListing = $("#device-listing");
|
var deviceListing = $("#device-listing");
|
||||||
var deviceListingSrc = deviceListing.attr("src");
|
|
||||||
var imageResource = deviceListing.data("image-resource");
|
var imageResource = deviceListing.data("image-resource");
|
||||||
var currentUser = deviceListing.data("currentUser");
|
var currentUser = deviceListing.data("currentUser");
|
||||||
var frontEndPagination = false;
|
|
||||||
|
|
||||||
var serviceURL;
|
var serviceURL;
|
||||||
if ($.hasPermission("LIST_DEVICES")) {
|
if ($.hasPermission("LIST_DEVICES")) {
|
||||||
@ -206,6 +203,26 @@ function loadDevices(searchType, searchParam){
|
|||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDeviceTypeCategory(type) {
|
||||||
|
var deviceTypes = deviceListing.data("deviceTypes");
|
||||||
|
for (var i = 0; i < deviceTypes.length; i++) {
|
||||||
|
if (deviceTypes[i].type == type) {
|
||||||
|
return deviceTypes[i].category;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDeviceTypeThumb(type) {
|
||||||
|
var deviceTypes = deviceListing.data("deviceTypes");
|
||||||
|
for (var i = 0; i < deviceTypes.length; i++) {
|
||||||
|
if (deviceTypes[i].type == type) {
|
||||||
|
return deviceTypes[i].thumb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
$('#device-grid').datatables_extended ({
|
$('#device-grid').datatables_extended ({
|
||||||
serverSide: true,
|
serverSide: true,
|
||||||
processing: false,
|
processing: false,
|
||||||
@ -226,7 +243,7 @@ function loadDevices(searchType, searchParam){
|
|||||||
},
|
},
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
{ targets: 0, data: 'name', className: 'remove-padding icon-only content-fill' , render: function ( data, type, row, meta ) {
|
{ targets: 0, data: 'name', className: 'remove-padding icon-only content-fill' , render: function ( data, type, row, meta ) {
|
||||||
return '<div class="thumbnail icon"><img class="square-element text fw " src="' + imageResource + row.type + '.type-view/images/thumb.png"/></div>';
|
return '<div class="thumbnail icon"><img class="square-element text fw " src="' + getDeviceTypeThumb(row.type) + '"/></div>';
|
||||||
}},
|
}},
|
||||||
{ targets: 1, data: 'name', className: 'fade-edge' , render: function ( name, type, row, meta ) {
|
{ targets: 1, data: 'name', className: 'fade-edge' , render: function ( name, type, row, meta ) {
|
||||||
var model = getPropertyValue(row.properties, 'DEVICE_MODEL');
|
var model = getPropertyValue(row.properties, 'DEVICE_MODEL');
|
||||||
@ -238,7 +255,8 @@ function loadDevices(searchType, searchParam){
|
|||||||
return html;
|
return html;
|
||||||
}},
|
}},
|
||||||
{ targets: 2, data: 'enrolmentInfo.owner', className: 'fade-edge remove-padding-top'},
|
{ targets: 2, data: 'enrolmentInfo.owner', className: 'fade-edge remove-padding-top'},
|
||||||
{ targets: 3, data: 'enrolmentInfo.status', className: 'fade-edge remove-padding-top' ,
|
{
|
||||||
|
targets: 3, data: 'enrolmentInfo.status', className: 'fade-edge remove-padding-top',
|
||||||
render: function ( status, type, row, meta ) {
|
render: function ( status, type, row, meta ) {
|
||||||
var html;
|
var html;
|
||||||
switch (status) {
|
switch (status) {
|
||||||
@ -257,11 +275,22 @@ function loadDevices(searchType, searchParam){
|
|||||||
}
|
}
|
||||||
return html;
|
return html;
|
||||||
}},
|
}},
|
||||||
{ targets: 4, data: 'type' , className: 'fade-edge remove-padding-top' ,
|
{
|
||||||
|
targets: 4, data: 'type', className: 'fade-edge remove-padding-top',
|
||||||
render: function ( status, type, row, meta ) {
|
render: function ( status, type, row, meta ) {
|
||||||
return getDeviceTypeLabel(row.type);
|
return getDeviceTypeLabel(row.type);
|
||||||
}},
|
}
|
||||||
{ targets: 5, data: 'enrolmentInfo.ownership' , className: 'fade-edge remove-padding-top' },
|
},
|
||||||
|
{
|
||||||
|
targets: 5, data: 'enrolmentInfo.ownership', className: 'fade-edge remove-padding-top',
|
||||||
|
render: function (status, type, row, meta) {
|
||||||
|
if (getDeviceTypeCategory(row.type) == 'mobile') {
|
||||||
|
return row.enrolmentInfo.ownership;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{ targets: 6, data: 'enrolmentInfo.status' , className: 'text-right content-fill text-left-on-grid-view no-wrap' ,
|
{ targets: 6, data: 'enrolmentInfo.status' , className: 'text-right content-fill text-left-on-grid-view no-wrap' ,
|
||||||
render: function ( status, type, row, meta ) {
|
render: function ( status, type, row, meta ) {
|
||||||
var deviceType = row.type;
|
var deviceType = row.type;
|
||||||
@ -271,6 +300,15 @@ function loadDevices(searchType, searchParam){
|
|||||||
html = '<a href="device/' + deviceType + '?id=' + deviceIdentifier + '" data-click-event="remove-form"' +
|
html = '<a href="device/' + deviceType + '?id=' + deviceIdentifier + '" data-click-event="remove-form"' +
|
||||||
' class="btn padding-reduce-on-grid-view"><span class="fw-stack"><i class="fw fw-ring fw-stack-2x"></i>' +
|
' class="btn padding-reduce-on-grid-view"><span class="fw-stack"><i class="fw fw-ring fw-stack-2x"></i>' +
|
||||||
'<i class="fw fw-view fw-stack-1x"></i></span><span class="hidden-xs hidden-on-grid-view">View</span></a>';
|
'<i class="fw fw-view fw-stack-1x"></i></span><span class="hidden-xs hidden-on-grid-view">View</span></a>';
|
||||||
|
html += '<a href="analytics?deviceId=' + deviceIdentifier + '&deviceType=' + deviceType + '&deviceName=' + row.name + '" ' +
|
||||||
|
'data-click-event="remove-form" class="btn padding-reduce-on-grid-view"><span class="fw-stack">' +
|
||||||
|
'<i class="fw fw-ring fw-stack-2x"></i><i class="fw fw-statistics fw-stack-1x"></i></span>' +
|
||||||
|
'<span class="hidden-xs hidden-on-grid-view">Analytics</span>';
|
||||||
|
html += '<a href="#" data-click-event="remove-form" class="btn padding-reduce-on-grid-view edit-device-link" ' +
|
||||||
|
'data-deviceid="' + deviceIdentifier + '" data-devicetype="' + deviceType + '" data-devicename="' + row.name + '">' +
|
||||||
|
'<span class="fw-stack"><i class="fw fw-ring fw-stack-2x"></i>' +
|
||||||
|
'<i class="fw fw-edit fw-stack-1x"></i></span>' +
|
||||||
|
'<span class="hidden-xs hidden-on-grid-view">Edit</span></a>';
|
||||||
}
|
}
|
||||||
return html;
|
return html;
|
||||||
}}
|
}}
|
||||||
@ -285,6 +323,7 @@ function loadDevices(searchType, searchParam){
|
|||||||
var status = data.enrolmentInfo.status;
|
var status = data.enrolmentInfo.status;
|
||||||
var ownership = data.enrolmentInfo.ownership;
|
var ownership = data.enrolmentInfo.ownership;
|
||||||
var deviceType = data.type;
|
var deviceType = data.type;
|
||||||
|
var category = getDeviceTypeCategory(deviceType);
|
||||||
$.each($('td', row), function (colIndex) {
|
$.each($('td', row), function (colIndex) {
|
||||||
switch(colIndex) {
|
switch(colIndex) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -304,18 +343,21 @@ function loadDevices(searchType, searchParam){
|
|||||||
case 4:
|
case 4:
|
||||||
$(this).attr('data-grid-label', "Type");
|
$(this).attr('data-grid-label', "Type");
|
||||||
$(this).attr('data-search', deviceType);
|
$(this).attr('data-search', deviceType);
|
||||||
$(this).attr('data-display', deviceType);
|
$(this).attr('data-display', getDeviceTypeLabel(deviceType));
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
$(this).attr('data-grid-label', "Ownership");
|
if (category == 'mobile') {
|
||||||
$(this).attr('data-search', ownership);
|
$(this).attr('data-grid-label', "Ownership");
|
||||||
$(this).attr('data-display', ownership);
|
$(this).attr('data-search', ownership);
|
||||||
|
$(this).attr('data-display', ownership);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
"fnDrawCallback": function( oSettings ) {
|
"fnDrawCallback": function( oSettings ) {
|
||||||
$(".icon .text").res_text(0.2);
|
$(".icon .text").res_text(0.2);
|
||||||
|
attachDeviceEvents();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$(deviceCheckbox).click(function () {
|
$(deviceCheckbox).click(function () {
|
||||||
@ -338,63 +380,22 @@ function openCollapsedNav() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadGroupedDevices(groupId) {
|
|
||||||
var serviceURL = "api/group/id/" + groupId + "/device/all";
|
|
||||||
var deviceListing = $("#device-listing");
|
|
||||||
var deviceListingSrc = deviceListing.attr("src");
|
|
||||||
var imageResource = deviceListing.data("image-resource");
|
|
||||||
var currentUser = deviceListing.data("currentUser");
|
|
||||||
$.template("device-listing", deviceListingSrc, function (template) {
|
|
||||||
|
|
||||||
var loadGroupRequest = $.ajax({
|
|
||||||
url: serviceURL,
|
|
||||||
method: "GET",
|
|
||||||
contentType: "application/json",
|
|
||||||
accept: "application/json"
|
|
||||||
});
|
|
||||||
|
|
||||||
loadGroupRequest.done(function (data) {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
var viewModel = {};
|
|
||||||
viewModel.devices = data.data;
|
|
||||||
viewModel.imageLocation = imageResource;
|
|
||||||
viewModel.isGroupView = "true";
|
|
||||||
if (viewModel.devices.length > 0) {
|
|
||||||
$('#device-grid').removeClass('hidden');
|
|
||||||
var content = template(viewModel);
|
|
||||||
$("#ast-container").html(content);
|
|
||||||
/*
|
|
||||||
* On device checkbox select add parent selected style class
|
|
||||||
*/
|
|
||||||
$(deviceCheckbox).click(function () {
|
|
||||||
addDeviceSelectedClass(this);
|
|
||||||
});
|
|
||||||
attachDeviceEvents();
|
|
||||||
} else {
|
|
||||||
$('#device-table').addClass('hidden');
|
|
||||||
$('#device-listing-status-msg').text('No device is available to be displayed.');
|
|
||||||
}
|
|
||||||
$("#loading-content").remove();
|
|
||||||
$('#device-grid').datatables_extended();
|
|
||||||
$(".icon .text").res_text(0.2);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function initPage() {
|
function initPage() {
|
||||||
var groupId = getParameterByName('groupId');
|
var deviceListing = $("#device-listing");
|
||||||
invokerUtil.get(
|
var currentUser = deviceListing.data("currentUser");
|
||||||
"/devicemgt_admin/devices/count",
|
var serviceURL;
|
||||||
|
if ($.hasPermission("LIST_DEVICES")) {
|
||||||
|
serviceURL = "/devicemgt_admin/devices/count";
|
||||||
|
} else if ($.hasPermission("LIST_OWN_DEVICES")) {
|
||||||
|
//Get authenticated users devices
|
||||||
|
serviceURL = "/devicemgt_admin/devices/user/"+currentUser+"/count";
|
||||||
|
}
|
||||||
|
invokerUtil.get(serviceURL,
|
||||||
function (data) {
|
function (data) {
|
||||||
if (data) {
|
if (data) {
|
||||||
data = JSON.parse(data);
|
data = JSON.parse(data);
|
||||||
if (Number(data) > 0) {
|
if (Number(data) > 0) {
|
||||||
if (groupId) {
|
loadDevices();
|
||||||
loadGroupedDevices(groupId);
|
|
||||||
} else {
|
|
||||||
loadDevices();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
$("#loading-content").remove();
|
$("#loading-content").remove();
|
||||||
$("#device-listing-status-msg").text("No enrolled devices found.");
|
$("#device-listing-status-msg").text("No enrolled devices found.");
|
||||||
@ -411,20 +412,20 @@ function initPage() {
|
|||||||
* DOM ready functions.
|
* DOM ready functions.
|
||||||
*/
|
*/
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
initPage();
|
|
||||||
|
|
||||||
/* Adding selected class for selected devices */
|
/* Adding selected class for selected devices */
|
||||||
$(deviceCheckbox).each(function () {
|
$(deviceCheckbox).each(function () {
|
||||||
addDeviceSelectedClass(this);
|
addDeviceSelectedClass(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
var i;
|
|
||||||
var permissionList = $("#permission").data("permission");
|
var permissionList = $("#permission").data("permission");
|
||||||
for (i = 0; i < permissionList.length; i++) {
|
for (var key in permissionList) {
|
||||||
$.setPermission(permissionList[i]);
|
if (permissionList.hasOwnProperty(key)){
|
||||||
|
$.setPermission(key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initPage();
|
||||||
|
|
||||||
/* for device list sorting drop down */
|
/* for device list sorting drop down */
|
||||||
$(".ctrl-filter-type-switcher").popover({
|
$(".ctrl-filter-type-switcher").popover({
|
||||||
html : true,
|
html : true,
|
||||||
@ -591,21 +592,19 @@ function attachDeviceEvents() {
|
|||||||
$("a.remove-device-link").click(function () {
|
$("a.remove-device-link").click(function () {
|
||||||
var deviceId = $(this).data("deviceid");
|
var deviceId = $(this).data("deviceid");
|
||||||
var deviceType = $(this).data("devicetype");
|
var deviceType = $(this).data("devicetype");
|
||||||
var removeDeviceAPI = "/devicemgt/api/devices/" + deviceType + "/" + deviceId + "/remove";
|
var serviceURL = "/devicemgt_admin/devices/type/" + deviceType + "/id/" + deviceId;
|
||||||
|
|
||||||
$(modalPopupContent).html($('#remove-device-modal-content').html());
|
$(modalPopupContent).html($('#remove-device-modal-content').html());
|
||||||
showPopup();
|
showPopup();
|
||||||
|
|
||||||
$("a#remove-device-yes-link").click(function () {
|
$("a#remove-device-yes-link").click(function () {
|
||||||
var postOperationRequest = $.ajax({
|
invokerUtil.delete(serviceURL, function (message) {
|
||||||
url: removeDeviceAPI,
|
|
||||||
method: "post"
|
|
||||||
});
|
|
||||||
postOperationRequest.done(function (data) {
|
|
||||||
$(modalPopupContent).html($('#remove-device-200-content').html());
|
$(modalPopupContent).html($('#remove-device-200-content').html());
|
||||||
window.location.reload(false);
|
setTimeout(function () {
|
||||||
});
|
hidePopup();
|
||||||
postOperationRequest.fail(function (jqXHR, textStatus) {
|
location.reload(false);
|
||||||
|
}, 2000);
|
||||||
|
}, function (message) {
|
||||||
displayDeviceErrors(jqXHR);
|
displayDeviceErrors(jqXHR);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -613,7 +612,6 @@ function attachDeviceEvents() {
|
|||||||
$("a#remove-device-cancel-link").click(function () {
|
$("a#remove-device-cancel-link").click(function () {
|
||||||
hidePopup();
|
hidePopup();
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -625,7 +623,7 @@ function attachDeviceEvents() {
|
|||||||
var deviceId = $(this).data("deviceid");
|
var deviceId = $(this).data("deviceid");
|
||||||
var deviceType = $(this).data("devicetype");
|
var deviceType = $(this).data("devicetype");
|
||||||
var deviceName = $(this).data("devicename");
|
var deviceName = $(this).data("devicename");
|
||||||
var editDeviceAPI = "/devicemgt/api/devices/" + deviceType + "/" + deviceId + "/update?name=";
|
var serviceURL = "/devicemgt_admin/devices/type/" + deviceType + "/id/" + deviceId;
|
||||||
|
|
||||||
$(modalPopupContent).html($('#edit-device-modal-content').html());
|
$(modalPopupContent).html($('#edit-device-modal-content').html());
|
||||||
$('#edit-device-name').val(deviceName);
|
$('#edit-device-name').val(deviceName);
|
||||||
@ -633,18 +631,13 @@ function attachDeviceEvents() {
|
|||||||
|
|
||||||
$("a#edit-device-yes-link").click(function () {
|
$("a#edit-device-yes-link").click(function () {
|
||||||
var newDeviceName = $('#edit-device-name').val();
|
var newDeviceName = $('#edit-device-name').val();
|
||||||
var postOperationRequest = $.ajax({
|
invokerUtil.put(serviceURL, {"name": newDeviceName}, function (message) {
|
||||||
url: editDeviceAPI + newDeviceName,
|
|
||||||
method: "post"
|
|
||||||
});
|
|
||||||
postOperationRequest.done(function (data) {
|
|
||||||
$(modalPopupContent).html($('#edit-device-200-content').html());
|
$(modalPopupContent).html($('#edit-device-200-content').html());
|
||||||
$("h4[data-deviceid='" + deviceId + "']").html(newDeviceName);
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
hidePopup();
|
hidePopup();
|
||||||
|
location.reload(false);
|
||||||
}, 2000);
|
}, 2000);
|
||||||
});
|
}, function (message) {
|
||||||
postOperationRequest.fail(function (jqXHR, textStatus) {
|
|
||||||
displayDeviceErrors(jqXHR);
|
displayDeviceErrors(jqXHR);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -17,15 +17,17 @@
|
|||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "navbarActions"}}
|
{{#zone "navbarActions"}}
|
||||||
<li>
|
{{#if permissions.ADD_GROUP}}
|
||||||
<a href="{{@app.context}}/group/add" class="cu-btn">
|
<li>
|
||||||
|
<a href="{{@app.context}}/group/add" class="cu-btn">
|
||||||
<span class="icon fw-stack">
|
<span class="icon fw-stack">
|
||||||
<i class="fw fw-add fw-stack-1x"></i>
|
<i class="fw fw-add fw-stack-1x"></i>
|
||||||
<i class="fw fw-ring fw-stack-2x"></i>
|
<i class="fw fw-ring fw-stack-2x"></i>
|
||||||
</span>
|
</span>
|
||||||
Add Group
|
Add Group
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
{{/if}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "content"}}
|
{{#zone "content"}}
|
||||||
@ -33,6 +35,7 @@
|
|||||||
<div class="wr-hidden-operations wr-advance-operations"></div>
|
<div class="wr-hidden-operations wr-advance-operations"></div>
|
||||||
<div class="col-md-12 wr-page-content">
|
<div class="col-md-12 wr-page-content">
|
||||||
<div>
|
<div>
|
||||||
|
<span id="permission" data-permission="{{permissions.list}}"></span>
|
||||||
{{#if groupCount}}
|
{{#if groupCount}}
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<table class="table table-striped table-hover list-table display responsive nowrap data-table table-selectable grid-view"
|
<table class="table table-striped table-hover list-table display responsive nowrap data-table table-selectable grid-view"
|
||||||
|
|||||||
@ -21,14 +21,15 @@ function onRequest(context) {
|
|||||||
var userModule = require("/app/modules/user.js").userModule;
|
var userModule = require("/app/modules/user.js").userModule;
|
||||||
var constants = require("/app/modules/constants.js");
|
var constants = require("/app/modules/constants.js");
|
||||||
var currentUser = session.get(constants.USER_SESSION_KEY);
|
var currentUser = session.get(constants.USER_SESSION_KEY);
|
||||||
var page_data = {};
|
var page = {};
|
||||||
if (currentUser) {
|
if (currentUser) {
|
||||||
page_data.permissions = userModule.getUIPermissions();
|
page.permissions = userModule.getUIPermissions();
|
||||||
page_data.currentUser = currentUser;
|
page.permissions.list = stringify(page.permissions);
|
||||||
|
page.currentUser = currentUser;
|
||||||
var groupCount = groupModule.getGroupCount();
|
var groupCount = groupModule.getGroupCount();
|
||||||
if (groupCount > 0) {
|
if (groupCount > 0) {
|
||||||
page_data.groupCount = groupCount;
|
page.groupCount = groupCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return page_data;
|
return page;
|
||||||
}
|
}
|
||||||
@ -82,6 +82,19 @@ function toTitleCase(str) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var permissionSet = {};
|
||||||
|
|
||||||
|
//This method is used to setup permission for device listing
|
||||||
|
$.setPermission = function (permission) {
|
||||||
|
permissionSet[permission] = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
$.hasPermission = function (permission) {
|
||||||
|
return permissionSet[permission];
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
|
||||||
function loadGroups() {
|
function loadGroups() {
|
||||||
var groupListing = $("#group-listing");
|
var groupListing = $("#group-listing");
|
||||||
var groupListingSrc = groupListing.attr("src");
|
var groupListingSrc = groupListing.attr("src");
|
||||||
@ -108,10 +121,23 @@ function loadGroups() {
|
|||||||
$(".icon .text").res_text(0.2);
|
$(".icon .text").res_text(0.2);
|
||||||
};
|
};
|
||||||
|
|
||||||
invokerUtil.get("/devicemgt_admin/groups/user/" + currentUser + "?start=0&rowCount=1000",
|
var serviceURL;
|
||||||
successCallback, function (message) {
|
if ($.hasPermission("LIST_ALL_GROUPS")) {
|
||||||
displayErrors(message.content);
|
serviceURL = "/devicemgt_admin/groups?start=0&rowCount=1000";
|
||||||
});
|
} else if ($.hasPermission("LIST_GROUPS")) {
|
||||||
|
//Get authenticated users groups
|
||||||
|
serviceURL = "/devicemgt_admin/groups/user/" + currentUser + "?start=0&rowCount=1000";
|
||||||
|
} else {
|
||||||
|
$("#loading-content").remove();
|
||||||
|
$('#device-table').addClass('hidden');
|
||||||
|
$('#device-listing-status-msg').text('Permission denied.');
|
||||||
|
$("#device-listing-status").removeClass(' hidden');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
invokerUtil.get(serviceURL, successCallback, function (message) {
|
||||||
|
displayErrors(message.content);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -129,6 +155,13 @@ function openCollapsedNav() {
|
|||||||
* DOM ready functions.
|
* DOM ready functions.
|
||||||
*/
|
*/
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
var permissionList = $("#permission").data("permission");
|
||||||
|
for (var key in permissionList) {
|
||||||
|
if (permissionList.hasOwnProperty(key)) {
|
||||||
|
$.setPermission(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
loadGroups();
|
loadGroups();
|
||||||
//$('#device-grid').datatables_extended();
|
//$('#device-grid').datatables_extended();
|
||||||
|
|
||||||
@ -138,30 +171,36 @@ $(document).ready(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
/* for device list sorting drop down */
|
/* for device list sorting drop down */
|
||||||
$(".ctrl-filter-type-switcher").popover({
|
$(".ctrl-filter-type-switcher").popover(
|
||||||
html: true,
|
{
|
||||||
content: function () {
|
html: true,
|
||||||
return $("#content-filter-types").html();
|
content: function () {
|
||||||
}
|
return $("#content-filter-types").html();
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
/* for data tables*/
|
/* for data tables*/
|
||||||
$('[data-toggle="tooltip"]').tooltip();
|
$('[data-toggle="tooltip"]').tooltip();
|
||||||
|
|
||||||
$("[data-toggle=popover]").popover();
|
$("[data-toggle=popover]").popover();
|
||||||
|
|
||||||
$(".ctrl-filter-type-switcher").popover({
|
$(".ctrl-filter-type-switcher").popover(
|
||||||
html: true,
|
{
|
||||||
content: function () {
|
html: true,
|
||||||
return $('#content-filter-types').html();
|
content: function () {
|
||||||
}
|
return $('#content-filter-types').html();
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
$('#nav').affix({
|
$('#nav').affix(
|
||||||
offset: {
|
{
|
||||||
top: $('header').height()
|
offset: {
|
||||||
}
|
top: $('header').height()
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -212,12 +251,14 @@ function attachEvents() {
|
|||||||
$('#user-names').html('<div style="height:100px" data-state="loading" data-loading-text="Loading..." data-loading-style="icon-only" data-loading-inverse="true"></div>');
|
$('#user-names').html('<div style="height:100px" data-state="loading" data-loading-text="Loading..." data-loading-style="icon-only" data-loading-inverse="true"></div>');
|
||||||
showPopup();
|
showPopup();
|
||||||
$("a#share-group-next-link").hide();
|
$("a#share-group-next-link").hide();
|
||||||
var userRequest = $.ajax({
|
var userRequest = $.ajax(
|
||||||
url: "api/user/all",
|
{
|
||||||
method: "GET",
|
url: "api/user/all",
|
||||||
contentType: "application/json",
|
method: "GET",
|
||||||
accept: "application/json"
|
contentType: "application/json",
|
||||||
});
|
accept: "application/json"
|
||||||
|
}
|
||||||
|
);
|
||||||
userRequest.done(function (data, txtStatus, jqxhr) {
|
userRequest.done(function (data, txtStatus, jqxhr) {
|
||||||
var users = JSON.parse(data);
|
var users = JSON.parse(data);
|
||||||
var status = jqxhr.status;
|
var status = jqxhr.status;
|
||||||
@ -271,6 +312,7 @@ function attachEvents() {
|
|||||||
|
|
||||||
$("a#remove-group-yes-link").click(function () {
|
$("a#remove-group-yes-link").click(function () {
|
||||||
var successCallback = function (data) {
|
var successCallback = function (data) {
|
||||||
|
data = JSON.parse(data);
|
||||||
if (data.status == 200) {
|
if (data.status == 200) {
|
||||||
$(modalPopupContent).html($('#remove-group-200-content').html());
|
$(modalPopupContent).html($('#remove-group-200-content').html());
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
@ -282,7 +324,7 @@ function attachEvents() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
invokerUtil.delete("/devicemgt_admin/groups/" + groupOwner + "/" + groupName,
|
invokerUtil.delete("/devicemgt_admin/groups/owner/" + groupOwner + "/name/" + groupName,
|
||||||
successCallback, function (message) {
|
successCallback, function (message) {
|
||||||
displayErrors(message.content);
|
displayErrors(message.content);
|
||||||
});
|
});
|
||||||
@ -315,18 +357,18 @@ function attachEvents() {
|
|||||||
var group = {"name": newGroupName, "description": newGroupDescription, "owner": groupOwner};
|
var group = {"name": newGroupName, "description": newGroupDescription, "owner": groupOwner};
|
||||||
|
|
||||||
var successCallback = function (data) {
|
var successCallback = function (data) {
|
||||||
|
data = JSON.parse(data);
|
||||||
if (data.status == 200) {
|
if (data.status == 200) {
|
||||||
$(modalPopupContent).html($('#edit-group-200-content').html());
|
|
||||||
$("h4[data-groupid='" + groupId + "']").html(newGroupName);
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
hidePopup();
|
hidePopup();
|
||||||
|
location.reload(false);
|
||||||
}, 2000);
|
}, 2000);
|
||||||
} else {
|
} else {
|
||||||
displayErrors(status);
|
displayErrors(status);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
invokerUtil.put("/devicemgt_admin/groups/" + groupOwner + "/" + groupName,
|
invokerUtil.put("/devicemgt_admin/groups/owner/" + groupOwner + "/name/" + groupName, group,
|
||||||
successCallback, function (message) {
|
successCallback, function (message) {
|
||||||
displayErrors(message.content);
|
displayErrors(message.content);
|
||||||
});
|
});
|
||||||
@ -343,6 +385,7 @@ function getAllRoles(groupName, groupOwner, selectedUser) {
|
|||||||
$('#user-roles').html('<div style="height:100px" data-state="loading" data-loading-text="Loading..." data-loading-style="icon-only" data-loading-inverse="true"></div>');
|
$('#user-roles').html('<div style="height:100px" data-state="loading" data-loading-text="Loading..." data-loading-style="icon-only" data-loading-inverse="true"></div>');
|
||||||
$("a#share-group-yes-link").hide();
|
$("a#share-group-yes-link").hide();
|
||||||
var successCallback = function (data) {
|
var successCallback = function (data) {
|
||||||
|
data = JSON.parse(data);
|
||||||
if (data.status == 200) {
|
if (data.status == 200) {
|
||||||
if (data.data.length > 0) {
|
if (data.data.length > 0) {
|
||||||
generateRoleMap(groupName, groupOwner, selectedUser, data.data);
|
generateRoleMap(groupName, groupOwner, selectedUser, data.data);
|
||||||
@ -354,7 +397,7 @@ function getAllRoles(groupName, groupOwner, selectedUser) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
invokerUtil.get("/devicemgt_admin/groups/" + groupOwner + "/" + groupName + "/share/roles",
|
invokerUtil.get("/devicemgt_admin/groups/owner/" + groupOwner + "/name/" + groupName + "/share/roles",
|
||||||
successCallback, function (message) {
|
successCallback, function (message) {
|
||||||
displayErrors(message.content);
|
displayErrors(message.content);
|
||||||
});
|
});
|
||||||
@ -366,6 +409,7 @@ function getAllRoles(groupName, groupOwner, selectedUser) {
|
|||||||
|
|
||||||
function generateRoleMap(groupName, groupOwner, selectedUser, allRoles) {
|
function generateRoleMap(groupName, groupOwner, selectedUser, allRoles) {
|
||||||
var successCallback = function (data) {
|
var successCallback = function (data) {
|
||||||
|
data = JSON.parse(data);
|
||||||
if (data.status == 200) {
|
if (data.status == 200) {
|
||||||
var userRoles = data.data;
|
var userRoles = data.data;
|
||||||
var roleMap = [];
|
var roleMap = [];
|
||||||
@ -407,7 +451,7 @@ function generateRoleMap(groupName, groupOwner, selectedUser, allRoles) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
invokerUtil.get("/devicemgt_admin/groups/" + groupOwner + "/" + groupName + "/share/roles?userName=" + selectedUser,
|
invokerUtil.get("/devicemgt_admin/groups/owner/" + groupOwner + "/name/" + groupName + "/share/roles?userName=" + selectedUser,
|
||||||
successCallback, function (message) {
|
successCallback, function (message) {
|
||||||
displayErrors(message.content);
|
displayErrors(message.content);
|
||||||
});
|
});
|
||||||
@ -419,6 +463,7 @@ function generateRoleMap(groupName, groupOwner, selectedUser, allRoles) {
|
|||||||
|
|
||||||
function updateGroupShare(groupName, groupOwner, selectedUser, role) {
|
function updateGroupShare(groupName, groupOwner, selectedUser, role) {
|
||||||
var successCallback = function (data) {
|
var successCallback = function (data) {
|
||||||
|
data = JSON.parse(data);
|
||||||
var status = data.status;
|
var status = data.status;
|
||||||
if (status == 200) {
|
if (status == 200) {
|
||||||
$(modalPopupContent).html($('#share-group-200-content').html());
|
$(modalPopupContent).html($('#share-group-200-content').html());
|
||||||
@ -431,7 +476,7 @@ function updateGroupShare(groupName, groupOwner, selectedUser, role) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
invokerUtil.put("/devicemgt_admin/groups/" + groupOwner + "/" + groupName + "/share/roles?userName=" + selectedUser,
|
invokerUtil.put("/devicemgt_admin/groups/owner/" + groupOwner + "/name/" + groupName + "/share/roles?userName=" + selectedUser,
|
||||||
role, successCallback, function (message) {
|
role, successCallback, function (message) {
|
||||||
displayErrors(message.content);
|
displayErrors(message.content);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -16,11 +16,13 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context){
|
function onRequest(context) {
|
||||||
|
var utility = require("/app/modules/utility.js").utility;
|
||||||
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
||||||
if (arguments.length < 3)
|
if (arguments.length < 3) {
|
||||||
throw new Error("Handlebars Helper equal needs 2 parameters");
|
throw new Error("Handlebars Helper equal needs 2 parameters");
|
||||||
if( lvalue!=rvalue ) {
|
}
|
||||||
|
if (lvalue != rvalue) {
|
||||||
return options.inverse(this);
|
return options.inverse(this);
|
||||||
} else {
|
} else {
|
||||||
return options.fn(this);
|
return options.fn(this);
|
||||||
@ -28,5 +30,5 @@ function onRequest(context){
|
|||||||
});
|
});
|
||||||
var deviceType = context.uriParams.deviceType;
|
var deviceType = context.uriParams.deviceType;
|
||||||
|
|
||||||
return {"policyWizardUnitName" : "cdmf.unit.device.type." + deviceType + ".policy-wizard"};
|
return {"policyWizardUnitName": utility.getTenantedDeviceUnitName(deviceType, "policy-wizard")};
|
||||||
}
|
}
|
||||||
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context) {
|
function onRequest(context) {
|
||||||
|
var utility = require("/app/modules/utility.js").utility;
|
||||||
var deviceType = request.getParameter("type");
|
var deviceType = request.getParameter("type");
|
||||||
return {"deviceTypePolicyEdit" : "cdmf.unit.device.type." + deviceType + ".policy-edit"};
|
return {"deviceTypePolicyEdit": utility.getTenantedDeviceUnitName(deviceType, "policy-edit")};
|
||||||
}
|
}
|
||||||
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context) {
|
function onRequest(context) {
|
||||||
|
var utility = require("/app/modules/utility.js").utility;
|
||||||
var deviceType = request.getParameter("type");
|
var deviceType = request.getParameter("type");
|
||||||
return {"deviceTypePolicyView" : "cdmf.unit.device.type." + deviceType + ".policy-view"};
|
return {"deviceTypePolicyView": utility.getTenantedDeviceUnitName(deviceType, "policy-view")};
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user