From 283377a38c83e8ef434880620b8d0d6af6953e06 Mon Sep 17 00:00:00 2001 From: Gary O'Neall Date: Sat, 19 Jun 2021 08:54:13 -0700 Subject: [PATCH] Resolve issue #11 - allow no spaces in exteral doc ref Signed-off-by: Gary O'Neall --- src/main/java/org/spdx/tag/BuildDocument.java | 2 +- src/test/java/org/spdx/tag/TestBuildDocument.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/spdx/tag/BuildDocument.java b/src/main/java/org/spdx/tag/BuildDocument.java index d2b5f96..ff85468 100644 --- a/src/main/java/org/spdx/tag/BuildDocument.java +++ b/src/main/java/org/spdx/tag/BuildDocument.java @@ -175,7 +175,7 @@ public void setProjectUri(String projectUri) throws InvalidSPDXAnalysisException } } - private static Pattern EXTERNAL_DOC_REF_PATTERN = Pattern.compile("(\\S+)\\s+(\\S+)\\s+SHA1:\\s+(\\S+)"); + private static Pattern EXTERNAL_DOC_REF_PATTERN = Pattern.compile("(\\S+)\\s+(\\S+)\\s+SHA1:\\s*(\\S+)"); private static Pattern RELATIONSHIP_PATTERN = Pattern.compile("(\\S+)\\s+(\\S+)\\s+(\\S+)"); public static Pattern CHECKSUM_PATTERN = Pattern.compile("([A-Za-z0-9\\-_]+)(:|\\s)\\s*(\\S+)"); private static Pattern NUMBER_RANGE_PATTERN = Pattern.compile("(\\d+):(\\d+)"); diff --git a/src/test/java/org/spdx/tag/TestBuildDocument.java b/src/test/java/org/spdx/tag/TestBuildDocument.java index e5b283b..b72abd7 100644 --- a/src/test/java/org/spdx/tag/TestBuildDocument.java +++ b/src/test/java/org/spdx/tag/TestBuildDocument.java @@ -76,6 +76,12 @@ public class TestBuildDocument extends TestCase { static final String EXTERNAL_DOC_REF_SHA1 = "d6a770ba38583ed4bb4525bd96e50461655d2759"; static final String EXTERNAL_DOC_REF_TAG = "ExternalDocumentRef: " + EXTERNAL_DOC_REF_NAME + " " + EXTERNAL_DOC_REF_URI + " SHA1: " + EXTERNAL_DOC_REF_SHA1; + static final String EXTERNAL_DOC_REF_NAME2 = "DocumentRef-spdx-tool-2.0"; + static final String EXTERNAL_DOC_REF2_URI = "http://spdx.org/spdxdocs/spdx-tools-v2.0-3F2504E0-4F89-41D3-9A0C-0305E82C3301"; + static final String EXTERNAL_DOC_REF2_SHA1 = "aaa770ba38583ed4bb4525bd96e50461655d2759"; + static final String EXTERNAL_DOC_REF2_TAG = "ExternalDocumentRef: " + EXTERNAL_DOC_REF_NAME2 + + " " + EXTERNAL_DOC_REF2_URI + " SHA1:" + EXTERNAL_DOC_REF2_SHA1; // NOTE: No space between SHA1 and hash + static final String EXTERNAL_DOC_REF_TAGS = EXTERNAL_DOC_REF_TAG + "\n" + EXTERNAL_DOC_REF2_TAG; // Creator static final String CREATOR_TOOL = "Tool: LicenseFind-1.0"; @@ -289,12 +295,12 @@ public class TestBuildDocument extends TestCase { static final String LICENSE_REF2_EXTRACTED_TEXT_TAG = "ExtractedText: " + LICENSE_REF2_EXTRACTED_TEXT + ""; static final String LICENSE_REF2_TAGS = LICENSE_REF2_LICENSEID_TAG + "\n" + LICENSE_REF2_EXTRACTED_TEXT_TAG; - String SIMPLE_TAGDOCUMENT = DOC_LEVEL_TAGS + "\n" + EXTERNAL_DOC_REF_TAG + "\n" + + String SIMPLE_TAGDOCUMENT = DOC_LEVEL_TAGS + "\n" + EXTERNAL_DOC_REF_TAGS + "\n" + CREATOR_TAGS + "\n" + DOC_ANNOTATION_TAGS + "\n" + DOC_RELATIONSHIP_TAGS + "\n" + PACKAGE_TAGS + "\n" + FILE_LIB_TAGS + "\n" + SNIPPET_LIB_TAGS + "\n" + LICENSE_REF1_TAGS + "\n" + LICENSE_REF2_TAGS; - String TAGDOCUMENT_NO_FILES = DOC_LEVEL_TAGS + "\n" + EXTERNAL_DOC_REF_TAG + "\n" + + String TAGDOCUMENT_NO_FILES = DOC_LEVEL_TAGS + "\n" + EXTERNAL_DOC_REF_TAGS + "\n" + CREATOR_TAGS + "\n" + DOC_ANNOTATION_TAGS + "\n" + DOC_RELATIONSHIP_TAGS + "\n" + PACKAGE_TAGS_NO_FILES + "\n" + LICENSE_REF1_TAGS + "\n" + LICENSE_REF2_TAGS;