mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'reporting' into 'reporting'
Add app scree usage reporting related changes See merge request entgra/carbon-device-mgt!454
This commit is contained in:
commit
131e8dfd1c
@ -53,6 +53,10 @@ public class Application implements Serializable {
|
||||
private int memoryUsage;
|
||||
@ApiModelProperty(name = "isActive", value = "Is the application actively running", required = true)
|
||||
private boolean isActive;
|
||||
@ApiModelProperty(name = "hourlyUsage", value = "App hourly usage")
|
||||
private long hourlyUsage;
|
||||
@ApiModelProperty(name = "dailyUsage", value = "App daily usage")
|
||||
private long dailyUsage;
|
||||
|
||||
|
||||
public String getType() {
|
||||
@ -179,4 +183,20 @@ public class Application implements Serializable {
|
||||
public void setActive(boolean active) {
|
||||
isActive = active;
|
||||
}
|
||||
|
||||
public long getHourlyUsage() {
|
||||
return hourlyUsage;
|
||||
}
|
||||
|
||||
public void setHourlyUsage(long hourlyUsage) {
|
||||
this.hourlyUsage = hourlyUsage;
|
||||
}
|
||||
|
||||
public long getDailyUsage() {
|
||||
return dailyUsage;
|
||||
}
|
||||
|
||||
public void setDailyUsage(long dailyUsage) {
|
||||
this.dailyUsage = dailyUsage;
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,8 +144,9 @@ public final class DeviceManagementConstants {
|
||||
private Report() {
|
||||
throw new AssertionError();
|
||||
}
|
||||
public static final String REPORTING_EVENT_HOST = "iot.reporting.event.host";
|
||||
public static final String REPORTING_CONTEXT = "/event";
|
||||
public static final String DEVICE_INFO_ENDPOINT = REPORTING_CONTEXT + "/device-info";
|
||||
public static final String REPORTING_EVENT_HOST = "iot.reporting.event.host";
|
||||
public static final String APP_USAGE_ENDPOINT = REPORTING_CONTEXT + "/app-usage";
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceDetailsWrapper;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException;
|
||||
@ -39,6 +40,7 @@ import org.wso2.carbon.device.mgt.core.dao.ApplicationDAO;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||
import org.wso2.carbon.device.mgt.core.util.HttpReportingUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
@ -277,6 +279,17 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
||||
device.getEnrolmentInfo().getId(), tenantId);
|
||||
}
|
||||
DeviceManagementDAOFactory.commitTransaction();
|
||||
|
||||
String reportingHost = HttpReportingUtil.getReportingHost();
|
||||
if (!StringUtils.isBlank(reportingHost)) {
|
||||
DeviceDetailsWrapper deviceDetailsWrapper = new DeviceDetailsWrapper();
|
||||
deviceDetailsWrapper.setTenantId(tenantId);
|
||||
deviceDetailsWrapper.setDevice(device);
|
||||
deviceDetailsWrapper.setApplications(newApplications);
|
||||
HttpReportingUtil.invokeApi(deviceDetailsWrapper.getJSONString(),
|
||||
reportingHost + DeviceManagementConstants.Report.APP_USAGE_ENDPOINT);
|
||||
}
|
||||
|
||||
} catch (DeviceManagementDAOException e) {
|
||||
DeviceManagementDAOFactory.rollbackTransaction();
|
||||
String msg = "Error occurred saving application list of the device " + device.getDeviceIdentifier();
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.device.details.mgt.impl;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
@ -175,9 +176,8 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
||||
}
|
||||
|
||||
private void publishEvents(Device device, DeviceInfo deviceInfo) {
|
||||
String reportingHost = System.getProperty(DeviceManagementConstants.Report
|
||||
.REPORTING_EVENT_HOST);
|
||||
if (reportingHost != null && !reportingHost.isEmpty() && isPublishingEnabledForTenant()) {
|
||||
String reportingHost = HttpReportingUtil.getReportingHost();
|
||||
if (!StringUtils.isBlank(reportingHost) && isPublishingEnabledForTenant()) {
|
||||
try {
|
||||
DeviceDetailsWrapper deviceDetailsWrapper = new DeviceDetailsWrapper();
|
||||
deviceDetailsWrapper.setDevice(device);
|
||||
|
||||
@ -25,11 +25,16 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClients;
|
||||
import org.apache.http.protocol.HTTP;
|
||||
import org.wso2.carbon.device.mgt.common.exceptions.EventPublishingException;
|
||||
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class HttpReportingUtil {
|
||||
|
||||
public static String getReportingHost() {
|
||||
return System.getProperty(DeviceManagementConstants.Report.REPORTING_EVENT_HOST);
|
||||
}
|
||||
|
||||
public static int invokeApi(String payload, String endpoint) throws EventPublishingException {
|
||||
try (CloseableHttpClient client = HttpClients.createDefault()) {
|
||||
HttpPost apiEndpoint = new HttpPost(endpoint);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user