You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2022/11/23 08:18:23 UTC

[karaf-minho] 01/02: - Log the classpath content loaded by Minho Main - Load minho config files from working directory - Use default properties in Minho REST service

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é <jb...@apache.org>
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");