Skip to content

Commit 61a84dd

Browse files
Varun Jaingoneall
authored andcommitted
Support file path (file:/) for download location regex
1 parent e7212a6 commit 61a84dd

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/main/java/org/spdx/library/SpdxConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ public class SpdxConstants {
366366

367367
// Download Location Format
368368
private static final String SUPPORTED_DOWNLOAD_REPOS = "(git|hg|svn|bzr)";
369-
private static final String URL_PATTERN = "(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/|ssh:\\/\\/|git:\\/\\/|svn:\\/\\/|sftp:\\/\\/|ftp:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+){0,100}\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?";
369+
private static final String URL_PATTERN = "(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/|ssh:\\/\\/|git:\\/\\/|svn:\\/\\/|sftp:\\/\\/|ftp:\\/\\/|file:\\/\\/|file:\\/)?[a-zA-Z0-9\\.\\-\\ \\_]+(:[0-9]{1,5})?(\\/.*)?";
370370
private static final String GIT_PATTERN = "(git\\+git@[a-zA-Z0-9\\.\\-]+:[a-zA-Z0-9/\\\\.@\\-]+)";
371371
private static final String BAZAAR_PATTERN = "(bzr\\+lp:[a-zA-Z0-9\\.\\-]+)";
372372
public static final Pattern DOWNLOAD_LOCATION_PATTERN = Pattern.compile("^(NONE|NOASSERTION|(("+SUPPORTED_DOWNLOAD_REPOS+"\\+)?"+URL_PATTERN+")|"+GIT_PATTERN+"|"+BAZAAR_PATTERN+")$", Pattern.CASE_INSENSITIVE);

src/test/java/org/spdx/library/SpdxVerificationHelperTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,12 @@ public void testVerifyChecksumString() {
156156
public void testVerifyDownloadLocation() {
157157
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("NONE")));
158158
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("NOASSERTION")));
159+
//file
160+
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file:/Users/dummy/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
161+
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file://Users/dummy_user/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
162+
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file:/path.123A/dummy_123/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
163+
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file://path_ . -abc/dummy.user/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
164+
159165
// http
160166
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz")));
161167
// git

0 commit comments

Comments
 (0)