Update DeviceAgentServiceImpl file with response time

pull/1/head
Akeela Azhar 1 year ago
parent c083fc7b11
commit 1334a3eae9

@ -23,13 +23,7 @@ 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.api.services.sheets.v4.model.*;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.*;
import com.google.api.services.sheets.v4.model.ValueRange;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@ -66,21 +60,19 @@ import org.wso2.carbon.policy.mgt.common.PolicyManagementException;
import org.wso2.carbon.user.api.UserStoreException;
import javax.validation.Valid;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.*;
import javax.ws.rs.core.Response;
import java.io.FileInputStream;
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.List;
import java.security.GeneralSecurityException;
import java.util.*;
@Path("/device/agent")
public class DeviceAgentServiceImpl implements DeviceAgentService {
static final Log log = LogFactory.getLog(DeviceAgentServiceImpl.class);
private static final String POLICY_MONITOR = "POLICY_MONITOR";
@POST
@Path("/enroll")
@Override
@ -137,7 +129,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
return Response.status(Response.Status.OK).build();
} else {
return Response.status(Response.Status.NO_CONTENT).entity(type + " device that carries id '" + id +
"' has not been dis-enrolled").build();
"' has not been dis-enrolled").build();
}
} catch (DeviceManagementException e) {
String msg = "Error occurred while enrolling the device, which carries the id '" + id + "'";
@ -173,7 +165,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
log.error(errorMessage);
return Response.status(Response.Status.NOT_FOUND).entity(errorMessage).build();
}
if (device.getEnrolmentInfo().getStatus() == EnrolmentInfo.Status.ACTIVE ) {
if (device.getEnrolmentInfo().getStatus() == EnrolmentInfo.Status.ACTIVE) {
DeviceAccessAuthorizationService deviceAccessAuthorizationService =
DeviceMgtAPIUtils.getDeviceAccessAuthorizationService();
boolean status;
@ -189,25 +181,25 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
return Response.status(Response.Status.UNAUTHORIZED).build();
}
}
if(updateDevice.getEnrolmentInfo() != null) {
if (updateDevice.getEnrolmentInfo() != null) {
device.getEnrolmentInfo().setDateOfLastUpdate(System.currentTimeMillis());
device.setEnrolmentInfo(device.getEnrolmentInfo());
}
device.getEnrolmentInfo().setOwner(DeviceMgtAPIUtils.getAuthenticatedUser());
if(updateDevice.getDeviceInfo() != null) {
if (updateDevice.getDeviceInfo() != null) {
device.setDeviceInfo(updateDevice.getDeviceInfo());
}
device.setDeviceIdentifier(id);
if(updateDevice.getDescription() != null) {
if (updateDevice.getDescription() != null) {
device.setDescription(updateDevice.getDescription());
}
if(updateDevice.getName() != null) {
if (updateDevice.getName() != null) {
device.setName(updateDevice.getName());
}
if(updateDevice.getFeatures() != null) {
if (updateDevice.getFeatures() != null) {
device.setFeatures(updateDevice.getFeatures());
}
if(updateDevice.getProperties() != null) {
if (updateDevice.getProperties() != null) {
device.setProperties(updateDevice.getProperties());
}
boolean result;
@ -247,7 +239,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
return Response.status(Response.Status.UNAUTHORIZED).entity(msg).build();
}
}
Object metaData[] = new Object[1];
Object[] metaData = new Object[1];
metaData[0] = deviceId;
EventAttributeList eventAttributeList = DeviceMgtAPIUtils.getDynamicEventCache().get(type);
if (eventAttributeList == null) {
@ -291,7 +283,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
// , PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain())
// , Constants.DEFAULT_STREAM_VERSION, metaData
// , null, payloadData)) {
return Response.status(Response.Status.OK).build();
return Response.status(Response.Status.OK).build();
// } else {
// String msg = "Error occurred while publishing the event.";
// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
@ -347,7 +339,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
return Response.status(Response.Status.UNAUTHORIZED).entity(msg).build();
}
}
Object metaData[] = new Object[1];
Object[] metaData = new Object[1];
metaData[0] = deviceId;
EventAttributeList eventAttributeList = DeviceMgtAPIUtils.getDynamicEventCache().get(type);
if (eventAttributeList == null) {
@ -392,7 +384,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
// , PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain())
// , Constants.DEFAULT_STREAM_VERSION, metaData
// , null, payloadData)) {
return Response.status(Response.Status.OK).build();
return Response.status(Response.Status.OK).build();
// } else {
// String msg = "Error occurred while publishing the event.";
// return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
@ -459,7 +451,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
String spreadsheetId = "1OZCS5NRwwSum9ai3ra4lABtU0UGW-9yLYgZk-aQfxpw"; // Replace with the actual spreadsheet ID
// Create the values to be written
List<List<Object>> values = Arrays.asList(
List<List<Object>> values = Collections.singletonList(
Arrays.asList(deviceId, String.valueOf(responseTime))
);
@ -480,13 +472,14 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
String errorMessage = "Issue in retrieving device management service instance";
log.error(errorMessage, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorMessage).build();
}catch (IOException e) {
} catch (IOException e) {
// Handle any errors occurred while writing to the spreadsheet
String errorMessage = "Error writing response time to Google Spreadsheet";
log.error(errorMessage, e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorMessage).build();
}
}
private Sheets createSheetsService() throws IOException {
GoogleCredential credential = GoogleCredential.fromStream(new FileInputStream("components/device-mgt/org.wso2.carbon.device.mgt.api/target/apicall-382608-48aa6a62800d.json"))
.createScoped(Collections.singleton(SheetsScopes.SPREADSHEETS));
@ -579,14 +572,14 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
@PUT
@Path("/properties/{type}/{id}")
public Response updateDeviceProperties(@PathParam("type") String type, @PathParam("id") String deviceId,
@Valid List<Device.Property> properties) {
@Valid List<Device.Property> properties) {
try {
if (!DeviceMgtAPIUtils.getDeviceManagementService().getAvailableDeviceTypes().contains(type)) {
String errorMessage = "Device type is invalid";
log.error(errorMessage);
return Response.status(Response.Status.BAD_REQUEST).build();
}
if(properties == null) {
if (properties == null) {
String errorMessage = "Properties cannot be empty";
log.error(errorMessage);
return Response.status(Response.Status.BAD_REQUEST).build();
@ -598,7 +591,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
}
if (DeviceMgtAPIUtils.getDeviceManagementService().updateProperties(deviceIdentifier, properties)){
if (DeviceMgtAPIUtils.getDeviceManagementService().updateProperties(deviceIdentifier, properties)) {
return Response.status(Response.Status.ACCEPTED).entity("Device properties updated.").build();
} else {
return Response.status(Response.Status.NOT_ACCEPTABLE).entity("Device properties not updated.").build();
@ -644,7 +637,7 @@ public class DeviceAgentServiceImpl implements DeviceAgentService {
}
private static List<ComplianceFeature> getComplianceFeatures(Object compliancePayload) throws
PolicyComplianceException {
PolicyComplianceException {
String compliancePayloadString = new Gson().toJson(compliancePayload);
if (compliancePayload == null) {
return null;

Loading…
Cancel
Save