diff options
Diffstat (limited to 'rdfloader/parser2v2/parse_package.go')
-rw-r--r-- | rdfloader/parser2v2/parse_package.go | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/rdfloader/parser2v2/parse_package.go b/rdfloader/parser2v2/parse_package.go index dde6e70..02dd251 100644 --- a/rdfloader/parser2v2/parse_package.go +++ b/rdfloader/parser2v2/parse_package.go @@ -4,9 +4,10 @@ package parser2v2 import ( "fmt" + "strings" + gordfParser "github.com/spdx/gordf/rdfloader/parser" "github.com/spdx/tools-golang/spdx" - "strings" ) func (parser *rdfParser2_2) getPackageFromNode(packageNode *gordfParser.Node) (pkg *spdx.Package2_2, err error) { @@ -30,7 +31,7 @@ func (parser *rdfParser2_2) getPackageFromNode(packageNode *gordfParser.Node) (p parser.cache[packageNode.ID].Color = GREY // setting state color to black to indicate when we're done parsing this node. - defer func(){parser.cache[packageNode.ID].Color = BLACK}(); + defer func() { parser.cache[packageNode.ID].Color = BLACK }() // setting the SPDXIdentifier for the package. eId, err := ExtractElementID(getLastPartOfURI(packageNode.ID)) @@ -300,13 +301,16 @@ func (parser *rdfParser2_2) setPackageChecksum(pkg *spdx.Package2_2, node *gordf if err != nil { return fmt.Errorf("error getting checksum algorithm and value from %v", node) } + if pkg.PackageChecksums == nil { + pkg.PackageChecksums = make(map[spdx.ChecksumAlgorithm2_2]spdx.Checksum2_2) + } switch checksumAlgorithm { - case "MD5": - pkg.PackageChecksumMD5 = checksumValue - case "SHA1": - pkg.PackageChecksumSHA1 = checksumValue - case "SHA256": - pkg.PackageChecksumSHA256 = checksumValue + case spdx.MD5: + pkg.PackageChecksums[spdx.MD5] = spdx.Checksum2_2{Algorithm: spdx.MD5, Value: checksumValue} + case spdx.SHA1: + pkg.PackageChecksums[spdx.SHA1] = spdx.Checksum2_2{Algorithm: spdx.SHA1, Value: checksumValue} + case spdx.SHA256: + pkg.PackageChecksums[spdx.SHA256] = spdx.Checksum2_2{Algorithm: spdx.SHA256, Value: checksumValue} default: return fmt.Errorf("unknown checksumAlgorithm %s while parsing a package", checksumAlgorithm) } |