|
31 | 31 | import org.spdx.library.ListedLicenses; |
32 | 32 | import org.spdx.library.model.v2.SpdxConstantsCompatV2; |
33 | 33 | import org.spdx.library.model.v2.SpdxCreatorInformation; |
| 34 | +import org.spdx.library.model.v2.pointer.ByteOffsetPointer; |
| 35 | +import org.spdx.library.model.v2.pointer.LineCharPointer; |
| 36 | +import org.spdx.library.model.v2.pointer.StartEndPointer; |
34 | 37 | import org.spdx.library.model.v3_0_1.ModelObjectV3; |
35 | 38 | import org.spdx.library.model.v3_0_1.SpdxConstantsV3; |
36 | 39 | import org.spdx.library.model.v3_0_1.SpdxModelClassFactoryV3; |
@@ -1461,21 +1464,29 @@ public Snippet convertAndStore(org.spdx.library.model.v2.SpdxSnippet fromSnippet |
1461 | 1464 | Snippet toSnippet = (Snippet)SpdxModelClassFactoryV3.getModelObject(toModelStore, |
1462 | 1465 | toObjectUri, SpdxConstantsV3.SOFTWARE_SNIPPET, copyManager, true, defaultUriPrefix); |
1463 | 1466 | convertItemProperties(fromSnippet, toSnippet); |
1464 | | - org.spdx.library.model.v2.pointer.StartEndPointer fromByteRange = fromSnippet.getByteRange(); |
| 1467 | + StartEndPointer fromByteRange = fromSnippet.getByteRange(); |
1465 | 1468 | if (Objects.nonNull(fromByteRange)) { |
1466 | | - //noinspection DataFlowIssue |
1467 | | - toSnippet.setByteRange(toSnippet.createPositiveIntegerRange(toModelStore.getNextId(IdType.Anonymous)) |
1468 | | - .setBeginIntegerRange(((org.spdx.library.model.v2.pointer.ByteOffsetPointer)fromByteRange.getStartPointer()).getOffset()) |
1469 | | - .setEndIntegerRange(((org.spdx.library.model.v2.pointer.ByteOffsetPointer)fromByteRange.getEndPointer()).getOffset()) |
1470 | | - .build()); |
| 1469 | + // noinspection DataFlowIssue |
| 1470 | + ByteOffsetPointer startPointer = (ByteOffsetPointer) fromByteRange.getStartPointer(); |
| 1471 | + ByteOffsetPointer endPointer = (ByteOffsetPointer) fromByteRange.getEndPointer(); |
| 1472 | + if (Objects.nonNull(startPointer) && Objects.nonNull(endPointer)) { |
| 1473 | + toSnippet.setByteRange(toSnippet |
| 1474 | + .createPositiveIntegerRange(toModelStore.getNextId(IdType.Anonymous)) |
| 1475 | + .setBeginIntegerRange(startPointer.getOffset()) |
| 1476 | + .setEndIntegerRange(endPointer.getOffset()).build()); |
| 1477 | + } |
1471 | 1478 | } |
1472 | | - Optional<org.spdx.library.model.v2.pointer.StartEndPointer> fromLineRange = fromSnippet.getLineRange(); |
| 1479 | + Optional<StartEndPointer> fromLineRange = fromSnippet.getLineRange(); |
1473 | 1480 | if (fromLineRange.isPresent()) { |
1474 | | - //noinspection DataFlowIssue |
1475 | | - toSnippet.setLineRange(toSnippet.createPositiveIntegerRange(toModelStore.getNextId(IdType.Anonymous)) |
1476 | | - .setBeginIntegerRange(((org.spdx.library.model.v2.pointer.LineCharPointer)fromLineRange.get().getStartPointer()).getLineNumber()) |
1477 | | - .setEndIntegerRange(((org.spdx.library.model.v2.pointer.LineCharPointer)fromLineRange.get().getEndPointer()).getLineNumber()) |
1478 | | - .build()); |
| 1481 | + // noinspection DataFlowIssue |
| 1482 | + LineCharPointer startPointer = (LineCharPointer) fromLineRange.get().getStartPointer(); |
| 1483 | + LineCharPointer endPointer = (LineCharPointer) fromLineRange.get().getEndPointer(); |
| 1484 | + if (Objects.nonNull(startPointer) && Objects.nonNull(endPointer)) { |
| 1485 | + toSnippet.setLineRange(toSnippet |
| 1486 | + .createPositiveIntegerRange(toModelStore.getNextId(IdType.Anonymous)) |
| 1487 | + .setBeginIntegerRange(startPointer.getLineNumber()) |
| 1488 | + .setEndIntegerRange(endPointer.getLineNumber()).build()); |
| 1489 | + } |
1479 | 1490 | } |
1480 | 1491 | toSnippet.setSnippetFromFile(convertAndStore(Objects.requireNonNull(fromSnippet.getSnippetFromFile()))); |
1481 | 1492 | return toSnippet; |
|
0 commit comments