mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fixing inconsistencies between what's represented via swagger and the real implementation, and bugs found in admin services
This commit is contained in:
parent
54f9d02ebb
commit
6e5148a374
@ -46,7 +46,7 @@
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<packagingExcludes>WEB-INF/lib/*cxf*.jar</packagingExcludes>
|
||||
<warName>api#device-mgt#v1.1</warName>
|
||||
<warName>api#device-mgt#v1.0</warName>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
@ -72,7 +72,7 @@
|
||||
<tasks>
|
||||
<copy todir="${basedir}/../../../repository/deployment/server/webapps" overwrite="true">
|
||||
<fileset dir="${basedir}/target">
|
||||
<include name="api#device-mgt#v1.1.war" />
|
||||
<include name="api#device-mgt#v1.0.war" />
|
||||
</fileset>
|
||||
</copy>
|
||||
</tasks>
|
||||
@ -243,6 +243,11 @@
|
||||
<artifactId>org.wso2.carbon.device.mgt.analytics.dashboard</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@ -0,0 +1,104 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DeviceList {
|
||||
|
||||
private int count;
|
||||
private String next;
|
||||
private String previous;
|
||||
|
||||
private List<Device> devices = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Number of Devices returned.
|
||||
*/
|
||||
@ApiModelProperty(value = "Number of Devices returned.")
|
||||
@JsonProperty("count")
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setCount(int count) {
|
||||
this.count = count;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Link to the next subset of resources qualified. \nEmpty if no more resources are to be returned.
|
||||
*/
|
||||
@ApiModelProperty(value = "Link to the next subset of resources qualified. \n " +
|
||||
"Empty if no more resources are to be returned.")
|
||||
@JsonProperty("next")
|
||||
public String getNext() {
|
||||
return next;
|
||||
}
|
||||
|
||||
public void setNext(String next) {
|
||||
this.next = next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Link to the previous subset of resources qualified. \nEmpty if current subset is the first subset returned.
|
||||
*/
|
||||
@ApiModelProperty(value = "Link to the previous subset of resources qualified. \n" +
|
||||
"Empty if current subset is the first subset returned.")
|
||||
@JsonProperty("previous")
|
||||
public String getPrevious() {
|
||||
return previous;
|
||||
}
|
||||
|
||||
public void setPrevious(String previous) {
|
||||
this.previous = previous;
|
||||
}
|
||||
|
||||
/**
|
||||
**/
|
||||
@ApiModelProperty(value = "List of devices returned")
|
||||
@JsonProperty("devices")
|
||||
public List<Device> getList() {
|
||||
return devices;
|
||||
}
|
||||
|
||||
public void setList(List<Device> devices) {
|
||||
this.devices = devices;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("{\n");
|
||||
|
||||
sb.append(" count: ").append(count).append(",\n");
|
||||
sb.append(" next: ").append(next).append(",\n");
|
||||
sb.append(" previous: ").append(previous).append(",\n");
|
||||
sb.append(" devices: [").append(devices).append("\n");
|
||||
sb.append("]}\n");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@ApiModel(description = "")
|
||||
public class ErrorListItem {
|
||||
|
||||
@NotNull
|
||||
private String code = null;
|
||||
@NotNull
|
||||
private String message = null;
|
||||
|
||||
@ApiModelProperty(required = true, value = "")
|
||||
@JsonProperty("code")
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public ErrorListItem() {}
|
||||
|
||||
public ErrorListItem(String code, String msg) {
|
||||
this.code = code;
|
||||
this.message = msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Description about individual errors occurred
|
||||
**/
|
||||
@ApiModelProperty(required = true, value = "Description about individual errors occurred")
|
||||
@JsonProperty("message")
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("errorItem {\n");
|
||||
|
||||
sb.append(" code: ").append(code).append("\n");
|
||||
sb.append(" message: ").append(message).append("\n");
|
||||
sb.append("}\n");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,193 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(description = "")
|
||||
public class ErrorResponse {
|
||||
|
||||
private Long code = null;
|
||||
private String message = null;
|
||||
private String description = null;
|
||||
private String moreInfo = null;
|
||||
private List<ErrorListItem> errorItems = new ArrayList<>();
|
||||
|
||||
private ErrorResponse() {
|
||||
}
|
||||
|
||||
@JsonProperty(value = "code")
|
||||
@ApiModelProperty(required = true, value = "")
|
||||
public Long getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(Long code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
@JsonProperty(value = "message")
|
||||
@ApiModelProperty(required = true, value = "ErrorResponse message.")
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@JsonProperty(value = "description")
|
||||
@ApiModelProperty(value = "A detail description about the error message.")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@JsonProperty(value = "moreInfo")
|
||||
@ApiModelProperty(value = "Preferably an url with more details about the error.")
|
||||
public String getMoreInfo() {
|
||||
return moreInfo;
|
||||
}
|
||||
|
||||
public void setMoreInfo(String moreInfo) {
|
||||
this.moreInfo = moreInfo;
|
||||
}
|
||||
|
||||
public void addErrorListItem(ErrorListItem item) {
|
||||
this.errorItems.add(item);
|
||||
}
|
||||
|
||||
/**
|
||||
* If there are more than one error list them out. \nFor example, list out validation errors by each field.
|
||||
*/
|
||||
@JsonProperty(value = "errorItems")
|
||||
@ApiModelProperty(value = "If there are more than one error list them out. \n" +
|
||||
"For example, list out validation errors by each field.")
|
||||
public List<ErrorListItem> getErrorItems() {
|
||||
return errorItems;
|
||||
}
|
||||
|
||||
public void setErrorItems(List<ErrorListItem> error) {
|
||||
this.errorItems = error;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// sb.append("{");
|
||||
// boolean cont = false;
|
||||
// if (code != null) {
|
||||
// cont = true;
|
||||
// sb.append(" \"code\": ").append(code);
|
||||
// }
|
||||
// if (message != null) {
|
||||
// if (cont) {
|
||||
// sb.append(",");
|
||||
// }
|
||||
// cont = true;
|
||||
// sb.append(" \"message\": \"").append(message).append("\"");
|
||||
// }
|
||||
// if (description != null) {
|
||||
// if (cont) {
|
||||
// sb.append(",");
|
||||
// }
|
||||
// cont = true;
|
||||
// sb.append(" \"description\": ").append(description).append("\"");
|
||||
// }
|
||||
// if (moreInfo != null) {
|
||||
// if (cont) {
|
||||
// sb.append(",");
|
||||
// }
|
||||
// cont = true;
|
||||
// sb.append(" \"moreInfo\": \"").append(moreInfo).append("\"");
|
||||
// }
|
||||
// if (error != null && error.size() > 0) {
|
||||
// if (cont) {
|
||||
// sb.append(",");
|
||||
// }
|
||||
// sb.append(" \"errorItems\": ").append(error);
|
||||
// }
|
||||
// sb.append("}");
|
||||
// return sb.toString();
|
||||
return null;
|
||||
}
|
||||
|
||||
public static class ErrorResponseBuilder {
|
||||
|
||||
private Long code = null;
|
||||
private String message = null;
|
||||
private String description = null;
|
||||
private String moreInfo = null;
|
||||
private List<ErrorListItem> error;
|
||||
|
||||
|
||||
public ErrorResponseBuilder() {
|
||||
this.error = new ArrayList<>();
|
||||
}
|
||||
|
||||
public ErrorResponseBuilder setCode(long code) {
|
||||
this.code = code;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ErrorResponseBuilder setMessage(String message) {
|
||||
this.message = message;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ErrorResponseBuilder setDescription(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ErrorResponseBuilder setMoreInfo(String moreInfo) {
|
||||
this.moreInfo = moreInfo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ErrorResponseBuilder addErrorItem(String code, String msg) {
|
||||
ErrorListItem item = new ErrorListItem();
|
||||
item.setCode(code);
|
||||
item.setMessage(msg);
|
||||
this.error.add(item);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ErrorResponse build() {
|
||||
ErrorResponse errorResponse = new ErrorResponse();
|
||||
errorResponse.setCode(code);
|
||||
errorResponse.setMessage(message);
|
||||
errorResponse.setErrorItems(error);
|
||||
errorResponse.setDescription(description);
|
||||
errorResponse.setMoreInfo(moreInfo);
|
||||
return errorResponse;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.beans;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "notificationList")
|
||||
public class NotificationList {
|
||||
|
||||
private int count;
|
||||
private String next;
|
||||
private String previous;
|
||||
private List<Notification> notifications;
|
||||
|
||||
/**
|
||||
* Number of notifications returned.
|
||||
*/
|
||||
@ApiModelProperty(value = "Number of notifications returned.")
|
||||
@JsonProperty("count")
|
||||
public int getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setCount(int count) {
|
||||
this.count = count;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Link to the next subset of resources qualified. \nEmpty if no more resources are to be returned.
|
||||
*/
|
||||
@ApiModelProperty(value = "Link to the next subset of resources qualified. \n " +
|
||||
"Empty if no more resources are to be returned.")
|
||||
@JsonProperty("next")
|
||||
public String getNext() {
|
||||
return next;
|
||||
}
|
||||
|
||||
public void setNext(String next) {
|
||||
this.next = next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Link to the previous subset of resources qualified. \nEmpty if current subset is the first subset returned.
|
||||
*/
|
||||
@ApiModelProperty(value = "Link to the previous subset of resources qualified. \n" +
|
||||
"Empty if current subset is the first subset returned.")
|
||||
@JsonProperty("previous")
|
||||
public String getPrevious() {
|
||||
return previous;
|
||||
}
|
||||
|
||||
public void setPrevious(String previous) {
|
||||
this.previous = previous;
|
||||
}
|
||||
|
||||
@JsonProperty("notifications")
|
||||
@ApiModelProperty("notifications")
|
||||
public List<Notification> getNotifications() {
|
||||
return notifications;
|
||||
}
|
||||
|
||||
public void setNotifications(List<Notification> notifications) {
|
||||
this.notifications = notifications;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("{");
|
||||
|
||||
sb.append(" count: ").append(count).append(",");
|
||||
sb.append(" next: ").append(next).append(",");
|
||||
sb.append(" previous: ").append(previous).append(",");
|
||||
sb.append(" notifications: [").append(notifications).append("");
|
||||
sb.append("]}");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -21,7 +21,6 @@ package org.wso2.carbon.device.mgt.jaxrs.service.api;
|
||||
import io.swagger.annotations.*;
|
||||
import org.wso2.carbon.apimgt.annotations.api.API;
|
||||
import org.wso2.carbon.apimgt.annotations.api.Permission;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
@ -55,7 +54,7 @@ public interface ActivityInfoProviderService {
|
||||
code = 200,
|
||||
message = "OK. \n Activity details are successfully fetched",
|
||||
response = Activity.class,
|
||||
responseHeaders = {
|
||||
responseHeaders = {
|
||||
@ResponseHeader(
|
||||
name = "Content-Type",
|
||||
description = "The content type of the body"),
|
||||
@ -77,7 +76,7 @@ public interface ActivityInfoProviderService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching activity data.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching activity data.")
|
||||
})
|
||||
@Permission(scope = "activity-view", permissions = {"/permission/admin/device-mgt/admin/activities/view"})
|
||||
Response getActivity(
|
||||
@ -94,7 +93,6 @@ public interface ActivityInfoProviderService {
|
||||
|
||||
|
||||
@GET
|
||||
@Path("/")
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
@ -102,7 +100,8 @@ public interface ActivityInfoProviderService {
|
||||
responseContainer = "List",
|
||||
value = "Retrieve details of a particular activity.",
|
||||
notes = "This will return information of a particular activities i.e. meta information of operations, " +
|
||||
"etc; including the responses from the devices which happened after given time.")
|
||||
"etc; including the responses from the devices which happened after given time.",
|
||||
tags = "Activity Info Provider")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(
|
||||
code = 200,
|
||||
@ -131,7 +130,7 @@ public interface ActivityInfoProviderService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching activity data.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching activity data.")
|
||||
})
|
||||
@Permission(scope = "activity-view", permissions = {"/permission/admin/device-mgt/admin/activities/view"})
|
||||
Response getActivities(
|
||||
@ -139,12 +138,22 @@ public interface ActivityInfoProviderService {
|
||||
name = "timestamp",
|
||||
value = "Validates if the requested variant has not been modified since the time specified, this " +
|
||||
"should be provided in unix format in seconds.",
|
||||
required = true)
|
||||
required = false)
|
||||
@QueryParam("timestamp") String timestamp,
|
||||
@ApiParam(
|
||||
name = "If-Modified-Since",
|
||||
value = "Validates if the requested variant has not been modified since the time specified",
|
||||
required = false)
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince);
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@ApiParam(
|
||||
name = "offset",
|
||||
value = "Starting point within the complete list of items qualified.",
|
||||
required = false)
|
||||
@QueryParam("offset") int offset,
|
||||
@ApiParam(
|
||||
name = "limit",
|
||||
value = "Maximum size of resource array to return.",
|
||||
required = false)
|
||||
@QueryParam("limit") int limit);
|
||||
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ public interface ConfigurationManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the general platform configuration.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the general platform configuration.")
|
||||
})
|
||||
@Permission(scope = "configuration-view",
|
||||
permissions = {"/permission/admin/device-mgt/admin/platform-configs/view"})
|
||||
@ -123,7 +123,7 @@ public interface ConfigurationManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while modifying general platform configuration.")
|
||||
})
|
||||
@Permission(scope = "configuration-modify",
|
||||
|
||||
@ -84,7 +84,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the device list.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the device list.")
|
||||
})
|
||||
@Permission(scope = "device-list", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
Response getDevices(
|
||||
@ -95,7 +95,7 @@ public interface DeviceManagementService {
|
||||
@QueryParam("type") String type,
|
||||
@ApiParam(
|
||||
name = "user", value = "Username of owner of the devices.",
|
||||
required = true)
|
||||
required = false)
|
||||
@QueryParam("user") String user,
|
||||
@ApiParam(
|
||||
name = "roleName",
|
||||
@ -177,7 +177,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while retrieving information of the list of the devices submitted.")
|
||||
})
|
||||
@Permission(scope = "device-info", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
@ -198,69 +198,69 @@ public interface DeviceManagementService {
|
||||
required = false)
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince);
|
||||
|
||||
@POST
|
||||
@ApiOperation(
|
||||
consumes = MediaType.APPLICATION_JSON,
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "POST",
|
||||
value = "Retrieve devices information from the supplied device identifies.",
|
||||
notes = "This will return device information such as CPU usage, memory usage etc for supplied device " +
|
||||
"identifiers.",
|
||||
response = DeviceInfo.class,
|
||||
responseContainer = "List",
|
||||
tags = "Device Management")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
code = 200,
|
||||
message = "OK. \n Information of the submitted list of devices is returned",
|
||||
response = DeviceInfo.class,
|
||||
responseContainer = "List",
|
||||
responseHeaders = {
|
||||
@ResponseHeader(
|
||||
name = "Content-Type",
|
||||
description = "The content type of the body"),
|
||||
@ResponseHeader(
|
||||
name = "ETag",
|
||||
description = "Entity Tag of the response resource.\n" +
|
||||
"Used by caches, or in conditional requests."),
|
||||
@ResponseHeader(
|
||||
name = "Last-Modified",
|
||||
description = "Date and time the resource has been modified the last time.\n" +
|
||||
"Used by caches, or in conditional requests.")}),
|
||||
@ApiResponse(
|
||||
code = 303,
|
||||
message = "See Other. \n Source can be retrieved from the URL specified at the Location header.",
|
||||
responseHeaders = {
|
||||
@ResponseHeader(
|
||||
name = "Content-Location",
|
||||
description = "The Source URL of the document.")}),
|
||||
@ApiResponse(
|
||||
code = 304,
|
||||
message = "Not Modified. \n " +
|
||||
"Empty body because the client already has the latest version of the requested resource."),
|
||||
@ApiResponse(
|
||||
code = 400,
|
||||
message = "Bad Request. \n Invalid request or validation error."),
|
||||
@ApiResponse(
|
||||
code = 406,
|
||||
message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
"Server error occurred while retrieving information of the list of the devices submitted.")
|
||||
})
|
||||
@Permission(scope = "device-info", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
Response getDevicesInfo(
|
||||
@ApiParam(
|
||||
name = "deviceIds",
|
||||
value = "List of device identifiers",
|
||||
required = true) List<DeviceIdentifier> deviceIds,
|
||||
@ApiParam(
|
||||
name = "If-Modified-Since",
|
||||
value = "Timestamp of the last modified date",
|
||||
required = false)
|
||||
@HeaderParam("If-Modified-Since") String timestamp);
|
||||
// @POST
|
||||
// @ApiOperation(
|
||||
// consumes = MediaType.APPLICATION_JSON,
|
||||
// produces = MediaType.APPLICATION_JSON,
|
||||
// httpMethod = "POST",
|
||||
// value = "Retrieve devices information from the supplied device identifies.",
|
||||
// notes = "This will return device information such as CPU usage, memory usage etc for supplied device " +
|
||||
// "identifiers.",
|
||||
// response = DeviceInfo.class,
|
||||
// responseContainer = "List",
|
||||
// tags = "Device Management")
|
||||
// @ApiResponses(
|
||||
// value = {
|
||||
// @ApiResponse(
|
||||
// code = 200,
|
||||
// message = "OK. \n Information of the submitted list of devices is returned",
|
||||
// response = DeviceInfo.class,
|
||||
// responseContainer = "List",
|
||||
// responseHeaders = {
|
||||
// @ResponseHeader(
|
||||
// name = "Content-Type",
|
||||
// description = "The content type of the body"),
|
||||
// @ResponseHeader(
|
||||
// name = "ETag",
|
||||
// description = "Entity Tag of the response resource.\n" +
|
||||
// "Used by caches, or in conditional requests."),
|
||||
// @ResponseHeader(
|
||||
// name = "Last-Modified",
|
||||
// description = "Date and time the resource has been modified the last time.\n" +
|
||||
// "Used by caches, or in conditional requests.")}),
|
||||
// @ApiResponse(
|
||||
// code = 303,
|
||||
// message = "See Other. \n Source can be retrieved from the URL specified at the Location header.",
|
||||
// responseHeaders = {
|
||||
// @ResponseHeader(
|
||||
// name = "Content-Location",
|
||||
// description = "The Source URL of the document.")}),
|
||||
// @ApiResponse(
|
||||
// code = 304,
|
||||
// message = "Not Modified. \n " +
|
||||
// "Empty body because the client already has the latest version of the requested resource."),
|
||||
// @ApiResponse(
|
||||
// code = 400,
|
||||
// message = "Bad Request. \n Invalid request or validation error."),
|
||||
// @ApiResponse(
|
||||
// code = 406,
|
||||
// message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
// @ApiResponse(
|
||||
// code = 500,
|
||||
// message = "Internal Server ErrorResponse. \n " +
|
||||
// "Server error occurred while retrieving information of the list of the devices submitted.")
|
||||
// })
|
||||
// @Permission(scope = "device-info", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
// Response getDevicesInfo(
|
||||
// @ApiParam(
|
||||
// name = "deviceIds",
|
||||
// value = "List of device identifiers",
|
||||
// required = true) List<DeviceIdentifier> deviceIds,
|
||||
// @ApiParam(
|
||||
// name = "If-Modified-Since",
|
||||
// value = "Timestamp of the last modified date",
|
||||
// required = false)
|
||||
// @HeaderParam("If-Modified-Since") String timestamp);
|
||||
|
||||
|
||||
@GET
|
||||
@ -300,7 +300,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Found. \n No device is found under the provided type and id."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while retrieving information requested device.")
|
||||
})
|
||||
@Permission(scope = "device-view", permissions = {
|
||||
@ -349,7 +349,7 @@ public interface DeviceManagementService {
|
||||
message = "Location details are not available for the given device."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Error occurred while getting the device location.")
|
||||
message = "ErrorResponse occurred while getting the device location.")
|
||||
})
|
||||
@Permission(scope = "device-info", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
Response getDeviceLocation(
|
||||
@ -398,7 +398,7 @@ public interface DeviceManagementService {
|
||||
message = "Location details are not available for the given devices."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Error occurred while getting the device location.")
|
||||
message = "ErrorResponse occurred while getting the device location.")
|
||||
})
|
||||
@Permission(scope = "device-info", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
Response getDeviceLocations(
|
||||
@ -467,7 +467,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while retrieving feature list of the device.")
|
||||
})
|
||||
@Permission(scope = "device-search", permissions = {"/permission/admin/device-mgt/admin/devices/view",
|
||||
@ -535,7 +535,7 @@ public interface DeviceManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while enrolling the device.")
|
||||
})
|
||||
@Permission(scope = "device-search", permissions = {"/permission/admin/device-mgt/admin/devices/list"})
|
||||
@ -608,7 +608,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while retrieving installed application list of the device.")
|
||||
})
|
||||
@Permission(scope = "operation-view", permissions = {
|
||||
@ -696,7 +696,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while retrieving operation list scheduled for the device.")
|
||||
})
|
||||
@Permission(scope = "operation-view", permissions = {
|
||||
@ -731,6 +731,7 @@ public interface DeviceManagementService {
|
||||
@QueryParam("limit") int limit);
|
||||
|
||||
@GET
|
||||
@Path("/{type}/{id}/effective-policy")
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
@ -781,7 +782,7 @@ public interface DeviceManagementService {
|
||||
message = "Not Acceptable. \n The requested media type is not supported."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while retrieving the effective policy calculated for the device.")
|
||||
})
|
||||
Response getEffectivePolicyOfDevice(
|
||||
@ -789,12 +790,12 @@ public interface DeviceManagementService {
|
||||
name = "type",
|
||||
value = "The device type, such as ios, android or windows.",
|
||||
required = true)
|
||||
@QueryParam("type") String type,
|
||||
@PathParam("type") String type,
|
||||
@ApiParam(
|
||||
name = "id",
|
||||
value = "Device Identifier",
|
||||
required = true)
|
||||
@QueryParam("id") String id,
|
||||
@PathParam("id") String id,
|
||||
@ApiParam(
|
||||
name = "If-Modified-Since",
|
||||
value = "Validates if the requested variant has not been modified since the time specified",
|
||||
|
||||
@ -76,7 +76,7 @@ public interface NotificationManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the notification list.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the notification list.")
|
||||
})
|
||||
@Permission(scope = "device-notification-view", permissions = {
|
||||
"/permission/admin/device-mgt/admin/notifications/view",
|
||||
@ -146,7 +146,7 @@ public interface NotificationManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while modifying status of the notification.")
|
||||
})
|
||||
@Permission(scope = "device-notification-modify",
|
||||
@ -198,7 +198,7 @@ public interface NotificationManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while adding the notification.")
|
||||
})
|
||||
@Permission(scope = "device-notification-modify",
|
||||
|
||||
@ -82,7 +82,7 @@ public interface PolicyManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while adding a new policy.")})
|
||||
@Permission(scope = "policy-modify", permissions = {"/permission/admin/device-mgt/admin/policies/add"})
|
||||
Response addPolicy(
|
||||
@ -128,7 +128,7 @@ public interface PolicyManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching policies.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching policies.")
|
||||
})
|
||||
@Permission(scope = "policy-view", permissions = {"/permission/admin/device-mgt/admin/policies/list"})
|
||||
Response getPolicies(
|
||||
@ -187,7 +187,7 @@ public interface PolicyManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the policy.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the policy.")
|
||||
})
|
||||
@Permission(scope = "policy-view", permissions = {"/permission/admin/device-mgt/admin/policies/list"})
|
||||
Response getPolicy(
|
||||
@ -243,7 +243,7 @@ public interface PolicyManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while updating the policy.")
|
||||
})
|
||||
@Permission(scope = "policy-modify", permissions = {"/permission/admin/device-mgt/admin/policies/update"})
|
||||
@ -281,7 +281,7 @@ public interface PolicyManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while bulk removing policies.")
|
||||
})
|
||||
@Permission(scope = "policy-modify", permissions = {"/permission/admin/device-mgt/admin/policies/remove"})
|
||||
@ -304,7 +304,7 @@ public interface PolicyManagementService {
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(code = 200, message = "Policies have been successfully activated."),
|
||||
@ApiResponse(code = 500, message = "Error in activating policies.")
|
||||
@ApiResponse(code = 500, message = "ErrorResponse in activating policies.")
|
||||
})
|
||||
@Permission(scope = "policy-modify", permissions = {
|
||||
"/permission/admin/device-mgt/admin/policies/update",
|
||||
@ -325,7 +325,7 @@ public interface PolicyManagementService {
|
||||
tags = "Device Policy Management")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(code = 200, message = "Policies have been successfully deactivated."),
|
||||
@ApiResponse(code = 500, message = "Error in deactivating policies.")
|
||||
@ApiResponse(code = 500, message = "ErrorResponse in deactivating policies.")
|
||||
})
|
||||
@Permission(scope = "policy-modify", permissions = {
|
||||
"/permission/admin/device-mgt/admin/policies/update",
|
||||
|
||||
@ -76,7 +76,7 @@ public interface RoleManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching requested list of roles.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching requested list of roles.")
|
||||
})
|
||||
@Permission(scope = "roles-view", permissions = {
|
||||
"/permission/admin/device-mgt/admin/roles/list",
|
||||
@ -155,7 +155,7 @@ public interface RoleManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the permission list of the requested role.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the permission list of the requested role.")
|
||||
})
|
||||
@Permission(scope = "roles-view", permissions = {"/permission/admin/device-mgt/admin/roles/list"})
|
||||
Response getPermissionsOfRole(
|
||||
@ -209,7 +209,7 @@ public interface RoleManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the requested role.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the requested role.")
|
||||
})
|
||||
@Permission(scope = "roles-view", permissions = {"/permission/admin/device-mgt/admin/roles/list"})
|
||||
Response getRole(
|
||||
@ -266,7 +266,7 @@ public interface RoleManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while adding a new role.")
|
||||
})
|
||||
@Permission(scope = "roles-modify", permissions = {"/permission/admin/device-mgt/admin/roles/add"})
|
||||
@ -316,7 +316,7 @@ public interface RoleManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while updating the role.")
|
||||
})
|
||||
@Permission(scope = "roles-modify", permissions = {"/permission/admin/device-mgt/admin/roles/update"})
|
||||
@ -348,7 +348,7 @@ public interface RoleManagementService {
|
||||
message = "Not Found. \n Resource to be deleted does not exist."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while removing the role.")
|
||||
})
|
||||
@Permission(scope = "roles-modify", permissions = {"/permission/admin/device-mgt/admin/roles/remove"})
|
||||
@ -404,7 +404,7 @@ public interface RoleManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while updating the user list of the role.")
|
||||
})
|
||||
@Permission(scope = "roles-modify", permissions = {"/permission/admin/device-mgt/admin/roles/update"})
|
||||
|
||||
@ -81,7 +81,7 @@ public interface UserManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while adding a new user.")
|
||||
})
|
||||
@Permission(scope = "user-modify", permissions = {"/permission/admin/device-mgt/admin/user/add"})
|
||||
@ -130,7 +130,7 @@ public interface UserManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the requested user.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the requested user.")
|
||||
})
|
||||
@Permission(scope = "user-view", permissions = {"/permission/admin/device-mgt/admin/user/view"})
|
||||
Response getUser(
|
||||
@ -185,7 +185,7 @@ public interface UserManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while updating the user.")
|
||||
})
|
||||
@Permission(scope = "user-modify", permissions = {"/permission/admin/device-mgt/admin/user/update"})
|
||||
@ -217,7 +217,7 @@ public interface UserManagementService {
|
||||
message = "Not Found. \n Resource to be deleted does not exist."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while removing the user.")
|
||||
})
|
||||
@Permission(scope = "user-modify", permissions = {"/permission/admin/device-mgt/admin/user/remove"})
|
||||
@ -266,7 +266,7 @@ public interface UserManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the role list assigned to the user.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the role list assigned to the user.")
|
||||
})
|
||||
@Permission(scope = "user-view", permissions = {"/permission/admin/device-mgt/admin/user/view"})
|
||||
Response getRolesOfUser(
|
||||
@ -310,7 +310,7 @@ public interface UserManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the user list.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the user list.")
|
||||
})
|
||||
@Permission(scope = "user-view", permissions = {"/permission/admin/device-mgt/admin/user/list"})
|
||||
Response getUsers(
|
||||
@ -376,7 +376,7 @@ public interface UserManagementService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the username list that matches the given filter.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the username list that matches the given filter.")
|
||||
})
|
||||
@Permission(scope = "user-view", permissions = {"/permission/admin/device-mgt/admin/user/list"})
|
||||
Response getUserNames(
|
||||
@ -425,7 +425,7 @@ public interface UserManagementService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while updating credentials of the user.")
|
||||
})
|
||||
@Permission(scope = "user-modify", permissions = {"/permission/admin/login"})
|
||||
|
||||
@ -63,7 +63,7 @@ public interface ApplicationManagementAdminService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while bulk issuing application installation operations upon " +
|
||||
"a given set of devices.")
|
||||
})
|
||||
@ -97,7 +97,7 @@ public interface ApplicationManagementAdminService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while bulk issuing application un-installation operations upon " +
|
||||
"a given set of devices.")
|
||||
})
|
||||
|
||||
@ -70,7 +70,7 @@ public interface DeviceManagementAdminService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the device list.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the device list.")
|
||||
})
|
||||
Response getDevicesByName(
|
||||
@ApiParam(
|
||||
|
||||
@ -69,7 +69,7 @@ public interface GroupManagementAdminService {
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the group list.")
|
||||
message = "Internal Server ErrorResponse. \n Server error occurred while fetching the group list.")
|
||||
})
|
||||
@Permission(scope = "group-view", permissions = {"/permission/admin/device-mgt/user/groups/list"})
|
||||
Response getGroupsOfUser(
|
||||
|
||||
@ -58,7 +58,7 @@ public interface UserManagementAdminService {
|
||||
message = "Unsupported media type. \n The entity of the request was in a not supported format."),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n " +
|
||||
message = "Internal Server ErrorResponse. \n " +
|
||||
"Server error occurred while updating credentials of the user.")
|
||||
})
|
||||
@Permission(scope = "user-modify", permissions = {"/permission/admin/login"})
|
||||
|
||||
@ -27,10 +27,13 @@ import org.wso2.carbon.device.mgt.jaxrs.service.api.ActivityInfoProviderService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Path("/activities")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
public class ActivityProviderServiceImpl implements ActivityInfoProviderService {
|
||||
|
||||
private static final Log log = LogFactory.getLog(ActivityProviderServiceImpl.class);
|
||||
@ -47,7 +50,7 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
|
||||
dmService = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
operation = dmService.getOperationByActivityId(id);
|
||||
} catch (OperationManagementException e) {
|
||||
String msg = "Error occurred while fetching the activity for the supplied id.";
|
||||
String msg = "ErrorResponse occurred while fetching the activity for the supplied id.";
|
||||
log.error(msg, e);
|
||||
Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -58,14 +61,16 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
|
||||
@Override
|
||||
public Response getActivities(
|
||||
@QueryParam("timestamp") String timestamp,
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince) {
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
List<Activity> activities = null;
|
||||
DeviceManagementProviderService dmService;
|
||||
try {
|
||||
dmService = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
activities = dmService.getActivitiesUpdatedAfter(Long.parseLong(timestamp));
|
||||
} catch (OperationManagementException e) {
|
||||
String msg = "Error occurred while fetching the activities updated after given time stamp.";
|
||||
String msg = "ErrorResponse occurred while fetching the activities updated after given time stamp.";
|
||||
log.error(msg, e);
|
||||
Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ public class ConfigurationServiceImpl implements ConfigurationManagementService
|
||||
config.setConfiguration(configList);
|
||||
return Response.status(Response.Status.OK).entity(config).build();
|
||||
} catch (ConfigurationManagementException e) {
|
||||
msg = "Error occurred while retrieving the configurations.";
|
||||
msg = "ErrorResponse occurred while retrieving the configurations.";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -77,7 +77,7 @@ public class ConfigurationServiceImpl implements ConfigurationManagementService
|
||||
return Response.status(Response.Status.CREATED)
|
||||
.entity("Configuration has successfully been updated").build();
|
||||
} catch (ConfigurationManagementException e) {
|
||||
String msg = "Error occurred while updating the configuration.";
|
||||
String msg = "ErrorResponse occurred while updating the configuration.";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ public class DashboardImpl implements Dashboard {
|
||||
// "parameter : " + NON_COMPLIANT_FEATURE_CODE;
|
||||
// private static final String REQUIRED_QUERY_PARAM_VALUE_PAGINATION_ENABLED = "Missing required query " +
|
||||
// "parameter : " + PAGINATION_ENABLED;
|
||||
// private static final String ERROR_IN_RETRIEVING_REQUESTED_DATA = "Error in retrieving requested data.";
|
||||
// private static final String ERROR_IN_RETRIEVING_REQUESTED_DATA = "ErrorResponse in retrieving requested data.";
|
||||
//
|
||||
// @GET
|
||||
// @Path("device-count-overview")
|
||||
|
||||
@ -35,22 +35,24 @@ import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManag
|
||||
import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService;
|
||||
import org.wso2.carbon.device.mgt.core.search.mgt.SearchMgtException;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.DeviceManagementService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||
import org.wso2.carbon.policy.mgt.common.Policy;
|
||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||
import org.wso2.carbon.policy.mgt.core.PolicyManagerService;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.ws.rs.*;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Path("/devices")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
|
||||
private static final Log log = LogFactory.getLog(DeviceManagementServiceImpl.class);
|
||||
|
||||
@ -66,15 +68,33 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
try {
|
||||
RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status);
|
||||
|
||||
DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||
PaginationResult result;
|
||||
|
||||
PaginationResult result = dms.getAllDevices(request);
|
||||
if (result == null || result.getData().size() == 0) {
|
||||
if (type != null) {
|
||||
result = dms.getDevicesByType(request);
|
||||
} else if (user != null) {
|
||||
result = dms.getDevicesOfUser(request);
|
||||
} else if (ownership != null) {
|
||||
RequestValidationUtil.validateOwnershipType(ownership);
|
||||
result = dms.getDevicesByOwnership(request);
|
||||
} else if (status != null) {
|
||||
RequestValidationUtil.validateStatus(status);
|
||||
result = dms.getDevicesByStatus(request);
|
||||
} else {
|
||||
result = dms.getAllDevices(request);
|
||||
}
|
||||
if (result == null) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No device is currently enrolled " +
|
||||
"with the server").build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(result.getData()).build();
|
||||
DeviceList devices = new DeviceList();
|
||||
devices.setList((List<Device>) result.getData());
|
||||
devices.setCount(result.getRecordsTotal());
|
||||
return Response.status(Response.Status.OK).entity(devices).build();
|
||||
} catch (DeviceManagementException e) {
|
||||
String msg = "Error occurred while fetching all enrolled devices";
|
||||
log.error(msg, e);
|
||||
@ -84,11 +104,13 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
|
||||
@GET
|
||||
@Path("{type}/{id}/info")
|
||||
public Response getDeviceInfo(@PathParam("type") String type, @PathParam("id") String id,
|
||||
public Response getDeviceInfo(@PathParam("type") String type, @NotNull @PathParam("id") String id,
|
||||
@HeaderParam("If-Modified-Since") String timestamp) {
|
||||
DeviceInformationManager informationManager;
|
||||
DeviceInfo deviceInfo;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||
deviceIdentifier.setId(id);
|
||||
deviceIdentifier.setType(type);
|
||||
@ -101,30 +123,31 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(deviceInfo).build();
|
||||
}
|
||||
|
||||
@POST
|
||||
@Override
|
||||
public Response getDevicesInfo(
|
||||
List<DeviceIdentifier> deviceIds,
|
||||
@HeaderParam("If-Modified-Since") String timestamp) {
|
||||
DeviceInformationManager informationManager;
|
||||
List<DeviceInfo> deviceInfo;
|
||||
try {
|
||||
informationManager = DeviceMgtAPIUtils.getDeviceInformationManagerService();
|
||||
deviceInfo = informationManager.getDevicesInfo(deviceIds);
|
||||
if (deviceInfo == null) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No device information is available for the " +
|
||||
"device list submitted").build();
|
||||
}
|
||||
} catch (DeviceDetailsMgtException e) {
|
||||
String msg = "Error occurred while getting the device information.";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(deviceInfo).build();
|
||||
}
|
||||
//
|
||||
// @POST
|
||||
// @Override
|
||||
// public Response getDevicesInfo(
|
||||
// List<DeviceIdentifier> deviceIds,
|
||||
// @HeaderParam("If-Modified-Since") String timestamp) {
|
||||
// DeviceInformationManager informationManager;
|
||||
// List<DeviceInfo> deviceInfo;
|
||||
// try {
|
||||
// informationManager = DeviceMgtAPIUtils.getDeviceInformationManagerService();
|
||||
// deviceInfo = informationManager.getDevicesInfo(deviceIds);
|
||||
// if (deviceInfo == null) {
|
||||
// return Response.status(Response.Status.NOT_FOUND).entity("No device information is available for the " +
|
||||
// "device list submitted").build();
|
||||
// }
|
||||
// } catch (DeviceDetailsMgtException e) {
|
||||
// String msg = "Error occurred while getting the device information.";
|
||||
// log.error(msg, e);
|
||||
// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
// }
|
||||
// return Response.status(Response.Status.OK).entity(deviceInfo).build();
|
||||
// }
|
||||
|
||||
@GET
|
||||
@Path("/{type}/{id}")
|
||||
@Override
|
||||
public Response getDevice(
|
||||
@PathParam("type") String type,
|
||||
@ -132,6 +155,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince) {
|
||||
Device device;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
device = dms.getDevice(new DeviceIdentifier(id, type));
|
||||
} catch (DeviceManagementException e) {
|
||||
@ -156,6 +181,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
DeviceInformationManager informationManager;
|
||||
DeviceLocation deviceLocation;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
informationManager = DeviceMgtAPIUtils.getDeviceInformationManagerService();
|
||||
deviceLocation = informationManager.getDeviceLocation(new DeviceIdentifier(id, type));
|
||||
if (deviceLocation == null || deviceLocation.getLatitude() == null ||
|
||||
@ -199,6 +226,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
List<Feature> features;
|
||||
DeviceManagementProviderService dms;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
features = dms.getFeatureManager(type).getFeatures();
|
||||
} catch (DeviceManagementException e) {
|
||||
@ -207,9 +236,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
if (features == null || features.size() == 0) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No feature is currently associated " +
|
||||
"with the '" + type + "' device, which carries the id '" + id + "'").build();
|
||||
if (features == null) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("It is likely that no device is found upon " +
|
||||
"the provided type and id").build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(features).build();
|
||||
}
|
||||
@ -217,7 +246,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
@POST
|
||||
@Path("/search-devices")
|
||||
@Override
|
||||
public Response searchDevices(@QueryParam("offset") int offset, @QueryParam("limit") int limit, SearchContext searchContext) {
|
||||
public Response searchDevices(@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit, SearchContext searchContext) {
|
||||
SearchManagerService searchManagerService;
|
||||
List<DeviceWrapper> devices;
|
||||
try {
|
||||
@ -228,9 +258,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
if (devices == null || devices.size() == 0) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No device can be retrieved upon the provided " +
|
||||
"selection criteria").build();
|
||||
if (devices == null) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("It is likely that no device is found upon " +
|
||||
"the provided type and id").build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(devices).build();
|
||||
}
|
||||
@ -247,11 +277,13 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
List<Application> applications;
|
||||
ApplicationManagementProviderService amc;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
amc = DeviceMgtAPIUtils.getAppManagementService();
|
||||
applications = amc.getApplicationListForDevice(new DeviceIdentifier(id, type));
|
||||
if (applications == null || applications.size() == 0) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No installed applications found on the " +
|
||||
"device searched").build();
|
||||
if (applications == null) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("It is likely that no device is found upon" +
|
||||
"the provided type and id").build();
|
||||
}
|
||||
} catch (ApplicationManagementException e) {
|
||||
String msg = "Error occurred while fetching the apps of the '" + type + "' device, which carries " +
|
||||
@ -274,8 +306,14 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
List<? extends Operation> operations;
|
||||
DeviceManagementProviderService dms;
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
operations = dms.getOperations(new DeviceIdentifier(id, type));
|
||||
if (operations == null) {
|
||||
Response.status(Response.Status.NOT_FOUND).entity("It is likely that no device is found upon " +
|
||||
"the provided type and id");
|
||||
}
|
||||
} catch (OperationManagementException e) {
|
||||
String msg = "Error occurred while fetching the operations for the '" + type + "' device, which " +
|
||||
"carries the id '" + id + "'";
|
||||
@ -285,11 +323,15 @@ public class DeviceManagementServiceImpl implements DeviceManagementService{
|
||||
return Response.status(Response.Status.OK).entity(operations).build();
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/{type}/{id}/effective-policy")
|
||||
@Override
|
||||
public Response getEffectivePolicyOfDevice(@QueryParam("type") String type,
|
||||
@QueryParam("id") String id,
|
||||
public Response getEffectivePolicyOfDevice(@PathParam("type") String type,
|
||||
@PathParam("id") String id,
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince) {
|
||||
try {
|
||||
RequestValidationUtil.validateDeviceIdentifier(type, id);
|
||||
|
||||
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
|
||||
Policy policy = policyManagementService.getAppliedPolicyToDevice(new DeviceIdentifier(id, type));
|
||||
if (policy == null) {
|
||||
|
||||
@ -64,7 +64,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
||||
// }
|
||||
// return Response.status(Response.Status.OK).entity(groupWrappers).build();
|
||||
// } catch (GroupManagementException e) {
|
||||
// String error = "Error occurred while getting the groups related to users for policy.";
|
||||
// String error = "ErrorResponse occurred while getting the groups related to users for policy.";
|
||||
// log.error(error, e);
|
||||
// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
|
||||
// }
|
||||
|
||||
@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.NotificationManagementService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
@ -44,16 +45,24 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
||||
String msg;
|
||||
List<Notification> notifications;
|
||||
try {
|
||||
List<Notification> notifications =
|
||||
DeviceMgtAPIUtils.getNotificationManagementService().getAllNotifications();
|
||||
if (status != null) {
|
||||
RequestValidationUtil.validateNotificationStatus(status);
|
||||
notifications =
|
||||
DeviceMgtAPIUtils.getNotificationManagementService().getNotificationsByStatus(
|
||||
Notification.Status.valueOf(status));
|
||||
} else {
|
||||
notifications = DeviceMgtAPIUtils.getNotificationManagementService().getAllNotifications();
|
||||
}
|
||||
|
||||
if (notifications == null || notifications.size() == 0) {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No notification is available to be " +
|
||||
"retrieved").build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(notifications).build();
|
||||
} catch (NotificationManagementException e) {
|
||||
msg = "Error occurred while retrieving notification info";
|
||||
msg = "ErrorResponse occurred while retrieving notification info";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -64,11 +73,14 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
||||
@Override
|
||||
public Response updateNotificationStatus(@PathParam("id") int id, String status) {
|
||||
try {
|
||||
RequestValidationUtil.validateNotificationId(id);
|
||||
RequestValidationUtil.validateNotificationStatus(status);
|
||||
|
||||
DeviceMgtAPIUtils.getNotificationManagementService().updateNotificationStatus(id,
|
||||
Notification.Status.valueOf(status));
|
||||
return Response.status(Response.Status.OK).entity("Notification status has successfully been updated").build();
|
||||
} catch (NotificationManagementException e) {
|
||||
String msg = "Error occurred while updating notification status";
|
||||
String msg = "ErrorResponse occurred while updating notification status";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -78,10 +90,12 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
||||
@Override
|
||||
public Response addNotification(Notification notification) {
|
||||
try {
|
||||
RequestValidationUtil.validateNotification(notification);
|
||||
|
||||
DeviceMgtAPIUtils.getNotificationManagementService().addNotification(notification);
|
||||
return Response.status(Response.Status.OK).entity("Notification has successfully been added").build();
|
||||
} catch (NotificationManagementException e) {
|
||||
String msg = "Error occurred while updating notification status.";
|
||||
String msg = "ErrorResponse occurred while updating notification status.";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
"not authorized to add policies").build();
|
||||
}
|
||||
} catch (DeviceAccessAuthorizationException e) {
|
||||
String msg = "Error occurred while checking if the current user is authorized to add a policy";
|
||||
String msg = "ErrorResponse occurred while checking if the current user is authorized to add a policy";
|
||||
log.error(msg, e);
|
||||
return javax.ws.rs.core.Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -77,7 +77,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
pap.addPolicy(policy);
|
||||
return Response.status(Response.Status.OK).entity("Policy has been added successfully").build();
|
||||
} catch (PolicyManagementException e) {
|
||||
String msg = "Error occurred while adding policy";
|
||||
String msg = "ErrorResponse occurred while adding policy";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -112,7 +112,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No policies found.").build();
|
||||
}
|
||||
} catch (PolicyManagementException e) {
|
||||
String msg = "Error occurred while retrieving all available policies";
|
||||
String msg = "ErrorResponse occurred while retrieving all available policies";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -132,7 +132,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("Policy not found.").build();
|
||||
}
|
||||
} catch (PolicyManagementException e) {
|
||||
String msg = "Error occurred while retrieving policy corresponding to the id '" + id + "'";
|
||||
String msg = "ErrorResponse occurred while retrieving policy corresponding to the id '" + id + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -150,7 +150,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
pap.updatePolicy(policy);
|
||||
return Response.status(Response.Status.OK).entity("Policy has successfully been updated").build();
|
||||
} catch (PolicyManagementException e) {
|
||||
String msg = "Error occurred while updating the policy";
|
||||
String msg = "ErrorResponse occurred while updating the policy";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -170,7 +170,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
}
|
||||
}
|
||||
} catch (PolicyManagementException e) {
|
||||
String msg = "Error occurred while removing policies";
|
||||
String msg = "ErrorResponse occurred while removing policies";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -193,7 +193,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
pap.activatePolicy(i);
|
||||
}
|
||||
} catch (PolicyManagementException e) {
|
||||
String msg = "Error occurred while activating policies";
|
||||
String msg = "ErrorResponse occurred while activating policies";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
return Response.status(Response.Status.NOT_FOUND).entity("No roles found.").build();
|
||||
}
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while retrieving roles from the underlying user stores";
|
||||
String msg = "ErrorResponse occurred while retrieving roles from the underlying user stores";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -88,11 +88,11 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(rolePermissions).build();
|
||||
} catch (UserAdminException e) {
|
||||
String msg = "Error occurred while retrieving the permissions of role '" + roleName + "'";
|
||||
String msg = "ErrorResponse occurred while retrieving the permissions of role '" + roleName + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while retrieving the underlying user realm attached to the " +
|
||||
String msg = "ErrorResponse occurred while retrieving the underlying user realm attached to the " +
|
||||
"current logged in user";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
@ -150,7 +150,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
roleWrapper.setPermissions(permList.toArray(permListAr));
|
||||
}
|
||||
} catch (UserStoreException | UserAdminException e) {
|
||||
String msg = "Error occurred while retrieving the user role '" + roleName + "'";
|
||||
String msg = "ErrorResponse occurred while retrieving the user role '" + roleName + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -186,7 +186,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
}
|
||||
userStoreManager.addRole(roleWrapper.getRoleName(), roleWrapper.getUsers(), permissions);
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while adding role '" + roleWrapper.getRoleName() + "'";
|
||||
String msg = "ErrorResponse occurred while adding role '" + roleWrapper.getRoleName() + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -228,7 +228,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
}
|
||||
}
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while updating role '" + roleName + "'";
|
||||
String msg = "ErrorResponse occurred while updating role '" + roleName + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -249,7 +249,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
// Delete all authorizations for the current role before deleting
|
||||
authorizationManager.clearRoleAuthorization(roleName);
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while deleting the role '" + roleName + "'";
|
||||
String msg = "ErrorResponse occurred while deleting the role '" + roleName + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -275,7 +275,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
|
||||
userStoreManager.updateUserListOfRole(roleName, usersToDelete, usersToAdd);
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while updating the users of the role '" + roleName + "'";
|
||||
String msg = "ErrorResponse occurred while updating the users of the role '" + roleName + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
} catch (DeviceManagementException e) {
|
||||
String msg = "Error occurred while inviting user to enroll the device";
|
||||
String msg = "ErrorResponse occurred while inviting user to enroll the device";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -185,7 +185,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
||||
"User by username: " + username + " does not exist").build();
|
||||
}
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while retrieving information of the user '" + username + "'";
|
||||
String msg = "ErrorResponse occurred while retrieving information of the user '" + username + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -348,7 +348,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(userList).build();
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while retrieving the list of users";
|
||||
String msg = "ErrorResponse occurred while retrieving the list of users";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
@ -381,7 +381,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(userList).build();
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while retrieving the list of users using the filter : " + filter;
|
||||
String msg = "ErrorResponse occurred while retrieving the list of users using the filter : " + filter;
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem
|
||||
return Response.status(Response.Status.ACCEPTED).entity("Application installation request has been sent " +
|
||||
"to the device").build();
|
||||
} catch (ApplicationManagementException e) {
|
||||
String msg = "Error occurred while processing application installation request";
|
||||
String msg = "ErrorResponse occurred while processing application installation request";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
} catch (UnknownApplicationTypeException e) {
|
||||
@ -103,7 +103,7 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem
|
||||
return Response.status(Response.Status.ACCEPTED).entity("Application un-installation request has " +
|
||||
"been sent to the device").build();
|
||||
} catch (ApplicationManagementException e) {
|
||||
String msg = "Error occurred while processing application un-installation request";
|
||||
String msg = "ErrorResponse occurred while processing application un-installation request";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
} catch (UnknownApplicationTypeException e) {
|
||||
|
||||
@ -54,7 +54,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(devices).build();
|
||||
} catch (DeviceManagementException e) {
|
||||
String msg = "Error occurred while fetching the devices that carry the name '" + name + "'";
|
||||
String msg = "ErrorResponse occurred while fetching the devices that carry the name '" + name + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ public class GroupManagementAdminServiceImpl implements GroupManagementAdminServ
|
||||
return Response.status(Response.Status.NOT_FOUND).build();
|
||||
}
|
||||
} catch (GroupManagementException e) {
|
||||
String msg = "Error occurred while retrieving the groups of user '" + username + "'";
|
||||
String msg = "ErrorResponse occurred while retrieving the groups of user '" + username + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.service.impl.util;
|
||||
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||
|
||||
import javax.ws.rs.BadRequestException;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.io.Serializable;
|
||||
|
||||
public class InputValidationException extends BadRequestException implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 147843579458906890L;
|
||||
|
||||
public InputValidationException(ErrorResponse error) {
|
||||
super(Response.status(Response.Status.BAD_REQUEST).entity(error).build());
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,171 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.jaxrs.service.impl.util;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class RequestValidationUtil {
|
||||
|
||||
/**
|
||||
* Checks if multiple criteria are specified in a conditional request.
|
||||
*
|
||||
* @param type Device type upon which the selection is done
|
||||
* @param user Device user upon whom the selection is done
|
||||
* @param roleName Role name upon which the selection is done
|
||||
* @param ownership Ownership type upon which the selection is done
|
||||
* @param status Enrollment status upon which the selection is done
|
||||
*/
|
||||
public static void validateSelectionCriteria(final String type, final String user, final String roleName,
|
||||
final String ownership, final String status) {
|
||||
List<String> inputs = new ArrayList<String>() {{
|
||||
add(type);
|
||||
add(user);
|
||||
add(roleName);
|
||||
add(ownership);
|
||||
add(status);
|
||||
}};
|
||||
|
||||
// boolean hasOneSelection = false;
|
||||
// for (String i : inputs) {
|
||||
// if (i == null) {
|
||||
// continue;
|
||||
// }
|
||||
// hasOneSelection = !hasOneSelection;
|
||||
// if (!hasOneSelection) {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
int count = 0;
|
||||
for (String i : inputs) {
|
||||
if (i == null) {
|
||||
continue;
|
||||
}
|
||||
count++;
|
||||
if (count > 1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (count > 1) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("The incoming request has " +
|
||||
"more than one selection criteria defined through query parameters").build());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void validateDeviceIdentifier(String type, String id) {
|
||||
boolean isErroneous = false;
|
||||
ErrorResponse.ErrorResponseBuilder error = new ErrorResponse.ErrorResponseBuilder();
|
||||
if (id == null) {
|
||||
isErroneous = true;
|
||||
error.addErrorItem(null, "Device identifier cannot be null");
|
||||
}
|
||||
if (type == null) {
|
||||
isErroneous = true;
|
||||
error.addErrorItem(null, "Device type cannot be null");
|
||||
}
|
||||
if (isErroneous) {
|
||||
throw new InputValidationException(error.setCode(400l).setMessage("Invalid device identifier").build());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static void validateStatus(String status) {
|
||||
if (status == null) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(
|
||||
"Enrollment status type cannot be null").build());
|
||||
}
|
||||
switch (status) {
|
||||
case "ACTIVE":
|
||||
case "INACTIVE":
|
||||
case "UNCLAIMED":
|
||||
case "UNREACHABLE":
|
||||
case "SUSPENDED":
|
||||
case "DISENROLLMENT_REQUESTED":
|
||||
case "REMOVED":
|
||||
case "BLOCKED":
|
||||
case "CREATED":
|
||||
return;
|
||||
default:
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Invalid enrollment status type " +
|
||||
"received. Valid status types are ACTIVE | INACTIVE | " +
|
||||
"UNCLAIMED | UNREACHABLE | SUSPENDED | DISENROLLMENT_REQUESTED | REMOVED | " +
|
||||
"BLOCKED | CREATED").build());
|
||||
}
|
||||
}
|
||||
|
||||
public static void validateOwnershipType(String ownership) {
|
||||
if (ownership == null) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(
|
||||
"Ownership type cannot be null").build());
|
||||
}
|
||||
switch (ownership) {
|
||||
case "BYOD":
|
||||
case "COPE":
|
||||
return;
|
||||
default:
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(
|
||||
"Invalid ownership type received. " +
|
||||
"Valid ownership types are BYOD | COPE").build());
|
||||
}
|
||||
}
|
||||
|
||||
public static void validateNotificationStatus(String status) {
|
||||
if (status == null) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(
|
||||
"Notification status type cannot be null").build());
|
||||
}
|
||||
switch (status) {
|
||||
case "NEW":
|
||||
case "CHECKED":
|
||||
return;
|
||||
default:
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Invalid notification status type " +
|
||||
"received. Valid status types are NEW | CHECKED").build());
|
||||
}
|
||||
}
|
||||
|
||||
public static void validateNotificationId(int id) {
|
||||
if (id <= 0) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Invalid notification id. " +
|
||||
"Only positive integers are accepted as valid notification Ids").build());
|
||||
}
|
||||
}
|
||||
|
||||
public static void validateNotification(Notification notification) {
|
||||
if (notification == null) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Notification content " +
|
||||
"cannot be null").build());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -74,7 +74,7 @@ public class CredentialManagementResponseBuilder {
|
||||
return Response.status(Response.Status.CREATED).entity("UserImpl password by username: " +
|
||||
credentials.getUsername() + " was successfully changed.").build();
|
||||
} catch (UserStoreException e) {
|
||||
String msg = "Error occurred while updating the credentials of user '" + credentials.getUsername() + "'";
|
||||
String msg = "ErrorResponse occurred while updating the credentials of user '" + credentials.getUsername() + "'";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
|
||||
@ -34,6 +34,8 @@ 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.device.mgt.jaxrs.beans.ErrorResponse;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException;
|
||||
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;
|
||||
@ -60,7 +62,16 @@ public class DeviceMgtAPIUtils {
|
||||
if (configEntryList != null && !configEntryList.isEmpty()) {
|
||||
for (ConfigurationEntry entry : configEntryList) {
|
||||
if (NOTIFIER_FREQUENCY.equals(entry.getName())) {
|
||||
return Integer.parseInt((String) entry.getValue());
|
||||
if (entry.getValue() == null) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage(
|
||||
"Notifier frequency cannot be null. Please specify a valid non-negative " +
|
||||
"integer value to successfully set up notification frequency. " +
|
||||
"Should the service be stopped, use '0' as the notification " +
|
||||
"frequency.").build()
|
||||
);
|
||||
}
|
||||
return Integer.parseInt(entry.getValue().toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -104,7 +115,7 @@ public class DeviceMgtAPIUtils {
|
||||
}
|
||||
return groupManagementProviderService;
|
||||
}
|
||||
|
||||
|
||||
public static UserStoreManager getUserStoreManager() throws UserStoreException {
|
||||
RealmService realmService;
|
||||
UserStoreManager userStoreManager;
|
||||
@ -150,13 +161,6 @@ public class DeviceMgtAPIUtils {
|
||||
|
||||
return authorizationManager;
|
||||
}
|
||||
|
||||
public static DeviceIdentifier instantiateDeviceIdentifier(String deviceType, String deviceId) {
|
||||
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||
deviceIdentifier.setType(deviceType);
|
||||
deviceIdentifier.setId(deviceId);
|
||||
return deviceIdentifier;
|
||||
}
|
||||
|
||||
public static ApplicationManagementProviderService getAppManagementService() {
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
@ -182,7 +186,7 @@ public class DeviceMgtAPIUtils {
|
||||
}
|
||||
|
||||
public static PlatformConfigurationManagementService getPlatformConfigurationManagementService() {
|
||||
CarbonContext ctx = CarbonContext.getThreadLocalCarbonContext();
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
PlatformConfigurationManagementService tenantConfigurationManagementService =
|
||||
(PlatformConfigurationManagementService) ctx.getOSGiService(
|
||||
PlatformConfigurationManagementService.class, null);
|
||||
@ -202,29 +206,6 @@ public class DeviceMgtAPIUtils {
|
||||
}
|
||||
return notificationManagementService;
|
||||
}
|
||||
|
||||
public static CertificateManagementService getCertificateManagementService() {
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
CertificateManagementService certificateManagementService = (CertificateManagementService)
|
||||
ctx.getOSGiService(CertificateManagementService.class, null);
|
||||
|
||||
if (certificateManagementService == null) {
|
||||
throw new IllegalStateException("CertificateImpl Management service is not initialized.");
|
||||
}
|
||||
return certificateManagementService;
|
||||
}
|
||||
|
||||
|
||||
public static MediaType getResponseMediaType(String acceptHeader) {
|
||||
MediaType responseMediaType;
|
||||
if (acceptHeader == null || MediaType.WILDCARD.equals(acceptHeader)) {
|
||||
responseMediaType = DEFAULT_CONTENT_TYPE;
|
||||
} else {
|
||||
responseMediaType = MediaType.valueOf(acceptHeader);
|
||||
}
|
||||
|
||||
return responseMediaType;
|
||||
}
|
||||
|
||||
public static DeviceInformationManager getDeviceInformationManagerService() {
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
</jaxrs:serviceBeans>
|
||||
<jaxrs:providers>
|
||||
<ref bean="jsonProvider"/>
|
||||
<ref bean="errorHandler"/>
|
||||
<!--<ref bean="errorHandler"/>-->
|
||||
<ref bean="swaggerWriter"/>
|
||||
</jaxrs:providers>
|
||||
</jaxrs:server>
|
||||
@ -54,8 +54,8 @@
|
||||
<bean id="swaggerConfig" class="io.swagger.jaxrs.config.BeanConfig">
|
||||
<property name="resourcePackage" value="org.wso2.carbon.device.mgt.jaxrs"/>
|
||||
<property name="version" value="1.0"/>
|
||||
<property name="host" value="device-mgt.wso2.com"/>
|
||||
<property name="basePath" value="/api/device-mgt/admin/v1.0"/>
|
||||
<property name="host" value="localhost:9443"/>
|
||||
<property name="basePath" value="/api/device-mgt/v1.0"/>
|
||||
<property name="title" value="Device Management Admin Service API Definitions"/>
|
||||
<property name="contact" value="dev@wso2.org"/>
|
||||
<property name="license" value="Apache 2.0"/>
|
||||
@ -77,6 +77,6 @@
|
||||
<bean id="userManagementAdminService" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.admin.UserManagementAdminServiceImpl"/>
|
||||
<bean id="dashboardServiceBean" class="org.wso2.carbon.device.mgt.jaxrs.service.impl.DashboardImpl"/>
|
||||
<bean id="jsonProvider" class="org.wso2.carbon.device.mgt.jaxrs.common.GsonMessageBodyHandler"/>
|
||||
<bean id="errorHandler" class="org.wso2.carbon.device.mgt.jaxrs.common.ErrorHandler"/>
|
||||
<!--<bean id="errorHandler" class="org.wso2.carbon.device.mgt.jaxrs.common.ErrorHandler"/>-->
|
||||
|
||||
</beans>
|
||||
|
||||
@ -49,6 +49,7 @@
|
||||
</Export-Package>
|
||||
<Import-Package>
|
||||
javax.xml.bind.annotation,
|
||||
com.fasterxml.jackson.annotation,
|
||||
io.swagger.annotations.*;resolution:=optional
|
||||
</Import-Package>
|
||||
</instructions>
|
||||
@ -63,6 +64,10 @@
|
||||
<artifactId>swagger-annotations</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@ -154,7 +154,7 @@ public class Device implements Serializable {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Device[" +
|
||||
return "device [" +
|
||||
"name=" + name + ";" +
|
||||
"type=" + type + ";" +
|
||||
"description=" + description + ";" +
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.common;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@ -27,8 +28,11 @@ import java.io.Serializable;
|
||||
"uniquely.")
|
||||
public class DeviceIdentifier implements Serializable{
|
||||
|
||||
@JsonProperty(value = "id", required = true)
|
||||
@ApiModelProperty(name = "id", value = "Identity of the device.", required = true)
|
||||
private String id;
|
||||
|
||||
@JsonProperty(value = "type", required = true)
|
||||
@ApiModelProperty(name = "type", value = "Type of the device.", required = true)
|
||||
private String type;
|
||||
|
||||
@ -56,7 +60,7 @@ public class DeviceIdentifier implements Serializable{
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DeviceIdentifier{" +
|
||||
return "deviceId {" +
|
||||
"id='" + id + '\'' +
|
||||
", type='" + type + '\'' +
|
||||
'}';
|
||||
|
||||
@ -21,29 +21,16 @@ public class DeviceManagementException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = -3151279311929070297L;
|
||||
|
||||
private String errorMessage;
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public DeviceManagementException(String msg, Exception nestedEx) {
|
||||
super(msg, nestedEx);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public DeviceManagementException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
public DeviceManagementException(String msg) {
|
||||
super(msg);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public DeviceManagementException() {
|
||||
|
||||
@ -23,29 +23,16 @@ public class FeatureManagementException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = 4527364660451105710L;
|
||||
|
||||
private String errorMessage;
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public FeatureManagementException(String msg, Exception nestedEx) {
|
||||
super(msg, nestedEx);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public FeatureManagementException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
public FeatureManagementException(String msg) {
|
||||
super(msg);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public FeatureManagementException() {
|
||||
|
||||
@ -22,29 +22,16 @@ public class IllegalTransactionStateException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = -3151279331929070297L;
|
||||
|
||||
private String errorMessage;
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public IllegalTransactionStateException(String msg, Exception nestedEx) {
|
||||
super(msg, nestedEx);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public IllegalTransactionStateException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
public IllegalTransactionStateException(String msg) {
|
||||
super(msg);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public IllegalTransactionStateException() {
|
||||
|
||||
@ -22,29 +22,16 @@ public class TransactionManagementException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = -3151279321929070297L;
|
||||
|
||||
private String errorMessage;
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public TransactionManagementException(String msg, Exception nestedEx) {
|
||||
super(msg, nestedEx);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public TransactionManagementException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
public TransactionManagementException(String msg) {
|
||||
super(msg);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public TransactionManagementException() {
|
||||
|
||||
@ -25,29 +25,16 @@ public class UnsupportedDatabaseEngineException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = -3151279311929070297L;
|
||||
|
||||
private String errorMessage;
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public UnsupportedDatabaseEngineException(String msg, Exception nestedEx) {
|
||||
super(msg, nestedEx);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public UnsupportedDatabaseEngineException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
setErrorMessage(message);
|
||||
}
|
||||
|
||||
public UnsupportedDatabaseEngineException(String msg) {
|
||||
super(msg);
|
||||
setErrorMessage(msg);
|
||||
}
|
||||
|
||||
public UnsupportedDatabaseEngineException() {
|
||||
|
||||
@ -38,6 +38,8 @@ import java.util.List;
|
||||
description = "This class carries all information related to a Tenant configuration")
|
||||
public class PlatformConfiguration implements Serializable {
|
||||
|
||||
public static final int INVALID_NOTIFIER_FREQUENCY = -1;
|
||||
|
||||
@XmlElement(name = "type")
|
||||
@ApiModelProperty(name = "type", value = "type of device", required = true)
|
||||
private String type;
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
package org.wso2.carbon.device.mgt.common.notification.mgt;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
@ -34,19 +35,28 @@ public class Notification {
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
ALERT,
|
||||
ALERT
|
||||
}
|
||||
|
||||
@ApiModelProperty(name = "notificationId", value = "Defines the notification ID.", required = true)
|
||||
@JsonProperty(value = "notificationId", required = false)
|
||||
@ApiModelProperty(name = "notificationId", value = "Defines the notification ID.", required = false)
|
||||
private int notificationId;
|
||||
|
||||
@JsonProperty(value = "deviceIdentifier", required = true)
|
||||
@ApiModelProperty(name = "deviceIdentifier", value = "Defines the device identification properties.",
|
||||
required = true)
|
||||
private DeviceIdentifier deviceIdentifier;
|
||||
|
||||
@JsonProperty(value = "description", required = false)
|
||||
@ApiModelProperty(name = "description", value = "Provides the message you want to send to the user.",
|
||||
required = true)
|
||||
private String description;
|
||||
|
||||
@JsonProperty(value = "operationId", required = true)
|
||||
@ApiModelProperty(name = "operationId", value = "Provides the operationID.", required = true)
|
||||
private int operationId;
|
||||
|
||||
@JsonProperty(value = "status", required = true)
|
||||
@ApiModelProperty(name = "status", value = "Provides the status of the message." +
|
||||
"The following values can be assigned for the status.\n" +
|
||||
"NEW: The message is in the unread state.\n" +
|
||||
@ -95,7 +105,7 @@ public class Notification {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Notification{" +
|
||||
return "notification {" +
|
||||
"notificationId='" + notificationId + '\'' +
|
||||
", deviceId=" + deviceIdentifier.getId() +
|
||||
", deviceType=" + deviceIdentifier.getType() +
|
||||
|
||||
@ -17,10 +17,7 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.common.operation.mgt;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.List;
|
||||
public interface ApplicationManagementProviderService extends ApplicationManager{
|
||||
|
||||
void updateApplicationListInstalledInDevice(DeviceIdentifier deviceIdentifier,
|
||||
List<Application> applications) throws ApplicationManagementException;
|
||||
List<Application> applications) throws ApplicationManagementException;
|
||||
|
||||
List<Application> getApplicationListForDevice(DeviceIdentifier deviceIdentifier)
|
||||
throws ApplicationManagementException;
|
||||
|
||||
@ -24,10 +24,7 @@ import org.apache.axis2.context.ConfigurationContextFactory;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
@ -140,10 +137,9 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
||||
if (deviceIdentifierList.size() > 0) {
|
||||
type = deviceIdentifierList.get(0).getType();
|
||||
}
|
||||
Activity activity = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider()
|
||||
.addOperation(type, operation, deviceIdentifierList);
|
||||
|
||||
return activity;
|
||||
return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider()
|
||||
.addOperation(type, operation, deviceIdentifierList);
|
||||
} catch (DeviceManagementException e) {
|
||||
throw new ApplicationManagementException("Error in get devices for user: " + userName +
|
||||
" in app installation", e);
|
||||
@ -181,9 +177,8 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
||||
if (deviceIdentifierList.size() > 0) {
|
||||
type = deviceIdentifierList.get(0).getType();
|
||||
}
|
||||
Activity activity = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().addOperation(type, operation,
|
||||
return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().addOperation(type, operation,
|
||||
deviceIdentifierList);
|
||||
return activity;
|
||||
} catch (DeviceManagementException e) {
|
||||
throw new ApplicationManagementException("Error in get devices for user role " + userRole +
|
||||
" in app installation", e);
|
||||
@ -196,7 +191,8 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
||||
|
||||
@Override
|
||||
public void updateApplicationListInstalledInDevice(
|
||||
DeviceIdentifier deviceIdentifier, List<Application> applications) throws ApplicationManagementException {
|
||||
DeviceIdentifier deviceIdentifier,
|
||||
List<Application> applications) throws ApplicationManagementException {
|
||||
List<Application> installedAppList = getApplicationListForDevice(deviceIdentifier);
|
||||
try {
|
||||
int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||
|
||||
@ -19,17 +19,12 @@
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.device.details.mgt.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
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.dao.DeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager;
|
||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceDetailsMgtException;
|
||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.DeviceInformationManager;
|
||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.dao.DeviceDetailsDAO;
|
||||
import org.wso2.carbon.device.mgt.core.device.details.mgt.dao.DeviceDetailsMgtDAOException;
|
||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||
@ -42,8 +37,6 @@ import java.util.Map;
|
||||
|
||||
public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
||||
|
||||
private static Log log = LogFactory.getLog(DeviceInformationManagerImpl.class);
|
||||
|
||||
private DeviceDetailsDAO deviceDetailsDAO;
|
||||
|
||||
public DeviceInformationManagerImpl() {
|
||||
@ -79,7 +72,8 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceInfo getDeviceInfo(DeviceIdentifier deviceIdentifier) throws DeviceDetailsMgtException {
|
||||
public DeviceInfo getDeviceInfo(
|
||||
DeviceIdentifier deviceIdentifier) throws DeviceDetailsMgtException {
|
||||
|
||||
try {
|
||||
Device device = DeviceManagementDataHolder.getInstance().
|
||||
@ -103,7 +97,6 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
||||
|
||||
@Override
|
||||
public List<DeviceInfo> getDevicesInfo(List<DeviceIdentifier> deviceIdentifiers) throws DeviceDetailsMgtException {
|
||||
|
||||
List<DeviceInfo> deviceInfos = new ArrayList<>();
|
||||
|
||||
Map<String, DeviceIdentifier> identifierMap = new HashMap<>();
|
||||
@ -116,7 +109,7 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
||||
getDeviceManagementProvider().getAllDevices();
|
||||
for (Device device : devices) {
|
||||
if (identifierMap.containsKey(device.getDeviceIdentifier()) &&
|
||||
device.getType().equals(identifierMap.get(device.getDeviceIdentifier()))) {
|
||||
device.getType().equals(identifierMap.get(device.getDeviceIdentifier()).getType())) {
|
||||
deviceIds.add(device.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -185,7 +185,8 @@ public class OperationManagerImpl implements OperationManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Operation> getOperations(DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
public List<? extends Operation> getOperations(
|
||||
DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
int enrolmentId;
|
||||
List<Operation> operations = new ArrayList<>();
|
||||
try {
|
||||
@ -200,13 +201,10 @@ public class OperationManagerImpl implements OperationManager {
|
||||
} finally {
|
||||
DeviceManagementDAOFactory.closeConnection();
|
||||
}
|
||||
|
||||
OperationManagementDAOFactory.openConnection();
|
||||
if (enrolmentId < 0) {
|
||||
throw new OperationManagementException("Device not found for given device " +
|
||||
"Identifier:" + deviceId.getId() + " and given type" +
|
||||
deviceId.getType());
|
||||
return null;
|
||||
}
|
||||
OperationManagementDAOFactory.openConnection();
|
||||
List<? extends org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation> operationList =
|
||||
operationDAO.getOperationsForDevice(enrolmentId);
|
||||
|
||||
|
||||
@ -719,7 +719,7 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Operation operation;
|
||||
List<Operation> operations = new ArrayList<Operation>();
|
||||
List<Operation> operations = new ArrayList<>();
|
||||
try {
|
||||
Connection conn = OperationManagementDAOFactory.getConnection();
|
||||
String sql = "SELECT o.ID, TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, o.OPERATION_CODE, " +
|
||||
@ -769,7 +769,7 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
Operation operation;
|
||||
List<Operation> operations = new ArrayList<Operation>();
|
||||
List<Operation> operations = new ArrayList<>();
|
||||
try {
|
||||
Connection conn = OperationManagementDAOFactory.getConnection();
|
||||
String sql = "SELECT o.ID, TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, " +
|
||||
|
||||
@ -18,10 +18,7 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.core.push.notification.mgt;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
@ -58,7 +55,8 @@ public class PushNotificationBasedOperationManager implements OperationManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Operation> getOperations(DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
public List<? extends Operation> getOperations(
|
||||
DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
return this.operationManager.getOperations(deviceId);
|
||||
}
|
||||
|
||||
|
||||
@ -17,13 +17,7 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.core.service;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
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.FeatureManager;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
|
||||
@ -20,16 +20,7 @@ package org.wso2.carbon.device.mgt.core.service;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceTypeIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||
import org.wso2.carbon.device.mgt.common.FeatureManager;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
|
||||
@ -823,7 +814,8 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Operation> getOperations(DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
public List<? extends Operation> getOperations(
|
||||
DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
return DeviceManagementDataHolder.getInstance().getOperationManager().getOperations(deviceId);
|
||||
}
|
||||
|
||||
|
||||
@ -67,7 +67,8 @@ public interface PolicyManagerService {
|
||||
|
||||
int getPolicyCount() throws PolicyManagementException;
|
||||
|
||||
Policy getAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier) throws PolicyManagementException;
|
||||
Policy getAppliedPolicyToDevice(
|
||||
DeviceIdentifier deviceIdentifier) throws PolicyManagementException;
|
||||
|
||||
List<ComplianceFeature> checkPolicyCompliance(DeviceIdentifier deviceIdentifier, Object
|
||||
deviceResponse) throws PolicyComplianceException;
|
||||
|
||||
@ -168,7 +168,8 @@ public class PolicyManagerServiceImpl implements PolicyManagerService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Policy getAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
public Policy getAppliedPolicyToDevice(
|
||||
DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
return policyManager.getAppliedPolicyToDevice(deviceIdentifier);
|
||||
}
|
||||
|
||||
@ -184,10 +185,7 @@ public class PolicyManagerServiceImpl implements PolicyManagerService {
|
||||
|
||||
List<ComplianceFeature> complianceFeatures =
|
||||
monitoringManager.checkPolicyCompliance(deviceIdentifier, response);
|
||||
if (complianceFeatures == null || complianceFeatures.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return !(complianceFeatures == null || complianceFeatures.isEmpty());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -22,7 +22,6 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
import org.wso2.carbon.policy.mgt.common.Policy;
|
||||
import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
|
||||
import org.wso2.carbon.policy.mgt.common.ProfileFeature;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@ -77,8 +77,9 @@ public class MonitoringManagerImpl implements MonitoringManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ComplianceFeature> checkPolicyCompliance(DeviceIdentifier deviceIdentifier,
|
||||
Object deviceResponse) throws PolicyComplianceException {
|
||||
public List<ComplianceFeature> checkPolicyCompliance(
|
||||
DeviceIdentifier deviceIdentifier,
|
||||
Object deviceResponse) throws PolicyComplianceException {
|
||||
|
||||
List<ComplianceFeature> complianceFeatures = new ArrayList<>();
|
||||
try {
|
||||
|
||||
@ -977,7 +977,8 @@ public class PolicyManagerImpl implements PolicyManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Policy getAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
public Policy getAppliedPolicyToDevice(
|
||||
DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
Policy policy;
|
||||
try {
|
||||
DeviceManagementProviderService service = new DeviceManagementProviderServiceImpl();
|
||||
|
||||
@ -117,7 +117,8 @@ public class PolicyManagementService implements PolicyManagerService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Policy getAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
public Policy getAppliedPolicyToDevice(
|
||||
DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
return policyManagerService.getAppliedPolicyToDevice(deviceIdentifier);
|
||||
}
|
||||
|
||||
|
||||
@ -199,7 +199,7 @@ public class PolicyManagerUtil {
|
||||
public static int getMonitoringFequency() {
|
||||
|
||||
PlatformConfigurationManagementService configMgtService = new TenantConfigurationManagementServiceImpl();
|
||||
PlatformConfiguration tenantConfiguration = null;
|
||||
PlatformConfiguration tenantConfiguration;
|
||||
int monitoringFrequency = 0;
|
||||
try {
|
||||
tenantConfiguration = configMgtService.getConfiguration(GENERAL_CONFIG_RESOURCE_PATH);
|
||||
@ -208,7 +208,10 @@ public class PolicyManagerUtil {
|
||||
if (configuration != null && !configuration.isEmpty()) {
|
||||
for (ConfigurationEntry cEntry : configuration) {
|
||||
if (cEntry.getName().equalsIgnoreCase(MONITORING_FREQUENCY)) {
|
||||
monitoringFrequency = Integer.parseInt((String)cEntry.getValue());
|
||||
if (cEntry.getValue() == null) {
|
||||
throw new PolicyManagementException("Invalid ")
|
||||
}
|
||||
monitoringFrequency = Integer.parseInt(cEntry.getValue().toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
|
||||
package org.wso2.carbon.policy.mgt.core;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
@ -87,7 +88,10 @@ public class MonitoringTestCase extends BasePolicyManagementDAOTest {
|
||||
public void getDeviceAppliedPolicy() throws PolicyManagementException {
|
||||
|
||||
PolicyManager manager = new PolicyManagerImpl();
|
||||
Policy policy = manager.getAppliedPolicyToDevice(identifier);
|
||||
Policy policy = null;
|
||||
|
||||
policy = manager.getAppliedPolicyToDevice(identifier);
|
||||
|
||||
|
||||
if (policy != null) {
|
||||
|
||||
@ -107,7 +111,10 @@ public class MonitoringTestCase extends BasePolicyManagementDAOTest {
|
||||
log.debug("Compliance operations adding started.");
|
||||
|
||||
PolicyManager manager = new PolicyManagerImpl();
|
||||
Policy policy = manager.getAppliedPolicyToDevice(identifier);
|
||||
Policy policy = null;
|
||||
|
||||
policy = manager.getAppliedPolicyToDevice(identifier);
|
||||
|
||||
OperationManager operationManager = new OperationManagerImpl();
|
||||
|
||||
DeviceManagementDataHolder.getInstance().setOperationManager(operationManager);
|
||||
@ -123,7 +130,7 @@ public class MonitoringTestCase extends BasePolicyManagementDAOTest {
|
||||
DeviceManagementProviderService service = new DeviceManagementProviderServiceImpl();
|
||||
List<Device> devices = service.getAllDevices(ANDROID);
|
||||
|
||||
// monitoringManager.addMonitoringOperation(devices);
|
||||
// monitoringManager.addMonitoringOperation(devices);
|
||||
|
||||
log.debug("Compliance operations adding done.");
|
||||
|
||||
@ -154,9 +161,11 @@ public class MonitoringTestCase extends BasePolicyManagementDAOTest {
|
||||
monitoringServiceTest.notifyDevices(devices);
|
||||
|
||||
PolicyManager manager = new PolicyManagerImpl();
|
||||
Policy policy = manager.getAppliedPolicyToDevice(identifier);
|
||||
Policy policy = null;
|
||||
|
||||
if(policy != null) {
|
||||
policy = manager.getAppliedPolicyToDevice(identifier);
|
||||
|
||||
if (policy != null) {
|
||||
Object ob = new Object();
|
||||
|
||||
monitoringServiceTest.checkPolicyCompliance(identifier, policy, ob);
|
||||
@ -188,8 +197,10 @@ public class MonitoringTestCase extends BasePolicyManagementDAOTest {
|
||||
log.debug(identifier.getId());
|
||||
log.debug(identifier.getType());
|
||||
|
||||
|
||||
monitoringManager.checkPolicyCompliance(identifier, ob);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -120,6 +120,9 @@
|
||||
<bundleDef>
|
||||
org.wso2.carbon.identity:org.wso2.carbon.identity.oauth.stub:${carbon.identity.version}
|
||||
</bundleDef>
|
||||
<bundleDef>
|
||||
com.fasterxml.jackson.core:jackson-annotations:${jackson-annotations.version}
|
||||
</bundleDef>
|
||||
<!-- Below should be bundled with the email verification -->
|
||||
</bundles>
|
||||
<importFeatures>
|
||||
|
||||
8
pom.xml
8
pom.xml
@ -1501,6 +1501,12 @@
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>${jackson-annotations.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
@ -1866,6 +1872,8 @@
|
||||
<javax.ws.rs.version>2.0.1</javax.ws.rs.version>
|
||||
<swagger.version>1.5.8</swagger.version>
|
||||
<servlet-api.version>2.5</servlet-api.version>
|
||||
|
||||
<jackson-annotations.version>2.7.4</jackson-annotations.version>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user