class Lutaml::Qea::Validation::ClassValidator
def validate_generalization_parents # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
def validate_generalization_parents # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity connectors.select(&:generalization?).each do |gen| parent_id = gen.end_object_id unless object_exists?(parent_id) child = objects.find { |o| o.ea_object_id == gen.start_object_id } child_path = if child resolve_class_path(child.ea_object_id, child.name) else "Unknown" end result.add_error( category: :missing_reference, entity_type: :generalization, entity_id: gen.connector_id.to_s, entity_name: child&.name || "Unknown", field: "end_object_id", reference: parent_id.to_s, message: "Generalization parent #{parent_id} does not exist", location: child_path, ) end end end