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);
+ }
+
+}