@@ -39,7 +39,6 @@ def __init__(self, p, node, nsmap, data_stores, filename=None, lane=None):
3939 :param node: the XML node for the process
4040 :param data_stores: map of ids to data store implementations
4141 :param filename: the source BPMN filename (optional)
42- :param doc_xpath: an xpath evaluator for the document (optional)
4342 :param lane: the lane of a subprocess (optional)
4443 """
4544 super ().__init__ (node , nsmap , filename = filename , lane = lane )
@@ -48,7 +47,7 @@ def __init__(self, p, node, nsmap, data_stores, filename=None, lane=None):
4847 self .spec = None
4948 self .process_executable = node .get ('isExecutable' , 'true' ) == 'true'
5049 self .data_stores = data_stores
51- self .inherited_data_objects = {}
50+ self .parent = None
5251
5352 def get_name (self ):
5453 """
@@ -118,8 +117,6 @@ def _parse(self):
118117 raise ValidationException (f"Process { self .bpmn_id } is not executable." , node = self .node , file_name = self .filename )
119118 self .spec = BpmnProcessSpec (name = self .bpmn_id , description = self .get_name (), filename = self .filename )
120119
121- self .spec .data_objects .update (self .inherited_data_objects )
122-
123120 # Get the data objects
124121 for obj in self .xpath ('./bpmn:dataObject' ):
125122 data_object = self .parse_data_object (obj )
@@ -147,7 +144,7 @@ def _parse(self):
147144 split_task .inputs = [self .spec .start ]
148145
149146 def parse_data_object (self , obj ):
150- return DataObject ( obj . get ( 'id' ), obj . get ( 'name' ) )
147+ return self . create_data_spec ( obj , DataObject )
151148
152149 def get_spec (self ):
153150 """
0 commit comments