@@ -110,7 +110,7 @@ def create_node_function(node_function, t)
110110 end
111111
112112 reference_value = SagittariusSchema . object_from_id (
113- parameter . value . reference_value . node_id
113+ parameter . value . reference_value . node_function_id
114114 )
115115
116116 if reference_value . nil?
@@ -124,6 +124,10 @@ def create_node_function(node_function, t)
124124 runtime_parameter : runtime_parameter ,
125125 reference_value : ReferenceValue . create (
126126 node_function : reference_value ,
127+ data_type_identifier : get_data_type_identifier ( parameter . value . reference_value . data_type_identifier ) ,
128+ depth : parameter . value . reference_value . depth ,
129+ node : parameter . value . reference_value . node ,
130+ scope : parameter . value . reference_value . scope ,
127131 reference_paths : parameter . value . reference_value . reference_paths . map do |path |
128132 ReferencePath . create (
129133 path : path . path ,
@@ -143,6 +147,28 @@ def create_node_function(node_function, t)
143147 node_parameters : params
144148 )
145149 end
150+
151+ private
152+
153+ def get_data_type_identifier ( identifier )
154+ return DataTypeIdentifier . create ( generic_key : identifier . generic_key ) if identifier . generic_key . present?
155+
156+ if identifier . generic_type . present?
157+ data_type = SagittariusSchema . object_from_id ( identifier . generic_type . data_type_id )
158+ mappers = identifier . generic_type . mappers . map do |mapper |
159+ GenericMapper . create (
160+ generic_mapper_id : mapper . generic_mapper_id ,
161+ source : mapper . source ,
162+ target : mapper . target
163+ )
164+ end
165+ return DataTypeIdentifier . create ( generic_type : GenericType . create ( data_type : data_type , mappers : mappers ) )
166+ end
167+
168+ return if identifier . data_type_id . blank?
169+
170+ DataTypeIdentifier . create ( data_type : SagittariusSchema . object_from_id ( identifier . data_type_id ) )
171+ end
146172 end
147173 end
148174 end
0 commit comments