public ICollection FindRootPackageByName()

in JetBrains.SbomUtils/src/JetBrains.SbomUtils/SbomOperations.cs [15:31]


    public ICollection<Package> FindRootPackageByName(SbomModel sbomModel, IEnumerable<string> rootPackageNames)
    {
      var describesRelationships = sbomModel.SpdxDocument.Relationships!.Where(r => r.RelationshipType == RelationshipType.DESCRIBES);
      var rootPackagesSet = rootPackageNames.ToHashSet();
      List<Package> result = new List<Package>();

      foreach (var relationship in describesRelationships)
      {
        if (sbomModel.Packages.TryGetValue(relationship.RelatedSpdxElement, out var rootPackage))
        {
          if (rootPackagesSet.Contains(rootPackage.Name))
            result.Add(rootPackage);
        }
      }

      return result;
    }