Merge branch 'master' into 'master'

Fix server starting issue

See merge request entgra/carbon-device-mgt!244
3.x.x
Saad Sahibjan 5 years ago
commit 0af060f5b8

@ -13,19 +13,15 @@ import io.swagger.annotations.SwaggerDefinition;
import io.swagger.annotations.Tag;
import org.wso2.carbon.apimgt.annotations.api.Scope;
import org.wso2.carbon.apimgt.annotations.api.Scopes;
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceTypeList;
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.DeviceTypeEvent;
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.EventAttributeList;
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.EventRecords;
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.TransportType;
import org.wso2.carbon.device.mgt.jaxrs.util.Constants;
import javax.validation.Valid;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
@ -66,8 +62,7 @@ import javax.ws.rs.core.Response;
}
)
@Path("/events")
@Api(value = "Device Event Management", description = "This API corresponds to all tasks related to device " +
"event management")
@Api(value = "Device Event Management")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public interface DeviceEventManagementService {
@ -120,12 +115,13 @@ public interface DeviceEventManagementService {
response = ErrorResponse.class)
}
)
Response deployDeviceTypeEventDefinition(@ApiParam(name = "type", value = "The device type, such as android, ios," +
" and windows.", required = false)
Response deployDeviceTypeEventDefinition(
@ApiParam(name = "type", value = "The device type, such as android, ios, and windows.")
@PathParam("type")String deviceType,
@QueryParam("skipPersist")boolean skipPersist,
@ApiParam(name = "deviceTypeEvent", value = "Add the data to complete " +
"the DeviceTypeEvent object.", required = true)
@ApiParam(name = "skipPersist", value = "Is it required to persist the data or not")
@QueryParam("skipPersist") boolean skipPersist,
@ApiParam(name = "deviceTypeEvent", value = "Add the data to complete the DeviceTypeEvent object.",
required = true)
@Valid DeviceTypeEvent deviceTypeEvent);
@DELETE
@ -358,7 +354,6 @@ public interface DeviceEventManagementService {
@QueryParam("max") double max
);
@GET
@Path("/{type}")
@ApiOperation(
@ -408,8 +403,7 @@ public interface DeviceEventManagementService {
response = ErrorResponse.class)
}
)
Response getDeviceTypeEventDefinition(@ApiParam(name = "type", value = "The type of the device, such as android," +
" ios, or windows.", required = false)
Response getDeviceTypeEventDefinition(
@ApiParam(name = "type", value = "The type of the device, such as android, ios, or windows.")
@PathParam("type")String deviceType) ;
}

@ -54,6 +54,7 @@ import javax.ws.rs.core.Response;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@ -107,7 +108,11 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
AnalyticsDataResponse response = analyticsDataAPI.get(tenantId, tableName, 1, null, recordIds);
eventRecords.setCount(eventCount);
List<Record> records = AnalyticsDataAPIUtil.listRecords(analyticsDataAPI, response);
records.sort((Record r1, Record r2) -> Long.compare(r2.getTimestamp(), r1.getTimestamp()));
records.sort(new Comparator<Record>() {
@Override public int compare(Record r1, Record r2) {
return Long.compare(r2.getTimestamp(), r1.getTimestamp());
}
});
eventRecords.setList(records);
return eventRecords;
}

Loading…
Cancel
Save