aboutsummaryrefslogtreecommitdiff
path: root/rdfloader/parser2v2/parse_file.go
diff options
context:
space:
mode:
Diffstat (limited to 'rdfloader/parser2v2/parse_file.go')
-rw-r--r--rdfloader/parser2v2/parse_file.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/rdfloader/parser2v2/parse_file.go b/rdfloader/parser2v2/parse_file.go
index 647cef9..485aeba 100644
--- a/rdfloader/parser2v2/parse_file.go
+++ b/rdfloader/parser2v2/parse_file.go
@@ -4,9 +4,10 @@ package parser2v2
import (
"fmt"
+ "strings"
+
gordfParser "github.com/spdx/gordf/rdfloader/parser"
"github.com/spdx/tools-golang/spdx"
- "strings"
)
// returns a file instance and the error if any encountered.
@@ -26,7 +27,7 @@ func (parser *rdfParser2_2) getFileFromNode(fileNode *gordfParser.Node) (file *s
}
// setting color to grey to indicate that we've started parsing this node.
- parser.cache[fileNode.ID].Color = GREY;
+ parser.cache[fileNode.ID].Color = GREY
// setting color to black just before function returns to the caller to
// indicate that parsing current node is complete.
@@ -129,13 +130,16 @@ func (parser *rdfParser2_2) setFileChecksumFromNode(file *spdx.File2_2, checksum
if err != nil {
return fmt.Errorf("error parsing checksumNode of a file: %v", err)
}
+ if file.FileChecksums == nil {
+ file.FileChecksums = map[spdx.ChecksumAlgorithm2_2]spdx.Checksum2_2{}
+ }
switch checksumAlgorithm {
- case "MD5":
- file.FileChecksumMD5 = checksumValue
- case "SHA1":
- file.FileChecksumSHA1 = checksumValue
- case "SHA256":
- file.FileChecksumSHA256 = checksumValue
+ case spdx.MD5:
+ file.FileChecksums[spdx.MD5] = spdx.Checksum2_2{Algorithm: spdx.MD5, Value: checksumValue}
+ case spdx.SHA1:
+ file.FileChecksums[spdx.SHA1] = spdx.Checksum2_2{Algorithm: spdx.SHA1, Value: checksumValue}
+ case spdx.SHA256:
+ file.FileChecksums[spdx.SHA256] = spdx.Checksum2_2{Algorithm: spdx.SHA256, Value: checksumValue}
case "":
return fmt.Errorf("empty checksum algorithm and value")
default: