xref: /aosp_15_r20/external/spdx-tools/rdfloader/rdfloader.go (revision ba677afa8f67bb56cbc794f4d0e378e0da058e16)
1// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
2
3package rdfloader
4
5import (
6	"io"
7
8	"github.com/spdx/gordf/rdfloader"
9	"github.com/spdx/tools-golang/rdfloader/parser2v2"
10	"github.com/spdx/tools-golang/rdfloader/parser2v3"
11	"github.com/spdx/tools-golang/spdx/v2_2"
12	"github.com/spdx/tools-golang/spdx/v2_3"
13)
14
15// Takes in a file Reader and returns the pertaining spdx document
16// or the error if any is encountered while setting the doc.
17func Load2_2(content io.Reader) (*v2_2.Document, error) {
18	var rdfParserObj, err = rdfloader.LoadFromReaderObject(content)
19	if err != nil {
20		return nil, err
21	}
22
23	doc, err := parser2v2.LoadFromGoRDFParser(rdfParserObj)
24	return doc, err
25}
26
27// Takes in a file Reader and returns the pertaining spdx document
28// or the error if any is encountered while setting the doc.
29func Load2_3(content io.Reader) (*v2_3.Document, error) {
30	var rdfParserObj, err = rdfloader.LoadFromReaderObject(content)
31	if err != nil {
32		return nil, err
33	}
34
35	doc, err := parser2v3.LoadFromGoRDFParser(rdfParserObj)
36	return doc, err
37}
38