From 97fe22dc74ba49b8c302d0df329e403a903cd314 Mon Sep 17 00:00:00 2001 From: andreas-hilti <69210561+andreas-hilti@users.noreply.github.com> Date: Sun, 15 Sep 2024 18:27:43 +0200 Subject: [PATCH] fix: AccessMode such that it is optional (#358) Signed-off-by: andreas hilti <69210561+andreas-hilti@users.noreply.github.com> --- src/CycloneDX.Core/Models/Workspace.cs | 21 ++++++++++++++++--- ...pAsyncTest_valid-formulation-1.5.json.snap | 3 +-- ...ndTripTest_valid-formulation-1.5.json.snap | 3 +-- ...pAsyncTest_valid-formulation-1.6.json.snap | 3 +-- ...ndTripTest_valid-formulation-1.6.json.snap | 3 +-- ...pStreamTest_valid-formulation-1.5.xml.snap | 1 - ...undTripTest_valid-formulation-1.5.xml.snap | 1 - ...pStreamTest_valid-formulation-1.6.xml.snap | 1 - ...undTripTest_valid-formulation-1.6.xml.snap | 1 - 9 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/CycloneDX.Core/Models/Workspace.cs b/src/CycloneDX.Core/Models/Workspace.cs index 6f017d42..c4ef88f6 100644 --- a/src/CycloneDX.Core/Models/Workspace.cs +++ b/src/CycloneDX.Core/Models/Workspace.cs @@ -77,10 +77,25 @@ public enum AccessModeType public ResourceReferenceChoices ResourceReferences { get; set; } public bool ShouldSerializeResourceReferences() { return ResourceReferences?.Count > 0; } - [XmlElement("accessMode")] + [XmlIgnore] [ProtoMember(8)] - public AccessModeType AccessMode { get; set; } - + public AccessModeType? AccessMode { get; set; } + + [XmlElement("accessMode")] + [JsonIgnore] + public AccessModeType NonNullableAccessMode + { + get + { + return AccessMode.Value; + } + set + { + AccessMode = value; + } + } + public bool ShouldSerializeNonNullableAccessMode() { return AccessMode.HasValue; } + [XmlElement("mountPath")] [ProtoMember(9)] public string MountPath { get; set; } diff --git a/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.5.json.snap b/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.5.json.snap index 84f137d2..0c653095 100644 --- a/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.5.json.snap +++ b/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.5.json.snap @@ -79,8 +79,7 @@ { "bom-ref": "workspace-1", "uid": "workspace-uid-1", - "name": "workspace", - "accessMode": "read-only" + "name": "workspace" } ], "runtimeTopology": [ diff --git a/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.5.json.snap b/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.5.json.snap index 84f137d2..0c653095 100644 --- a/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.5.json.snap +++ b/tests/CycloneDX.Core.Tests/Json/v1.5/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.5.json.snap @@ -79,8 +79,7 @@ { "bom-ref": "workspace-1", "uid": "workspace-uid-1", - "name": "workspace", - "accessMode": "read-only" + "name": "workspace" } ], "runtimeTopology": [ diff --git a/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.6.json.snap b/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.6.json.snap index 136d39ad..f86e194f 100644 --- a/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.6.json.snap +++ b/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripAsyncTest_valid-formulation-1.6.json.snap @@ -79,8 +79,7 @@ { "bom-ref": "workspace-1", "uid": "workspace-uid-1", - "name": "workspace", - "accessMode": "read-only" + "name": "workspace" } ], "runtimeTopology": [ diff --git a/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.6.json.snap b/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.6.json.snap index 136d39ad..f86e194f 100644 --- a/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.6.json.snap +++ b/tests/CycloneDX.Core.Tests/Json/v1.6/__snapshots__/SerializationTests.JsonRoundTripTest_valid-formulation-1.6.json.snap @@ -79,8 +79,7 @@ { "bom-ref": "workspace-1", "uid": "workspace-uid-1", - "name": "workspace", - "accessMode": "read-only" + "name": "workspace" } ], "runtimeTopology": [ diff --git a/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.5.xml.snap b/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.5.xml.snap index 8a5aeb03..0c2e0223 100644 --- a/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.5.xml.snap +++ b/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.5.xml.snap @@ -69,7 +69,6 @@ workspace-uid-1 workspace - read-only diff --git a/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.5.xml.snap b/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.5.xml.snap index 8a5aeb03..0c2e0223 100644 --- a/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.5.xml.snap +++ b/tests/CycloneDX.Core.Tests/Xml/v1.5/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.5.xml.snap @@ -69,7 +69,6 @@ workspace-uid-1 workspace - read-only diff --git a/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.6.xml.snap b/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.6.xml.snap index 6f7b04c5..1af555a3 100644 --- a/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.6.xml.snap +++ b/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripStreamTest_valid-formulation-1.6.xml.snap @@ -69,7 +69,6 @@ workspace-uid-1 workspace - read-only diff --git a/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.6.xml.snap b/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.6.xml.snap index 6f7b04c5..1af555a3 100644 --- a/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.6.xml.snap +++ b/tests/CycloneDX.Core.Tests/Xml/v1.6/__snapshots__/SerializationTests.XmlRoundTripTest_valid-formulation-1.6.xml.snap @@ -69,7 +69,6 @@ workspace-uid-1 workspace - read-only