diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java index 1f5219ec15..721669ab3c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java @@ -143,6 +143,9 @@ public class OperationManagerImpl implements OperationManager { public Operation getNextPendingOperation(DeviceIdentifier deviceId) throws OperationManagementException { try { Operation operation = operationDAO.getNextOperation(deviceId); + if (operation instanceof ProfileOperation){ + operation = profileOperationDAO.getNextOperation(deviceId); + } return operation; } catch (OperationManagementDAOException e) { throw new OperationManagementException("Error occurred while retrieving next pending operation", e); @@ -152,8 +155,8 @@ public class OperationManagerImpl implements OperationManager { @Override public void updateOperation(int operationId, Operation.Status operationStatus) throws OperationManagementException { - try { + try { Operation operation = operationDAO.getOperation(operationId); operation.setStatus(operationStatus); OperationManagementDAOFactory.beginTransaction();