2424namespace DemaConsulting . SpdxModel . IO ;
2525
2626/// <summary>
27- /// JSON Deserializer class
27+ /// JSON Deserializer class
2828/// </summary>
2929public static class Spdx2JsonDeserializer
3030{
3131 /// <summary>
32- /// Deserialize SPDX Document
32+ /// Deserialize SPDX Document
3333 /// </summary>
3434 /// <param name="json">Json string</param>
3535 /// <returns>SPDX Document</returns>
@@ -45,7 +45,7 @@ public static SpdxDocument Deserialize(string json)
4545 }
4646
4747 /// <summary>
48- /// Deserialize the SPDX Document
48+ /// Deserialize the SPDX Document
4949 /// </summary>
5050 /// <param name="json">Json Document Node</param>
5151 /// <returns>SPDX Document</returns>
@@ -60,8 +60,10 @@ public static SpdxDocument DeserializeDocument(JsonNode json)
6060 DocumentNamespace = ParseString ( json , SpdxConstants . FieldDocumentNamespace ) ,
6161 Comment = ParseOptionalString ( json , SpdxConstants . FieldComment ) ,
6262 CreationInformation = DeserializeCreationInformation ( json [ SpdxConstants . FieldCreationInfo ] ) ,
63- ExternalDocumentReferences = DeserializeExternalDocumentReferences ( json [ SpdxConstants . FieldExternalDocumentRefs ] ? . AsArray ( ) ) ,
64- ExtractedLicensingInfo = DeserializeExtractedLicensingInfos ( json [ SpdxConstants . FieldHasExtractedLicensingInfos ] ? . AsArray ( ) ) ,
63+ ExternalDocumentReferences =
64+ DeserializeExternalDocumentReferences ( json [ SpdxConstants . FieldExternalDocumentRefs ] ? . AsArray ( ) ) ,
65+ ExtractedLicensingInfo =
66+ DeserializeExtractedLicensingInfos ( json [ SpdxConstants . FieldHasExtractedLicensingInfos ] ? . AsArray ( ) ) ,
6567 Annotations = DeserializeAnnotations ( json [ SpdxConstants . FieldAnnotations ] ? . AsArray ( ) ) ,
6668 Files = DeserializeFiles ( json [ SpdxConstants . FieldFiles ] ? . AsArray ( ) ) ,
6769 Packages = DeserializePackages ( json [ SpdxConstants . FieldPackages ] ? . AsArray ( ) ) ,
@@ -72,7 +74,7 @@ public static SpdxDocument DeserializeDocument(JsonNode json)
7274 }
7375
7476 /// <summary>
75- /// Deserialize SPDX Creation Information
77+ /// Deserialize SPDX Creation Information
7678 /// </summary>
7779 /// <param name="json">Json Creation Information Node</param>
7880 /// <returns>SPDX Document</returns>
@@ -88,7 +90,7 @@ public static SpdxCreationInformation DeserializeCreationInformation(JsonNode? j
8890 }
8991
9092 /// <summary>
91- /// Deserialize SPDX External Document References
93+ /// Deserialize SPDX External Document References
9294 /// </summary>
9395 /// <param name="json">Json External Document References Array</param>
9496 /// <returns>SPDX External Document References</returns>
@@ -99,7 +101,7 @@ public static SpdxExternalDocumentReference[] DeserializeExternalDocumentReferen
99101 }
100102
101103 /// <summary>
102- /// Deserialize SPDX External Document Reference
104+ /// Deserialize SPDX External Document Reference
103105 /// </summary>
104106 /// <param name="json">Json External Document Reference Node</param>
105107 /// <returns>SPDX External Document Reference</returns>
@@ -114,7 +116,7 @@ public static SpdxExternalDocumentReference DeserializeExternalDocumentReference
114116 }
115117
116118 /// <summary>
117- /// Deserialize SPDX Extracted Licensing Infos
119+ /// Deserialize SPDX Extracted Licensing Infos
118120 /// </summary>
119121 /// <param name="json">Json Extracted Licensing Info Array</param>
120122 /// <returns>SPDX Extracted Licensing Infos</returns>
@@ -124,7 +126,7 @@ public static SpdxExtractedLicensingInfo[] DeserializeExtractedLicensingInfos(Js
124126 }
125127
126128 /// <summary>
127- /// Deserialize SPDX Extracted Licensing Info
129+ /// Deserialize SPDX Extracted Licensing Info
128130 /// </summary>
129131 /// <param name="json">Json Extracted Licensing Info Node</param>
130132 /// <returns>SPDX Extracted Licensing Info</returns>
@@ -141,7 +143,7 @@ public static SpdxExtractedLicensingInfo DeserializeExtractedLicensingInfo(JsonN
141143 }
142144
143145 /// <summary>
144- /// Deserialize SPDX Files
146+ /// Deserialize SPDX Files
145147 /// </summary>
146148 /// <param name="json">Json Files Array</param>
147149 /// <returns>SPDX Files</returns>
@@ -151,7 +153,7 @@ public static SpdxFile[] DeserializeFiles(JsonArray? json)
151153 }
152154
153155 /// <summary>
154- /// Deserialize SPDX File
156+ /// Deserialize SPDX File
155157 /// </summary>
156158 /// <param name="json">Json File Node</param>
157159 /// <returns>SPDX File</returns>
@@ -161,7 +163,8 @@ public static SpdxFile DeserializeFile(JsonNode? json)
161163 {
162164 Id = ParseString ( json , SpdxConstants . FieldSpdxId ) ,
163165 FileName = ParseString ( json , SpdxConstants . FieldFileName ) ,
164- FileTypes = [ ..ParseStringArray ( json , SpdxConstants . FieldFileTypes ) . Select ( SpdxFileTypeExtensions . FromText ) ] ,
166+ FileTypes =
167+ [ ..ParseStringArray ( json , SpdxConstants . FieldFileTypes ) . Select ( SpdxFileTypeExtensions . FromText ) ] ,
165168 Checksums = DeserializeChecksums ( json ? [ SpdxConstants . FieldChecksums ] ? . AsArray ( ) ) ,
166169 ConcludedLicense = ParseString ( json , SpdxConstants . FieldLicenseConcluded ) ,
167170 LicenseInfoInFiles = ParseStringArray ( json , SpdxConstants . FieldLicenseInfoInFiles ) ,
@@ -176,7 +179,7 @@ public static SpdxFile DeserializeFile(JsonNode? json)
176179 }
177180
178181 /// <summary>
179- /// Deserialize SPDX Packages
182+ /// Deserialize SPDX Packages
180183 /// </summary>
181184 /// <param name="json">Json Packages Array</param>
182185 /// <returns>SPDX Packages</returns>
@@ -186,7 +189,7 @@ public static SpdxPackage[] DeserializePackages(JsonArray? json)
186189 }
187190
188191 /// <summary>
189- /// Deserialize SPDX Package
192+ /// Deserialize SPDX Package
190193 /// </summary>
191194 /// <param name="json">Json Package Node</param>
192195 /// <returns>SPDX Package</returns>
@@ -226,7 +229,7 @@ public static SpdxPackage DeserializePackage(JsonNode? json)
226229 }
227230
228231 /// <summary>
229- /// Deserialize SPDX Snippets
232+ /// Deserialize SPDX Snippets
230233 /// </summary>
231234 /// <param name="json">Json Snippets Array</param>
232235 /// <returns>SPDX Snippets</returns>
@@ -236,7 +239,7 @@ public static SpdxSnippet[] DeserializeSnippets(JsonArray? json)
236239 }
237240
238241 /// <summary>
239- /// Deserialize SPDX Snippet
242+ /// Deserialize SPDX Snippet
240243 /// </summary>
241244 /// <param name="json">Json Snippet Node</param>
242245 /// <returns>SPDX Snippet</returns>
@@ -246,10 +249,14 @@ public static SpdxSnippet DeserializeSnippet(JsonNode? json)
246249 {
247250 Id = ParseString ( json , SpdxConstants . FieldSpdxId ) ,
248251 SnippetFromFile = ParseString ( json , SpdxConstants . FieldSnippetFromFile ) ,
249- SnippetByteStart = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldStartPointer , SpdxConstants . FieldOffset ) ? . ToString ( ) ?? "" ) ,
250- SnippetByteEnd = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldEndPointer , SpdxConstants . FieldOffset ) ? . ToString ( ) ?? "" ) ,
251- SnippetLineStart = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldStartPointer , SpdxConstants . FieldLineNumber ) ? . ToString ( ) ?? "" ) ,
252- SnippetLineEnd = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldEndPointer , SpdxConstants . FieldLineNumber ) ? . ToString ( ) ?? "" ) ,
252+ SnippetByteStart = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldStartPointer ,
253+ SpdxConstants . FieldOffset ) ? . ToString ( ) ?? "" ) ,
254+ SnippetByteEnd = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldEndPointer ,
255+ SpdxConstants . FieldOffset ) ? . ToString ( ) ?? "" ) ,
256+ SnippetLineStart = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldStartPointer ,
257+ SpdxConstants . FieldLineNumber ) ? . ToString ( ) ?? "" ) ,
258+ SnippetLineEnd = Convert . ToInt32 ( Find ( json , SpdxConstants . FieldRanges , SpdxConstants . FieldEndPointer ,
259+ SpdxConstants . FieldLineNumber ) ? . ToString ( ) ?? "" ) ,
253260 ConcludedLicense = ParseString ( json , SpdxConstants . FieldLicenseConcluded ) ,
254261 LicenseInfoInSnippet = ParseStringArray ( json , SpdxConstants . FieldLicenseInfoInSnippets ) ,
255262 LicenseComments = ParseOptionalString ( json , SpdxConstants . FieldLicenseComments ) ,
@@ -262,7 +269,7 @@ public static SpdxSnippet DeserializeSnippet(JsonNode? json)
262269 }
263270
264271 /// <summary>
265- /// Deserialize SPDX Relationships
272+ /// Deserialize SPDX Relationships
266273 /// </summary>
267274 /// <param name="json">Json Relationships Array</param>
268275 /// <returns>SPDX Relationships</returns>
@@ -272,7 +279,7 @@ public static SpdxRelationship[] DeserializeRelationships(JsonArray? json)
272279 }
273280
274281 /// <summary>
275- /// Deserialize SPDX Relationship
282+ /// Deserialize SPDX Relationship
276283 /// </summary>
277284 /// <param name="json">Json Relationship Node</param>
278285 /// <returns>SPDX Relationship</returns>
@@ -282,13 +289,14 @@ public static SpdxRelationship DeserializeRelationship(JsonNode? json)
282289 {
283290 Id = ParseString ( json , SpdxConstants . FieldSpdxElementId ) ,
284291 RelatedSpdxElement = ParseString ( json , SpdxConstants . FieldRelatedSpdxElement ) ,
285- RelationshipType = SpdxRelationshipTypeExtensions . FromText ( ParseString ( json , SpdxConstants . FieldRelationshipType ) ) ,
292+ RelationshipType =
293+ SpdxRelationshipTypeExtensions . FromText ( ParseString ( json , SpdxConstants . FieldRelationshipType ) ) ,
286294 Comment = ParseOptionalString ( json , SpdxConstants . FieldComment )
287295 } ;
288296 }
289297
290298 /// <summary>
291- /// Deserialize SPDX Package Verification Code
299+ /// Deserialize SPDX Package Verification Code
292300 /// </summary>
293301 /// <param name="json">Json Package Verification Code Node</param>
294302 /// <returns>SPDX Package Verification Code</returns>
@@ -304,7 +312,7 @@ public static SpdxRelationship DeserializeRelationship(JsonNode? json)
304312 }
305313
306314 /// <summary>
307- /// Deserialize SPDX External References
315+ /// Deserialize SPDX External References
308316 /// </summary>
309317 /// <param name="json">Json External References Array</param>
310318 /// <returns>SPDX External References</returns>
@@ -314,23 +322,24 @@ public static SpdxExternalReference[] DeserializeExternalReferences(JsonArray? j
314322 }
315323
316324 /// <summary>
317- /// Deserialize SPDX External Reference
325+ /// Deserialize SPDX External Reference
318326 /// </summary>
319327 /// <param name="json">Json External Reference Node</param>
320328 /// <returns>SPDX External Reference</returns>
321329 public static SpdxExternalReference DeserializeExternalReference ( JsonNode ? json )
322330 {
323331 return new SpdxExternalReference
324332 {
325- Category = SpdxReferenceCategoryExtensions . FromText ( ParseString ( json , SpdxConstants . FieldReferenceCategory ) ) ,
333+ Category =
334+ SpdxReferenceCategoryExtensions . FromText ( ParseString ( json , SpdxConstants . FieldReferenceCategory ) ) ,
326335 Type = ParseString ( json , SpdxConstants . FieldReferenceType ) ,
327336 Locator = ParseString ( json , SpdxConstants . FieldReferenceLocator ) ,
328337 Comment = ParseOptionalString ( json , SpdxConstants . FieldComment )
329338 } ;
330339 }
331340
332341 /// <summary>
333- /// Deserialize SPDX Checksums
342+ /// Deserialize SPDX Checksums
334343 /// </summary>
335344 /// <param name="json">Json Checksums Array</param>
336345 /// <returns>SPDX Checksums</returns>
@@ -340,7 +349,7 @@ public static SpdxChecksum[] DeserializeChecksums(JsonArray? json)
340349 }
341350
342351 /// <summary>
343- /// Deserialize SPDX Checksum
352+ /// Deserialize SPDX Checksum
344353 /// </summary>
345354 /// <param name="json">Json Checksum Node</param>
346355 /// <returns>SPDX Checksum</returns>
@@ -354,7 +363,7 @@ public static SpdxChecksum DeserializeChecksum(JsonNode? json)
354363 }
355364
356365 /// <summary>
357- /// Deserialize SPDX Annotations
366+ /// Deserialize SPDX Annotations
358367 /// </summary>
359368 /// <param name="json">Json Annotations Array</param>
360369 /// <returns>SPDX Annotations</returns>
@@ -364,7 +373,7 @@ public static SpdxAnnotation[] DeserializeAnnotations(JsonArray? json)
364373 }
365374
366375 /// <summary>
367- /// Deserialize SPDX Annotation
376+ /// Deserialize SPDX Annotation
368377 /// </summary>
369378 /// <param name="json">Json Annotation Node</param>
370379 /// <returns>SPDX Annotation</returns>
@@ -381,7 +390,7 @@ public static SpdxAnnotation DeserializeAnnotation(JsonNode? json)
381390 }
382391
383392 /// <summary>
384- /// Deserialize JSON String
393+ /// Deserialize JSON String
385394 /// </summary>
386395 /// <param name="node">Json Node</param>
387396 /// <param name="name">String Name</param>
@@ -392,7 +401,7 @@ private static string ParseString(JsonNode? node, string name)
392401 }
393402
394403 /// <summary>
395- /// Deserialize JSON Optional String
404+ /// Deserialize JSON Optional String
396405 /// </summary>
397406 /// <param name="node">Json Node</param>
398407 /// <param name="name">String Name</param>
@@ -403,7 +412,7 @@ private static string ParseString(JsonNode? node, string name)
403412 }
404413
405414 /// <summary>
406- /// Deserialize Json String Array
415+ /// Deserialize Json String Array
407416 /// </summary>
408417 /// <param name="node">Json Node</param>
409418 /// <param name="name">Strings Name</param>
@@ -414,7 +423,7 @@ private static string[] ParseStringArray(JsonNode? node, string name)
414423 }
415424
416425 /// <summary>
417- /// Deserialize Json Boolean
426+ /// Deserialize Json Boolean
418427 /// </summary>
419428 /// <param name="node">Json Node</param>
420429 /// <param name="name">Bool Name</param>
@@ -425,7 +434,7 @@ private static string[] ParseStringArray(JsonNode? node, string name)
425434 }
426435
427436 /// <summary>
428- /// Find a node
437+ /// Find a node
429438 /// </summary>
430439 /// <param name="node">Starting node</param>
431440 /// <param name="names">Node search path</param>
@@ -436,7 +445,7 @@ private static string[] ParseStringArray(JsonNode? node, string name)
436445 }
437446
438447 /// <summary>
439- /// Find a named node
448+ /// Find a named node
440449 /// </summary>
441450 /// <param name="node">Starting node</param>
442451 /// <param name="idx">Name index</param>
0 commit comments