diff --git a/src/main/java/org/spdx/library/SpdxConstants.java b/src/main/java/org/spdx/library/SpdxConstants.java index e1080b6b2..41967413c 100644 --- a/src/main/java/org/spdx/library/SpdxConstants.java +++ b/src/main/java/org/spdx/library/SpdxConstants.java @@ -228,6 +228,7 @@ public class SpdxConstants { public static final String PROP_BUILT_DATE = "builtDate"; public static final String PROP_RELEASE_DATE = "releaseDate"; public static final String PROP_VALID_UNTIL_DATE = "validUntilDate"; + public static final Pattern REFERENCE_TYPE_URI_PATTERN = Pattern.compile("https?://spdx.org/rdf/references/.+"); // SPDX License Properties // The comment property is the RDFS_PROP_COMMENT property in the rdfs namespace diff --git a/src/main/java/org/spdx/library/model/SimpleUriValue.java b/src/main/java/org/spdx/library/model/SimpleUriValue.java index ddd9950aa..64dd0e7d5 100644 --- a/src/main/java/org/spdx/library/model/SimpleUriValue.java +++ b/src/main/java/org/spdx/library/model/SimpleUriValue.java @@ -100,6 +100,8 @@ public Object toModelObject(IModelStore store, String documentUri, ModelCopyMana return ExternalSpdxElement.uriToExternalSpdxElement(uri, store, documentUri, copyManager); } else if (SpdxConstants.EXTERNAL_EXTRACTED_LICENSE_URI_PATTERN.matcher(uri).matches()) { return ExternalExtractedLicenseInfo.uriToExternalExtractedLicense(uri, store, documentUri, copyManager); + } else if (SpdxConstants.REFERENCE_TYPE_URI_PATTERN.matcher(uri).matches()) { + return new ReferenceType(this); } else if (SpdxConstants.URI_VALUE_NONE.equals(uri)) { // Default value is a license, although it can also be a string or an SpdxElement // the caller should override the type based on the type expected