def refresh_action_parameters(request): response = {'status': -1} try: coord_uuid = request.POST.get('uuid') workflow_doc = Document2.objects.get(type='oozie-workflow2', owner=request.user, is_managed=True, dependents__uuid__in=[coord_uuid]) # Refresh the action parameters of a document action in case the document changed workflow = Workflow(document=workflow_doc, user=request.user) _data = workflow.get_data() hive_node = _data['workflow']['nodes'][3] query_document = Document2.objects.get_by_uuid(user=request.user, uuid=hive_node['properties']['uuid']) parameters = WorkflowBuilder().get_document_parameters(query_document) changed = set([p['value'] for p in parameters]) != set([p['value'] for p in hive_node['properties']['parameters']]) if changed: hive_node['properties']['parameters'] = parameters workflow.data = json.dumps(_data) workflow_doc.update_data({'workflow': _data['workflow']}) workflow_doc.save() response['status'] = 0 response['parameters'] = parameters response['changed'] = changed except Exception, e: response['message'] = str(e)
def refresh_action_parameters(request): response = {'status': -1} try: coord_uuid = request.POST.get('uuid') workflow_doc = Document2.objects.get(type='oozie-workflow2', owner=request.user, is_managed=True, dependents__uuid__in=[coord_uuid]) # Refresh the action parameters of a document action in case the document changed workflow = Workflow(document=workflow_doc, user=request.user) _data = workflow.get_data() hive_node = _data['workflow']['nodes'][3] query_document = Document2.objects.get_by_uuid(user=request.user, uuid=hive_node['properties']['uuid']) parameters = WorkflowBuilder().get_document_parameters(query_document) changed = set([p['value'] for p in parameters]) != set([p['value'] for p in hive_node['properties']['parameters']]) if changed: hive_node['properties']['parameters'] = parameters workflow.data = json.dumps(_data) workflow_doc.update_data({'workflow': _data['workflow']}) workflow_doc.save() response['status'] = 0 response['parameters'] = parameters response['changed'] = changed except Exception, e: response['message'] = str(e)