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/17 09:19:53 UTC
[karaf-minho] branch main updated: [#33] Add Minho.getInstancec() convenient method to access Minho running instance
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
The following commit(s) were added to refs/heads/main by this push:
new 7e7f72c [#33] Add Minho.getInstancec() convenient method to access Minho running instance
new 90f2a02 Merge pull request #34 from jbonofre/33
7e7f72c is described below
commit 7e7f72ca14e8997c8c75060d32b77d5372a7e066
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Thu Nov 17 10:04:33 2022 +0100
[#33] Add Minho.getInstancec() convenient method to access Minho running instance
---
boot/src/main/java/org/apache/karaf/minho/boot/Main.java | 8 ++++----
boot/src/main/java/org/apache/karaf/minho/boot/Minho.java | 14 +++++++++++++-
.../test/java/org/apache/karaf/boot/minho/MinhoTest.java | 13 +++++++++++++
3 files changed, 30 insertions(+), 5 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 edb45fd..03efb62 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
@@ -30,11 +30,11 @@ import java.util.ArrayList;
public class Main {
public static final void main(String[] args) throws Exception {
- boolean karafJar = false;
- karafJar = (System.getenv("MINHO_JAR") != null) ? System.getenv("MINHO_JAR").equalsIgnoreCase("true") : karafJar;
- karafJar = (System.getProperty("minho.jar") != null) ? System.getProperty("minho.jar").equalsIgnoreCase("true") : karafJar;
+ boolean minhoJar = false;
+ minhoJar = (System.getenv("MINHO_JAR") != null) ? System.getenv("MINHO_JAR").equalsIgnoreCase("true") : minhoJar;
+ minhoJar = (System.getProperty("minho.jar") != null) ? System.getProperty("minho.jar").equalsIgnoreCase("true") : minhoJar;
- if (!karafJar) {
+ if (!minhoJar) {
log.info("Starting runtime in exploded mode");
// try to load classpath
String minhoLib = (System.getProperty("minho.lib") != null) ? System.getProperty("minho.lib") : System.getProperty("user.dir");
diff --git a/boot/src/main/java/org/apache/karaf/minho/boot/Minho.java b/boot/src/main/java/org/apache/karaf/minho/boot/Minho.java
index b4344d6..e225169 100644
--- a/boot/src/main/java/org/apache/karaf/minho/boot/Minho.java
+++ b/boot/src/main/java/org/apache/karaf/minho/boot/Minho.java
@@ -35,6 +35,8 @@ import java.util.stream.Stream;
@Data
public class Minho implements AutoCloseable {
+ private static Minho instance;
+
private final ServiceLoader loader;
private final ServiceRegistry serviceRegistry = new ServiceRegistry();
@@ -55,7 +57,8 @@ public class Minho implements AutoCloseable {
}
(this.loader == null ? loadServices() : this.loader.load()).forEach(serviceRegistry::add);
serviceRegistry.start();
- return this;
+ instance = this;
+ return instance;
}
private Stream<Service> loadServices() {
@@ -71,4 +74,13 @@ public class Minho implements AutoCloseable {
serviceRegistry.close();
}
+ /**
+ * Retrieve the Minho instance.
+ *
+ * @return the Minho instance.
+ */
+ public static Minho getInstance() {
+ return instance;
+ }
+
}
diff --git a/boot/src/test/java/org/apache/karaf/boot/minho/MinhoTest.java b/boot/src/test/java/org/apache/karaf/boot/minho/MinhoTest.java
index 5d8b19c..21e4755 100644
--- a/boot/src/test/java/org/apache/karaf/boot/minho/MinhoTest.java
+++ b/boot/src/test/java/org/apache/karaf/boot/minho/MinhoTest.java
@@ -21,6 +21,7 @@ import org.apache.karaf.minho.boot.Minho;
import org.apache.karaf.minho.boot.config.Config;
import org.apache.karaf.minho.boot.service.ConfigService;
import org.apache.karaf.minho.boot.service.LifeCycleService;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.stream.Stream;
@@ -51,4 +52,16 @@ class MinhoTest {
assertEquals("world", configService.getProperty("hello"));
}
}
+
+ @Test
+ void getInstance() throws Exception {
+ Minho minho = Minho.builder().build().start();
+
+ Minho instance = Minho.getInstance();
+
+ Assertions.assertTrue(minho == instance);
+
+ Assertions.assertNotNull(instance.getServiceRegistry().get(ConfigService.class));
+ }
+
}