diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..8000214 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "opacapp-config-files"] + path = opacapp-config-files + url = git://github.com/opacapp/opacapp-config-files.git diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..6bba276 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +language: java +jdk: + - oraclejdk8 diff --git a/opacapp-config-files b/opacapp-config-files new file mode 160000 index 0000000..79a4094 --- /dev/null +++ b/opacapp-config-files @@ -0,0 +1 @@ +Subproject commit 79a409448b21ae8297486d7ad05541f4e6699f8b diff --git a/src/main/java/de/codefor/opacapi/RestAPI.java b/src/main/java/de/codefor/opacapi/RestAPI.java index da60d7c..4f453ed 100644 --- a/src/main/java/de/codefor/opacapi/RestAPI.java +++ b/src/main/java/de/codefor/opacapi/RestAPI.java @@ -33,6 +33,8 @@ @RestController public class RestAPI { + public static final String CONFIG_FILES_PATH = "./opacapp-config-files/bibs"; + private static String readFile(String fileName) throws IOException { try (BufferedReader br = new BufferedReader(new FileReader(fileName))) { StringBuilder sb = new StringBuilder(); @@ -47,6 +49,16 @@ private static String readFile(String fileName) throws IOException { } } + + private File[] getConfigFiles() { + return new File(CONFIG_FILES_PATH).listFiles(); + } + + private File getConfigFile(String libraryName) { + return new File(String.format("%s/%s.json", CONFIG_FILES_PATH, libraryName)); + } + + @RequestMapping(value = "/libraries/{libraryName}/search", method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, @@ -203,7 +215,7 @@ private void checkSearchTerm(String searchTerm) { private OpacApi getOpacApi(String libraryName) { try { - File file = new File("../opacapp-config-files/bibs/" + libraryName + ".json"); + File file = getConfigFile(libraryName); Library library = Library.fromJSON(libraryName, new JSONObject(readFile(file.getAbsolutePath()))); return OpacApiFactory.create(library, new DummyStringProvider(), new HttpClientFactory("HelloOpac/1.0.0", new OpacAPI().pathToTrustStore()), null, null); @@ -217,9 +229,7 @@ private OpacApi getOpacApi(String libraryName) { private List libraries(String nameOfCity) { List libraries = new ArrayList<>(); - File[] listOfFiles = new File("../opacapp-config-files/bibs").listFiles(); - - for (File file : listOfFiles) { + for (File file : getConfigFiles()) { String libraryName = file.getName().replace(".json", ""); @@ -240,8 +250,7 @@ public List libraries() { List libraries = new ArrayList<>(); - File[] listOfFiles = new File("../opacapp-config-files/bibs").listFiles(); - for (File file : listOfFiles) { + for (File file : getConfigFiles()) { libraries.add(file.getName().replace(".json", "")); }