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;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import io.entgra.application.mgt.common.services.ApplicationManager;
|
||||
import org.apache.commons.httpclient.HttpStatus;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
@ -1417,9 +1418,15 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
Operation operation = DeviceMgtAPIUtils.validateOperationStatusBean(operationStatusBean);
|
||||
operation.setId(operationStatusBean.getOperationId());
|
||||
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();
|
||||
} catch (BadRequestException e) {
|
||||
String msg = "Error occured due to invalid request";
|
||||
String msg = "Error occurred due to invalid request";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
|
||||
} catch (DeviceManagementException e) {
|
||||
@ -1430,7 +1437,11 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
String msg = "Error occurred when updating operation of device " + deviceIdentifier;
|
||||
log.error(msg, e);
|
||||
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
|
||||
|
||||
@ -35,6 +35,7 @@
|
||||
|
||||
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.client.Options;
|
||||
import org.apache.axis2.java.security.SSLProtocolSocketFactory;
|
||||
@ -172,6 +173,7 @@ public class DeviceMgtAPIUtils {
|
||||
private static OTPManagementService otpManagementService;
|
||||
|
||||
private static volatile SubscriptionManager subscriptionManager;
|
||||
private static volatile ApplicationManager applicationManager;
|
||||
|
||||
static {
|
||||
String keyStorePassword = ServerConfiguration.getInstance().getFirstProperty("Security.KeyStore.Password");
|
||||
@ -233,6 +235,23 @@ public class DeviceMgtAPIUtils {
|
||||
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) {
|
||||
TaskScheduleService taskScheduleService;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user