Update the code after restructering

syncAPITesting
Akeela Azhar 2 years ago
parent f277f77fa9
commit 1201ef5644

@ -17,7 +17,8 @@
~ under the License. ~ under the License.
--> -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent> <parent>
<artifactId>device-mgt</artifactId> <artifactId>device-mgt</artifactId>
@ -108,9 +109,10 @@
</goals> </goals>
<configuration> <configuration>
<tasks> <tasks>
<copy todir="${basedir}/../../../repository/deployment/server/webapps" overwrite="true"> <copy todir="${basedir}/../../../repository/deployment/server/webapps"
overwrite="true">
<fileset dir="${basedir}/target"> <fileset dir="${basedir}/target">
<include name="api#device-mgt#v1.0.war" /> <include name="api#device-mgt#v1.0.war"/>
</fileset> </fileset>
</copy> </copy>
</tasks> </tasks>
@ -455,5 +457,15 @@
<artifactId>io.entgra.device.mgt.core.apimgt.analytics.extension</artifactId> <artifactId>io.entgra.device.mgt.core.apimgt.analytics.extension</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.30.7</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-sheets</artifactId>
<version>v4-rev539-1.25.0</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

@ -18,26 +18,31 @@
package io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl; package io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl;
import com.google.api.services.sheets.v4.model.ValueRange;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.sheets.v4.Sheets;
import com.google.api.services.sheets.v4.SheetsScopes;
import com.google.gson.Gson; import com.google.gson.Gson;
import io.entgra.device.mgt.core.application.mgt.common.ApplicationInstallResponse;
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionType;
import io.entgra.device.mgt.core.application.mgt.common.exception.SubscriptionManagementException;
import io.entgra.device.mgt.core.application.mgt.common.services.ApplicationManager;
import io.entgra.device.mgt.core.application.mgt.common.services.SubscriptionManager;
import io.entgra.device.mgt.core.application.mgt.core.util.HelperUtil;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONObject;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.DCRResponse; import io.entgra.device.mgt.core.apimgt.keymgt.extension.DCRResponse;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenRequest; import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenRequest;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenResponse; import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenResponse;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.KeyMgtException; import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.KeyMgtException;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtService; import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtService;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtServiceImpl; import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtServiceImpl;
import org.wso2.carbon.context.CarbonContext; import io.entgra.device.mgt.core.application.mgt.common.ApplicationInstallResponse;
import org.wso2.carbon.context.PrivilegedCarbonContext; import io.entgra.device.mgt.core.application.mgt.common.SubscriptionType;
import io.entgra.device.mgt.core.application.mgt.common.exception.SubscriptionManagementException;
import io.entgra.device.mgt.core.application.mgt.common.services.ApplicationManager;
import io.entgra.device.mgt.core.application.mgt.common.services.SubscriptionManager;
import io.entgra.device.mgt.core.application.mgt.core.util.HelperUtil;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.beans.*;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.api.DeviceManagementService;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl.util.InputValidationException;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl.util.RequestValidationUtil;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.util.Constants;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.util.DeviceMgtAPIUtils;
import io.entgra.device.mgt.core.device.mgt.common.*; import io.entgra.device.mgt.core.device.mgt.common.*;
import io.entgra.device.mgt.core.device.mgt.common.app.mgt.Application; import io.entgra.device.mgt.core.device.mgt.common.app.mgt.Application;
import io.entgra.device.mgt.core.device.mgt.common.app.mgt.ApplicationManagementException; import io.entgra.device.mgt.core.device.mgt.common.app.mgt.ApplicationManagementException;
@ -64,7 +69,6 @@ import io.entgra.device.mgt.core.device.mgt.common.type.mgt.DeviceStatus;
import io.entgra.device.mgt.core.device.mgt.core.app.mgt.ApplicationManagementProviderService; import io.entgra.device.mgt.core.device.mgt.core.app.mgt.ApplicationManagementProviderService;
import io.entgra.device.mgt.core.device.mgt.core.config.DeviceConfigurationManager; import io.entgra.device.mgt.core.device.mgt.core.config.DeviceConfigurationManager;
import io.entgra.device.mgt.core.device.mgt.core.config.DeviceManagementConfig; import io.entgra.device.mgt.core.device.mgt.core.config.DeviceManagementConfig;
import io.entgra.device.mgt.core.device.mgt.core.dao.TrackerManagementDAOException;
import io.entgra.device.mgt.core.device.mgt.core.device.details.mgt.DeviceDetailsMgtException; import io.entgra.device.mgt.core.device.mgt.core.device.details.mgt.DeviceDetailsMgtException;
import io.entgra.device.mgt.core.device.mgt.core.device.details.mgt.DeviceInformationManager; import io.entgra.device.mgt.core.device.mgt.core.device.details.mgt.DeviceInformationManager;
import io.entgra.device.mgt.core.device.mgt.core.dto.DeviceType; import io.entgra.device.mgt.core.device.mgt.core.dto.DeviceType;
@ -75,22 +79,19 @@ import io.entgra.device.mgt.core.device.mgt.core.search.mgt.SearchManagerService
import io.entgra.device.mgt.core.device.mgt.core.search.mgt.SearchMgtException; import io.entgra.device.mgt.core.device.mgt.core.search.mgt.SearchMgtException;
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService; import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
import io.entgra.device.mgt.core.device.mgt.core.service.GroupManagementProviderService; import io.entgra.device.mgt.core.device.mgt.core.service.GroupManagementProviderService;
import io.entgra.device.mgt.core.device.mgt.core.traccar.api.service.DeviceAPIClientService;
import io.entgra.device.mgt.core.device.mgt.core.traccar.common.TraccarHandlerConstants;
import io.entgra.device.mgt.core.device.mgt.core.util.DeviceManagerUtil; import io.entgra.device.mgt.core.device.mgt.core.util.DeviceManagerUtil;
import io.entgra.device.mgt.core.device.mgt.core.util.HttpReportingUtil;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.beans.*;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.api.DeviceManagementService;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl.util.InputValidationException;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.service.impl.util.RequestValidationUtil;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.util.Constants;
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.util.DeviceMgtAPIUtils;
import io.entgra.device.mgt.core.identity.jwt.client.extension.JWTClient; import io.entgra.device.mgt.core.identity.jwt.client.extension.JWTClient;
import io.entgra.device.mgt.core.identity.jwt.client.extension.dto.AccessTokenInfo; import io.entgra.device.mgt.core.identity.jwt.client.extension.dto.AccessTokenInfo;
import io.entgra.device.mgt.core.identity.jwt.client.extension.exception.JWTClientException; import io.entgra.device.mgt.core.identity.jwt.client.extension.exception.JWTClientException;
import io.entgra.device.mgt.core.identity.jwt.client.extension.service.JWTClientManagerService; import io.entgra.device.mgt.core.identity.jwt.client.extension.service.JWTClientManagerService;
import io.entgra.device.mgt.core.policy.mgt.common.PolicyManagementException; import io.entgra.device.mgt.core.policy.mgt.common.PolicyManagementException;
import io.entgra.device.mgt.core.policy.mgt.core.PolicyManagerService; import io.entgra.device.mgt.core.policy.mgt.core.PolicyManagerService;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.wso2.carbon.context.CarbonContext;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.user.api.UserStoreException; import org.wso2.carbon.user.api.UserStoreException;
import org.wso2.carbon.utils.multitenancy.MultitenantUtils; import org.wso2.carbon.utils.multitenancy.MultitenantUtils;
@ -98,13 +99,12 @@ import javax.validation.Valid;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import javax.ws.rs.*; import javax.ws.rs.*;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
@Path("/devices") @Path("/devices")
public class DeviceManagementServiceImpl implements DeviceManagementService { public class DeviceManagementServiceImpl implements DeviceManagementService {
@ -112,6 +112,61 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
public static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss";
private static final Log log = LogFactory.getLog(DeviceManagementServiceImpl.class); private static final Log log = LogFactory.getLog(DeviceManagementServiceImpl.class);
/**
* Validate group Id and group Id greater than 0 and exist.
*
* @param groupId Group ID of the group
* @param from time to start getting DeviceLocationHistorySnapshotWrapper in milliseconds
* @param to time to end getting DeviceLocationHistorySnapshotWrapper in milliseconds
*/
private static void validateGroupId(int groupId, long from, long to) throws GroupManagementException, BadRequestException {
if (from == 0 || to == 0) {
String msg = "Invalid values for from/to";
log.error(msg);
throw new BadRequestException(msg);
}
if (groupId <= 0) {
String msg = "Invalid group ID '" + groupId + "'";
log.error(msg);
throw new BadRequestException(msg);
}
GroupManagementProviderService service = DeviceMgtAPIUtils.getGroupManagementProviderService();
if (service.getGroup(groupId, false) == null) {
String msg = "Invalid group ID '" + groupId + "'";
log.error(msg);
throw new BadRequestException(msg);
}
}
private void saveResponseTimeToSpreadsheet(long startTime, long endTime, long responseTime) throws IOException, GeneralSecurityException {
// Load credentials from JSON file
GoogleCredential credential = GoogleCredential.fromStream(new FileInputStream("/home/entgra/MyProject/device-mgt-core/components/device-mgt/io.entgra.device.mgt.core.device.mgt.api/src/test/resources/apicall-382608-48aa6a62800d.json"))
.createScoped(Collections.singleton(SheetsScopes.SPREADSHEETS));
// Build Google Sheets service
Sheets sheetsService = new Sheets.Builder(GoogleNetHttpTransport.newTrustedTransport(),
JacksonFactory.getDefaultInstance(), credential)
.setApplicationName("ApiCall")
.build();
// Define the spreadsheet ID and range
String spreadsheetId = "1OZCS5NRwwSum9ai3ra4lABtU0UGW-9yLYgZk-aQfxpw";
String range = "Sheet1!A:C";
// Prepare the values to be written
List<Object> rowValues = Arrays.asList(startTime, endTime, responseTime);
List<List<Object>> values = Collections.singletonList(rowValues);
// Build the value range object
ValueRange body = new ValueRange().setValues(values);
// Write the response time value to the spreadsheet
sheetsService.spreadsheets().values()
.append(spreadsheetId, range, body)
.setValueInputOption("USER_ENTERED")
.execute();
}
@GET @GET
@Path("/{type}/{id}/status") @Path("/{type}/{id}/status")
@Override @Override
@ -335,32 +390,6 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
} }
} }
/**
* Validate group Id and group Id greater than 0 and exist.
*
* @param groupId Group ID of the group
* @param from time to start getting DeviceLocationHistorySnapshotWrapper in milliseconds
* @param to time to end getting DeviceLocationHistorySnapshotWrapper in milliseconds
*/
private static void validateGroupId(int groupId, long from, long to) throws GroupManagementException, BadRequestException {
if (from == 0 || to == 0) {
String msg = "Invalid values for from/to";
log.error(msg);
throw new BadRequestException(msg);
}
if (groupId <= 0) {
String msg = "Invalid group ID '" + groupId + "'";
log.error(msg);
throw new BadRequestException(msg);
}
GroupManagementProviderService service = DeviceMgtAPIUtils.getGroupManagementProviderService();
if (service.getGroup(groupId, false) == null) {
String msg = "Invalid group ID '" + groupId + "'";
log.error(msg);
throw new BadRequestException(msg);
}
}
@GET @GET
@Override @Override
@Path("/{groupId}/location-history") @Path("/{groupId}/location-history")
@ -398,7 +427,7 @@ 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){ } catch (BadRequestException e) {
String msg = "Error occurred while validating the device group."; String msg = "Error occurred while validating the device group.";
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();
@ -444,17 +473,27 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
DeviceManagementProviderService deviceManagementProviderService = DeviceManagementProviderService deviceManagementProviderService =
DeviceMgtAPIUtils.getDeviceManagementService(); DeviceMgtAPIUtils.getDeviceManagementService();
try { try {
long startTime = System.currentTimeMillis(); // start measuring API call response time
DeviceIdentifier deviceIdentifier = new DeviceIdentifier(deviceId, deviceType); DeviceIdentifier deviceIdentifier = new DeviceIdentifier(deviceId, deviceType);
Device persistedDevice = deviceManagementProviderService.getDevice(deviceIdentifier, true); Device persistedDevice = deviceManagementProviderService.getDevice(deviceIdentifier, true);
if (persistedDevice == null) { if (persistedDevice == null) {
return Response.status(Response.Status.NOT_FOUND).build(); return Response.status(Response.Status.NOT_FOUND).build();
} }
boolean response = deviceManagementProviderService.disenrollDevice(deviceIdentifier); boolean response = deviceManagementProviderService.disenrollDevice(deviceIdentifier);
long endTime = System.currentTimeMillis(); //end measuring API call response time
long responseTime = endTime - startTime;
// save the start time, end time and response time to google sheet
saveResponseTimeToSpreadsheet(startTime, endTime, responseTime);
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 requested device of type : " + deviceType ; String msg = "Error encountered while deleting requested device of type : " + deviceType;
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 (IOException | GeneralSecurityException e) {
String msg = "Error encountered while saving response time to spreadsheet";
log.error(msg, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} }
} }
@ -465,6 +504,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
@PathParam("deviceId") String deviceId) { @PathParam("deviceId") String deviceId) {
DeviceManagementProviderService deviceManagementProviderService = DeviceMgtAPIUtils.getDeviceManagementService(); DeviceManagementProviderService deviceManagementProviderService = DeviceMgtAPIUtils.getDeviceManagementService();
try { try {
// Start measuring API call response time
long startTime = System.currentTimeMillis();
Device persistedDevice = deviceManagementProviderService.getDevice(new DeviceIdentifier Device persistedDevice = deviceManagementProviderService.getDevice(new DeviceIdentifier
(deviceId, deviceType), true); (deviceId, deviceType), true);
persistedDevice.setName(device.getName()); persistedDevice.setName(device.getName());
@ -474,11 +515,22 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
persistedDevice); persistedDevice);
boolean response = responseOfmodifyEnrollment && responseOfDeviceNameChanged; boolean response = responseOfmodifyEnrollment && responseOfDeviceNameChanged;
// End measuring API call response time
long endTime = System.currentTimeMillis();
long responseTime = endTime - startTime;
// Save the response time, start time, and end time to Google Spreadsheet
saveResponseTimeToSpreadsheet(startTime, endTime, responseTime);
return Response.status(Response.Status.CREATED).entity(response).build(); return Response.status(Response.Status.CREATED).entity(response).build();
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error encountered while updating requested device of type : " + deviceType ; String msg = "Error encountered while updating requested device of type : " + deviceType;
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 (IOException | GeneralSecurityException e) {
String msg = "Error encountered while saving response time to spreadsheet";
log.error(msg, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
} }
} }
@ -644,7 +696,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
"device id '" + id + "'"; "device id '" + id + "'";
log.error(message); log.error(message);
return Response.status(Response.Status.UNAUTHORIZED).entity( return Response.status(Response.Status.UNAUTHORIZED).entity(
new ErrorResponse.ErrorResponseBuilder().setCode(401l).setMessage(message).build()).build(); new ErrorResponse.ErrorResponseBuilder().setCode(401L).setMessage(message).build()).build();
} }
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String message = "Error occurred while fetching the device information."; String message = "Error occurred while fetching the device information.";
@ -758,6 +810,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
return Response.status(Response.Status.OK).entity(deviceInfo).build(); return Response.status(Response.Status.OK).entity(deviceInfo).build();
} }
@GET @GET
@Path("/{type}/{id}/config") @Path("/{type}/{id}/config")
@Override @Override
@ -804,7 +857,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
KeyMgtService keyMgtService = new KeyMgtServiceImpl(); KeyMgtService keyMgtService = new KeyMgtServiceImpl();
try { try {
DCRResponse dcrResponse = keyMgtService.dynamicClientRegistration(applicationName, username, DCRResponse dcrResponse = keyMgtService.dynamicClientRegistration(applicationName, username,
"client_credentials", null, new String[] {"device_management"}, false, validityTime); "client_credentials", null, new String[]{"device_management"}, false, validityTime);
deviceConfig.setClientId(dcrResponse.getClientId()); deviceConfig.setClientId(dcrResponse.getClientId());
deviceConfig.setClientSecret(dcrResponse.getClientSecret()); deviceConfig.setClientSecret(dcrResponse.getClientSecret());
@ -813,7 +866,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
if (topic.contains("${deviceId}")) { if (topic.contains("${deviceId}")) {
topic = topic.replace("${deviceId}", id); topic = topic.replace("${deviceId}", id);
} }
topic = topic.replace("/",":"); topic = topic.replace("/", ":");
// scopes.append(" perm:topic:sub:".concat(topic)); // scopes.append(" perm:topic:sub:".concat(topic));
scopes.append(" perm:topic:pub:".concat(topic)); scopes.append(" perm:topic:pub:".concat(topic));
} }
@ -873,7 +926,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
try { try {
fm = dms.getFeatureManager(type); fm = dms.getFeatureManager(type);
} catch (DeviceTypeNotFoundException e) { } catch (DeviceTypeNotFoundException e) {
String msg = "No device type found with name : " + type ; String msg = "No device type found with name : " + type;
return Response.status(Response.Status.NOT_FOUND).entity(msg).build(); return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
} }
if (fm != null) { if (fm != null) {
@ -1104,7 +1157,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();
} }
@ -1214,7 +1267,7 @@ 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 device type : " + type ; String msg = "Error occurred while changing device status of device type : " + type;
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();
} }
@ -1244,7 +1297,7 @@ 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 retrieving device status history for device of type : " + type ; String msg = "Error occurred while retrieving device status history for device of type : " + type;
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();
} }
@ -1573,7 +1626,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 (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error occurred when fetching device " + deviceIdentifier.toString(); String msg = "Error occurred when fetching device " + deviceIdentifier;
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 (OperationManagementException e) { } catch (OperationManagementException e) {

@ -0,0 +1,12 @@
{
"type": "service_account",
"project_id": "apicall-382608",
"private_key_id": "48aa6a62800d6395fec77b5c86abcc08c48556f0",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDcJPEUsPn9ouwm\nkBpSz2dgmtq3A/bwbXzvlhe1/U4W3kq+vaSBPJ54tzKLx23pR6h9fxzljfDTLhZr\nBEhZFVKKSwbtlGaVA+6mJcnV2DT5S1bDqdMOs5y9CXsqZ+Xl2apYiryyKwWneKs5\nc5gU914QnxRDRskdxVUYMsAvwTU9A1aEHzRAaSuriH/1y6P8mpCBQtn7NAIt4Don\ntyzk2B2lC8HVZsMfup0zzut7quvwiYvly0pijCa9/pRTn/6BMFsVMUvqy8qa8PhX\nBIQ1SnehF4VW0h9fgljL9Bbu3m57IwxaVIcy8b61dTVUNVB1LgQ7NtmOdFG56bOy\nUXK8javlAgMBAAECggEAAtHoUqsHsMOPAdlztN7aRKcHKTQATEkiwhDqodaqUumr\nDHFyc4NaxlIWcCrwUf4sftsLfDdKv/HFsL4/zQBUa9gVMSLnA36m5nLyeG5KE21v\nIZeB0Bzl45gE/2CQVdbpczPnweKCMoh9rQE5j/8xMcZP5KK5/csi0WoJAzOW4n6r\n24JHoc82jqJKw0s91ZkzBTD3uoi3WbuRlKFzzRmRCJEIdY8VRR4/oZ4lphX26+hn\n3F5kuqWGsYItqZwNrbgtB4oiYXz2g2rIko2tj2FOvRNtE+6HmdH+hRlXasjcjnb9\ng/MZ9SOH852kXKh8SAWo3cWfWo5cvXYYYjGeQt41awKBgQD8uB3g46YLZrsp+fvK\nGxSzyf0fzSsgj0Byd7j8E703DE2yjZ+wybWjTyC+J+S2wLHoNNB5yMoTdte4m1ry\nnZvbVZuwS8tOb4HlriBm57Akp64A8Bhgi7VA+kbzGEV8ATdr2VvrBvTaVOsFqpL5\nIUWJuRWsKvjCJNEKyQdFq0e1gwKBgQDfAJDpNv8WjqT2W5AULIdZxqz5m4a0p/MW\nJk0KErVQXxZ8RQUuBkVlRi1o32dePZ4TXpFGS+txpbkt0HJlJ3lvhUpPpyFrISC0\nomkwChkk9p4Ss2LTm/eubsOzbZynqmRj/ahJJ2rL79WqnaKqHhqF9u0lZ9amDK8y\nWkVPh8DEdwKBgQC/6HTP/S9vQwDoHGxHCo+LA90TFDMm04GmKyIvUjICpnYuG/vj\nPRmQvRrpK9Qzr1qqMckKYh6J71pbVqYWzPa49WZ31ua5VlX2+2ahnlkVTLwG/EwW\nrKDkiens2kaRpz7VyEZT0IGJdqjOMbzQMKLktccuaadjjp+rqAK8theLTwKBgE8j\nykmZpOmCcfSkBfvC2b34jgZ/NU0DlXc03H5IqWP+euJbND1jKFmKkC75qZt+To0d\nMH08EDBi2dbydMaFPclgCkE+VNPKC+tO//l2e/nsM6j7VIU4gqu6z2Tr735pL/t0\nV7aucG4zjSZhjwrEaDFGsl5l/X0sXziFZLeWu8h9AoGBAL3DH0K1JZK4oNVIEeC9\nmOlSxTysDU7irrONUqB8l+J/gpAY732Tjrly+mHBSl5XIbHqv/68a4jArmfTvDMP\n1OAZxcYIoo97g/04mCV3m/FP/Wbfq9n6pUZPkh+BP9djLAqT9MsCkafGv+/W1GY6\nsWJ+swf3TwkD4S9EcVfNduNa\n-----END PRIVATE KEY-----\n",
"client_email": "apicall@apicall-382608.iam.gserviceaccount.com",
"client_id": "102201293562575371700",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/apicall%40apicall-382608.iam.gserviceaccount.com"
}
Loading…
Cancel
Save