update operation status

4.x.x
manoj 10 years ago
parent 0ed9c46a64
commit 39b85a3b44

@ -59,7 +59,8 @@ public interface OperationManager {
public Operation getNextPendingOperation(DeviceIdentifier deviceId) throws OperationManagementException;
public void updateOperation(int operationId, Operation.Status operationStatus) throws OperationManagementException;
public void updateOperation(int deviceId, int operationId, Operation.Status operationStatus) throws
OperationManagementException;
public void deleteOperation(int operationId) throws OperationManagementException;

@ -465,9 +465,10 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
}
@Override
public void updateOperation(int operationId, Operation.Status operationStatus)
public void updateOperation(int deviceId, int operationId, Operation.Status operationStatus)
throws OperationManagementException {
DeviceManagementDataHolder.getInstance().getOperationManager().updateOperation(operationId, operationStatus);
DeviceManagementDataHolder.getInstance().getOperationManager().updateOperation(deviceId,operationId,
operationStatus);
}
@Override

@ -263,7 +263,7 @@ public class OperationManagerImpl implements OperationManager {
}
@Override
public void updateOperation(int operationId, Operation.Status operationStatus)
public void updateOperation(int deviceId, int operationId, Operation.Status operationStatus)
throws OperationManagementException {
if (log.isDebugEnabled()) {
@ -280,7 +280,9 @@ public class OperationManagerImpl implements OperationManager {
dtoOperation.setStatus(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Status.valueOf
(operationStatus.toString()));
OperationManagementDAOFactory.beginTransaction();
lookupOperationDAO(dtoOperation).updateOperation(dtoOperation);
operationDAO.updateOperation(dtoOperation);
operationDAO.updateOperationStatus(deviceId,operationId,
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Status.valueOf(operationStatus.toString()));
OperationManagementDAOFactory.commitTransaction();
} catch (OperationManagementDAOException ex) {
try {

@ -42,4 +42,7 @@ public interface OperationDAO {
Operation getNextOperation(int deviceId) throws OperationManagementDAOException;
void updateOperationStatus(int deviceId, int operationId,Operation.Status status) throws
OperationManagementDAOException;
}

@ -76,10 +76,34 @@ public class OperationDAOImpl implements OperationDAO {
stmt.executeUpdate();
} catch (SQLException e) {
throw new OperationManagementDAOException("Error occurred while adding operation metadata", e);
throw new OperationManagementDAOException("Error occurred while update operation metadata", e);
} finally {
OperationManagementDAOUtil.cleanupResources(stmt);
}
}
public void updateOperationStatus(int deviceId, int operationId,Operation.Status status)
throws OperationManagementDAOException{
PreparedStatement stmt = null;
try {
Connection connection = OperationManagementDAOFactory.getConnection();
stmt = connection.prepareStatement("UPDATE DM_DEVICE_OPERATION_MAPPING O SET O.STATUS=? " +
"WHERE O.DEVICE_ID=? and O.OPERATION_ID=?");
stmt.setString(1, status.toString());
stmt.setInt(2, deviceId);
stmt.setInt(3, operationId);
stmt.executeUpdate();
} catch (SQLException e) {
throw new OperationManagementDAOException("Error occurred while update device mapping operation status " +
"metadata",
e);
} finally {
OperationManagementDAOUtil.cleanupResources(stmt);
}
}
@Override

@ -149,8 +149,9 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
}
@Override
public void updateOperation(int operationId, Operation.Status operationStatus) throws OperationManagementException {
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().updateOperation(operationId,
public void updateOperation(int deviceId, int operationId, Operation.Status operationStatus) throws
OperationManagementException {
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().updateOperation(deviceId, operationId,
operationStatus);
}

Loading…
Cancel
Save