From 80f0c332fbf8fb6d9554891555dd44e2ac6b449d Mon Sep 17 00:00:00 2001 From: Thashmi-nil Date: Wed, 18 Jan 2023 21:42:57 +0530 Subject: [PATCH] Fix on API response messages in device-mgt --- .../DeviceManagementConfigServiceImpl.java | 19 ++-- .../impl/ActivityProviderServiceImpl.java | 30 +++--- .../impl/DeviceManagementServiceImpl.java | 97 ++++++++----------- .../impl/DeviceTypeManagementServiceImpl.java | 15 ++- .../impl/GeoLocationBasedServiceImpl.java | 50 +++++----- .../impl/GroupManagementServiceImpl.java | 10 +- .../impl/PolicyManagementServiceImpl.java | 46 ++++----- .../impl/RoleManagementServiceImpl.java | 53 +++++----- .../impl/UserManagementServiceImpl.java | 37 +++---- ...ApplicationManagementAdminServiceImpl.java | 10 +- .../DeviceManagementAdminServiceImpl.java | 9 +- .../GroupManagementAdminServiceImpl.java | 2 +- .../impl/util/RequestValidationUtil.java | 25 ++--- 13 files changed, 181 insertions(+), 222 deletions(-) diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java index 4f13273e217..8aea316c557 100644 --- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java +++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/java/io/entgra/carbon/device/mgt/config/jaxrs/service/impl/DeviceManagementConfigServiceImpl.java @@ -91,9 +91,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig if (properties == null || properties.isEmpty()) { String msg = "Devices configuration retrieval criteria cannot be null or empty."; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build() - ).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } ObjectMapper mapper = new ObjectMapper(); @@ -113,18 +111,15 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } catch (DeviceNotFoundException e) { log.warn(e.getMessage()); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); } catch (AmbiguousConfigurationException e) { String msg = "Configurations are ambiguous. " + e.getMessage(); log.warn(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (JsonParseException | JsonMappingException e) { String msg = "Malformed device property structure"; log.error(msg.concat(" ").concat(properties), e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (IOException e) { String msg = "Error occurred while parsing query param JSON data."; log.error(msg.concat(" ").concat(properties), e); @@ -150,8 +145,7 @@ public class DeviceManagementConfigServiceImpl implements DeviceManagementConfig if (devicesTransferred.isEmpty()) { String msg = "Devices are not enrolled to super tenant"; log.warn(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } else { 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(); } catch (DeviceNotFoundException e) { log.error(e.getMessage(), e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build(); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java index 9c253c4fa6e..d0539f7b8b5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/ActivityProviderServiceImpl.java @@ -74,9 +74,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService dmService = DeviceMgtAPIUtils.getDeviceManagementService(); activity = dmService.getOperationByActivityId(id); if (activity == null) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No activity can be " + - "found upon the provided activity id '" + id + "'").build()).build(); + String msg = "No activity can be " + + "found upon the provided activity id '" + id + "'"; + return Response.status(404).entity(msg).build(); } return Response.status(Response.Status.OK).entity(activity).build(); } catch (OperationManagementException e) { @@ -98,10 +98,9 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService List idList; idList = activityIdList.getIdList(); if (idList == null || idList.isEmpty()) { - String msg = "Activity Ids shouldn't be empty"; + String msg = "Activities should not be empty"; log.error(msg); - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(400).entity(msg).build(); } Response validationFailedResponse = validateAdminPermission(); if (validationFailedResponse == null) { @@ -125,8 +124,7 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService } else { String msg = "No activity found with the given IDs."; log.error(msg); - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(404).entity(msg).build(); } } catch (OperationManagementException e) { 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(); activity = dmService.getOperationByActivityIdAndDevice(id, deviceIdentifier); if (activity == null) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No activity can be " + - "found upon the provided activity id '" + id + "'").build()).build(); + String msg = "No activity can be " + + "found upon the provided activity id '" + id + "'"; + return Response.status(404).entity(msg).build(); } return Response.status(Response.Status.OK).entity(activity).build(); } catch (OperationManagementException e) { @@ -247,9 +245,8 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService try { ifSinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "Invalid date string is provided in 'If-Modified-Since' header").build()).build(); + String msg = "Invalid date string is provided in [If-Modified-Since] header."; + return Response.status(400).entity(msg).build(); } ifModifiedSinceTimestamp = ifSinceDate.getTime(); timestamp = ifModifiedSinceTimestamp / 1000; @@ -259,9 +256,8 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService try { sinceDate = format.parse(since); } catch (ParseException e) { - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "Invalid date string is provided in 'since' filter").build()).build(); + String msg = "Invalid date string is provided in [since] filter."; + return Response.status(400).entity(msg).build(); } sinceTimestamp = sinceDate.getTime(); timestamp = sinceTimestamp / 1000; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 9ffece72302..72dbcc21081 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -199,10 +199,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { @QueryParam("limit") int limit) { try { if (!StringUtils.isEmpty(name) && !StringUtils.isEmpty(role)) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Request contains both name and role " + - "parameters. Only one is allowed " + - "at once.").build()).build(); + String msg = "Request contains both name and role parameters. Only one is allowed at once."; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } // RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status); RequestValidationUtil.validatePaginationParameters(offset, limit); @@ -291,9 +289,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { sinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + - "string is provided in 'If-Modified-Since' header").build()).build(); + String msg = "Invalid date string is provided in [If-Modified-Since] header"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } request.setSince(sinceDate); if (requireDeviceInfo) { @@ -312,9 +309,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { sinceDate = format.parse(since); } catch (ParseException e) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + - "string is provided in 'since' filter").build()).build(); + String msg = "Invalid date string is provided in [since] filter"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } request.setSince(sinceDate); if (requireDeviceInfo) { @@ -547,6 +543,10 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { String msg = "Error occurred while retrieving role list of user '" + authorizedUser + "'"; log.error(msg); 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); @@ -563,7 +563,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { } return Response.status(Response.Status.OK).entity(devices).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (UnAuthorizedException e) { @@ -597,12 +597,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { boolean response = deviceManagementProviderService.disenrollDevice(deviceIdentifier); return Response.status(Response.Status.OK).entity(response).build(); } catch (DeviceManagementException e) { - String msg = "Error encountered while deleting device of type : " + deviceType + " and " + - "ID : " + deviceId; + String msg = "Error encountered while deleting requested device of type : " + deviceType ; log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build() - ).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -620,11 +617,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.CREATED).entity(response).build(); } catch (DeviceManagementException e) { - log.error("Error encountered while updating device of type : " + deviceType + " and " + - "ID : " + deviceId); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Error while updating " + - "device of type " + deviceType + " and ID : " + deviceId).build()).build(); + String msg = "Error encountered while updating requested device of type : " + deviceType ; + log.error(msg, e); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -665,10 +660,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { sinceDate = format.parse(ifModifiedSince); deviceData.setLastModifiedDate(sinceDate); } 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); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -695,9 +689,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.NOT_MODIFIED).entity("No device is modified " + "after the timestamp provided in 'If-Modified-Since' header").build(); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_NOT_FOUND).setMessage("Requested device of type '" + - type + "', which carries id '" + id + "' does not exist").build()).build(); + String msg = "Requested device of type " + type + " does not exist"; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } return Response.status(Response.Status.OK).entity(device).build(); } @@ -718,7 +711,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { dms); return Response.status(Response.Status.OK).entity(snapshotWrapper).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (UnAuthorizedException e) { @@ -764,12 +757,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { sinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - String message = "Error occurred while parse the since date.Invalid date string is provided in " + - "'If-Modified-Since' header"; + String message = "Invalid date string is provided in [If-Modified-Since] header"; log.error(message, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Invalid date " + - "string is provided in 'If-Modified-Since' header").build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(message).build(); } } 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"; log.error(message); 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 { device = dms.getDevice(id, requireDeviceInfo); } if (device == null) { - String message = "Device does not exist with id '" + id + "'"; + String message = "Device does not exist"; log.error(message); - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setCode(404l).setMessage(message).build()).build(); + return Response.status(Response.Status.NOT_FOUND).entity(message).build(); } DeviceIdentifier deviceIdentifier = new DeviceIdentifier(id, device.getType()); // check whether the user is authorized @@ -819,7 +808,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceManagementProviderService deviceManagementProviderService = DeviceMgtAPIUtils.getDeviceManagementService(); 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); return Response.status(Response.Status.BAD_REQUEST).build(); } @@ -901,9 +890,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { try { fm = dms.getFeatureManager(type); } catch (DeviceTypeNotFoundException e) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder() - .setMessage("No device type found with name '" + type + "'").build()).build(); + String msg = "No device type found with name : " + type ; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } if (fm != null) { features = fm.getFeatures(); @@ -1125,8 +1113,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } catch (InputValidationException e) { - String msg = "Error occurred while fetching the operations for the '" + type + "' device, which " + - "carries the id '" + id + "'"; + String msg = "Error occurred while fetching the operations for the type : " + type + " device"; log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (DeviceManagementException e) { @@ -1135,7 +1122,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { log.error(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } 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); 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); return Response.status(Response.Status.OK).entity(response).build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while changing device status of type : " + type + " and " + - "device id : " + id; + String msg = "Error occurred while changing device status of device type : " + type ; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -1277,11 +1262,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { List deviceStatusHistory = deviceManagementProviderService.getDeviceStatusHistory(persistedDevice); return Response.status(Response.Status.OK).entity(deviceStatusHistory).build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while retreiving device status history for device of type : " + type + " and " + - "device id : " + id; + String msg = "Error occurred while retrieving device status history for device of type : " + type ; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -1309,11 +1292,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { List deviceStatusHistory = deviceManagementProviderService.getDeviceCurrentEnrolmentStatusHistory(persistedDevice); return Response.status(Response.Status.OK).entity(deviceStatusHistory).build(); } catch (DeviceManagementException e) { - String msg = "Error occurred while retreiving device status history for device of type : " + type + " and " + - "device id : " + id; + String msg = "Error occurred while retrieving device status history for device of type : " + type; log.error(msg); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -1390,7 +1371,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build(); } 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); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity( new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build(); @@ -1590,7 +1571,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceType deviceTypeObj = DeviceManagerUtil.getDeviceType( deviceType, tenantId); 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); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java index 393fd31ff59..b8d7aeb97ac 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceTypeManagementServiceImpl.java @@ -141,16 +141,15 @@ public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementServ DeviceManagementProviderService dms; try { if (StringUtils.isEmpty(type)) { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Type cannot be empty.").build()).build(); + String msg = "Type cannot be empty."; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } dms = DeviceMgtAPIUtils.getDeviceManagementService(); FeatureManager fm = dms.getFeatureManager(type); if (fm == null) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("No feature manager is " + - "registered with the given type '" + type + "'").build()).build(); + String msg = "No feature manager is registered with the given type : " + type ; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } if (StringUtils.isEmpty(hidden)) { @@ -165,11 +164,9 @@ public class DeviceTypeManagementServiceImpl implements DeviceTypeManagementServ return Response.serverError().entity( new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); } 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); - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder() - .setMessage(msg).build()).build(); + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } return Response.status(Response.Status.OK).entity(features).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java index 2207957a2ac..b2063f8985c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GeoLocationBasedServiceImpl.java @@ -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.EventAction; 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.impl.util.InputValidationException; 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) { try { 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()) - .entity("Unable to retrive Geo Device stats. Geo Data publishing does not enabled.").build(); + .entity(msg).build(); } } catch (DeviceManagementException e) { 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()) { 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(); @@ -288,12 +291,11 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested "+ deviceType + " device."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -314,7 +316,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -344,23 +346,23 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { 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(); geoService.updateGeoAlert(alert, identifier, alertType, device.getEnrolmentInfo().getOwner()); return Response.ok().build(); } 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); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested " + deviceType + " device."; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -380,7 +382,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -410,7 +412,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { 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(); @@ -421,8 +424,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested " +deviceType + " device"; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -467,7 +469,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { if (log.isDebugEnabled()) { 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(); @@ -497,8 +500,7 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { log.error(error, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build(); } catch (DeviceManagementException e) { - String error = "Error occurred while retrieving the device enrollment info of " + - deviceType + " with id: " + deviceId; + String error = "Error occurred while retrieving the device enrollment info of requested " + deviceType + " device"; log.error(error, e); return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } @@ -687,9 +689,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { @Consumes("application/json") @Produces("application/json") public Response createGeofence(GeofenceWrapper geofenceWrapper) { - RequestValidationUtil.validateGeofenceData(geofenceWrapper); - RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); try { + RequestValidationUtil.validateGeofenceData(geofenceWrapper); + RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); if (!geoService.createGeofence(geofenceData)) { @@ -699,6 +701,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).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) { String msg = "Failed to create geofence"; log.error(msg, e); @@ -895,9 +899,9 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { public Response updateGeofence(GeofenceWrapper geofenceWrapper, @PathParam("fenceId") int fenceId, @QueryParam("eventIds") int[] eventIds) { - RequestValidationUtil.validateGeofenceData(geofenceWrapper); - RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); try { + RequestValidationUtil.validateGeofenceData(geofenceWrapper); + RequestValidationUtil.validateEventConfigurationData(geofenceWrapper.getEventConfig()); GeofenceData geofenceData = mapRequestGeofenceData(geofenceWrapper); GeoLocationProviderService geoService = DeviceMgtAPIUtils.getGeoService(); if (!geoService.updateGeofence(geofenceData, fenceId)) { @@ -912,6 +916,8 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService { geoService.updateGeoEventConfigurations(geofenceData, eventsToRemove, geofenceData.getGroupIds(), fenceId); 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) { String msg = "Failed to update geofence"; log.error(msg, e); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java index 8927ea533d6..ce5d51f1d76 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/GroupManagementServiceImpl.java @@ -165,7 +165,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (GroupAlreadyExistException e) { - String msg = "Group already exists with name " + group.getName() + "."; + String msg = "Group already exists with name : " + group.getName() + "."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } @@ -179,7 +179,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { if (deviceGroup != null) { return Response.status(Response.Status.OK).entity(deviceGroup).build(); } else { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity("Group not found.").build(); } } catch (GroupManagementException e) { String error = "Error occurred while getting the group."; @@ -196,7 +196,7 @@ public class GroupManagementServiceImpl implements GroupManagementService { if (deviceGroup != null) { return Response.status(Response.Status.OK).entity(deviceGroup).build(); } else { - return Response.status(Response.Status.NOT_FOUND).build(); + return Response.status(Response.Status.NOT_FOUND).entity("Group not found.").build(); } } catch (GroupManagementException e) { String error = "Error occurred while getting the group."; @@ -218,11 +218,11 @@ public class GroupManagementServiceImpl implements GroupManagementService { log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (GroupNotExistException e) { - String msg = "Group doesn't exist with ID '" + deviceGroup.getGroupId() + "'."; + String msg = "Group does not exist."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } catch (GroupAlreadyExistException e) { - String msg = "Group already exists with name '" + deviceGroup.getName() + "'."; + String msg = "Group already exists with name : '" + deviceGroup.getName() + "'."; log.warn(msg); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java index 6a2dbe68a3c..fdc0fbf7a61 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/PolicyManagementServiceImpl.java @@ -83,8 +83,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { .validatePolicyDetails(policyWrapper); // validation failure results; if (!features.isEmpty()) { - log.error("Policy feature/s validation failed."); - return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); + String msg = "Policy feature/s validation failed." ; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " + features).build(); } PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); @@ -212,9 +213,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { PolicyAdministratorPoint policyAdministratorPoint = policyManagementService.getPAP(); policy = policyAdministratorPoint.getPolicy(id); if (policy == null) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No policy found with the id '" + id + "'").build()).build(); + String msg = "Policy not found."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } catch (PolicyManagementException e) { String msg = "Error occurred while retrieving policy corresponding to the id '" + id + "'"; @@ -233,8 +233,9 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { .validatePolicyDetails(policyWrapper); // validation failure results; if (!features.isEmpty()) { - log.error("Policy feature/s validation failed."); - return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); + String msg = "Policy feature/s validation failed." ; + log.error(msg); + return Response.status(Response.Status.BAD_REQUEST).entity(msg + " Features : " + features).build(); } PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService(); try { @@ -296,10 +297,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { //TODO:Check of this logic is correct String modifiedInvalidPolicyIds = invalidPolicyIds.substring(0, invalidPolicyIds.length() - 1); - return Response.status(Response.Status.BAD_REQUEST). - entity(new ErrorResponse.ErrorResponseBuilder(). - setMessage("Policies with the policy ID " + modifiedInvalidPolicyIds + - " doesn't exist").build()).build(); + String msg = "Policies does not exist."; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -329,9 +328,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { return Response.status(Response.Status.OK).entity("Selected policies have been successfully activated") .build(); } else { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Selected policies have " + - "not been activated").build()).build(); + String msg = "Selected policies have not been activated."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } @@ -361,9 +359,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { return Response.status(Response.Status.OK).entity("Selected policies have been successfully " + "deactivated").build(); } else { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Selected policies have " + - "not been deactivated").build()).build(); + String msg = "Selected policies have not been activated."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } @@ -412,9 +409,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { + "updated.").build(); } else { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Policy priorities did " - + "not update. Bad Request.").build()).build(); + String msg = "Policy priorities did not update. Bad Request."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } @@ -440,9 +436,8 @@ public class PolicyManagementServiceImpl implements PolicyManagementService { } policy = policyManagementService.getAppliedPolicyToDevice(device); if (policy == null) { - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No policy found for device ID '" + deviceId + "'"+ deviceId).build()).build(); + String msg = "Policy not found for the requested device."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } } catch (PolicyManagementException e) { 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); // validation failure results; if (!features.isEmpty()) { - log.error("Policy feature/s validation failed."); - return Response.status(Response.Status.BAD_REQUEST).entity(features).build(); + String msg = "Policy feature/s validation failed." ; + 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(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java index af05da7991f..0894b2f2cd6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java @@ -169,8 +169,9 @@ public class RoleManagementServiceImpl implements RoleManagementService { try { final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); 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); @@ -249,9 +250,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { final UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); if (!userStoreManager.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(); } roleInfo.setRoleName(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)) { 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); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } else { @@ -354,10 +354,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { roleName = userStoreName + "/" + roleName; } if (roles.size() < 2) { - return Response.status(400).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("Combining Roles requires at least two roles.") - .build() - ).build(); + String msg = "Combining Roles requires at least two roles."; + return Response.status(400).entity(msg).build(); } for (String role : roles) { RequestValidationUtil.validateRoleName(role); @@ -374,9 +372,7 @@ public class RoleManagementServiceImpl implements RoleManagementService { mergePermissions(new UIPermissionNode[]{getRolePermissions(role)}, permsSet); } } catch (IllegalArgumentException e) { - return Response.status(404).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(e.getMessage()).build() - ).build(); + return Response.status(404).entity(e.getMessage()).build(); } Permission[] permissions = permsSet.toArray(new Permission[permsSet.size()]); @@ -424,9 +420,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserStoreManager userStoreManager = userRealm.getUserStoreManager(); if (!userStoreManager.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 AuthorizationManager authorizationManager = userRealm.getAuthorizationManager(); @@ -481,10 +476,23 @@ public class RoleManagementServiceImpl implements RoleManagementService { return Response.status(Response.Status.OK).entity("Role '" + roleInfo.getRoleName() + "' has " + "successfully been updated").build(); } catch (UserStoreException e) { - String msg = "Error occurred while updating role '" + roleName + "'"; - log.error(msg, e); - return Response.serverError().entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + 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 + "'"; + log.error(msg, e); + return Response.serverError().entity( + new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + } } catch (UserAdminException e) { String msg = "Error occurred while updating permissions of the role '" + roleName + "'"; log.error(msg, e); @@ -559,9 +567,8 @@ public class RoleManagementServiceImpl implements RoleManagementService { final UserRealm userRealm = DeviceMgtAPIUtils.getUserRealm(); final UserStoreManager userStoreManager = userRealm.getUserStoreManager(); if (!userStoreManager.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 AuthorizationManager authorizationManager = userRealm.getAuthorizationManager(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java index 1fbb402dcd0..c6f6d882e05 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java @@ -157,10 +157,8 @@ public class UserManagementServiceImpl implements UserManagementService { " already exists. Therefore, request made to add user was refused."); } // returning response with bad request state - return Response.status(Response.Status.CONFLICT).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + - userInfo.getUsername() + " already exists. Therefore, request made to add user " + - "was refused.").build()).build(); + String msg = "User by username: " + userInfo.getUsername() + " already exists. Try with another username." ; + return Response.status(Response.Status.CONFLICT).entity(msg).build(); } String initialUserPassword; @@ -290,9 +288,8 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + username + " does not exist."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "User doesn't exist.").build()).build(); + String msg = "User by username: " + username + " does not exist."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } BasicUserInfo user = this.getBasicUserInfo(username); @@ -318,9 +315,8 @@ public class UserManagementServiceImpl implements UserManagementService { log.debug("User by username: " + username + " doesn't exists. Therefore, request made to update user was refused."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + - username + " doesn't exist.").build()).build(); + String msg = "User by username: " + username + " does not exist."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } Map defaultUserClaims = @@ -396,9 +392,8 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + username + " does not exist for removal."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User '" + - username + "' does not exist for removal.").build()).build(); + String msg = "User by username: " + username + " does not exist for removal."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } // Un-enroll all devices for the user DeviceManagementProviderService deviceManagementService = DeviceMgtAPIUtils.getDeviceManagementService(); @@ -430,9 +425,8 @@ public class UserManagementServiceImpl implements UserManagementService { if (log.isDebugEnabled()) { log.debug("User by username: " + username + " does not exist for role retrieval."); } - return Response.status(Response.Status.NOT_FOUND).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage("User by username: " + username + - " does not exist for role retrieval.").build()).build(); + String msg = "User by username: " + username + " does not exist for role retrieval."; + return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } RoleList result = new RoleList(); @@ -867,8 +861,8 @@ public class UserManagementServiceImpl implements UserManagementService { try { ifSinceDate = format.parse(ifModifiedSince); } catch (ParseException e) { - return Response.status(400).entity(new ErrorResponse.ErrorResponseBuilder() - .setMessage("Invalid date string is provided in 'If-Modified-Since' header").build()).build(); + String msg = "Invalid date string is provided in [If-Modified-Since] header"; + return Response.status(400).entity(msg).build(); } ifModifiedSinceTimestamp = ifSinceDate.getTime(); isIfModifiedSinceSet = true; @@ -879,8 +873,8 @@ public class UserManagementServiceImpl implements UserManagementService { try { sinceDate = format.parse(since); } catch (ParseException e) { - return Response.status(400).entity(new ErrorResponse.ErrorResponseBuilder() - .setMessage("Invalid date string is provided in 'since' filter").build()).build(); + String msg = "Invalid date string is provided in [since] filter"; + return Response.status(400).entity(msg).build(); } sinceTimestamp = sinceDate.getTime(); timestamp = sinceTimestamp / 1000; @@ -1094,8 +1088,7 @@ public class UserManagementServiceImpl implements UserManagementService { if (!userStoreManager.isExistingUser(username)) { String message = "User by username: " + username + " does not exist for permission retrieval."; log.error(message); - return Response.status(Response.Status.NOT_FOUND) - .entity(new ErrorResponse.ErrorResponseBuilder().setMessage(message).build()).build(); + return Response.status(Response.Status.NOT_FOUND).entity(message).build(); } // Get a list of roles which the user assigned to List roles = getFilteredRoles(userStoreManager, username); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java index d942c77e7b0..55c8c2ff1d0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/ApplicationManagementAdminServiceImpl.java @@ -81,9 +81,8 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem applicationWrapper.getDeviceIdentifiers().size() > 0) { activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers()); } else { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No application installation criteria i.e. user/role/device is given").build()).build(); + String msg = "No application installation criteria i.e. user/role/device is given"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } return Response.status(Response.Status.ACCEPTED).entity(activity).build(); @@ -131,9 +130,8 @@ public class ApplicationManagementAdminServiceImpl implements ApplicationManagem applicationWrapper.getDeviceIdentifiers().size() > 0) { activity = appManagerConnector.installApplicationForDevices(operation, applicationWrapper.getDeviceIdentifiers()); } else { - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage( - "No application un-installation criteria i.e. user/role/device is given").build()).build(); + String msg = "No application un-installation criteria i.e. user/role/device is given"; + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } return Response.status(Response.Status.ACCEPTED).entity(activity).build(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java index acadf926f2b..1137beceed6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/DeviceManagementAdminServiceImpl.java @@ -169,7 +169,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } @@ -197,8 +197,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe } catch (InvalidDeviceException e) { String msg = "Found Invalid devices"; log.error(msg, e); - return Response.status(Response.Status.BAD_REQUEST).entity( - new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build(); + return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } @@ -222,7 +221,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } 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); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } catch (DeviceManagementException e) { @@ -230,7 +229,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe log.error(msg); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } catch (DeviceNotFoundException e) { - String msg = "Couldn't find an device for device identifier: " + deviceIdentifier; + String msg = "Could not find an device"; log.error(msg); return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java index a461b71b500..9dd67617e81 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/GroupManagementAdminServiceImpl.java @@ -156,7 +156,7 @@ public class GroupManagementAdminServiceImpl implements GroupManagementAdminServ log.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } 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); return Response.status(Response.Status.CONFLICT).entity(msg).build(); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java index f9a27bee4ca..1d71e900329 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/util/RequestValidationUtil.java @@ -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.RoleInfo; 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.DeviceMgtAPIUtils; import org.wso2.carbon.policy.mgt.common.PolicyPayloadValidator; @@ -727,8 +728,7 @@ public class RequestValidationUtil { if (geofenceWrapper.getFenceName() == null || geofenceWrapper.getFenceName().trim().isEmpty()) { String msg = "Geofence name should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (geofenceWrapper.getGeoJson() != null && !geofenceWrapper.getGeoJson().trim().isEmpty()) { isGeoJsonExists = true; @@ -736,26 +736,22 @@ public class RequestValidationUtil { if ((geofenceWrapper.getLatitude() < -90 || geofenceWrapper.getLatitude() > 90) && !isGeoJsonExists) { String msg = "Latitude should be a value between -90 and 90"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if ((geofenceWrapper.getLongitude() < -180 || geofenceWrapper.getLongitude() > 180) && !isGeoJsonExists) { String msg = "Longitude should be a value between -180 and 180"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (geofenceWrapper.getRadius() < 1 && !isGeoJsonExists) { String msg = "Minimum radius of the fence should be 1m"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (geofenceWrapper.getFenceShape().trim().isEmpty()) { String msg = "Fence shape should not be empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } } @@ -767,23 +763,20 @@ public class RequestValidationUtil { if (eventConfig == null ||eventConfig.isEmpty()) { String msg = "Event configuration is mandatory, since should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } for (EventConfig config : eventConfig) { if (config.getActions() == null || config.getActions().isEmpty()) { String msg = "Event actions are mandatory, since should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } if (config.getEventLogic() == null || config.getEventLogic().trim().isEmpty()) { String msg = "Event logic is mandatory, since should not be null or empty"; log.error(msg); - throw new InputValidationException( - new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).setMessage(msg).build()); + throw new BadRequestException(msg); } } }