Skip to content
Snippets Groups Projects
Commit 58249cd2 authored by Chiara Liotta's avatar Chiara Liotta
Browse files

fix bug in processing of in-param of tools

parent 97012a84
Branches
Tags
No related merge requests found
...@@ -29,8 +29,9 @@ def process_cwl_inputs(driver: Driver, cwl_entity: dict) -> None: ...@@ -29,8 +29,9 @@ def process_cwl_inputs(driver: Driver, cwl_entity: dict) -> None:
process_in_param(driver, input['id'], component_id, input['type'], cwl_entity['class']) process_in_param(driver, input['id'], component_id, input['type'], cwl_entity['class'])
elif isinstance(cwl_entity['inputs'], dict): elif isinstance(cwl_entity['inputs'], dict):
# If 'inputs' is a dictionary, iterate over the keys (which are the input IDs) # If 'inputs' is a dictionary, iterate over the keys (which are the input IDs)
for key in cwl_entity['inputs'].keys(): input_dict = cwl_entity['inputs']
process_in_param(driver, key, component_id, None, cwl_entity['class']) for key in input_dict.keys():
process_in_param(driver, key, component_id, input_dict[key]['type'], cwl_entity['class'])
def process_cwl_outputs(driver: Driver, cwl_entity: dict, step_lookup) -> None: def process_cwl_outputs(driver: Driver, cwl_entity: dict, step_lookup) -> None:
""" """
......
...@@ -30,7 +30,7 @@ def process_step_lookup(cwl_entity: dict) -> dict: ...@@ -30,7 +30,7 @@ def process_step_lookup(cwl_entity: dict) -> dict:
step_lookup[step['id']] = step_path step_lookup[step['id']] = step_path
return step_lookup return step_lookup
def process_in_param(driver: Driver, param_id: str, component_id: str, param_type: str = None, entity_type: str = None): def process_in_param(driver: Driver, param_id: str, component_id: str, param_type: str, entity_type: str):
""" """
Processes an input parameter by ensuring its node exists and optionally creating a relationship Processes an input parameter by ensuring its node exists and optionally creating a relationship
between the component and the parameter node. between the component and the parameter node.
...@@ -46,7 +46,7 @@ def process_in_param(driver: Driver, param_id: str, component_id: str, param_typ ...@@ -46,7 +46,7 @@ def process_in_param(driver: Driver, param_id: str, component_id: str, param_typ
""" """
param_node = ensure_in_parameter_node(driver, param_id, component_id, param_type, entity_type) param_node = ensure_in_parameter_node(driver, param_id, component_id, param_type, entity_type)
if entity_type == "Workflow": if entity_type != "Workflow":
create_in_param_relationship(driver, component_id, param_node[0]) create_in_param_relationship(driver, component_id, param_node[0])
def process_parameter_source(driver: Driver, param_node_internal_id: int, source_id: str, workflow_id: str, step_lookup: dict) -> None: def process_parameter_source(driver: Driver, param_node_internal_id: int, source_id: str, workflow_id: str, step_lookup: dict) -> None:
...@@ -119,7 +119,6 @@ def process_control_dependencies(driver: Driver, source_id: str, workflow_id: st ...@@ -119,7 +119,6 @@ def process_control_dependencies(driver: Driver, source_id: str, workflow_id: st
with driver.session() as session: with driver.session() as session:
in_parameters = get_all_in_parameter_nodes_of_entity(session, component_id) in_parameters = get_all_in_parameter_nodes_of_entity(session, component_id)
node_ids = [record["nodeId"] for record in in_parameters] node_ids = [record["nodeId"] for record in in_parameters]
print(node_ids)
for node_id in node_ids: for node_id in node_ids:
create_control_relationship(driver, node_id, source_param_node, workflow_id, source_id) create_control_relationship(driver, node_id, source_param_node, workflow_id, source_id)
......
...@@ -21,7 +21,7 @@ def create_in_param_relationship(driver: Driver, prefixed_component_id: str, par ...@@ -21,7 +21,7 @@ def create_in_param_relationship(driver: Driver, prefixed_component_id: str, par
query = """ query = """
MATCH (c:Component {component_id: $component_id}), (p:InParameter) MATCH (c:Component {component_id: $component_id}), (p:InParameter)
WHERE elementId(p) = $parameter_internal_id WHERE elementId(p) = $parameter_internal_id
MERGE (c)<-[r:DATA_FLOW {component_id: $component_id}]->(p) MERGE (c)<-[r:DATA_FLOW {component_id: $component_id}]-(p)
SET r.data_ids = SET r.data_ids =
CASE CASE
WHEN r.data_ids IS NULL THEN [p.parameter_id] WHEN r.data_ids IS NULL THEN [p.parameter_id]
......
...@@ -104,7 +104,6 @@ def get_all_outermost_workflow_ids(session: Session): ...@@ -104,7 +104,6 @@ def get_all_outermost_workflow_ids(session: Session):
""" """
result = session.run(query) result = session.run(query)
unique_component_ids = result.single()["unique_component_ids"] unique_component_ids = result.single()["unique_component_ids"]
print(unique_component_ids)
return unique_component_ids return unique_component_ids
def get_all_out_parameter_nodes_of_entity(session: Session, component_id: str): def get_all_out_parameter_nodes_of_entity(session: Session, component_id: str):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment