/** * Updating status of DO in Database. This function is called from removeDataObjectFromNode. Here * we are not removing entry from DB since we would require meta data information about DO at each * node in workflow. * * @param workflowId * @param nodeId * @param dataObject */ private void updateDataObjectStatusInDBQueue( String workflowId, String nodeId, IHICData dataObject) { HashMap<String, Object> doDetails = dataObject.getDataObjectDetails(); try { // This makes sure that the current call is pertaining to Workflow tool if (!isPatientSchedulePresentInFormValues(dataObject)) return; Hashtable<String, Object> metaData = HashUtil.removeNonRequiredKeysFromHashtable( ApplicationConstant.REQUIRED_KEYS_FOR_UNIQUE_DO, (Hashtable<String, Object>) doDetails.get(CoreConstants.DATAOBJECT_FORM_VALUES)); DataObjectQueueImpl.setDataObjectAsCompleted( workflowId, nodeId, StringUtil.getString(doDetails.get(CoreConstants.DATAOBJECT_USER_ID)), StringUtil.getString(doDetails.get(CoreConstants.DATAOBJECT_UNIQUE_ID)), metaData); } catch (WorkflowComponentException e) { e.printStackTrace(); } }