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;
|
private int memoryUsage;
|
||||||
@ApiModelProperty(name = "isActive", value = "Is the application actively running", required = true)
|
@ApiModelProperty(name = "isActive", value = "Is the application actively running", required = true)
|
||||||
private boolean isActive;
|
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() {
|
public String getType() {
|
||||||
@ -179,4 +183,20 @@ public class Application implements Serializable {
|
|||||||
public void setActive(boolean active) {
|
public void setActive(boolean active) {
|
||||||
isActive = 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() {
|
private Report() {
|
||||||
throw new AssertionError();
|
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 REPORTING_CONTEXT = "/event";
|
||||||
public static final String DEVICE_INFO_ENDPOINT = REPORTING_CONTEXT + "/device-info";
|
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.context.CarbonContext;
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
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.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException;
|
import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.TransactionManagementException;
|
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.DeviceManagementDAOException;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
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.internal.DeviceManagementDataHolder;
|
||||||
|
import org.wso2.carbon.device.mgt.core.util.HttpReportingUtil;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -277,6 +279,17 @@ public class ApplicationManagerProviderServiceImpl implements ApplicationManagem
|
|||||||
device.getEnrolmentInfo().getId(), tenantId);
|
device.getEnrolmentInfo().getId(), tenantId);
|
||||||
}
|
}
|
||||||
DeviceManagementDAOFactory.commitTransaction();
|
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) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
DeviceManagementDAOFactory.rollbackTransaction();
|
DeviceManagementDAOFactory.rollbackTransaction();
|
||||||
String msg = "Error occurred saving application list of the device " + device.getDeviceIdentifier();
|
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;
|
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.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.context.CarbonContext;
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
@ -175,9 +176,8 @@ public class DeviceInformationManagerImpl implements DeviceInformationManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void publishEvents(Device device, DeviceInfo deviceInfo) {
|
private void publishEvents(Device device, DeviceInfo deviceInfo) {
|
||||||
String reportingHost = System.getProperty(DeviceManagementConstants.Report
|
String reportingHost = HttpReportingUtil.getReportingHost();
|
||||||
.REPORTING_EVENT_HOST);
|
if (!StringUtils.isBlank(reportingHost) && isPublishingEnabledForTenant()) {
|
||||||
if (reportingHost != null && !reportingHost.isEmpty() && isPublishingEnabledForTenant()) {
|
|
||||||
try {
|
try {
|
||||||
DeviceDetailsWrapper deviceDetailsWrapper = new DeviceDetailsWrapper();
|
DeviceDetailsWrapper deviceDetailsWrapper = new DeviceDetailsWrapper();
|
||||||
deviceDetailsWrapper.setDevice(device);
|
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.impl.client.HttpClients;
|
||||||
import org.apache.http.protocol.HTTP;
|
import org.apache.http.protocol.HTTP;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.EventPublishingException;
|
import org.wso2.carbon.device.mgt.common.exceptions.EventPublishingException;
|
||||||
|
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class HttpReportingUtil {
|
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 {
|
public static int invokeApi(String payload, String endpoint) throws EventPublishingException {
|
||||||
try (CloseableHttpClient client = HttpClients.createDefault()) {
|
try (CloseableHttpClient client = HttpClients.createDefault()) {
|
||||||
HttpPost apiEndpoint = new HttpPost(endpoint);
|
HttpPost apiEndpoint = new HttpPost(endpoint);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user