diff --git a/pom.xml b/pom.xml index d5622d3..a1d9d3b 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,8 @@ 3.0.0-M4 - org.leolo.map.osm.extract.test.MainTest + org.leolo.map.osm.extract.test.** + diff --git a/src/main/java/org/leolo/map/osm/extract/model/InputType.java b/src/main/java/org/leolo/map/osm/extract/model/InputType.java new file mode 100644 index 0000000..bb3e99d --- /dev/null +++ b/src/main/java/org/leolo/map/osm/extract/model/InputType.java @@ -0,0 +1,6 @@ +package org.leolo.map.osm.extract.model; + +public enum InputType { + FILE, + URL; +} diff --git a/src/main/java/org/leolo/map/osm/extract/util/InputUtil.java b/src/main/java/org/leolo/map/osm/extract/util/InputUtil.java new file mode 100644 index 0000000..9092b4f --- /dev/null +++ b/src/main/java/org/leolo/map/osm/extract/util/InputUtil.java @@ -0,0 +1,18 @@ +package org.leolo.map.osm.extract.util; + +import org.leolo.map.osm.extract.model.InputType; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Locale; + +public class InputUtil { + public static InputType identifyInputType(String str){ + try { + URL url = new URL(str); + } catch (Exception e) { + return InputType.FILE; + } + return InputType.URL; + } +} diff --git a/src/test/java/org/leolo/map/osm/extract/test/InputTypeTest.java b/src/test/java/org/leolo/map/osm/extract/test/InputTypeTest.java new file mode 100644 index 0000000..e451e5f --- /dev/null +++ b/src/test/java/org/leolo/map/osm/extract/test/InputTypeTest.java @@ -0,0 +1,50 @@ +package org.leolo.map.osm.extract.test; + +import org.junit.jupiter.api.Test; +import org.leolo.map.osm.extract.model.InputType; +import org.leolo.map.osm.extract.util.InputUtil; + +import static org.junit.jupiter.api.Assertions.*; + +public class InputTypeTest { + + @Test void testFilePath(){ + assertEquals(InputUtil.identifyInputType("abc.xml"), InputType.FILE); + assertEquals(InputUtil.identifyInputType("../abc.xml"), InputType.FILE); + assertEquals(InputUtil.identifyInputType("./abc.xml"), InputType.FILE); + assertEquals(InputUtil.identifyInputType("..\\abc.xml"), InputType.FILE); + assertEquals(InputUtil.identifyInputType("/tmp/abc.xml"), InputType.FILE); + } + + @Test void testUPCPath(){ + assertEquals(InputUtil.identifyInputType("\\\\somecomputer\\somefolder\\abc.xml"), InputType.FILE); + } + + @Test void testURL(){ + assertEquals(InputUtil.identifyInputType("http://www.example.com"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://www.example.com"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a@www.example.com"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a@www.example.com"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a:1234@www.example.com"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a:1234@www.example.com"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://www.example.com:8521"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://www.example.com:8521"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a@www.example.com:8521"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a@www.example.com:8521"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a:1234@www.example.com:8521"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a:1234@www.example.com:8521"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://www.example.com/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://www.example.com/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a@www.example.com/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a@www.example.com/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a:1234@www.example.com/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a:1234@www.example.com/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://www.example.com:8521/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://www.example.com:8521/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a@www.example.com:8521/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a@www.example.com:8521/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("http://a:1234@www.example.com:8521/abc.xml"), InputType.URL); + assertEquals(InputUtil.identifyInputType("https://a:1234@www.example.com:8521/abc.xml"), InputType.URL); + } + +}