From 64329069bf0627a5e1621970104ba4d081ec7704 Mon Sep 17 00:00:00 2001 From: Menny Even Danan Date: Fri, 30 Apr 2021 11:22:43 -0400 Subject: [PATCH] Fix for null licenses --- .../evendanan/bazel/mvn/api/model/License.java | 7 ++++++- .../bazel/mvn/impl/DependencyToolsTest.java | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/resolver/src/main/java/net/evendanan/bazel/mvn/api/model/License.java b/resolver/src/main/java/net/evendanan/bazel/mvn/api/model/License.java index fe512f7b..e91dc53c 100644 --- a/resolver/src/main/java/net/evendanan/bazel/mvn/api/model/License.java +++ b/resolver/src/main/java/net/evendanan/bazel/mvn/api/model/License.java @@ -16,6 +16,11 @@ public enum Class { public abstract String url(); public static License create(String name, String url) { - return new AutoValue_License(name, url); + return new AutoValue_License(nullToEmpty(name), nullToEmpty(url)); + } + + private static String nullToEmpty(String str) { + if (str == null) return ""; + else return str; } } diff --git a/resolver/src/main/javatest/net/evendanan/bazel/mvn/impl/DependencyToolsTest.java b/resolver/src/main/javatest/net/evendanan/bazel/mvn/impl/DependencyToolsTest.java index 8c139f34..f300a8d3 100644 --- a/resolver/src/main/javatest/net/evendanan/bazel/mvn/impl/DependencyToolsTest.java +++ b/resolver/src/main/javatest/net/evendanan/bazel/mvn/impl/DependencyToolsTest.java @@ -224,4 +224,19 @@ public void testLicenseClassParsing() { Assert.assertEquals(License.Class.permissive, LicenseTools.classFromLicenseName("WTFPL")); } + + @Test + public void testAutoValueLicenseCreate() { + Assert.assertEquals("License", License.create("License", "https://example.com/license.txt").name()); + Assert.assertEquals("https://example.com/license.txt", License.create("License", "https://example.com/license.txt").url()); + + + Assert.assertEquals("", License.create("", "whatever").name()); + Assert.assertEquals("", License.create(null, "whatever").name()); + + Assert.assertEquals("", License.create("License", "").url()); + Assert.assertEquals("", License.create("License", null).url()); + + Assert.assertEquals("", License.create(null, null).name()); + } }