Fix on API response messages in device-mgt

err-handling-improve
Thashmi-nil 2 years ago
parent a8d1ca1099
commit 80f0c332fb

@ -91,9 +91,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig
if (properties == null || properties.isEmpty()) { if (properties == null || properties.isEmpty()) {
String msg = "Devices configuration retrieval criteria cannot be null or empty."; String msg = "Devices configuration retrieval criteria cannot be null or empty.";
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()
).build();
} }
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
@ -113,18 +111,15 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} catch (DeviceNotFoundException e) { } catch (DeviceNotFoundException e) {
log.warn(e.getMessage()); log.warn(e.getMessage());
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()).build();
} catch (AmbiguousConfigurationException e) { } catch (AmbiguousConfigurationException e) {
String msg = "Configurations are ambiguous. " + e.getMessage(); String msg = "Configurations are ambiguous. " + e.getMessage();
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} catch (JsonParseException | JsonMappingException e) { } catch (JsonParseException | JsonMappingException e) {
String msg = "Malformed device property structure"; String msg = "Malformed device property structure";
log.error(msg.concat(" ").concat(properties), e); log.error(msg.concat(" ").concat(properties), e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} catch (IOException e) { } catch (IOException e) {
String msg = "Error occurred while parsing query param JSON data."; String msg = "Error occurred while parsing query param JSON data.";
log.error(msg.concat(" ").concat(properties), e); log.error(msg.concat(" ").concat(properties), e);
@ -150,8 +145,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig
if (devicesTransferred.isEmpty()) { if (devicesTransferred.isEmpty()) {
String msg = "Devices are not enrolled to super tenant"; String msg = "Devices are not enrolled to super tenant";
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} else { } else {
return Response.status(Response.Status.OK).entity(devicesTransferred).build(); return Response.status(Response.Status.OK).entity(devicesTransferred).build();
} }
@ -163,8 +157,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} catch (DeviceNotFoundException e) { } catch (DeviceNotFoundException e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()).build();
} }
} }

@ -74,9 +74,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
dmService = DeviceMgtAPIUtils.getDeviceManagementService(); dmService = DeviceMgtAPIUtils.getDeviceManagementService();
activity = dmService.getOperationByActivityId(id); activity = dmService.getOperationByActivityId(id);
if (activity == null) { if (activity == null) {
return Response.status(404).entity( String msg = "No activity can be " +
new ErrorResponse.ErrorResponseBuilder().setMessage("No activity can be " + "found upon the provided activity id '" + id + "'";
"found upon the provided activity id '" + id + "'").build()).build(); return Response.status(404).entity(msg).build();
} }
return Response.status(Response.Status.OK).entity(activity).build(); return Response.status(Response.Status.OK).entity(activity).build();
} catch (OperationManagementException e) { } catch (OperationManagementException e) {
@ -98,10 +98,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
List<String> idList; List<String> idList;
idList = activityIdList.getIdList(); idList = activityIdList.getIdList();
if (idList == null || idList.isEmpty()) { if (idList == null || idList.isEmpty()) {
String msg = "Activity Ids shouldn't be empty"; String msg = "Activities should not be empty";
log.error(msg); log.error(msg);
return Response.status(400).entity( return Response.status(400).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
Response validationFailedResponse = validateAdminPermission(); Response validationFailedResponse = validateAdminPermission();
if (validationFailedResponse == null) { if (validationFailedResponse == null) {
@ -125,8 +124,7 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
} else { } else {
String msg = "No activity found with the given IDs."; String msg = "No activity found with the given IDs.";
log.error(msg); log.error(msg);
return Response.status(404).entity( return Response.status(404).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
} catch (OperationManagementException e) { } catch (OperationManagementException e) {
String msg = "ErrorResponse occurred while fetching the activity list for the supplied ids."; String msg = "ErrorResponse occurred while fetching the activity list for the supplied ids.";
@ -162,9 +160,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
dmService = DeviceMgtAPIUtils.getDeviceManagementService(); dmService = DeviceMgtAPIUtils.getDeviceManagementService();
activity = dmService.getOperationByActivityIdAndDevice(id, deviceIdentifier); activity = dmService.getOperationByActivityIdAndDevice(id, deviceIdentifier);
if (activity == null) { if (activity == null) {
return Response.status(404).entity( String msg = "No activity can be " +
new ErrorResponse.ErrorResponseBuilder().setMessage("No activity can be " + "found upon the provided activity id '" + id + "'";
"found upon the provided activity id '" + id + "'").build()).build(); return Response.status(404).entity(msg).build();
} }
return Response.status(Response.Status.OK).entity(activity).build(); return Response.status(Response.Status.OK).entity(activity).build();
} catch (OperationManagementException e) { } catch (OperationManagementException e) {
@ -247,9 +245,8 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
try { try {
ifSinceDate = format.parse(ifModifiedSince); ifSinceDate = format.parse(ifModifiedSince);
} catch (ParseException e) { } catch (ParseException e) {
return Response.status(400).entity( String msg = "Invalid date string is provided in [If-Modified-Since] header.";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(400).entity(msg).build();
"Invalid date string is provided in 'If-Modified-Since' header").build()).build();
} }
ifModifiedSinceTimestamp = ifSinceDate.getTime(); ifModifiedSinceTimestamp = ifSinceDate.getTime();
timestamp = ifModifiedSinceTimestamp / 1000; timestamp = ifModifiedSinceTimestamp / 1000;
@ -259,9 +256,8 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
try { try {
sinceDate = format.parse(since); sinceDate = format.parse(since);
} catch (ParseException e) { } catch (ParseException e) {
return Response.status(400).entity( String msg = "Invalid date string is provided in [since] filter.";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(400).entity(msg).build();
"Invalid date string is provided in 'since' filter").build()).build();
} }
sinceTimestamp = sinceDate.getTime(); sinceTimestamp = sinceDate.getTime();
timestamp = sinceTimestamp / 1000; timestamp = sinceTimestamp / 1000;

@ -199,10 +199,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
@QueryParam("limit") int limit) { @QueryParam("limit") int limit) {
try { try {
if (!StringUtils.isEmpty(name) && !StringUtils.isEmpty(role)) { if (!StringUtils.isEmpty(name) && !StringUtils.isEmpty(role)) {
return Response.status(Response.Status.BAD_REQUEST).entity( String msg = "Request contains both name and role parameters. Only one is allowed at once.";
new ErrorResponse.ErrorResponseBuilder().setMessage("Request contains both name and role " + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
"parameters. Only one is allowed " +
"at once.").build()).build();
} }
// RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status); // RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status);
RequestValidationUtil.validatePaginationParameters(offset, limit); RequestValidationUtil.validatePaginationParameters(offset, limit);
@ -291,9 +289,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
try { try {
sinceDate = format.parse(ifModifiedSince); sinceDate = format.parse(ifModifiedSince);
} catch (ParseException e) { } catch (ParseException e) {
return Response.status(Response.Status.BAD_REQUEST).entity( String msg = "Invalid date string is provided in [If-Modified-Since] header";
new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
"string is provided in 'If-Modified-Since' header").build()).build();
} }
request.setSince(sinceDate); request.setSince(sinceDate);
if (requireDeviceInfo) { if (requireDeviceInfo) {
@ -312,9 +309,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
try { try {
sinceDate = format.parse(since); sinceDate = format.parse(since);
} catch (ParseException e) { } catch (ParseException e) {
return Response.status(Response.Status.BAD_REQUEST).entity( String msg = "Invalid date string is provided in [since] filter";
new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
"string is provided in 'since' filter").build()).build();
} }
request.setSince(sinceDate); request.setSince(sinceDate);
if (requireDeviceInfo) { if (requireDeviceInfo) {
@ -547,6 +543,10 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
String msg = "Error occurred while retrieving role list of user '" + authorizedUser + "'"; String msg = "Error occurred while retrieving role list of user '" + authorizedUser + "'";
log.error(msg); log.error(msg);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
}catch (BadRequestException e){
String msg = "Error occurred while validating the device group.";
log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} }
PaginationResult result = dms.getAllDevices(request, false); PaginationResult result = dms.getAllDevices(request, false);
@ -563,7 +563,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
} }
return Response.status(Response.Status.OK).entity(devices).build(); return Response.status(Response.Status.OK).entity(devices).build();
} catch (BadRequestException e) { } catch (BadRequestException e) {
String msg = "Invalid type, use either 'path' or 'full'"; String msg = "Invalid type, use either [path] or [full]";
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} catch (UnAuthorizedException e) { } catch (UnAuthorizedException e) {
@ -597,12 +597,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
boolean response = deviceManagementProviderService.disenrollDevice(deviceIdentifier); boolean response = deviceManagementProviderService.disenrollDevice(deviceIdentifier);
return Response.status(Response.Status.OK).entity(response).build(); return Response.status(Response.Status.OK).entity(response).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error encountered while deleting device of type : " + deviceType + " and " + String msg = "Error encountered while deleting requested device of type : " + deviceType ;
"ID : " + deviceId;
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()
).build();
} }
} }
@ -620,11 +617,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
return Response.status(Response.Status.CREATED).entity(response).build(); return Response.status(Response.Status.CREATED).entity(response).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
log.error("Error encountered while updating device of type : " + deviceType + " and " + String msg = "Error encountered while updating requested device of type : " + deviceType ;
"ID : " + deviceId); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage("Error while updating " +
"device of type " + deviceType + " and ID : " + deviceId).build()).build();
} }
} }
@ -665,10 +660,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
sinceDate = format.parse(ifModifiedSince); sinceDate = format.parse(ifModifiedSince);
deviceData.setLastModifiedDate(sinceDate); deviceData.setLastModifiedDate(sinceDate);
} catch (ParseException e) { } catch (ParseException e) {
String msg = "Invalid date string is provided in 'If-Modified-Since' header"; String msg = "Invalid date string is provided in [If-Modified-Since] header";
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
} }
@ -695,9 +689,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " + return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " +
"after the timestamp provided in 'If-Modified-Since' header").build(); "after the timestamp provided in 'If-Modified-Since' header").build();
} }
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "Requested device of type " + type + " does not exist";
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_NOT_FOUND).setMessage("Requested device of type '" + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
type + "', which carries id '" + id + "' does not exist").build()).build();
} }
return Response.status(Response.Status.OK).entity(device).build(); return Response.status(Response.Status.OK).entity(device).build();
} }
@ -718,7 +711,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
dms); dms);
return Response.status(Response.Status.OK).entity(snapshotWrapper).build(); return Response.status(Response.Status.OK).entity(snapshotWrapper).build();
} catch (BadRequestException e) { } catch (BadRequestException e) {
String msg = "Invalid type, use either 'path' or 'full'"; String msg = "Invalid type, use either [path] or [full]";
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} catch (UnAuthorizedException e) { } catch (UnAuthorizedException e) {
@ -764,12 +757,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
try { try {
sinceDate = format.parse(ifModifiedSince); sinceDate = format.parse(ifModifiedSince);
} catch (ParseException e) { } catch (ParseException e) {
String message = "Error occurred while parse the since date.Invalid date string is provided in " + String message = "Invalid date string is provided in [If-Modified-Since] header";
"'If-Modified-Since' header";
log.error(message, e); log.error(message, e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " +
"string is provided in 'If-Modified-Since' header").build()).build();
} }
} }
if (sinceDate != null) { if (sinceDate != null) {
@ -778,16 +768,15 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
String message = "No device is modified after the timestamp provided in 'If-Modified-Since' header"; String message = "No device is modified after the timestamp provided in 'If-Modified-Since' header";
log.error(message); log.error(message);
return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " + return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " +
"after the timestamp provided in 'If-Modified-Since' header").build(); "after the timestamp provided in [If-Modified-Since] header").build();
} }
} else { } else {
device = dms.getDevice(id, requireDeviceInfo); device = dms.getDevice(id, requireDeviceInfo);
} }
if (device == null) { if (device == null) {
String message = "Device does not exist with id '" + id + "'"; String message = "Device does not exist";
log.error(message); log.error(message);
return Response.status(Response.Status.NOT_FOUND).entity( return Response.status(Response.Status.NOT_FOUND).entity(message).build();
new ErrorResponse.ErrorResponseBuilder().setCode(404l).setMessage(message).build()).build();
} }
DeviceIdentifier deviceIdentifier = new DeviceIdentifier(id, device.getType()); DeviceIdentifier deviceIdentifier = new DeviceIdentifier(id, device.getType());
// check whether the user is authorized // check whether the user is authorized
@ -819,7 +808,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
DeviceManagementProviderService deviceManagementProviderService = DeviceManagementProviderService deviceManagementProviderService =
DeviceMgtAPIUtils.getDeviceManagementService(); DeviceMgtAPIUtils.getDeviceManagementService();
if (deviceIds == null || deviceIds.isEmpty()) { if (deviceIds == null || deviceIds.isEmpty()) {
String msg = "Required values of device identifiers are not set.."; String msg = "Required values of device identifiers are not set.";
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).build(); return Response.status(Response.Status.BAD_REQUEST).build();
} }
@ -901,9 +890,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
try { try {
fm = dms.getFeatureManager(type); fm = dms.getFeatureManager(type);
} catch (DeviceTypeNotFoundException e) { } catch (DeviceTypeNotFoundException e) {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "No device type found with name : " + type ;
new ErrorResponse.ErrorResponseBuilder() return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
.setMessage("No device type found with name '" + type + "'").build()).build();
} }
if (fm != null) { if (fm != null) {
features = fm.getFeatures(); features = fm.getFeatures();
@ -1125,8 +1113,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
return Response.serverError().entity( return Response.serverError().entity(
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} catch (InputValidationException e) { } catch (InputValidationException e) {
String msg = "Error occurred while fetching the operations for the '" + type + "' device, which " + String msg = "Error occurred while fetching the operations for the type : " + type + " device";
"carries the id '" + id + "'";
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
@ -1135,7 +1122,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} catch (DeviceTypeNotFoundException e) { } catch (DeviceTypeNotFoundException e) {
String msg = "No device type found with name '" + type + "'"; String msg = "No device type found with name : " + type ;
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }
@ -1245,11 +1232,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
boolean response = deviceManagementProviderService.changeDeviceStatus(deviceIdentifier, newsStatus); boolean response = deviceManagementProviderService.changeDeviceStatus(deviceIdentifier, newsStatus);
return Response.status(Response.Status.OK).entity(response).build(); return Response.status(Response.Status.OK).entity(response).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error occurred while changing device status of type : " + type + " and " + String msg = "Error occurred while changing device status of device type : " + type ;
"device id : " + id;
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
} }
@ -1277,11 +1262,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
List<DeviceStatus> deviceStatusHistory = deviceManagementProviderService.getDeviceStatusHistory(persistedDevice); List<DeviceStatus> deviceStatusHistory = deviceManagementProviderService.getDeviceStatusHistory(persistedDevice);
return Response.status(Response.Status.OK).entity(deviceStatusHistory).build(); return Response.status(Response.Status.OK).entity(deviceStatusHistory).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error occurred while retreiving device status history for device of type : " + type + " and " + String msg = "Error occurred while retrieving device status history for device of type : " + type ;
"device id : " + id;
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
} }
@ -1309,11 +1292,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
List<DeviceStatus> deviceStatusHistory = deviceManagementProviderService.getDeviceCurrentEnrolmentStatusHistory(persistedDevice); List<DeviceStatus> deviceStatusHistory = deviceManagementProviderService.getDeviceCurrentEnrolmentStatusHistory(persistedDevice);
return Response.status(Response.Status.OK).entity(deviceStatusHistory).build(); return Response.status(Response.Status.OK).entity(deviceStatusHistory).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error occurred while retreiving device status history for device of type : " + type + " and " + String msg = "Error occurred while retrieving device status history for device of type : " + type;
"device id : " + id;
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
} }
@ -1390,7 +1371,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(
new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String errorMessage = "Issue in retrieving deivce management service instance"; String errorMessage = "Issue in retrieving device management service instance";
log.error(errorMessage, e); log.error(errorMessage, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(
new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build();
@ -1590,7 +1571,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
DeviceType deviceTypeObj = DeviceManagerUtil.getDeviceType( DeviceType deviceTypeObj = DeviceManagerUtil.getDeviceType(
deviceType, tenantId); deviceType, tenantId);
if (deviceTypeObj == null) { if (deviceTypeObj == null) {
String msg = "Error, device of type: " + deviceType + " does not exist"; String msg = "Device of type: " + deviceType + " does not exist";
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} }

@ -141,16 +141,15 @@ public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementServ
DeviceManagementProviderService dms; DeviceManagementProviderService dms;
try { try {
if (StringUtils.isEmpty(type)) { if (StringUtils.isEmpty(type)) {
return Response.status(Response.Status.BAD_REQUEST).entity( String msg = "Type cannot be empty.";
new ErrorResponse.ErrorResponseBuilder().setMessage("Type cannot be empty.").build()).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} }
dms = DeviceMgtAPIUtils.getDeviceManagementService(); dms = DeviceMgtAPIUtils.getDeviceManagementService();
FeatureManager fm = dms.getFeatureManager(type); FeatureManager fm = dms.getFeatureManager(type);
if (fm == null) { if (fm == null) {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "No feature manager is registered with the given type : " + type ;
new ErrorResponse.ErrorResponseBuilder().setMessage("No feature manager is " + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
"registered with the given type '" + type + "'").build()).build();
} }
if (StringUtils.isEmpty(hidden)) { if (StringUtils.isEmpty(hidden)) {
@ -165,11 +164,9 @@ public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementServ
return Response.serverError().entity( return Response.serverError().entity(
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} catch (DeviceTypeNotFoundException e) { } catch (DeviceTypeNotFoundException e) {
String msg = "No device type found with name '" + type + "'"; String msg = "No device type found with name : " + type ;
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.NOT_FOUND).entity( return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder()
.setMessage(msg).build()).build();
} }
return Response.status(Response.Status.OK).entity(features).build(); return Response.status(Response.Status.OK).entity(features).build();
} }

@ -63,6 +63,7 @@ import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse; import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
import org.wso2.carbon.device.mgt.jaxrs.beans.EventAction; import org.wso2.carbon.device.mgt.jaxrs.beans.EventAction;
import org.wso2.carbon.device.mgt.jaxrs.beans.GeofenceWrapper; import org.wso2.carbon.device.mgt.jaxrs.beans.GeofenceWrapper;
import org.wso2.carbon.device.mgt.jaxrs.exception.BadRequestException;
import org.wso2.carbon.device.mgt.jaxrs.service.api.GeoLocationBasedService; import org.wso2.carbon.device.mgt.jaxrs.service.api.GeoLocationBasedService;
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.InputValidationException;
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil; import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
@ -107,8 +108,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
@QueryParam("from") long from, @QueryParam("to") long to) { @QueryParam("from") long from, @QueryParam("to") long to) {
try { try {
if (!DeviceManagerUtil.isPublishLocationResponseEnabled()) { if (!DeviceManagerUtil.isPublishLocationResponseEnabled()) {
String msg = "Unable to retrieve Geo Device stats. Geo Data publishing does not enabled.";
return Response.status(Response.Status.BAD_REQUEST.getStatusCode()) return Response.status(Response.Status.BAD_REQUEST.getStatusCode())
.entity("Unable to retrive Geo Device stats. Geo Data publishing does not enabled.").build(); .entity(msg).build();
} }
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(e.getMessage()).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(e.getMessage()).build();
@ -277,7 +279,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("Device not found: " + identifier.toString()); log.debug("Device not found: " + identifier.toString());
} }
return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); String msg = "Device not found.";
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }
GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService();
@ -288,12 +291,11 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
} catch (AlertAlreadyExistException e) { } catch (AlertAlreadyExistException e) {
String error = "A geo alert with this name already exists."; String error = "A geo alert with this name already exists. Try with another name.";
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String error = "Error occurred while retrieving the device enrollment info of " + String error = "Error occurred while retrieving the device enrollment info of requested "+ deviceType + " device.";
deviceType + " with id: " + deviceId;
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} }
@ -314,7 +316,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
} catch (AlertAlreadyExistException e) { } catch (AlertAlreadyExistException e) {
String error = "A geo alert with this name already exists."; String error = "A geo alert with this name already exists. Try with another name.";
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} }
@ -344,23 +346,23 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("Device not found: " + identifier.toString()); log.debug("Device not found: " + identifier.toString());
} }
return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); String msg = "Device not found.";
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }
GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService();
geoService.updateGeoAlert(alert, identifier, alertType, device.getEnrolmentInfo().getOwner()); geoService.updateGeoAlert(alert, identifier, alertType, device.getEnrolmentInfo().getOwner());
return Response.ok().build(); return Response.ok().build();
} catch (DeviceAccessAuthorizationException | GeoLocationBasedServiceException e) { } catch (DeviceAccessAuthorizationException | GeoLocationBasedServiceException e) {
String error = "Error occurred while creating the geo alert for " + deviceType + " with id: " + deviceId; String error = "Error occurred while updating the geo alert for " + deviceType + " with id: " + deviceId;
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
} catch (AlertAlreadyExistException e) { } catch (AlertAlreadyExistException e) {
String error = "A geo alert with this name already exists."; String error = "A geo alert with this name already exists. Try with another name.";
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String error = "Error occurred while retrieving the device enrollment info of " + String error = "Error occurred while retrieving the device enrollment info of requested " + deviceType + " device.";
deviceType + " with id: " + deviceId;
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} }
@ -380,7 +382,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
} catch (AlertAlreadyExistException e) { } catch (AlertAlreadyExistException e) {
String error = "A geo alert with this name already exists."; String error = "A geo alert with this name already exists. Try with another name.";
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} }
@ -410,7 +412,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("Device not found: " + identifier.toString()); log.debug("Device not found: " + identifier.toString());
} }
return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); String msg = "Device not found.";
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }
GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService();
@ -421,8 +424,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String error = "Error occurred while retrieving the device enrollment info of " + String error = "Error occurred while retrieving the device enrollment info of requested " +deviceType + " device";
deviceType + " with id: " + deviceId;
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} }
@ -467,7 +469,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("Device not found: " + identifier.toString()); log.debug("Device not found: " + identifier.toString());
} }
return Response.status(Response.Status.NOT_FOUND.getStatusCode()).build(); String msg = "Device not found.";
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }
GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService();
@ -497,8 +500,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String error = "Error occurred while retrieving the device enrollment info of " + String error = "Error occurred while retrieving the device enrollment info of requested " + deviceType + " device";
deviceType + " with id: " + deviceId;
log.error(error, e); log.error(error, e);
return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
} }
@ -687,9 +689,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
@Consumes("application/json") @Consumes("application/json")
@Produces("application/json") @Produces("application/json")
public Response createGeofence(GeofenceWrapper geofenceWrapper) { public Response createGeofence(GeofenceWrapper geofenceWrapper) {
try {
RequestValidationUtil.validateGeofenceData(geofenceWrapper); RequestValidationUtil.validateGeofenceData(geofenceWrapper);
RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig());
try {
GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper); GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper);
GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService();
if (!geoService.createGeofence(geofenceData)) { if (!geoService.createGeofence(geofenceData)) {
@ -699,6 +701,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
return Response.status(Response.Status.CREATED).entity("Geo Fence record created successfully").build(); return Response.status(Response.Status.CREATED).entity("Geo Fence record created successfully").build();
} catch (BadRequestException e){
return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
} catch (GeoLocationBasedServiceException e) { } catch (GeoLocationBasedServiceException e) {
String msg = "Failed to create geofence"; String msg = "Failed to create geofence";
log.error(msg, e); log.error(msg, e);
@ -895,9 +899,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
public Response updateGeofence(GeofenceWrapper geofenceWrapper, public Response updateGeofence(GeofenceWrapper geofenceWrapper,
@PathParam("fenceId") int fenceId, @PathParam("fenceId") int fenceId,
@QueryParam("eventIds") int[] eventIds) { @QueryParam("eventIds") int[] eventIds) {
try {
RequestValidationUtil.validateGeofenceData(geofenceWrapper); RequestValidationUtil.validateGeofenceData(geofenceWrapper);
RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig());
try {
GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper); GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper);
GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService();
if (!geoService.updateGeofence(geofenceData, fenceId)) { if (!geoService.updateGeofence(geofenceData, fenceId)) {
@ -912,6 +916,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
geoService.updateGeoEventConfigurations(geofenceData, eventsToRemove, geoService.updateGeoEventConfigurations(geofenceData, eventsToRemove,
geofenceData.getGroupIds(), fenceId); geofenceData.getGroupIds(), fenceId);
return Response.status(Response.Status.CREATED).entity("Geo Fence update successfully").build(); return Response.status(Response.Status.CREATED).entity("Geo Fence update successfully").build();
} catch (BadRequestException e){
return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
} catch (GeoLocationBasedServiceException e) { } catch (GeoLocationBasedServiceException e) {
String msg = "Failed to update geofence"; String msg = "Failed to update geofence";
log.error(msg, e); log.error(msg, e);

@ -165,7 +165,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} catch (GroupAlreadyExistException e) { } catch (GroupAlreadyExistException e) {
String msg = "Group already exists with name " + group.getName() + "."; String msg = "Group already exists with name : " + group.getName() + ".";
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.CONFLICT).entity(msg).build(); return Response.status(Response.Status.CONFLICT).entity(msg).build();
} }
@ -179,7 +179,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
if (deviceGroup != null) { if (deviceGroup != null) {
return Response.status(Response.Status.OK).entity(deviceGroup).build(); return Response.status(Response.Status.OK).entity(deviceGroup).build();
} else { } else {
return Response.status(Response.Status.NOT_FOUND).build(); return Response.status(Response.Status.NOT_FOUND).entity("Group not found.").build();
} }
} catch (GroupManagementException e) { } catch (GroupManagementException e) {
String error = "Error occurred while getting the group."; String error = "Error occurred while getting the group.";
@ -196,7 +196,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
if (deviceGroup != null) { if (deviceGroup != null) {
return Response.status(Response.Status.OK).entity(deviceGroup).build(); return Response.status(Response.Status.OK).entity(deviceGroup).build();
} else { } else {
return Response.status(Response.Status.NOT_FOUND).build(); return Response.status(Response.Status.NOT_FOUND).entity("Group not found.").build();
} }
} catch (GroupManagementException e) { } catch (GroupManagementException e) {
String error = "Error occurred while getting the group."; String error = "Error occurred while getting the group.";
@ -218,11 +218,11 @@ public class GroupManagementServiceImpl implements GroupManagementService {
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} catch (GroupNotExistException e) { } catch (GroupNotExistException e) {
String msg = "Group doesn't exist with ID '" + deviceGroup.getGroupId() + "'."; String msg = "Group does not exist.";
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.CONFLICT).entity(msg).build(); return Response.status(Response.Status.CONFLICT).entity(msg).build();
} catch (GroupAlreadyExistException e) { } catch (GroupAlreadyExistException e) {
String msg = "Group already exists with name '" + deviceGroup.getName() + "'."; String msg = "Group already exists with name : '" + deviceGroup.getName() + "'.";
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.CONFLICT).entity(msg).build(); return Response.status(Response.Status.CONFLICT).entity(msg).build();
} }

@ -83,8 +83,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
.validatePolicyDetails(policyWrapper); .validatePolicyDetails(policyWrapper);
// validation failure results; // validation failure results;
if (!features.isEmpty()) { if (!features.isEmpty()) {
log.error("Policy feature/s validation failed."); String msg = "Policy feature/s validation failed." ;
return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " + features).build();
} }
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
@ -212,9 +213,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP(); PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP();
policy = policyAdministratorPoint.getPolicy(id); policy = policyAdministratorPoint.getPolicy(id);
if (policy == null) { if (policy == null) {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "Policy not found.";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
"No policy found with the id '" + id + "'").build()).build();
} }
} catch (PolicyManagementException e) { } catch (PolicyManagementException e) {
String msg = "Error occurred while retrieving policy corresponding to the id '" + id + "'"; String msg = "Error occurred while retrieving policy corresponding to the id '" + id + "'";
@ -233,8 +233,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
.validatePolicyDetails(policyWrapper); .validatePolicyDetails(policyWrapper);
// validation failure results; // validation failure results;
if (!features.isEmpty()) { if (!features.isEmpty()) {
log.error("Policy feature/s validation failed."); String msg = "Policy feature/s validation failed." ;
return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " + features).build();
} }
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
try { try {
@ -296,10 +297,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
//TODO:Check of this logic is correct //TODO:Check of this logic is correct
String modifiedInvalidPolicyIds = String modifiedInvalidPolicyIds =
invalidPolicyIds.substring(0, invalidPolicyIds.length() - 1); invalidPolicyIds.substring(0, invalidPolicyIds.length() - 1);
return Response.status(Response.Status.BAD_REQUEST). String msg = "Policies does not exist.";
entity(new ErrorResponse.ErrorResponseBuilder(). return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
setMessage("Policies with the policy ID " + modifiedInvalidPolicyIds +
" doesn't exist").build()).build();
} }
} }
@ -329,9 +328,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
return Response.status(Response.Status.OK).entity("Selected policies have been successfully activated") return Response.status(Response.Status.OK).entity("Selected policies have been successfully activated")
.build(); .build();
} else { } else {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "Selected policies have not been activated.";
new ErrorResponse.ErrorResponseBuilder().setMessage("Selected policies have " + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
"not been activated").build()).build();
} }
} }
@ -361,9 +359,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
return Response.status(Response.Status.OK).entity("Selected policies have been successfully " + return Response.status(Response.Status.OK).entity("Selected policies have been successfully " +
"deactivated").build(); "deactivated").build();
} else { } else {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "Selected policies have not been activated.";
new ErrorResponse.ErrorResponseBuilder().setMessage("Selected policies have " + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
"not been deactivated").build()).build();
} }
} }
@ -412,9 +409,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
+ "updated.").build(); + "updated.").build();
} else { } else {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "Policy priorities did not update. Bad Request.";
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Policy priorities did " return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
+ "not update. Bad Request.").build()).build();
} }
} }
@ -440,9 +436,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
} }
policy = policyManagementService.getAppliedPolicyToDevice(device); policy = policyManagementService.getAppliedPolicyToDevice(device);
if (policy == null) { if (policy == null) {
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "Policy not found for the requested device.";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
"No policy found for device ID '" + deviceId + "'"+ deviceId).build()).build();
} }
} catch (PolicyManagementException e) { } catch (PolicyManagementException e) {
String msg = "Error occurred while retrieving policy corresponding to the id '" + deviceType + "'"+ deviceId; String msg = "Error occurred while retrieving policy corresponding to the id '" + deviceType + "'"+ deviceId;
@ -491,8 +486,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
= RequestValidationUtil.validateProfileFeatures(profileFeaturesList); = RequestValidationUtil.validateProfileFeatures(profileFeaturesList);
// validation failure results; // validation failure results;
if (!features.isEmpty()) { if (!features.isEmpty()) {
log.error("Policy feature/s validation failed."); String msg = "Policy feature/s validation failed." ;
return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " +features).build();
} }
return Response.status(Response.Status.OK).entity("Valid request").build(); return Response.status(Response.Status.OK).entity("Valid request").build();

@ -169,8 +169,9 @@ public class RoleManagementServiceImpl implements RoleManagementService {
try { try {
final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm();
if (!userRealm.getUserStoreManager().isExistingRole(roleName)) { if (!userRealm.getUserStoreManager().isExistingRole(roleName)) {
return Response.status(404).entity(new ErrorResponse.ErrorResponseBuilder().setMessage(
"No role exists with the name '" + roleName + "'").build()).build(); String msg = "No role exists with the name : " + roleName ;
return Response.status(404).entity(msg).build();
} }
final UIPermissionNode rolePermissions = this.getUIPermissionNode(roleName, userRealm); final UIPermissionNode rolePermissions = this.getUIPermissionNode(roleName, userRealm);
@ -249,9 +250,8 @@ public class RoleManagementServiceImpl implements RoleManagementService {
final UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); final UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm();
if (!userStoreManager.isExistingRole(roleName)) { if (!userStoreManager.isExistingRole(roleName)) {
return Response.status(404).entity( String msg = "No role exists with the name : " + roleName ;
new ErrorResponse.ErrorResponseBuilder().setMessage("No role exists with the name '" + return Response.status(404).entity(msg).build();
roleName + "'").build()).build();
} }
roleInfo.setRoleName(roleName); roleInfo.setRoleName(roleName);
roleInfo.setUsers(userStoreManager.getUserListOfRole(roleName)); roleInfo.setUsers(userStoreManager.getUserListOfRole(roleName));
@ -325,7 +325,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
} }
if (ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode().equals(errorCode)) { if (ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode().equals(errorCode)) {
String roleName = roleInfo.getRoleName().split("/")[1]; String roleName = roleInfo.getRoleName().split("/")[1];
String msg = "Role already exists with name " + roleName + "."; String msg = "Role already exists with name : " + roleName + ". Try with another role name.";
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.CONFLICT).entity(msg).build(); return Response.status(Response.Status.CONFLICT).entity(msg).build();
} else { } else {
@ -354,10 +354,8 @@ public class RoleManagementServiceImpl implements RoleManagementService {
roleName = userStoreName + "/" + roleName; roleName = userStoreName + "/" + roleName;
} }
if (roles.size() < 2) { if (roles.size() < 2) {
return Response.status(400).entity( String msg = "Combining Roles requires at least two roles.";
new ErrorResponse.ErrorResponseBuilder().setMessage("Combining Roles requires at least two roles.") return Response.status(400).entity(msg).build();
.build()
).build();
} }
for (String role : roles) { for (String role : roles) {
RequestValidationUtil.validateRoleName(role); RequestValidationUtil.validateRoleName(role);
@ -374,9 +372,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
mergePermissions(new UIPermissionNode[]{getRolePermissions(role)}, permsSet); mergePermissions(new UIPermissionNode[]{getRolePermissions(role)}, permsSet);
} }
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
return Response.status(404).entity( return Response.status(404).entity(e.getMessage()).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()
).build();
} }
Permission[] permissions = permsSet.toArray(new Permission[permsSet.size()]); Permission[] permissions = permsSet.toArray(new Permission[permsSet.size()]);
@ -424,9 +420,8 @@ public class RoleManagementServiceImpl implements RoleManagementService {
final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm();
final UserStoreManager userStoreManager = userRealm.getUserStoreManager(); final UserStoreManager userStoreManager = userRealm.getUserStoreManager();
if (!userStoreManager.isExistingRole(roleName)) { if (!userStoreManager.isExistingRole(roleName)) {
return Response.status(404).entity( String msg = "No role exists with the name : " + roleName ;
new ErrorResponse.ErrorResponseBuilder().setMessage("No role exists with the name '" + return Response.status(404).entity(msg).build();
roleName + "'").build()).build();
} }
final AuthorizationManager authorizationManager = userRealm.getAuthorizationManager(); final AuthorizationManager authorizationManager = userRealm.getAuthorizationManager();
@ -481,10 +476,23 @@ public class RoleManagementServiceImpl implements RoleManagementService {
return Response.status(Response.Status.OK).entity("Role '" + roleInfo.getRoleName() + "' has " + return Response.status(Response.Status.OK).entity("Role '" + roleInfo.getRoleName() + "' has " +
"successfully been updated").build(); "successfully been updated").build();
} catch (UserStoreException e) { } catch (UserStoreException e) {
String errorCode = "";
String errorMessage = e.getMessage();
if (errorMessage != null && !errorMessage.isEmpty() &&
errorMessage.contains(ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode())) {
errorCode = e.getMessage().split("-")[0].trim();
}
if (ErrorMessages.ERROR_CODE_ROLE_ALREADY_EXISTS.getCode().equals(errorCode)) {
String role = roleInfo.getRoleName().split("/")[1];
String msg = "Role already exists with name : " + role + ". Try with another role name.";
log.warn(msg);
return Response.status(Response.Status.CONFLICT).entity(msg).build();
}else{
String msg = "Error occurred while updating role '" + roleName + "'"; String msg = "Error occurred while updating role '" + roleName + "'";
log.error(msg, e); log.error(msg, e);
return Response.serverError().entity( return Response.serverError().entity(
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
}
} catch (UserAdminException e) { } catch (UserAdminException e) {
String msg = "Error occurred while updating permissions of the role '" + roleName + "'"; String msg = "Error occurred while updating permissions of the role '" + roleName + "'";
log.error(msg, e); log.error(msg, e);
@ -559,9 +567,8 @@ public class RoleManagementServiceImpl implements RoleManagementService {
final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm();
final UserStoreManager userStoreManager = userRealm.getUserStoreManager(); final UserStoreManager userStoreManager = userRealm.getUserStoreManager();
if (!userStoreManager.isExistingRole(roleName)) { if (!userStoreManager.isExistingRole(roleName)) {
return Response.status(404).entity( String msg = "No role exists with the name : " + roleName ;
new ErrorResponse.ErrorResponseBuilder().setMessage("No role exists with the name '" + return Response.status(404).entity(msg).build();
roleName + "'").build()).build();
} }
final AuthorizationManager authorizationManager = userRealm.getAuthorizationManager(); final AuthorizationManager authorizationManager = userRealm.getAuthorizationManager();

@ -157,10 +157,8 @@ public class UserManagementServiceImpl implements UserManagementService {
" already exists. Therefore, request made to add user was refused."); " already exists. Therefore, request made to add user was refused.");
} }
// returning response with bad request state // returning response with bad request state
return Response.status(Response.Status.CONFLICT).entity( String msg = "User by username: " + userInfo.getUsername() + " already exists. Try with another username." ;
new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + return Response.status(Response.Status.CONFLICT).entity(msg).build();
userInfo.getUsername() + " already exists. Therefore, request made to add user " +
"was refused.").build()).build();
} }
String initialUserPassword; String initialUserPassword;
@ -290,9 +288,8 @@ public class UserManagementServiceImpl implements UserManagementService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("User by username: " + username + " does not exist."); log.debug("User by username: " + username + " does not exist.");
} }
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "User by username: " + username + " does not exist.";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
"User doesn't exist.").build()).build();
} }
BasicUserInfo user = this.getBasicUserInfo(username); BasicUserInfo user = this.getBasicUserInfo(username);
@ -318,9 +315,8 @@ public class UserManagementServiceImpl implements UserManagementService {
log.debug("User by username: " + username + log.debug("User by username: " + username +
" doesn't exists. Therefore, request made to update user was refused."); " doesn't exists. Therefore, request made to update user was refused.");
} }
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "User by username: " + username + " does not exist.";
new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
username + " doesn't exist.").build()).build();
} }
Map<String, String> defaultUserClaims = Map<String, String> defaultUserClaims =
@ -396,9 +392,8 @@ public class UserManagementServiceImpl implements UserManagementService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("User by username: " + username + " does not exist for removal."); log.debug("User by username: " + username + " does not exist for removal.");
} }
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "User by username: " + username + " does not exist for removal.";
new ErrorResponse.ErrorResponseBuilder().setMessage("User '" + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
username + "' does not exist for removal.").build()).build();
} }
// Un-enroll all devices for the user // Un-enroll all devices for the user
DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService(); DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService();
@ -430,9 +425,8 @@ public class UserManagementServiceImpl implements UserManagementService {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("User by username: " + username + " does not exist for role retrieval."); log.debug("User by username: " + username + " does not exist for role retrieval.");
} }
return Response.status(Response.Status.NOT_FOUND).entity( String msg = "User by username: " + username + " does not exist for role retrieval.";
new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + username + return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
" does not exist for role retrieval.").build()).build();
} }
RoleList result = new RoleList(); RoleList result = new RoleList();
@ -867,8 +861,8 @@ public class UserManagementServiceImpl implements UserManagementService {
try { try {
ifSinceDate = format.parse(ifModifiedSince); ifSinceDate = format.parse(ifModifiedSince);
} catch (ParseException e) { } catch (ParseException e) {
return Response.status(400).entity(new ErrorResponse.ErrorResponseBuilder() String msg = "Invalid date string is provided in [If-Modified-Since] header";
.setMessage("Invalid date string is provided in 'If-Modified-Since' header").build()).build(); return Response.status(400).entity(msg).build();
} }
ifModifiedSinceTimestamp = ifSinceDate.getTime(); ifModifiedSinceTimestamp = ifSinceDate.getTime();
isIfModifiedSinceSet = true; isIfModifiedSinceSet = true;
@ -879,8 +873,8 @@ public class UserManagementServiceImpl implements UserManagementService {
try { try {
sinceDate = format.parse(since); sinceDate = format.parse(since);
} catch (ParseException e) { } catch (ParseException e) {
return Response.status(400).entity(new ErrorResponse.ErrorResponseBuilder() String msg = "Invalid date string is provided in [since] filter";
.setMessage("Invalid date string is provided in 'since' filter").build()).build(); return Response.status(400).entity(msg).build();
} }
sinceTimestamp = sinceDate.getTime(); sinceTimestamp = sinceDate.getTime();
timestamp = sinceTimestamp / 1000; timestamp = sinceTimestamp / 1000;
@ -1094,8 +1088,7 @@ public class UserManagementServiceImpl implements UserManagementService {
if (!userStoreManager.isExistingUser(username)) { if (!userStoreManager.isExistingUser(username)) {
String message = "User by username: " + username + " does not exist for permission retrieval."; String message = "User by username: " + username + " does not exist for permission retrieval.";
log.error(message); log.error(message);
return Response.status(Response.Status.NOT_FOUND) return Response.status(Response.Status.NOT_FOUND).entity(message).build();
.entity(new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build();
} }
// Get a list of roles which the user assigned to // Get a list of roles which the user assigned to
List<String> roles = getFilteredRoles(userStoreManager, username); List<String> roles = getFilteredRoles(userStoreManager, username);

@ -81,9 +81,8 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem
applicationWrapper.getDeviceIdentifiers().size() > 0) { applicationWrapper.getDeviceIdentifiers().size() > 0) {
activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers()); activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers());
} else { } else {
return Response.status(Response.Status.BAD_REQUEST).entity( String msg = "No application installation criteria i.e. user/role/device is given";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
"No application installation criteria i.e. user/role/device is given").build()).build();
} }
} }
return Response.status(Response.Status.ACCEPTED).entity(activity).build(); return Response.status(Response.Status.ACCEPTED).entity(activity).build();
@ -131,9 +130,8 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem
applicationWrapper.getDeviceIdentifiers().size() > 0) { applicationWrapper.getDeviceIdentifiers().size() > 0) {
activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers()); activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers());
} else { } else {
return Response.status(Response.Status.BAD_REQUEST).entity( String msg = "No application un-installation criteria i.e. user/role/device is given";
new ErrorResponse.ErrorResponseBuilder().setMessage( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
"No application un-installation criteria i.e. user/role/device is given").build()).build();
} }
} }
return Response.status(Response.Status.ACCEPTED).entity(activity).build(); return Response.status(Response.Status.ACCEPTED).entity(activity).build();

@ -169,7 +169,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} catch (UserNotFoundException e) { } catch (UserNotFoundException e) {
String msg = "Couldn't found the owner in user store to update the owner of devices."; String msg = "Could not found the owner in user store to update the owner of devices.";
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} }
@ -197,8 +197,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
} catch (InvalidDeviceException e) { } catch (InvalidDeviceException e) {
String msg = "Found Invalid devices"; String msg = "Found Invalid devices";
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.BAD_REQUEST).entity( return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
} }
} }
@ -222,7 +221,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
log.error(msg); log.error(msg);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} catch (BadRequestException e) { } catch (BadRequestException e) {
String msg = "Bad request, can't proceed. Hence verify the request and re-try"; String msg = "Bad request, cannot proceed. Hence verify the request and re-try";
log.error(msg); log.error(msg);
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
@ -230,7 +229,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
log.error(msg); log.error(msg);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} catch (DeviceNotFoundException e) { } catch (DeviceNotFoundException e) {
String msg = "Couldn't find an device for device identifier: " + deviceIdentifier; String msg = "Could not find an device";
log.error(msg); log.error(msg);
return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }

@ -156,7 +156,7 @@ public class GroupManagementAdminServiceImpl implements GroupManagementAdminServ
log.error(msg, e); log.error(msg, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} catch (GroupAlreadyExistException e) { } catch (GroupAlreadyExistException e) {
String msg = "Group already exists with name " + group.getName() + "."; String msg = "Group already exists with name : " + group.getName() + ". Try with another group name.";
log.warn(msg); log.warn(msg);
return Response.status(Response.Status.CONFLICT).entity(msg).build(); return Response.status(Response.Status.CONFLICT).entity(msg).build();
} }

@ -43,6 +43,7 @@ import org.wso2.carbon.device.mgt.jaxrs.beans.PolicyWrapper;
import org.wso2.carbon.device.mgt.jaxrs.beans.ProfileFeature; import org.wso2.carbon.device.mgt.jaxrs.beans.ProfileFeature;
import org.wso2.carbon.device.mgt.jaxrs.beans.RoleInfo; import org.wso2.carbon.device.mgt.jaxrs.beans.RoleInfo;
import org.wso2.carbon.device.mgt.jaxrs.beans.Scope; import org.wso2.carbon.device.mgt.jaxrs.beans.Scope;
import org.wso2.carbon.device.mgt.jaxrs.exception.BadRequestException;
import org.wso2.carbon.device.mgt.jaxrs.util.Constants; import org.wso2.carbon.device.mgt.jaxrs.util.Constants;
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils; import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
import org.wso2.carbon.policy.mgt.common.PolicyPayloadValidator; import org.wso2.carbon.policy.mgt.common.PolicyPayloadValidator;
@ -727,8 +728,7 @@ public class RequestValidationUtil {
if (geofenceWrapper.getFenceName() == null || geofenceWrapper.getFenceName().trim().isEmpty()) { if (geofenceWrapper.getFenceName() == null || geofenceWrapper.getFenceName().trim().isEmpty()) {
String msg = "Geofence name should not be null or empty"; String msg = "Geofence name should not be null or empty";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
if (geofenceWrapper.getGeoJson() != null && !geofenceWrapper.getGeoJson().trim().isEmpty()) { if (geofenceWrapper.getGeoJson() != null && !geofenceWrapper.getGeoJson().trim().isEmpty()) {
isGeoJsonExists = true; isGeoJsonExists = true;
@ -736,26 +736,22 @@ public class RequestValidationUtil {
if ((geofenceWrapper.getLatitude() < -90 || geofenceWrapper.getLatitude() > 90) && !isGeoJsonExists) { if ((geofenceWrapper.getLatitude() < -90 || geofenceWrapper.getLatitude() > 90) && !isGeoJsonExists) {
String msg = "Latitude should be a value between -90 and 90"; String msg = "Latitude should be a value between -90 and 90";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
if ((geofenceWrapper.getLongitude() < -180 || geofenceWrapper.getLongitude() > 180) && !isGeoJsonExists) { if ((geofenceWrapper.getLongitude() < -180 || geofenceWrapper.getLongitude() > 180) && !isGeoJsonExists) {
String msg = "Longitude should be a value between -180 and 180"; String msg = "Longitude should be a value between -180 and 180";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
if (geofenceWrapper.getRadius() < 1 && !isGeoJsonExists) { if (geofenceWrapper.getRadius() < 1 && !isGeoJsonExists) {
String msg = "Minimum radius of the fence should be 1m"; String msg = "Minimum radius of the fence should be 1m";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
if (geofenceWrapper.getFenceShape().trim().isEmpty()) { if (geofenceWrapper.getFenceShape().trim().isEmpty()) {
String msg = "Fence shape should not be empty"; String msg = "Fence shape should not be empty";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
} }
@ -767,23 +763,20 @@ public class RequestValidationUtil {
if (eventConfig == null ||eventConfig.isEmpty()) { if (eventConfig == null ||eventConfig.isEmpty()) {
String msg = "Event configuration is mandatory, since should not be null or empty"; String msg = "Event configuration is mandatory, since should not be null or empty";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
for (EventConfig config : eventConfig) { for (EventConfig config : eventConfig) {
if (config.getActions() == null || config.getActions().isEmpty()) { if (config.getActions() == null || config.getActions().isEmpty()) {
String msg = "Event actions are mandatory, since should not be null or empty"; String msg = "Event actions are mandatory, since should not be null or empty";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
if (config.getEventLogic() == null || config.getEventLogic().trim().isEmpty()) { if (config.getEventLogic() == null || config.getEventLogic().trim().isEmpty()) {
String msg = "Event logic is mandatory, since should not be null or empty"; String msg = "Event logic is mandatory, since should not be null or empty";
log.error(msg); log.error(msg);
throw new InputValidationException( throw new BadRequestException(msg);
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build());
} }
} }
} }

Loading…
Cancel
Save