aboutsummaryrefslogtreecommitdiff
path: root/rdfloader/parser2v2/parse_package.go
diff options
context:
space:
mode:
authorRishabh Bhatnagar <bhatnagarrishabh4@gmail.com>2020-11-15 16:35:55 +0530
committerRishabh Bhatnagar <bhatnagarrishabh4@gmail.com>2020-11-15 16:39:04 +0530
commit302f983e7b61d30e81294efb1637e82056e81732 (patch)
treeb56303f20b3bfb93a23537f7dee9a72880f4b508 /rdfloader/parser2v2/parse_package.go
parent2ddb287ddc7219c0542a5d955380680c42de3099 (diff)
downloadspdx-tools-302f983e7b61d30e81294efb1637e82056e81732.tar.gz
Allow Multipart Declaration for File and Package
- Files and Packages can now be declared in several parts in different parent tags Signed-off-by: Rishabh Bhatnagar <bhatnagarrishabh4@gmail.com>
Diffstat (limited to 'rdfloader/parser2v2/parse_package.go')
-rw-r--r--rdfloader/parser2v2/parse_package.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/rdfloader/parser2v2/parse_package.go b/rdfloader/parser2v2/parse_package.go
index 20047a6..5be9631 100644
--- a/rdfloader/parser2v2/parse_package.go
+++ b/rdfloader/parser2v2/parse_package.go
@@ -19,6 +19,10 @@ func (parser *rdfParser2_2) getPackageFromNode(packageNode *gordfParser.Node) (p
}
pkg.PackageSPDXIdentifier = eId // 3.2
+ if existingPkg := parser.doc.Packages[eId]; existingPkg != nil {
+ pkg = existingPkg
+ }
+
// iterate over all the triples associated with the provided package packageNode.
for _, subTriple := range parser.nodeToTriples(packageNode) {
switch subTriple.Predicate.ID {
@@ -125,6 +129,7 @@ func (parser *rdfParser2_2) getPackageFromNode(packageNode *gordfParser.Node) (p
}
}
+ parser.doc.Packages[pkg.PackageSPDXIdentifier] = pkg
return pkg, nil
}