This is an automated email from the ASF dual-hosted git repository. jbonofre pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/karaf-minho.git
commit e3cbb4a0891c5866657d23f76ca73519a02bc39b Author: Jean-Baptiste Onofré <[email protected]> AuthorDate: Wed Nov 23 06:00:57 2022 +0100 - Log the classpath content loaded by Minho Main - Load minho config files from working directory - Use default properties in Minho REST service --- boot/src/main/java/org/apache/karaf/minho/boot/Main.java | 3 +++ .../apache/karaf/minho/config/json/JsonConfigLoaderService.java | 7 ++++--- .../minho/config/properties/PropertiesConfigLoaderService.java | 6 ++++++ .../java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/boot/src/main/java/org/apache/karaf/minho/boot/Main.java b/boot/src/main/java/org/apache/karaf/minho/boot/Main.java index 03efb62..69807dc 100644 --- a/boot/src/main/java/org/apache/karaf/minho/boot/Main.java +++ b/boot/src/main/java/org/apache/karaf/minho/boot/Main.java @@ -41,14 +41,17 @@ public class Main { System.out.println("Minho lib: " + minhoLib); Path libFolder = Paths.get(minhoLib); ArrayList<URL> urls = new ArrayList<URL>(); + System.out.print("Loaded libraries: "); Files.walkFileTree(libFolder, new SimpleFileVisitor<>() { public FileVisitResult visitFile(Path file, BasicFileAttributes attributes) throws IOException { if (!Files.isDirectory(file)) { + System.out.print(file.toFile().toURI().toURL() + ":"); urls.add(file.toFile().toURI().toURL()); } return FileVisitResult.CONTINUE; } }); + System.out.println(); URLClassLoader classLoader = new URLClassLoader(urls.toArray(new URL[]{})); Thread.currentThread().setContextClassLoader(classLoader); } else { diff --git a/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java b/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java index 1cc07a8..754bd7a 100644 --- a/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java +++ b/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java @@ -47,6 +47,7 @@ public class JsonConfigLoaderService implements Service { @Override public void onRegister(final ServiceRegistry serviceRegistry) throws Exception { Config config = null; + File minhoJson = new File("./minho.json"); if (System.getenv("MINHO_CONFIG") != null) { log.info("Loading JSON configuration from MINHO_CONFIG env variable"); StringReader reader = new StringReader(System.getenv("MINHO_CONFIG")); @@ -63,9 +64,9 @@ public class JsonConfigLoaderService implements Service { } else if (JsonConfigLoaderService.class.getResourceAsStream("/minho.json") != null) { log.info("Loading JSON configuration from classpath minho.json"); config = loadJson(JsonConfigLoaderService.class.getResourceAsStream("/minho.json")); - } else { - log.info("JSON configuration not found"); - return; + } else if (minhoJson.exists()) { + log.info("Loading JSON configuration from current directory: ./minho.json"); + config = loadJson(new FileReader(minhoJson)); } final var existing = serviceRegistry.get(Config.class); diff --git a/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java b/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java index 663a1db..d29031d 100644 --- a/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java +++ b/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java @@ -23,7 +23,9 @@ import org.apache.karaf.minho.boot.config.Config; import org.apache.karaf.minho.boot.service.ServiceRegistry; import org.apache.karaf.minho.boot.spi.Service; +import java.io.File; import java.io.FileInputStream; +import java.io.FileReader; import java.io.StringReader; import java.util.List; import java.util.Map; @@ -49,6 +51,7 @@ public class PropertiesConfigLoaderService implements Service { @Override public void onRegister(final ServiceRegistry serviceRegistry) throws Exception { Properties properties = new Properties(); + File minhoProperties = new File("./minho.properties"); if (System.getenv("MINHO_CONFIG") != null) { log.info("Loading properties from MINHO_CONFIG env variable"); properties.load(new StringReader(System.getenv("MINHO_CONFIG"))); @@ -64,6 +67,9 @@ public class PropertiesConfigLoaderService implements Service { } else if (PropertiesConfigLoaderService.class.getResourceAsStream("/minho.properties") != null) { log.info("Loading configuration from classpath minho.properties"); properties.load(PropertiesConfigLoaderService.class.getResourceAsStream("/minho.properties")); + } else if (minhoProperties.exists()){ + log.info("Loading configuration from current directory: ./minho.properties"); + properties.load(new FileReader(minhoProperties)); } Config config = parse(properties); final var existing = serviceRegistry.get(Config.class); diff --git a/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java b/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java index a2278bd..1940fe2 100644 --- a/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java +++ b/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java @@ -56,7 +56,7 @@ public class JerseyRestService implements Service { if (config != null && config.getProperty(REST_PACKAGES) != null) { restPackages = config.getProperty(REST_PACKAGES); } else { - throw new IllegalStateException("rest.packages configuration is not found in the ConfigService"); + restPackages = "org.apache.karaf.minho"; } log.info("Starting minho-rest-service");
