prabathabey 9 years ago
commit 2133762792

@ -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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* 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.LogFactory;

@ -16,7 +16,7 @@
* 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.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.service.CertificateManagementService;
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.PaginationResult;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.beans.EnrollmentCertificate;
import org.wso2.carbon.mdm.exception.Message;
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.device.mgt.jaxrs.beans.EnrollmentCertificate;
import org.wso2.carbon.device.mgt.jaxrs.exception.Message;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;

@ -16,7 +16,7 @@
* 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.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.ConfigurationManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.TenantConfiguration;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.api.util.MDMAppConstants;
import org.wso2.carbon.mdm.api.util.ResponsePayload;
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMAppConstants;
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
import org.wso2.carbon.policy.mgt.core.util.PolicyManagerUtil;
import javax.ws.rs.Consumes;

@ -16,19 +16,19 @@
* 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.logging.Log;
import org.apache.commons.logging.LogFactory;
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.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
import org.wso2.carbon.device.mgt.common.PaginationRequest;
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
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.GET;
import javax.ws.rs.Path;

@ -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.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.core.device.details.mgt.DeviceDetailsMgtException;
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.Path;

@ -16,15 +16,15 @@
* 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.logging.Log;
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.NotificationManagementException;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.api.util.ResponsePayload;
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
import javax.ws.rs.Consumes;
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.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.core.search.mgt.SearchManagerService;
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.core.Response;

@ -16,13 +16,13 @@
* 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.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.core.service.DeviceManagementProviderService;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;

@ -16,11 +16,12 @@
* 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.LogFactory;
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.DeviceIdentifier;
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.GroupUser;
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.DELETE;
@ -97,7 +97,7 @@ public class Group {
}
}
@Path("/{owner}/{groupName}")
@Path("/owner/{owner}/name/{groupName}")
@PUT
@Consumes("application/json")
@Produces("application/json")
@ -112,7 +112,7 @@ public class Group {
}
}
@Path("/{owner}/{groupName}")
@Path("/owner/{owner}/name/{groupName}")
@DELETE
public Response deleteGroup(@PathParam("groupName") String groupName, @PathParam("owner") String owner) {
try {
@ -160,7 +160,7 @@ public class Group {
}
}
@Path("/{owner}/{groupName}")
@Path("/owner/{owner}/name/{groupName}")
@GET
@Produces("application/json")
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
@Produces("application/json")
public Response findGroups(@QueryParam("groupName") String groupName,
@QueryParam("userName") String userName) {
@PathParam("user") String user) {
try {
List<DeviceGroup> groups = DeviceMgtAPIUtils.getGroupManagementProviderService()
.findInGroups(groupName, userName);
.findInGroups(groupName, user);
DeviceGroup[] deviceGroups = new DeviceGroup[groups.size()];
groups.toArray(deviceGroups);
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")
@GET
@Produces("application/json")
@ -229,7 +242,7 @@ public class Group {
}
}
@Path("/{owner}/{groupName}/share")
@Path("/owner/{owner}/name/{groupName}/share")
@PUT
@Produces("application/json")
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
@Produces("application/json")
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
@Produces("application/json")
public Response addSharing(@QueryParam("shareUser") String shareUser, @PathParam("groupName") String groupName,
@ -293,7 +306,7 @@ public class Group {
}
@DELETE
@Path("/{owner}/{groupName}/share/roles/{roleName}/permissions")
@Path("/owner/{owner}/name/{groupName}/share/roles/{roleName}/permissions")
@Produces("application/json")
public Response removeSharing(@QueryParam("userName") String userName, @PathParam("groupName") String groupName,
@PathParam("owner") String owner,
@ -313,7 +326,7 @@ public class Group {
}
@GET
@Path("/{owner}/{groupName}/share/roles")
@Path("/owner/{owner}/name/{groupName}/share/roles")
@Produces("application/json")
public Response getRoles(@PathParam("groupName") String groupName,
@PathParam("owner") String owner, @QueryParam("userName") String userName) {
@ -334,7 +347,7 @@ public class Group {
}
@GET
@Path("/{owner}/{groupName}/users")
@Path("/owner/{owner}/name/{groupName}/users")
@Produces("application/json")
public Response getUsers(@PathParam("groupName") String groupName,
@PathParam("owner") String owner) {
@ -351,7 +364,7 @@ public class Group {
}
@GET
@Path("/{owner}/{groupName}/devices/all")
@Path("/owner/{owner}/name/{groupName}/devices/all")
@Produces("application/json")
public Response getDevices(@PathParam("groupName") String groupName,
@PathParam("owner") String owner) {
@ -368,7 +381,7 @@ public class Group {
}
@GET
@Path("/{owner}/{groupName}/devices/count")
@Path("/owner/{owner}/name/{groupName}/devices/count")
@Produces("application/json")
public Response getDeviceCount(@PathParam("groupName") String groupName,
@PathParam("owner") String owner) {
@ -382,7 +395,7 @@ public class Group {
}
@PUT
@Path("/{owner}/{groupName}/devices/{deviceType}/{deviceId}")
@Path("/owner/{owner}/name/{groupName}/devices/{deviceType}/{deviceId}")
@Produces("application/json")
public Response addDevice(@PathParam("groupName") String groupName,
@PathParam("owner") String owner, @PathParam("deviceId") String deviceId,
@ -404,7 +417,7 @@ public class Group {
}
@DELETE
@Path("/{owner}/{groupName}/devices/{deviceType}/{deviceId}")
@Path("/owner/{owner}/name/{groupName}/devices/{deviceType}/{deviceId}")
@Produces("application/json")
public Response removeDevice(@PathParam("groupName") String groupName,
@PathParam("owner") String owner, @PathParam("deviceId") String deviceId,
@ -425,7 +438,7 @@ public class Group {
}
@GET
@Path("/{owner}/{groupName}/users/{userName}/permissions")
@Path("/owner/{owner}/name/{groupName}/users/{userName}/permissions")
@Produces("application/json")
public Response getPermissions(@PathParam("userName") String userName,
@PathParam("groupName") String groupName,

@ -16,14 +16,14 @@
* 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.logging.Log;
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.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.api.util.ResponsePayload;
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
import javax.ws.rs.GET;
import javax.ws.rs.POST;

@ -16,11 +16,16 @@
* 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.logging.Log;
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.PaginationRequest;
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.core.app.mgt.ApplicationManagementProviderService;
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import org.wso2.carbon.mdm.api.context.DeviceOperationContext;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
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 org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.device.mgt.jaxrs.api.util.MDMAndroidOperationUtil;
import org.wso2.carbon.device.mgt.jaxrs.api.util.ResponsePayload;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;

@ -16,18 +16,18 @@
* 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.logging.Log;
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.MDMUtil;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
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.device.mgt.jaxrs.api.util.ResponsePayload;
import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper;
import org.wso2.carbon.policy.mgt.common.PolicyAdministratorPoint;
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
import org.wso2.carbon.policy.mgt.common.PolicyMonitoringTaskException;

@ -16,12 +16,12 @@
* 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.LogFactory;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.api.util.ResponsePayload;
import org.wso2.carbon.device.mgt.jaxrs.api.util.DeviceMgtAPIUtils;
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.PolicyManagementException;
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;

@ -16,18 +16,18 @@
* 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.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.CarbonConstants;
import org.wso2.carbon.base.MultitenantConstants;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.api.util.ResponsePayload;
import org.wso2.carbon.mdm.beans.RoleWrapper;
import org.wso2.carbon.mdm.util.SetReferenceTransformer;
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.api.util.ResponsePayload;
import org.wso2.carbon.device.mgt.jaxrs.beans.RoleWrapper;
import org.wso2.carbon.device.mgt.jaxrs.util.SetReferenceTransformer;
import org.wso2.carbon.user.api.AuthorizationManager;
import org.wso2.carbon.user.api.Permission;
import org.wso2.carbon.user.api.UserRealm;

@ -16,7 +16,7 @@
* 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.httpclient.HttpStatus;
@ -24,18 +24,18 @@ import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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.PaginationRequest;
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import org.wso2.carbon.mdm.api.util.CredentialManagementResponseBuilder;
import org.wso2.carbon.mdm.api.util.DeviceMgtAPIUtils;
import org.wso2.carbon.mdm.api.util.ResponsePayload;
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.device.mgt.jaxrs.api.util.CredentialManagementResponseBuilder;
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.jaxrs.util.SetReferenceTransformer;
import org.wso2.carbon.user.api.UserStoreException;
import org.wso2.carbon.user.api.UserStoreManager;
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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* 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.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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.mdm.api.common;
package org.wso2.carbon.device.mgt.jaxrs.api.common;
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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* 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.

@ -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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* 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.operation.mgt.Operation;

@ -16,14 +16,14 @@
* 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.httpclient.HttpStatus;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import org.wso2.carbon.mdm.beans.UserCredentialWrapper;
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
import org.wso2.carbon.device.mgt.jaxrs.beans.UserCredentialWrapper;
import org.wso2.carbon.user.api.UserStoreException;
import org.wso2.carbon.user.api.UserStoreManager;

@ -16,13 +16,14 @@
* 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.LogFactory;
import org.wso2.carbon.certificate.mgt.core.service.CertificateManagementService;
import org.wso2.carbon.context.CarbonContext;
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.PaginationResult;
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.service.DeviceManagementProviderService;
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.core.PolicyManagerService;
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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and 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.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.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.android.WebApplication;
import org.wso2.carbon.device.mgt.jaxrs.beans.android.WebApplication;
/**
*
@ -45,15 +48,15 @@ public class MDMAndroidOperationUtil {
switch (application.getType()) {
case ENTERPRISE:
org.wso2.carbon.mdm.beans.android.EnterpriseApplication enterpriseApplication =
new org.wso2.carbon.mdm.beans.android.EnterpriseApplication();
EnterpriseApplication enterpriseApplication =
new EnterpriseApplication();
enterpriseApplication.setType(application.getType().toString());
enterpriseApplication.setUrl(application.getLocation());
operation.setPayLoad(enterpriseApplication.toJSON());
break;
case PUBLIC:
org.wso2.carbon.mdm.beans.android.AppStoreApplication appStoreApplication =
new org.wso2.carbon.mdm.beans.android.AppStoreApplication();
AppStoreApplication appStoreApplication =
new AppStoreApplication();
appStoreApplication.setType(application.getType().toString());
appStoreApplication.setAppIdentifier(application.getIdentifier());
operation.setPayLoad(appStoreApplication.toJSON());
@ -86,15 +89,15 @@ public class MDMAndroidOperationUtil {
switch (application.getType()) {
case ENTERPRISE:
org.wso2.carbon.mdm.beans.android.EnterpriseApplication enterpriseApplication =
new org.wso2.carbon.mdm.beans.android.EnterpriseApplication();
EnterpriseApplication enterpriseApplication =
new EnterpriseApplication();
enterpriseApplication.setType(application.getType().toString());
enterpriseApplication.setAppIdentifier(application.getAppIdentifier());
operation.setPayLoad(enterpriseApplication.toJSON());
break;
case PUBLIC:
org.wso2.carbon.mdm.beans.android.AppStoreApplication appStoreApplication =
new org.wso2.carbon.mdm.beans.android.AppStoreApplication();
AppStoreApplication appStoreApplication =
new AppStoreApplication();
appStoreApplication.setType(application.getType().toString());
appStoreApplication.setAppIdentifier(application.getAppIdentifier());
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");
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.mdm.api.util;
package org.wso2.carbon.device.mgt.jaxrs.api.util;
/**
* 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");
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.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.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;
@ -43,8 +48,8 @@ public class MDMIOSOperationUtil {
switch (application.getType()) {
case ENTERPRISE:
org.wso2.carbon.mdm.beans.ios.EnterpriseApplication enterpriseApplication =
new org.wso2.carbon.mdm.beans.ios.EnterpriseApplication();
EnterpriseApplication enterpriseApplication =
new EnterpriseApplication();
enterpriseApplication.setBundleId(application.getId());
enterpriseApplication.setIdentifier(application.getIdentifier());
enterpriseApplication.setManifestURL(application.getLocation());
@ -59,8 +64,8 @@ public class MDMIOSOperationUtil {
operation.setType(Operation.Type.COMMAND);
break;
case PUBLIC:
org.wso2.carbon.mdm.beans.ios.AppStoreApplication appStoreApplication =
new org.wso2.carbon.mdm.beans.ios.AppStoreApplication();
AppStoreApplication appStoreApplication =
new AppStoreApplication();
appStoreApplication.setRemoveAppUponMDMProfileRemoval((Boolean) application.getProperties().
get(MDMAppConstants.IOSConstants.IS_REMOVE_APP));
appStoreApplication.setIdentifier(application.getIdentifier());
@ -96,8 +101,8 @@ public class MDMIOSOperationUtil {
operation.setCode(MDMAppConstants.IOSConstants.OPCODE_REMOVE_APPLICATION);
operation.setType(Operation.Type.PROFILE);
org.wso2.carbon.mdm.beans.ios.RemoveApplication removeApplication =
new org.wso2.carbon.mdm.beans.ios.RemoveApplication();
RemoveApplication removeApplication =
new RemoveApplication();
removeApplication.setBundleId(application.getIdentifier());
operation.setPayLoad(removeApplication.toJSON());

@ -16,7 +16,7 @@
* 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.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,
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.mdm.beans;
package org.wso2.carbon.device.mgt.jaxrs.beans;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import java.util.List;

@ -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,
* 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,
* 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
* 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;
import java.util.HashMap;
import java.util.Map;
package org.wso2.carbon.device.mgt.jaxrs.beans;
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,
* 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,
* 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
* 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;
package org.wso2.carbon.device.mgt.jaxrs.beans;
public enum MobileAppTypes {
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,
* 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,
* 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
* 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;
package org.wso2.carbon.device.mgt.jaxrs.beans;
import org.wso2.carbon.device.mgt.common.Device;
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,
* 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
* 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
* "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;
package org.wso2.carbon.device.mgt.jaxrs.beans;
public class PriorityUpdatedPolicyWrapper {

@ -1,22 +1,22 @@
/*
* 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.
*/
package org.wso2.carbon.mdm.beans;
* 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;

@ -1,26 +1,25 @@
/*
* 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.
*/
package org.wso2.carbon.mdm.beans;
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.device.mgt.jaxrs.beans;
import com.google.gson.Gson;
import java.io.Serializable;
import java.util.LinkedHashMap;
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,
* 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
* 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
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.device.mgt.jaxrs.beans;
import org.wso2.carbon.user.mgt.common.UIPermissionNode;
public class RoleWrapper {
private String roleName;
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,
* 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
* 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
* "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;
package org.wso2.carbon.device.mgt.jaxrs.beans;
public class UserCredentialWrapper {

@ -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,
* 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,
* 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
* 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.ios;
package org.wso2.carbon.device.mgt.jaxrs.beans.ios;
import com.google.gson.Gson;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import java.io.IOException;
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
import java.io.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,
* 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,
* 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
* 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.ios;
package org.wso2.carbon.device.mgt.jaxrs.beans.ios;
import com.google.gson.Gson;
import org.wso2.carbon.mdm.api.common.MDMAPIException;
import java.io.IOException;
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
import java.io.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 org.wso2.carbon.mdm.api.common.MDMAPIException;
import java.io.IOException;
import org.wso2.carbon.device.mgt.jaxrs.api.common.MDMAPIException;
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,
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.mdm.common;
package org.wso2.carbon.device.mgt.jaxrs.common;
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,
* 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,
* 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
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* 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.GsonBuilder;

@ -16,7 +16,7 @@
* 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.core.MediaType;

@ -16,7 +16,7 @@
* 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.

@ -15,9 +15,10 @@
* specific language governing permissions and limitations
* 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 java.util.ArrayList;
@ -25,7 +26,7 @@ import java.util.List;
public class MDMUtil {
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.setTenantId(mdmProfile.getTenantId());
profile.setCreatedDate(mdmProfile.getCreatedDate());

@ -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>
</Permission>
<Permission>
<name>User Devices</name>
<path>/device-mgt/user/devices</path>
<url>/</url>
<method>GET</method>
</Permission>
<Permission>
<name>Policies</name>
<path>/device-mgt/admin/policies</path>
@ -66,6 +73,13 @@
<method>GET</method>
</Permission>
<Permission>
<name>User Policies</name>
<path>/device-mgt/user/policies</path>
<url>/</url>
<method>GET</method>
</Permission>
<Permission>
<name>Notifications</name>
<path>/device-mgt/admin/notifications</path>
@ -73,6 +87,13 @@
<method>GET</method>
</Permission>
<Permission>
<name>User Notifications</name>
<path>/device-mgt/user/notifications</path>
<url>/</url>
<method>GET</method>
</Permission>
<Permission>
<name>Users</name>
<path>/device-mgt/admin/users</path>
@ -87,6 +108,13 @@
<method>GET</method>
</Permission>
<Permission>
<name>User Operations</name>
<path>/device-mgt/user/operations</path>
<url>/</url>
<method>GET</method>
</Permission>
<Permission>
<name>Applications</name>
<path>/device-mgt/admin/operations/applications</path>
@ -123,12 +151,19 @@
</Permission>
<Permission>
<name>List devices</name>
<name>List device types</name>
<path>/device-mgt/admin/devices/list</path>
<url>/devices/types</url>
<method>GET</method>
</Permission>
<Permission>
<name>List device types</name>
<path>/device-mgt/user/devices/list</path>
<url>/devices/types</url>
<method>GET</method>
</Permission>
<Permission>
<name>Add policy</name>
<path>/device-mgt/admin/policies/add</path>
@ -136,6 +171,13 @@
<method>GET</method>
</Permission>
<Permission>
<name>Add User policy</name>
<path>/device-mgt/user/policies/add</path>
<url>/devices/types</url>
<method>GET</method>
</Permission>
<Permission>
<name>Edit policy</name>
<path>/device-mgt/admin/policies/update</path>
@ -143,6 +185,13 @@
<method>GET</method>
</Permission>
<Permission>
<name>Edit User policy</name>
<path>/device-mgt/user/policies/update</path>
<url>/devices/types</url>
<method>GET</method>
</Permission>
<Permission>
<name>View device</name>
<path>/device-mgt/admin/devices/view</path>
@ -151,7 +200,7 @@
</Permission>
<Permission>
<name>View device</name>
<name>View user device</name>
<path>/device-mgt/user/devices/view</path>
<url>/devices/view</url>
<method>GET</method>
@ -173,12 +222,19 @@
</Permission>
<Permission>
<name>List devices</name>
<name>Devices Count All</name>
<path>/device-mgt/admin/devices/list</path>
<url>/devices/count</url>
<method>GET</method>
</Permission>
<Permission>
<name>Device Count</name>
<path>/device-mgt/user/devices/list</path>
<url>/devices/user/*/count</url>
<method>GET</method>
</Permission>
<Permission>
<name>List devices</name>
<path>/device-mgt/admin/devices/list</path>
@ -501,19 +557,12 @@
</Permission>
<Permission>
<name>List devices</name>
<name>List user devices</name>
<path>/device-mgt/user/devices/list</path>
<url>/users/devices</url>
<method>GET</method>
</Permission>
<Permission>
<name>List devices</name>
<path>/device-mgt/admin/devices/list</path>
<url>/users/devices</url>
<method>GET</method>
</Permission>
<Permission>
<name>View user</name>
<path>/device-mgt/admin/users/view</path>
@ -854,143 +903,185 @@
<!-- Group related APIs -->
<Permission>
<name>Group Management</name>
<name>Group Management Admin</name>
<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>
<method>POST</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*</url>
<name>Group update</name>
<path>/device-mgt/user/groups/update</path>
<url>/groups/owner/*/name/*</url>
<method>PUT</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*</url>
<name>Group Delete</name>
<path>/device-mgt/user/groups/delete</path>
<url>/groups/owner/*/name/*</url>
<method>DELETE</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<name>List All Groups</name>
<path>/device-mgt/admin/groups/list</path>
<url>/groups</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<name>List Groups</name>
<path>/device-mgt/user/groups/list</path>
<url>/groups/user/*</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*</url>
<name>List Groups</name>
<path>/device-mgt/user/groups/list</path>
<url>/groups/user/*/all</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/search</url>
<name>View Group</name>
<path>/device-mgt/user/groups/view</path>
<url>/groups/owner/*/name/*</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/user/*/all</url>
<name>Search Group User</name>
<path>/device-mgt/user/groups/list</path>
<url>/groups/user/*/search</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<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>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/share</url>
<name>Group Share</name>
<path>/device-mgt/user/groups/share</path>
<url>/groups/owner/*/name/*/share</url>
<method>PUT</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/unshare</url>
<name>Group Unshare</name>
<path>/device-mgt/user/groups/unshare</path>
<url>/groups/owner/*/name/*/unshare</url>
<method>PUT</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/share/roles/*/permissions</url>
<name>Group Roles</name>
<path>/device-mgt/user/groups/roles</path>
<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>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/share/roles/*/permissions</url>
<name>Group Delete Permissions</name>
<path>/device-mgt/admin/groups/roles/permissions/delete</path>
<url>/groups/owner/*/name/*/share/roles/*/permissions</url>
<method>DELETE</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/share/roles</url>
<name>Group Users</name>
<path>/device-mgt/user/groups/users</path>
<url>/</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/users</url>
<name>List Group Users</name>
<path>/device-mgt/user/groups/users/list</path>
<url>/groups/owner/*/name/*/users</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/devices/all</url>
<name>Get Permissions for Group</name>
<path>/device-mgt/user/groups/users/permissions</path>
<url>/groups/owner/*/name/*/users/*/permissions</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/devices/count</url>
<name>Group Devices</name>
<path>/device-mgt/user/groups/devices</path>
<url>/</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/devices/*/*</url>
<method>PUT</method>
<name>List Group Devices</name>
<path>/device-mgt/user/groups/devices/list</path>
<url>/groups/owner/*/name/*/devices/all</url>
<method>GET</method>
</Permission>
<Permission>
<name>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/devices/*/*</url>
<method>DELETE</method>
<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>Group Management</name>
<path>/device-mgt/admin/groups</path>
<url>/groups/*/*/users/*/permissions</url>
<method>GET</method>
<name>Add Device to Group</name>
<path>/device-mgt/user/groups/devices/add</path>
<url>/groups/owner/*/name/*/devices/*/*</url>
<method>PUT</method>
</Permission>
<Permission>
<name>Remove Device from Group</name>
<path>/device-mgt/user/groups/devices/remove</path>
<url>/groups/owner/*/name/*/devices/*/*</url>
<method>DELETE</method>
</Permission>
<!-- End of Group related APIs -->

@ -163,26 +163,24 @@
</jaxrs:providers>
</jaxrs:server>
-->
<bean id="operationServiceBean" class="org.wso2.carbon.mdm.api.Operation"/>
<bean id="deviceServiceBean" class="org.wso2.carbon.mdm.api.Device"/>
<bean id="groupServiceBean" class="org.wso2.carbon.mdm.api.Group"/>
<bean id="userServiceBean" class="org.wso2.carbon.mdm.api.User"/>
<bean id="roleServiceBean" class="org.wso2.carbon.mdm.api.Role"/>
<bean id="featureServiceBean" class="org.wso2.carbon.mdm.api.Feature"/>
<bean id="configurationServiceBean" class="org.wso2.carbon.mdm.api.Configuration"/>
<bean id="notificationServiceBean" class="org.wso2.carbon.mdm.api.DeviceNotification"/>
<bean id="licenseServiceBean" class="org.wso2.carbon.mdm.api.License"/>
<bean id="certificateServiceBean" class="org.wso2.carbon.mdm.api.Certificate"/>
<bean id="informationServiceBean" class="org.wso2.carbon.mdm.api.DeviceInformation"/>
<bean id="searchingServiceBean" class="org.wso2.carbon.mdm.api.DeviceSearch"/>
<bean id="operationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Operation"/>
<bean id="deviceServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Device"/>
<bean id="groupServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Group"/>
<bean id="userServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.User"/>
<bean id="roleServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Role"/>
<bean id="featureServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Feature"/>
<bean id="configurationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Configuration"/>
<bean id="notificationServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.DeviceNotification"/>
<bean id="licenseServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.License"/>
<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="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="profileServiceBean" class="org.wso2.carbon.mdm.api.Profile"/>
<bean id="jsonProvider" class="org.wso2.mdm.common.GsonMessageBodyHandler"/>
<bean id="errorHandler" class="org.wso2.carbon.mdm.api.common.ErrorHandler"/>
<bean id="policyServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Policy"/>
<bean id="profileServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.api.Profile"/>
<bean id="jsonProvider" class="org.wso2.carbon.device.mgt.jaxrs.common.GsonMessageBodyHandler"/>
<bean id="errorHandler" class="org.wso2.carbon.device.mgt.jaxrs.api.common.ErrorHandler"/>
</beans>

@ -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")) {
var deviceType = uriMatcher.elements().deviceType;
var deviceId = request.getParameter("deviceId");
var monitor_operations = operationModule.getMonitorOperations(deviceType);
var monitorOperations = operationModule.getMonitorOperations(deviceType);
var stats = [];
result = {};
for (var op in monitor_operations) {
result = operationModule.handleGETOperation(deviceType, monitor_operations[op].operation, monitor_operations[op].name, deviceId);
for (var op in monitorOperations) {
result = operationModule.handleGETOperation(deviceType, monitorOperations[op].operation, monitorOperations[op].name, deviceId);
stats.push(result.data);
}
result.data = stats;

@ -20,6 +20,7 @@ var groupModule = {};
(function (groupModule) {
var log = new Log("/app/modules/group.js");
var userModule = require("/app/modules/user.js").userModule;
var constants = require('/app/modules/constants.js');
var devicemgtProps = require('/app/conf/devicemgt-props.js').config();
var utility = require("/app/modules/utility.js").utility;
@ -32,7 +33,12 @@ var groupModule = {};
var endPoint;
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(
endPoint, function (responsePayload) {
return responsePayload;

@ -28,13 +28,6 @@ var userModule = require("/app/modules/user.js")["userModule"];
var utility = require("/app/modules/utility.js")["utility"];
var permissions = {
'/permission/admin/device-mgt/devices': ['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']
'/permission/admin/device-mgt/user': ['ui.execute']
};
userModule.addRole("devicemgt-user", ["admin"], permissions);

@ -632,7 +632,13 @@ var userModule = function () {
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/devices/list")) {
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")) {
permissions["LIST_ALL_GROUPS"] = true;
}
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/list")) {
permissions["LIST_GROUPS"] = true;
}
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/users/list")) {
@ -642,9 +648,12 @@ var userModule = function () {
permissions["LIST_ROLES"] = true;
}
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;
}
if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/add")) {
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/add")) {
permissions["ADD_GROUP"] = true;
}
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")) {
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;
}
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")) {
permissions["TENANT_CONFIGURATION"] = true;
}
if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/list")) {
permissions["LIST_OWN_DEVICES"] = true;
}
return permissions;
};

@ -59,9 +59,9 @@
<div class="wr-hidden-operations wr-advance-operations"></div>
<div class="col-md-12 wr-page-content">
<div>
<span id="permission" data-permission="{{permissions.list}}"></span>
{{unit "cdmf.unit.device.operation-mod"}}
{{#if deviceCount}}
<span id="permission" data-permission="{{permissions.list}}"></span>
<div id="loading-content" class="col-centered">
<i class="fw fw-settings fw-spin fw-2x"></i>
&nbsp;&nbsp;&nbsp;
@ -100,18 +100,19 @@
<th data-for="By Ownership" class="select-filter"></th>
<th class="no-sort"></th>
</tr>
<tr class="bulk-action-row">
<th colspan="7">
<div id="operation-bar" class="hidden">
{{unit "mdm.unit.device.operation-bar"}}
</div>
<div id="operation-guide" class="bs-callout bs-callout-info">
<h4>Enabling Device Operations</h4>
<p>To enable device operations, select the desired platform from above
filter.</p>
</div>
</th>
</tr>
<!--TODO: Enable bulk action row after gain compatibility with iot operation bar-->
<!--<tr class="bulk-action-row">-->
<!--<th colspan="7">-->
<!--<div id="operation-bar" class="hidden">-->
<!--{{!unit "mdm.unit.device.operation-bar"}}-->
<!--</div>-->
<!--<div id="operation-guide" class="bs-callout bs-callout-info">-->
<!--<h4>Enabling Device Operations</h4>-->
<!--<p>To enable device operations, select the desired platform from above-->
<!--filter.</p>-->
<!--</div>-->
<!--</th>-->
<!--</tr>-->
</thead>
<tbody id="ast-container">
@ -326,7 +327,6 @@
{{#zone "bottomJs"}}
<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>
{{js "js/listing.js"}}
{{/zone}}

@ -70,7 +70,6 @@ $(document).ready(function () {
addDeviceSelectedClass(this);
});
var i;
var permissionList = $("#permission").data("permission");
for (var key in permissionList) {
if (permissionList.hasOwnProperty(key)) {
@ -163,10 +162,8 @@ function toTitleCase(str) {
function loadDevices(searchType, searchParam){
var deviceListing = $("#device-listing");
var deviceListingSrc = deviceListing.attr("src");
var imageResource = deviceListing.data("image-resource");
var currentUser = deviceListing.data("currentUser");
var frontEndPagination = false;
var serviceURL;
if ($.hasPermission("LIST_DEVICES")) {
@ -206,6 +203,16 @@ function loadDevices(searchType, searchParam){
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;
}
$('#device-grid').datatables_extended ({
serverSide: true,
processing: false,
@ -238,7 +245,8 @@ function loadDevices(searchType, searchParam){
return html;
}},
{ 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 ) {
var html;
switch (status) {
@ -257,11 +265,22 @@ function loadDevices(searchType, searchParam){
}
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 ) {
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' ,
render: function ( status, type, row, meta ) {
var deviceType = row.type;
@ -271,6 +290,15 @@ function loadDevices(searchType, searchParam){
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>' +
'<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;
}}
@ -285,6 +313,7 @@ function loadDevices(searchType, searchParam){
var status = data.enrolmentInfo.status;
var ownership = data.enrolmentInfo.ownership;
var deviceType = data.type;
var category = getDeviceTypeCategory(deviceType);
$.each($('td', row), function (colIndex) {
switch(colIndex) {
case 1:
@ -304,18 +333,21 @@ function loadDevices(searchType, searchParam){
case 4:
$(this).attr('data-grid-label', "Type");
$(this).attr('data-search', deviceType);
$(this).attr('data-display', deviceType);
$(this).attr('data-display', getDeviceTypeLabel(deviceType));
break;
case 5:
$(this).attr('data-grid-label', "Ownership");
$(this).attr('data-search', ownership);
$(this).attr('data-display', ownership);
if (category == 'mobile') {
$(this).attr('data-grid-label', "Ownership");
$(this).attr('data-search', ownership);
$(this).attr('data-display', ownership);
}
break;
}
});
},
"fnDrawCallback": function( oSettings ) {
$(".icon .text").res_text(0.2);
attachDeviceEvents();
}
});
$(deviceCheckbox).click(function () {
@ -338,63 +370,22 @@ function openCollapsedNav() {
});
}
function loadGroupedDevices(groupId) {
var serviceURL = "api/group/id/" + groupId + "/device/all";
function initPage() {
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() {
var groupId = getParameterByName('groupId');
invokerUtil.get(
"/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) {
if (data) {
data = JSON.parse(data);
if (Number(data) > 0) {
if (groupId) {
loadGroupedDevices(groupId);
} else {
loadDevices();
}
loadDevices();
} else {
$("#loading-content").remove();
$("#device-listing-status-msg").text("No enrolled devices found.");
@ -411,20 +402,20 @@ function initPage() {
* DOM ready functions.
*/
$(document).ready(function () {
initPage();
/* Adding selected class for selected devices */
$(deviceCheckbox).each(function () {
addDeviceSelectedClass(this);
});
var i;
var permissionList = $("#permission").data("permission");
for (i = 0; i < permissionList.length; i++) {
$.setPermission(permissionList[i]);
for (var key in permissionList) {
if (permissionList.hasOwnProperty(key)){
$.setPermission(key);
}
}
initPage();
/* for device list sorting drop down */
$(".ctrl-filter-type-switcher").popover({
html : true,
@ -639,9 +630,9 @@ function attachDeviceEvents() {
});
postOperationRequest.done(function (data) {
$(modalPopupContent).html($('#edit-device-200-content').html());
$("h4[data-deviceid='" + deviceId + "']").html(newDeviceName);
setTimeout(function () {
hidePopup();
location.reload(false);
}, 2000);
});
postOperationRequest.fail(function (jqXHR, textStatus) {

@ -17,15 +17,17 @@
{{/zone}}
{{#zone "navbarActions"}}
<li>
<a href="{{@app.context}}/group/add" class="cu-btn">
{{#if permissions.ADD_GROUP}}
<li>
<a href="{{@app.context}}/group/add" class="cu-btn">
<span class="icon fw-stack">
<i class="fw fw-add fw-stack-1x"></i>
<i class="fw fw-ring fw-stack-2x"></i>
</span>
Add Group
</a>
</li>
Add Group
</a>
</li>
{{/if}}
{{/zone}}
{{#zone "content"}}
@ -33,6 +35,7 @@
<div class="wr-hidden-operations wr-advance-operations"></div>
<div class="col-md-12 wr-page-content">
<div>
<span id="permission" data-permission="{{permissions.list}}"></span>
{{#if groupCount}}
<div class="container-fluid">
<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 constants = require("/app/modules/constants.js");
var currentUser = session.get(constants.USER_SESSION_KEY);
var page_data = {};
var page = {};
if (currentUser) {
page_data.permissions = userModule.getUIPermissions();
page_data.currentUser = currentUser;
page.permissions = userModule.getUIPermissions();
page.permissions.list = stringify(page.permissions);
page.currentUser = currentUser;
var groupCount = groupModule.getGroupCount();
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() {
var groupListing = $("#group-listing");
var groupListingSrc = groupListing.attr("src");
@ -108,10 +121,23 @@ function loadGroups() {
$(".icon .text").res_text(0.2);
};
invokerUtil.get("/devicemgt_admin/groups/user/" + currentUser + "?start=0&rowCount=1000",
successCallback, function (message) {
displayErrors(message.content);
});
var serviceURL;
if ($.hasPermission("LIST_ALL_GROUPS")) {
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.
*/
$(document).ready(function () {
var permissionList = $("#permission").data("permission");
for (var key in permissionList) {
if (permissionList.hasOwnProperty(key)) {
$.setPermission(key);
}
}
loadGroups();
//$('#device-grid').datatables_extended();
@ -138,30 +171,36 @@ $(document).ready(function () {
});
/* for device list sorting drop down */
$(".ctrl-filter-type-switcher").popover({
html: true,
content: function () {
return $("#content-filter-types").html();
}
});
$(".ctrl-filter-type-switcher").popover(
{
html: true,
content: function () {
return $("#content-filter-types").html();
}
}
);
/* for data tables*/
$('[data-toggle="tooltip"]').tooltip();
$("[data-toggle=popover]").popover();
$(".ctrl-filter-type-switcher").popover({
html: true,
content: function () {
return $('#content-filter-types').html();
}
});
$('#nav').affix({
offset: {
top: $('header').height()
}
});
$(".ctrl-filter-type-switcher").popover(
{
html: true,
content: function () {
return $('#content-filter-types').html();
}
}
);
$('#nav').affix(
{
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>');
showPopup();
$("a#share-group-next-link").hide();
var userRequest = $.ajax({
url: "api/user/all",
method: "GET",
contentType: "application/json",
accept: "application/json"
});
var userRequest = $.ajax(
{
url: "api/user/all",
method: "GET",
contentType: "application/json",
accept: "application/json"
}
);
userRequest.done(function (data, txtStatus, jqxhr) {
var users = JSON.parse(data);
var status = jqxhr.status;
@ -271,6 +312,7 @@ function attachEvents() {
$("a#remove-group-yes-link").click(function () {
var successCallback = function (data) {
data = JSON.parse(data);
if (data.status == 200) {
$(modalPopupContent).html($('#remove-group-200-content').html());
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) {
displayErrors(message.content);
});
@ -315,18 +357,18 @@ function attachEvents() {
var group = {"name": newGroupName, "description": newGroupDescription, "owner": groupOwner};
var successCallback = function (data) {
data = JSON.parse(data);
if (data.status == 200) {
$(modalPopupContent).html($('#edit-group-200-content').html());
$("h4[data-groupid='" + groupId + "']").html(newGroupName);
setTimeout(function () {
hidePopup();
location.reload(false);
}, 2000);
} else {
displayErrors(status);
}
};
invokerUtil.put("/devicemgt_admin/groups/" + groupOwner + "/" + groupName,
invokerUtil.put("/devicemgt_admin/groups/owner/" + groupOwner + "/name/" + groupName, group,
successCallback, function (message) {
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>');
$("a#share-group-yes-link").hide();
var successCallback = function (data) {
data = JSON.parse(data);
if (data.status == 200) {
if (data.data.length > 0) {
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) {
displayErrors(message.content);
});
@ -366,6 +409,7 @@ function getAllRoles(groupName, groupOwner, selectedUser) {
function generateRoleMap(groupName, groupOwner, selectedUser, allRoles) {
var successCallback = function (data) {
data = JSON.parse(data);
if (data.status == 200) {
var userRoles = data.data;
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) {
displayErrors(message.content);
});
@ -419,6 +463,7 @@ function generateRoleMap(groupName, groupOwner, selectedUser, allRoles) {
function updateGroupShare(groupName, groupOwner, selectedUser, role) {
var successCallback = function (data) {
data = JSON.parse(data);
var status = data.status;
if (status == 200) {
$(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) {
displayErrors(message.content);
});

@ -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,
* Version 2.0 (the "License"); you may not use this file except
@ -78,7 +78,8 @@ $.fn.datatables_extended = function(settings){
$( "#operation-guide" ).hide();
$( "#operation-bar" ).removeClass("hidden");
$("#operation-bar").show();
loadOperationBar(val);
//TODO: Enable after adding iot operations bar
//loadOperationBar(val);
}
}
@ -86,13 +87,14 @@ $.fn.datatables_extended = function(settings){
$(column).each(function () {
if ($(column.nodes()).attr('data-search')) {
var titles = [];
var values = [];
column.nodes().unique().sort().each(function (d, j) {
var title = $(d).attr('data-display');
if ($.inArray(title, titles) < 0) {
titles.push(title);
if (title !== undefined) {
select.append('<option value="' + title + '">' + title + '</option>')
var value = $(d).attr('data-search');
if ($.inArray(value, values) < 0) {
values.push(value);
if (value !== undefined) {
select.append('<option value="' + value + '">' + title + '</option>')
}
}
});

@ -2193,7 +2193,7 @@ input[type=number].form-control {
}
.table.list-table.grid-view .padding-reduce-on-grid-view {
padding: 2px;
padding: 1px;
}
.table.list-table.grid-view .text-left-on-grid-view {
@ -6428,7 +6428,7 @@ body.inverse .fade-edge:after {
display: none;
}
.table.list-table.grid-view .padding-reduce-on-grid-view {
padding: 2px;
padding: 1px;
}
.table.list-table.grid-view .text-left-on-grid-view {
text-align: left;

Loading…
Cancel
Save