mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Update APPM subscriptions when operation log updates
This commit is contained in:
parent
216e47b429
commit
4c921d54b1
@ -37,6 +37,7 @@
|
|||||||
package org.wso2.carbon.device.mgt.jaxrs.service.impl;
|
package org.wso2.carbon.device.mgt.jaxrs.service.impl;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import io.entgra.application.mgt.common.services.ApplicationManager;
|
||||||
import org.apache.commons.httpclient.HttpStatus;
|
import org.apache.commons.httpclient.HttpStatus;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
@ -1417,9 +1418,15 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
Operation operation = DeviceMgtAPIUtils.validateOperationStatusBean(operationStatusBean);
|
Operation operation = DeviceMgtAPIUtils.validateOperationStatusBean(operationStatusBean);
|
||||||
operation.setId(operationStatusBean.getOperationId());
|
operation.setId(operationStatusBean.getOperationId());
|
||||||
DeviceMgtAPIUtils.getDeviceManagementService().updateOperation(device, operation);
|
DeviceMgtAPIUtils.getDeviceManagementService().updateOperation(device, operation);
|
||||||
|
|
||||||
|
if (MDMAppConstants.AndroidConstants.OPCODE_INSTALL_APPLICATION.equals(operation.getCode()) ||
|
||||||
|
MDMAppConstants.AndroidConstants.OPCODE_UNINSTALL_APPLICATION.equals(operation.getCode())) {
|
||||||
|
ApplicationManager applicationManager = DeviceMgtAPIUtils.getApplicationManager();
|
||||||
|
applicationManager.updateSubsStatus(device.getId(), operation.getId(),operation.getStatus().toString());
|
||||||
|
}
|
||||||
return Response.status(Response.Status.OK).entity("OperationStatus updated successfully.").build();
|
return Response.status(Response.Status.OK).entity("OperationStatus updated successfully.").build();
|
||||||
} catch (BadRequestException e) {
|
} catch (BadRequestException e) {
|
||||||
String msg = "Error occured due to invalid request";
|
String msg = "Error occurred due to invalid request";
|
||||||
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) {
|
||||||
@ -1430,7 +1437,11 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
String msg = "Error occurred when updating operation of device " + deviceIdentifier;
|
String msg = "Error occurred when updating operation of 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 (io.entgra.application.mgt.common.exception.ApplicationManagementException e) {
|
||||||
|
String msg = "Error occurred when updating the application subscription status of the operation. " +
|
||||||
|
"The device identifier is: " + deviceIdentifier;
|
||||||
|
log.error(msg, e);
|
||||||
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
|
|||||||
@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.device.mgt.jaxrs.util;
|
package org.wso2.carbon.device.mgt.jaxrs.util;
|
||||||
|
|
||||||
|
import io.entgra.application.mgt.common.services.ApplicationManager;
|
||||||
import org.apache.axis2.AxisFault;
|
import org.apache.axis2.AxisFault;
|
||||||
import org.apache.axis2.client.Options;
|
import org.apache.axis2.client.Options;
|
||||||
import org.apache.axis2.java.security.SSLProtocolSocketFactory;
|
import org.apache.axis2.java.security.SSLProtocolSocketFactory;
|
||||||
@ -172,6 +173,7 @@ public class DeviceMgtAPIUtils {
|
|||||||
private static OTPManagementService otpManagementService;
|
private static OTPManagementService otpManagementService;
|
||||||
|
|
||||||
private static volatile SubscriptionManager subscriptionManager;
|
private static volatile SubscriptionManager subscriptionManager;
|
||||||
|
private static volatile ApplicationManager applicationManager;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
String keyStorePassword = ServerConfiguration.getInstance().getFirstProperty("Security.KeyStore.Password");
|
String keyStorePassword = ServerConfiguration.getInstance().getFirstProperty("Security.KeyStore.Password");
|
||||||
@ -233,6 +235,23 @@ public class DeviceMgtAPIUtils {
|
|||||||
return subscriptionManager;
|
return subscriptionManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ApplicationManager getApplicationManager() {
|
||||||
|
if (applicationManager == null) {
|
||||||
|
synchronized (DeviceMgtAPIUtils.class) {
|
||||||
|
if (applicationManager == null) {
|
||||||
|
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||||
|
applicationManager =
|
||||||
|
(ApplicationManager) ctx.getOSGiService(ApplicationManager.class, null);
|
||||||
|
if (applicationManager == null) {
|
||||||
|
String msg = "Application Manager service has not initialized.";
|
||||||
|
log.error(msg);
|
||||||
|
throw new IllegalStateException(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return applicationManager;
|
||||||
|
}
|
||||||
|
|
||||||
public static void scheduleTaskService(int notifierFrequency) {
|
public static void scheduleTaskService(int notifierFrequency) {
|
||||||
TaskScheduleService taskScheduleService;
|
TaskScheduleService taskScheduleService;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user