aboutsummaryrefslogtreecommitdiff
path: root/rdfloader/parser2v2/parse_review.go
diff options
context:
space:
mode:
Diffstat (limited to 'rdfloader/parser2v2/parse_review.go')
-rw-r--r--rdfloader/parser2v2/parse_review.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/rdfloader/parser2v2/parse_review.go b/rdfloader/parser2v2/parse_review.go
new file mode 100644
index 0000000..08e805d
--- /dev/null
+++ b/rdfloader/parser2v2/parse_review.go
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+
+package parser2v2
+
+import (
+ "fmt"
+ gordfParser "github.com/RishabhBhatnagar/gordf/rdfloader/parser"
+ "github.com/spdx/tools-golang/spdx"
+)
+
+func (parser *rdfParser2_2) setReviewFromNode(reviewedNode *gordfParser.Node) error {
+ review := spdx.Review2_2{}
+ for _, triple := range parser.nodeToTriples[reviewedNode.String()] {
+ switch triple.Predicate.ID {
+ case RDF_TYPE:
+ // cardinality: exactly 1
+ continue
+ case RDFS_COMMENT:
+ // cardinality: max 1
+ review.ReviewComment = triple.Object.ID
+ case SPDX_REVIEW_DATE:
+ // cardinality: exactly 1
+ review.ReviewDate = triple.Object.ID
+ case SPDX_REVIEWER:
+ // cardinality: max 1
+ review.Reviewer = triple.Object.ID
+ default:
+ return fmt.Errorf("unknown predicate %v for review triples", triple.Predicate)
+ }
+ }
+ parser.doc.Reviews = append(parser.doc.Reviews, &review)
+ return nil
+}