diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/DevelConfigLoader.java b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/DevelConfigLoader.java index 934a472c4..fa4885bae 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/DevelConfigLoader.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/DevelConfigLoader.java @@ -96,15 +96,20 @@ public class DevelConfigLoader implements ConfigLoader { } } - public void setConfigurableProviders() { + private void setConfigurableProviders() { String filePath = environment.getProperty("configuration.configurable_login_providers"); - String current = null; + String current; InputStream is = null; try { current = new java.io.File(".").getCanonicalPath(); - is = new URL("file:///" + current + filePath).openStream(); - ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - this.configurableProviders = mapper.readValue(is, ConfigurableProviders.class); + File tempFile = new File(current + filePath); + if (tempFile.exists()) { + is = new URL("file:///" + current + filePath).openStream(); + ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + this.configurableProviders = mapper.readValue(is, ConfigurableProviders.class); + } else { + this.configurableProviders = new ConfigurableProviders(); + } } catch (IOException e) { e.printStackTrace(); } finally { diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/ProductionConfigLoader.java b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/ProductionConfigLoader.java index 57d16e2c0..366ab1874 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/ProductionConfigLoader.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/configloaders/ProductionConfigLoader.java @@ -11,10 +11,7 @@ import org.springframework.stereotype.Service; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.net.URL; import java.nio.file.Paths; import java.util.LinkedList; @@ -88,16 +85,26 @@ public class ProductionConfigLoader implements ConfigLoader { } } - public void setConfigurableProviders() { + private void setConfigurableProviders() { String filePath = environment.getProperty("configuration.configurable_login_providers"); - String current = null; + InputStream is = null; try { - current = new java.io.File(".").getCanonicalPath(); - InputStream is = new URL(Paths.get(filePath).toUri().toURL().toString()).openStream(); - ObjectMapper objectMapper = new ObjectMapper(); - this.configurableProviders = objectMapper.readValue(is, ConfigurableProviders.class); + File tempFile = new File(filePath); + if (tempFile.exists()) { + is = new URL(Paths.get(filePath).toUri().toURL().toString()).openStream(); + ObjectMapper objectMapper = new ObjectMapper(); + this.configurableProviders = objectMapper.readValue(is, ConfigurableProviders.class); + } else { + this.configurableProviders = new ConfigurableProviders(); + } } catch (IOException e) { e.printStackTrace(); + } finally { + try { + if (is != null) is.close(); + } catch (IOException e) { + System.out.println("Warning: Could not close a stream after reading from file: " + filePath); + } } }