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