@@ -5,53 +5,58 @@ import (
55)
66
77type File struct {
8- FileName ValueStr
9- FileChecksum * Checksum
10- LicenseInfoInFile []ValueStr
11- FileCopyrightText ValueStr
12- ExtractedLicensingInfo * ExtractedLicensingInfo
13- DisjunctiveLicenseSet * DisjunctiveLicenseSet
14- ConjunctiveLicenseSet * ConjunctiveLicenseSet
15- FileContributor []ValueStr
16- FileComment ValueStr
17- FileLicenseComments ValueStr
18- FileType []ValueStr
19- FileNoticeText ValueStr
20- Annotation []* Annotation
21- Project []* Project
22- SnippetLicense * License
23- FileDependency * File
24- FileRelationship * Relationship
8+ FileName ValueStr
9+ FileSPDXIdentifier ValueStr
10+ FileChecksum * Checksum
11+ LicenseInfoInFile []ValueStr
12+ FileCopyrightText ValueStr
13+ ExtractedLicensingInfo * ExtractedLicensingInfo
14+ DisjunctiveLicenseSet * DisjunctiveLicenseSet
15+ ConjunctiveLicenseSet * ConjunctiveLicenseSet
16+ FileContributor []ValueStr
17+ FileComment ValueStr
18+ FileLicenseComments ValueStr
19+ FileType []ValueStr
20+ FileNoticeText ValueStr
21+ Annotation []* Annotation
22+ Project []* Project
23+ SnippetLicense * License
24+ FileDependency []* File
25+ FileRelationship * Relationship
26+ FileLicenseSPDXIdentifier ValueStr
2527}
2628type Project struct {
27- Homepage ValueStr
29+ HomePage ValueStr
2830 Name ValueStr
31+ URI ValueStr
2932}
3033
3134func (p * Parser ) requestFile (node goraptor.Term ) (* File , error ) {
32- obj , err := p .requestElementType (node , typeFile )
35+ obj , err := p .requestElementType (node , TypeFile )
3336 if err != nil {
3437 return nil , err
3538 }
3639 return obj .(* File ), err
3740}
3841func (p * Parser ) requestFileChecksum (node goraptor.Term ) (* Checksum , error ) {
39- obj , err := p .requestElementType (node , typeChecksum )
42+ obj , err := p .requestElementType (node , TypeChecksum )
4043 if err != nil {
4144 return nil , err
4245 }
4346 return obj .(* Checksum ), err
4447}
4548
4649func (p * Parser ) requestProject (node goraptor.Term ) (* Project , error ) {
47- obj , err := p .requestElementType (node , typeProject )
50+ obj , err := p .requestElementType (node , TypeProject )
4851 if err != nil {
4952 return nil , err
5053 }
5154 return obj .(* Project ), err
5255}
5356func (p * Parser ) MapFile (file * File ) * builder {
54- builder := & builder {t : typeFile , ptr : file }
57+ builder := & builder {t : TypeFile , ptr : file }
58+ file .FileSPDXIdentifier = SPDXIDFile
59+ file .FileLicenseSPDXIdentifier = SPDXIDLicense
5560 builder .updaters = map [string ]updater {
5661 "fileName" : update (& file .FileName ),
5762 "checksum" : func (obj goraptor.Term ) error {
@@ -94,8 +99,8 @@ func (p *Parser) MapFile(file *File) *builder {
9499 return err
95100 },
96101 "fileDependency" : func (obj goraptor.Term ) error {
97- file , err := p .requestFile (obj )
98- file .FileDependency = file
102+ f , err := p .requestFile (obj )
103+ file .FileDependency = append ( file . FileDependency , f )
99104 return err
100105 },
101106 "relationship" : func (obj goraptor.Term ) error {
@@ -108,9 +113,10 @@ func (p *Parser) MapFile(file *File) *builder {
108113}
109114
110115func (p * Parser ) MapProject (pro * Project ) * builder {
111- builder := & builder {t : typeProject , ptr : pro }
116+ builder := & builder {t : TypeProject , ptr : pro }
117+ pro .URI = ProjectURI
112118 builder .updaters = map [string ]updater {
113- "doap:homepage" : update (& pro .Homepage ),
119+ "doap:homepage" : update (& pro .HomePage ),
114120 "doap:name" : update (& pro .Name ),
115121 }
116122 return builder
0 commit comments