def self::validate( config, mission )
super
self.log.debug "Validating group segment config %p against mission config" % [ config ]
members = config[ :members ] or
raise Ravn::BDE::ValidationError, "group segment has no :members config"
member_set = members.to_set
mission_callsigns = mission[ :callsigns ]
if mission_callsigns.nil? || mission_callsigns.empty?
self.log.warn "Group segments used with auto-generated callsigns"
end
mission_callsigns = mission_callsigns.values.to_set
unless member_set.subset?( mission_callsigns )
invalid = member_set - mission_callsigns
raise Ravn::BDE::ValidationError,
"group segment contains invalid callsign/s: %s" % [ invalid.join(", ") ]
end
end