package resolution import ( "sort" mcat "git.novox.be/novox/mesh-sdk/go/catalogue" ) // Resolve is ResolveHolding for a test that wants a claim problem as a refusal of the whole set, as before issue 1966. func Resolve(catalogue map[string]mcat.Manifest, assigned []string, node mcat.Node, world mcat.World) (mcat.Resolution, error) { got, held, err := ResolveHolding(catalogue, assigned, node, world) if err != nil { return mcat.Resolution{}, err } if len(held) > 0 { var problems []string for _, why := range held { problems = append(problems, why) } sort.Strings(problems) return mcat.Resolution{}, &Refusal{Problems: problems} } return got, nil } // checkClaims is holdClaims with the problems as a list. func checkClaims(modules []mcat.Manifest, node mcat.Node, elsewhere []mcat.Held, holdings []mcat.Held) ([]mcat.Held, []string) { held, why := holdClaims(modules, node, elsewhere, holdings) var problems []string for _, w := range why { problems = append(problems, w) } sort.Strings(problems) return held, problems }