Skip to content

Commit a03863f

Browse files
committed
Changes for attestation
Signed-off-by: Author Name <aalzate@sonatype.com>
1 parent e6ec610 commit a03863f

22 files changed

+330
-54
lines changed

src/main/java/org/cyclonedx/model/Bom.java

+22-3
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
"vulnerabilities",
5757
"annotations",
5858
"formulation",
59-
"attestations",
60-
"definition"
59+
"declarations",
60+
"definitions",
6161
"signature"
6262
})
6363
public class Bom extends ExtensibleElement {
@@ -88,7 +88,10 @@ public class Bom extends ExtensibleElement {
8888
private List<Formula> formulation;
8989

9090
@VersionFilter(versions = {"1.0", "1.1", "1.2", "1.3", "1.4", "1.5"})
91-
private Definition definition;
91+
private Declarations declarations;
92+
93+
@VersionFilter(versions = {"1.0", "1.1", "1.2", "1.3", "1.4", "1.5"})
94+
private Definition definitions;
9295

9396
@VersionFilter(versions = {"1.0", "1.1", "1.2", "1.3"})
9497
@JsonDeserialize(using = VulnerabilityDeserializer.class)
@@ -243,6 +246,22 @@ public void addProperty(Property property) {
243246
this.properties.add(property);
244247
}
245248

249+
public Declarations getDeclarations() {
250+
return declarations;
251+
}
252+
253+
public void setDeclarations(final Declarations declarations) {
254+
this.declarations = declarations;
255+
}
256+
257+
public Definition getDefinitions() {
258+
return definitions;
259+
}
260+
261+
public void setDefinitions(final Definition definitions) {
262+
this.definitions = definitions;
263+
}
264+
246265
public int getVersion() {
247266
return version;
248267
}

src/main/java/org/cyclonedx/model/attestation/Assessor.java

+9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
package org.cyclonedx.model.attestation;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonInclude;
35
import com.fasterxml.jackson.annotation.JsonProperty;
6+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
47
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
58
import org.cyclonedx.model.OrganizationalEntity;
69

10+
@JsonIgnoreProperties(ignoreUnknown = true)
11+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
12+
@JsonPropertyOrder({
13+
"thirdParty",
14+
"organization"
15+
})
716
public class Assessor
817
{
918
@JacksonXmlProperty(isAttribute = true, localName = "bom-ref")

src/main/java/org/cyclonedx/model/attestation/Attestation.java

-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
import com.fasterxml.jackson.annotation.JsonProperty;
88
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
99
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
10-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
1110
import org.cyclonedx.model.Signature;
1211

13-
@JacksonXmlRootElement(localName = "conformance")
1412
@JsonIgnoreProperties(ignoreUnknown = true)
1513
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1614
@JsonPropertyOrder({

src/main/java/org/cyclonedx/model/attestation/Claim.java

-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
99
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
1010
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
11-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
1211
import org.cyclonedx.model.ExternalReference;
1312
import org.cyclonedx.model.Signature;
1413

15-
@JacksonXmlRootElement(localName = "claim")
1614
@JsonIgnoreProperties(ignoreUnknown = true)
1715
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1816
@JsonPropertyOrder({

src/main/java/org/cyclonedx/model/attestation/Confidence.java

-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
11
package org.cyclonedx.model.attestation;
22

3-
import java.util.List;
43

54
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
65
import com.fasterxml.jackson.annotation.JsonInclude;
76
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
8-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
9-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
10-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
117

12-
@JacksonXmlRootElement(localName = "confidence")
138
@JsonIgnoreProperties(ignoreUnknown = true)
149
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1510
@JsonPropertyOrder({

src/main/java/org/cyclonedx/model/attestation/Conformance.java

-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
88
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
99
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
10-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
1110

12-
@JacksonXmlRootElement(localName = "conformance")
1311
@JsonIgnoreProperties(ignoreUnknown = true)
1412
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1513
@JsonPropertyOrder({

src/main/java/org/cyclonedx/model/attestation/Declarations.java

+14
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,26 @@
22

33
import java.util.List;
44

5+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6+
import com.fasterxml.jackson.annotation.JsonInclude;
7+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
58
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
69
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
710
import org.cyclonedx.model.Signature;
811
import org.cyclonedx.model.attestation.affirmation.Affirmation;
912
import org.cyclonedx.model.attestation.evidence.Evidence;
1013

14+
@JsonIgnoreProperties(ignoreUnknown = true)
15+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
16+
@JsonPropertyOrder({
17+
"assessors",
18+
"attestations",
19+
"claims",
20+
"evidence",
21+
"targets",
22+
"affirmation",
23+
"signature"
24+
})
1125
public class Declarations
1226
{
1327
private List<Assessor> assessors;

src/main/java/org/cyclonedx/model/attestation/Targets.java

-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@
77
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
88
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
99
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
10-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
1110
import org.cyclonedx.model.Component;
1211
import org.cyclonedx.model.OrganizationalEntity;
1312
import org.cyclonedx.model.Service;
1413

15-
@JacksonXmlRootElement(localName = "targets")
1614
@JsonIgnoreProperties(ignoreUnknown = true)
1715
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1816
@JsonPropertyOrder({

src/main/java/org/cyclonedx/model/attestation/affirmation/Affirmation.java

+22-2
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,28 @@
22

33
import java.util.List;
44

5+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6+
import com.fasterxml.jackson.annotation.JsonInclude;
7+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
58
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
69
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
7-
10+
import org.cyclonedx.model.Signature;
11+
12+
@JsonIgnoreProperties(ignoreUnknown = true)
13+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
14+
@JsonPropertyOrder({
15+
"statement",
16+
"signatories",
17+
"signature"
18+
})
819
public class Affirmation
920
{
1021
private String statement;
1122

12-
1323
private List<Signatory> signatories;
1424

25+
private Signature signature;
26+
1527
public String getStatement() {
1628
return statement;
1729
}
@@ -29,4 +41,12 @@ public List<Signatory> getSignatories() {
2941
public void setSignatories(final List<Signatory> signatories) {
3042
this.signatories = signatories;
3143
}
44+
45+
public Signature getSignature() {
46+
return signature;
47+
}
48+
49+
public void setSignature(final Signature signature) {
50+
this.signature = signature;
51+
}
3252
}

src/main/java/org/cyclonedx/model/attestation/affirmation/Signatory.java

+21-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
package org.cyclonedx.model.attestation.affirmation;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonInclude;
5+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
6+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
7+
import org.cyclonedx.util.deserializer.SignatoryInformationChoiceDeserializer;
8+
9+
@JsonIgnoreProperties(ignoreUnknown = true)
10+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
11+
@JsonPropertyOrder({
12+
"name",
13+
"role",
14+
"signature",
15+
"organization",
16+
"externalReference"
17+
})
318
public class Signatory
419
{
520
private String name;
621

722
private String role;
823

9-
private SignatoryChoice signatoryChoice;
24+
@JsonDeserialize(using = SignatoryInformationChoiceDeserializer.class)
25+
private SignatoryInformationChoice choice;
1026

1127
public String getName() {
1228
return name;
@@ -24,11 +40,11 @@ public void setRole(final String role) {
2440
this.role = role;
2541
}
2642

27-
public SignatoryChoice getSignatoryChoice() {
28-
return signatoryChoice;
43+
public SignatoryInformationChoice getChoice() {
44+
return choice;
2945
}
3046

31-
public void setSignatoryChoice(final SignatoryChoice signatoryChoice) {
32-
this.signatoryChoice = signatoryChoice;
47+
public void setChoice(final SignatoryInformationChoice choice) {
48+
this.choice = choice;
3349
}
3450
}

src/main/java/org/cyclonedx/model/attestation/affirmation/SignatoryInfo.java

+9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
11
package org.cyclonedx.model.attestation.affirmation;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import com.fasterxml.jackson.annotation.JsonInclude;
5+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
36
import org.cyclonedx.model.ExternalReference;
47
import org.cyclonedx.model.OrganizationalEntity;
58

9+
@JsonIgnoreProperties(ignoreUnknown = true)
10+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
11+
@JsonPropertyOrder({
12+
"organization",
13+
"externalReference"
14+
})
615
public class SignatoryInfo
716
{
817
private OrganizationalEntity organization;

src/main/java/org/cyclonedx/model/attestation/affirmation/SignatoryChoice.java src/main/java/org/cyclonedx/model/attestation/affirmation/SignatoryInformationChoice.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.annotation.JsonInclude;
5-
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
65
import org.cyclonedx.model.Signature;
76

87
@JsonIgnoreProperties(ignoreUnknown = true)
98
@JsonInclude(JsonInclude.Include.NON_EMPTY)
10-
@JsonDeserialize(using = SignatoryChoiceDeserializer.class)
11-
public class SignatoryChoice
9+
public class SignatoryInformationChoice
1210
{
1311
private Signature signature;
1412

src/main/java/org/cyclonedx/model/attestation/evidence/Contents.java

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
77
import org.cyclonedx.model.AttachmentText;
88

9-
@JacksonXmlRootElement(localName = "contents")
109
@JsonIgnoreProperties(ignoreUnknown = true)
1110
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1211
@JsonPropertyOrder({

src/main/java/org/cyclonedx/model/attestation/evidence/Data.java

+22-17
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
66
import com.fasterxml.jackson.annotation.JsonInclude;
77
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
8-
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
8+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
9+
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
10+
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
911
import org.cyclonedx.model.component.modelCard.data.Governance;
12+
import org.cyclonedx.util.deserializer.StringListDeserializer;
1013

11-
12-
@JacksonXmlRootElement(localName = "data")
1314
@JsonIgnoreProperties(ignoreUnknown = true)
1415
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1516
@JsonPropertyOrder({
1617
"name",
1718
"contents",
18-
"dataClassification",
19+
"classification",
1920
"sensitiveData",
2021
"governance"
2122
})
@@ -25,20 +26,21 @@ public class Data
2526

2627
private Contents contents;
2728

28-
private DataClassification dataClassification;
29+
private String classification;
2930

3031
private List<String> sensitiveData;
3132

3233
private Governance governance;
3334

34-
public String getData() {
35-
return data;
35+
public String getName() {
36+
return name;
3637
}
3738

38-
public void setData(final String data) {
39-
this.data = data;
39+
public void setName(final String name) {
40+
this.name = name;
4041
}
4142

43+
4244
public Contents getContents() {
4345
return contents;
4446
}
@@ -47,14 +49,9 @@ public void setContents(final Contents contents) {
4749
this.contents = contents;
4850
}
4951

50-
public DataClassification getDataClassification() {
51-
return dataClassification;
52-
}
53-
54-
public void setDataClassification(final DataClassification dataClassification) {
55-
this.dataClassification = dataClassification;
56-
}
57-
52+
@JacksonXmlElementWrapper(localName = "sensitiveData")
53+
@JacksonXmlProperty(localName = "sensitiveData")
54+
@JsonDeserialize(using = StringListDeserializer.class)
5855
public List<String> getSensitiveData() {
5956
return sensitiveData;
6057
}
@@ -70,4 +67,12 @@ public Governance getGovernance() {
7067
public void setGovernance(final Governance governance) {
7168
this.governance = governance;
7269
}
70+
71+
public String getClassification() {
72+
return classification;
73+
}
74+
75+
public void setClassification(final String classification) {
76+
this.classification = classification;
77+
}
7378
}

0 commit comments

Comments
 (0)