mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #1197 from Arcane94/master
Fixed https://github.com/wso2/carbon-device-mgt/issues/1194
This commit is contained in:
commit
329e41b04c
@ -178,6 +178,10 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
|
|||||||
String error = "Error occurred while creating the geo alert for " + deviceType + " with id: " + deviceId;
|
String error = "Error occurred while creating 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) {
|
||||||
|
String error = "A geo alert with this name already exists.";
|
||||||
|
log.error(error,e);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,6 +215,10 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
|
|||||||
String error = "Error occurred while creating the geo alert for " + deviceType + " with id: " + deviceId;
|
String error = "Error occurred while creating 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) {
|
||||||
|
String error = "A geo alert with this name already exists.";
|
||||||
|
log.error(error,e);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
|
* in compliance with the License.
|
||||||
|
* you may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
package org.wso2.carbon.device.mgt.common.geo.service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom exception class for geo alert definition operations.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class AlertAlreadyExistException extends Exception {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 4709355511911265093L;
|
||||||
|
private String errorMessage;
|
||||||
|
|
||||||
|
public String getErrorMessage() {
|
||||||
|
return errorMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setErrorMessage(String errorMessage) {
|
||||||
|
this.errorMessage = errorMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AlertAlreadyExistException(String msg) {
|
||||||
|
super(msg);
|
||||||
|
setErrorMessage(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -33,10 +33,10 @@ public interface GeoLocationProviderService {
|
|||||||
List<GeoFence> getExitAlerts(DeviceIdentifier identifier) throws GeoLocationBasedServiceException;
|
List<GeoFence> getExitAlerts(DeviceIdentifier identifier) throws GeoLocationBasedServiceException;
|
||||||
|
|
||||||
boolean createGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
boolean createGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
||||||
throws GeoLocationBasedServiceException;
|
throws GeoLocationBasedServiceException, AlertAlreadyExistException;
|
||||||
|
|
||||||
boolean updateGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
boolean updateGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
||||||
throws GeoLocationBasedServiceException;
|
throws GeoLocationBasedServiceException, AlertAlreadyExistException;
|
||||||
|
|
||||||
boolean removeGeoAlert(String alertType, DeviceIdentifier identifier, String queryName)
|
boolean removeGeoAlert(String alertType, DeviceIdentifier identifier, String queryName)
|
||||||
throws GeoLocationBasedServiceException;
|
throws GeoLocationBasedServiceException;
|
||||||
|
|||||||
@ -41,8 +41,10 @@ import org.wso2.carbon.device.mgt.common.geo.service.Alert;
|
|||||||
import org.wso2.carbon.device.mgt.common.geo.service.GeoFence;
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoFence;
|
||||||
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationProviderService;
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationProviderService;
|
||||||
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationBasedServiceException;
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationBasedServiceException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.geo.service.AlertAlreadyExistException;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub;
|
import org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub;
|
||||||
|
import org.wso2.carbon.event.processor.stub.types.ExecutionPlanConfigurationDto;
|
||||||
import org.wso2.carbon.identity.jwt.client.extension.JWTClient;
|
import org.wso2.carbon.identity.jwt.client.extension.JWTClient;
|
||||||
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
||||||
import org.wso2.carbon.identity.jwt.client.extension.service.JWTClientManagerService;
|
import org.wso2.carbon.identity.jwt.client.extension.service.JWTClientManagerService;
|
||||||
@ -207,18 +209,18 @@ public class GeoLocationProviderServiceImpl implements GeoLocationProviderServic
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean createGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
public boolean createGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
||||||
throws GeoLocationBasedServiceException {
|
throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
return saveGeoAlert(alert, identifier, alertType, false);
|
return saveGeoAlert(alert, identifier, alertType, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
public boolean updateGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType)
|
||||||
throws GeoLocationBasedServiceException {
|
throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
return saveGeoAlert(alert, identifier, alertType, true);
|
return saveGeoAlert(alert, identifier, alertType, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean saveGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType, boolean isUpdate)
|
public boolean saveGeoAlert(Alert alert, DeviceIdentifier identifier, String alertType, boolean isUpdate)
|
||||||
throws GeoLocationBasedServiceException {
|
throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
|
|
||||||
Type type = new TypeToken<Map<String, String>>() {
|
Type type = new TypeToken<Map<String, String>>() {
|
||||||
}.getType();
|
}.getType();
|
||||||
@ -260,23 +262,38 @@ public class GeoLocationProviderServiceImpl implements GeoLocationProviderServic
|
|||||||
"Unrecognized execution plan type: " + alertType + " while creating geo alert");
|
"Unrecognized execution plan type: " + alertType + " while creating geo alert");
|
||||||
}
|
}
|
||||||
|
|
||||||
//persist alert in registry
|
|
||||||
updateRegistry(getRegistryPath(alertType, identifier, alert.getQueryName()), identifier, content,
|
|
||||||
options);
|
|
||||||
|
|
||||||
//deploy alert into event processor
|
//deploy alert into event processor
|
||||||
EventProcessorAdminServiceStub eventprocessorStub = null;
|
EventProcessorAdminServiceStub eventprocessorStub = null;
|
||||||
String action = (isUpdate ? "updating" : "creating");
|
String action = (isUpdate ? "updating" : "creating");
|
||||||
try {
|
try {
|
||||||
|
ExecutionPlanConfigurationDto[] allActiveExecutionPlanConfigs = null;
|
||||||
|
String activeExecutionPlan = null;
|
||||||
|
String executionPlanName = getExecutionPlanName(alertType, alert.getQueryName(),
|
||||||
|
identifier.getId());
|
||||||
eventprocessorStub = getEventProcessorAdminServiceStub();
|
eventprocessorStub = getEventProcessorAdminServiceStub();
|
||||||
String parsedTemplate = parseTemplate(alertType, parseMap);
|
String parsedTemplate = parseTemplate(alertType, parseMap);
|
||||||
String validationResponse = eventprocessorStub.validateExecutionPlan(parsedTemplate);
|
String validationResponse = eventprocessorStub.validateExecutionPlan(parsedTemplate);
|
||||||
if (validationResponse.equals("success")) {
|
if (validationResponse.equals("success")) {
|
||||||
|
allActiveExecutionPlanConfigs = eventprocessorStub.getAllActiveExecutionPlanConfigurations();
|
||||||
if (isUpdate) {
|
if (isUpdate) {
|
||||||
String executionPlanName = getExecutionPlanName(alertType, alert.getQueryName(),
|
for (ExecutionPlanConfigurationDto activeExectionPlanConfig:allActiveExecutionPlanConfigs) {
|
||||||
identifier.getId());
|
activeExecutionPlan = activeExectionPlanConfig.getExecutionPlan();
|
||||||
eventprocessorStub.editActiveExecutionPlan(parsedTemplate, executionPlanName);
|
if (activeExecutionPlan.contains(executionPlanName)) {
|
||||||
|
eventprocessorStub.editActiveExecutionPlan(parsedTemplate, executionPlanName);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
eventprocessorStub.deployExecutionPlan(parsedTemplate);
|
||||||
} else {
|
} else {
|
||||||
|
for (ExecutionPlanConfigurationDto activeExectionPlanConfig:allActiveExecutionPlanConfigs) {
|
||||||
|
activeExecutionPlan = activeExectionPlanConfig.getExecutionPlan();
|
||||||
|
if (activeExecutionPlan.contains(executionPlanName)) {
|
||||||
|
throw new AlertAlreadyExistException("Execution plan already exists with name "
|
||||||
|
+ executionPlanName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateRegistry(getRegistryPath(alertType, identifier, alert.getQueryName()), identifier, content,
|
||||||
|
options);
|
||||||
eventprocessorStub.deployExecutionPlan(parsedTemplate);
|
eventprocessorStub.deployExecutionPlan(parsedTemplate);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -344,6 +361,8 @@ public class GeoLocationProviderServiceImpl implements GeoLocationProviderServic
|
|||||||
private String getExecutionPlanName(String alertType, String queryName, String deviceId) {
|
private String getExecutionPlanName(String alertType, String queryName, String deviceId) {
|
||||||
if ("Traffic".equals(alertType)) {
|
if ("Traffic".equals(alertType)) {
|
||||||
return "Geo-ExecutionPlan-Traffic_" + queryName + "_alert";
|
return "Geo-ExecutionPlan-Traffic_" + queryName + "_alert";
|
||||||
|
} else if ("Speed".equals(alertType)) {
|
||||||
|
return "Geo-ExecutionPlan-" + alertType + "---" + deviceId + "_alert";
|
||||||
} else {
|
} else {
|
||||||
return "Geo-ExecutionPlan-" + alertType + "_" + queryName + "---_" + deviceId + "_alert";
|
return "Geo-ExecutionPlan-" + alertType + "_" + queryName + "---_" + deviceId + "_alert";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.device.mgt.core.geo.service;
|
package org.wso2.carbon.device.mgt.core.geo.service;
|
||||||
|
|
||||||
|
import org.apache.axis2.AxisFault;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
import org.testng.Assert;
|
import org.testng.Assert;
|
||||||
@ -31,11 +32,13 @@ import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
|||||||
import org.wso2.carbon.device.mgt.common.geo.service.Alert;
|
import org.wso2.carbon.device.mgt.common.geo.service.Alert;
|
||||||
import org.wso2.carbon.device.mgt.common.geo.service.GeoFence;
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoFence;
|
||||||
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationBasedServiceException;
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationBasedServiceException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.geo.service.AlertAlreadyExistException;
|
||||||
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub;
|
import org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub;
|
||||||
|
import org.wso2.carbon.event.processor.stub.types.ExecutionPlanConfigurationDto;
|
||||||
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
||||||
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
||||||
|
|
||||||
@ -57,6 +60,7 @@ public class GeoLocationProviderServiceTest {
|
|||||||
|
|
||||||
private EventProcessorAdminServiceStub mockEventProcessorAdminServiceStub;
|
private EventProcessorAdminServiceStub mockEventProcessorAdminServiceStub;
|
||||||
private GeoLocationProviderServiceImpl geoLocationProviderServiceImpl;
|
private GeoLocationProviderServiceImpl geoLocationProviderServiceImpl;
|
||||||
|
private ExecutionPlanConfigurationDto[] mockExecutionPlanConfigurationDto = new ExecutionPlanConfigurationDto[1];
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
@ -65,42 +69,42 @@ public class GeoLocationProviderServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test (description = "Create a sample geo exit-alert with relevant details.")
|
@Test (description = "Create a sample geo exit-alert with relevant details.")
|
||||||
public void createGeoExitAlert() throws GeoLocationBasedServiceException {
|
public void createGeoExitAlert() throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
Boolean result = geoLocationProviderServiceImpl.
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
createGeoAlert(getExitAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_EXIT);
|
createGeoAlert(getExitAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_EXIT);
|
||||||
Assert.assertEquals(result, Boolean.TRUE);
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test (description = "Create a sample geo within-alert with relevant details.")
|
@Test (description = "Create a sample geo within-alert with relevant details.")
|
||||||
public void createGeoWithinAlert() throws GeoLocationBasedServiceException {
|
public void createGeoWithinAlert() throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
Boolean result = geoLocationProviderServiceImpl.
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
createGeoAlert(getWithinAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_WITHIN);
|
createGeoAlert(getWithinAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_WITHIN);
|
||||||
Assert.assertEquals(result, Boolean.TRUE);
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test (description = "Create a sample geo proximity-alert with relevant details.")
|
@Test (description = "Create a sample geo proximity-alert with relevant details.")
|
||||||
public void createGeoProximityAlert() throws GeoLocationBasedServiceException {
|
public void createGeoProximityAlert() throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
Boolean result = geoLocationProviderServiceImpl.
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
createGeoAlert(getProximityAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_PROXIMITY);
|
createGeoAlert(getProximityAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_PROXIMITY);
|
||||||
Assert.assertEquals(result, Boolean.TRUE);
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test (description = "Create a sample geo speed-alert with relevant details.")
|
@Test (description = "Create a sample geo speed-alert with relevant details.")
|
||||||
public void createGeoSpeedAlert() throws GeoLocationBasedServiceException {
|
public void createGeoSpeedAlert() throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
Boolean result = geoLocationProviderServiceImpl.
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
createGeoAlert(getSpeedAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_SPEED);
|
createGeoAlert(getSpeedAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_SPEED);
|
||||||
Assert.assertEquals(result, Boolean.TRUE);
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test (description = "Create a sample geo stationary-alert with relevant details.")
|
@Test (description = "Create a sample geo stationary-alert with relevant details.")
|
||||||
public void createGeoStationaryAlert() throws GeoLocationBasedServiceException {
|
public void createGeoStationaryAlert() throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
Boolean result = geoLocationProviderServiceImpl.
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
createGeoAlert(getStationaryAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_STATIONARY);
|
createGeoAlert(getStationaryAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_STATIONARY);
|
||||||
Assert.assertEquals(result, Boolean.TRUE);
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test (description = "Create a sample geo traffic-alert with relevant details.")
|
@Test (description = "Create a sample geo traffic-alert with relevant details.")
|
||||||
public void createGeoTrafficAlert() throws GeoLocationBasedServiceException {
|
public void createGeoTrafficAlert() throws GeoLocationBasedServiceException, AlertAlreadyExistException {
|
||||||
Boolean result = geoLocationProviderServiceImpl.
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
createGeoAlert(getTrafficAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_TRAFFIC);
|
createGeoAlert(getTrafficAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_TRAFFIC);
|
||||||
Assert.assertEquals(result, Boolean.TRUE);
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
@ -139,10 +143,14 @@ public class GeoLocationProviderServiceTest {
|
|||||||
private void initMocks() throws JWTClientException, RemoteException {
|
private void initMocks() throws JWTClientException, RemoteException {
|
||||||
mockEventProcessorAdminServiceStub = Mockito.mock(EventProcessorAdminServiceStub.class);
|
mockEventProcessorAdminServiceStub = Mockito.mock(EventProcessorAdminServiceStub.class);
|
||||||
geoLocationProviderServiceImpl = Mockito.mock(GeoLocationProviderServiceImpl.class, Mockito.CALLS_REAL_METHODS);
|
geoLocationProviderServiceImpl = Mockito.mock(GeoLocationProviderServiceImpl.class, Mockito.CALLS_REAL_METHODS);
|
||||||
|
mockExecutionPlanConfigurationDto[0] = Mockito.mock(ExecutionPlanConfigurationDto.class);
|
||||||
Mockito.doReturn(mockEventProcessorAdminServiceStub).
|
Mockito.doReturn(mockEventProcessorAdminServiceStub).
|
||||||
when(geoLocationProviderServiceImpl).getEventProcessorAdminServiceStub();
|
when(geoLocationProviderServiceImpl).getEventProcessorAdminServiceStub();
|
||||||
Mockito.doReturn("success").
|
Mockito.doReturn("success").
|
||||||
when(mockEventProcessorAdminServiceStub).validateExecutionPlan(Mockito.anyString());
|
when(mockEventProcessorAdminServiceStub).validateExecutionPlan(Mockito.anyString());
|
||||||
|
Mockito.when(mockEventProcessorAdminServiceStub.getAllActiveExecutionPlanConfigurations()).
|
||||||
|
thenReturn(mockExecutionPlanConfigurationDto);
|
||||||
|
Mockito.when(mockExecutionPlanConfigurationDto[0].getExecutionPlan()).thenReturn("EXECUTION_PLAN");
|
||||||
}
|
}
|
||||||
|
|
||||||
private DeviceIdentifier getDeviceIdentifier() {
|
private DeviceIdentifier getDeviceIdentifier() {
|
||||||
|
|||||||
@ -178,6 +178,10 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
|
|||||||
String error = "Error occurred while creating the geo alert for " + deviceType + " with id: " + deviceId;
|
String error = "Error occurred while creating 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) {
|
||||||
|
String error = "A geo alert with this name already exists.";
|
||||||
|
log.error(error,e);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,6 +215,10 @@ public class GeoLocationBasedServiceImpl implements GeoLocationBasedService {
|
|||||||
String error = "Error occurred while creating the geo alert for " + deviceType + " with id: " + deviceId;
|
String error = "Error occurred while creating 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) {
|
||||||
|
String error = "A geo alert with this name already exists.";
|
||||||
|
log.error(error,e);
|
||||||
|
return Response.status(Response.Status.BAD_REQUEST).entity(error).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user