X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=blobdiff_plain;f=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2Fosgi%2FOsgiBootUtils.java;fp=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2Fosgi%2FOsgiBootUtils.java;h=0000000000000000000000000000000000000000;hp=a782ac37b078bf7835489df5cb69144d834c89e4;hb=b95462873703848193e56fcbe997693630db6121;hpb=55d88fba80cec198a0f11ba7545e19878c51fc5e diff --git a/org.argeo.init/src/org/argeo/init/osgi/OsgiBootUtils.java b/org.argeo.init/src/org/argeo/init/osgi/OsgiBootUtils.java deleted file mode 100644 index a782ac37b..000000000 --- a/org.argeo.init/src/org/argeo/init/osgi/OsgiBootUtils.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.argeo.init.osgi; - -import java.lang.System.Logger; -import java.lang.System.Logger.Level; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.ServiceLoader; -import java.util.StringTokenizer; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleException; -import org.osgi.framework.launch.Framework; -import org.osgi.framework.launch.FrameworkFactory; - -/** Utilities, mostly related to logging. */ -public class OsgiBootUtils { - private final static Logger logger = System.getLogger(OsgiBootUtils.class.getName()); - - public static void info(Object obj) { - logger.log(Level.INFO, () -> Objects.toString(obj)); - } - - public static void debug(Object obj) { - logger.log(Level.TRACE, () -> Objects.toString(obj)); - } - - public static void warn(Object obj) { - logger.log(Level.WARNING, () -> Objects.toString(obj)); - } - - public static void error(Object obj, Throwable e) { - logger.log(Level.ERROR, () -> Objects.toString(obj), e); - } - - public static boolean isDebug() { - return logger.isLoggable(Level.TRACE); - } - - public static String stateAsString(int state) { - switch (state) { - case Bundle.UNINSTALLED: - return "UNINSTALLED"; - case Bundle.INSTALLED: - return "INSTALLED"; - case Bundle.RESOLVED: - return "RESOLVED"; - case Bundle.STARTING: - return "STARTING"; - case Bundle.ACTIVE: - return "ACTIVE"; - case Bundle.STOPPING: - return "STOPPING"; - default: - return Integer.toString(state); - } - } - - /** - * @return ==0: versions are identical, <0: tested version is newer, >0: - * currentVersion is newer. - */ - public static int compareVersions(String currentVersion, String testedVersion) { - List cToks = new ArrayList(); - StringTokenizer cSt = new StringTokenizer(currentVersion, "."); - while (cSt.hasMoreTokens()) - cToks.add(cSt.nextToken()); - List tToks = new ArrayList(); - StringTokenizer tSt = new StringTokenizer(currentVersion, "."); - while (tSt.hasMoreTokens()) - tToks.add(tSt.nextToken()); - - int comp = 0; - comp: for (int i = 0; i < cToks.size(); i++) { - if (tToks.size() <= i) { - // equals until then, tested shorter - comp = 1; - break comp; - } - - String c = (String) cToks.get(i); - String t = (String) tToks.get(i); - - try { - int cInt = Integer.parseInt(c); - int tInt = Integer.parseInt(t); - if (cInt == tInt) - continue comp; - else { - comp = (cInt - tInt); - break comp; - } - } catch (NumberFormatException e) { - if (c.equals(t)) - continue comp; - else { - comp = c.compareTo(t); - break comp; - } - } - } - - if (comp == 0 && tToks.size() > cToks.size()) { - // equals until then, current shorter - comp = -1; - } - - return comp; - } - - public static Framework launch(Map configuration) { - Optional frameworkFactory = ServiceLoader.load(FrameworkFactory.class).findFirst(); - if (frameworkFactory.isEmpty()) - throw new IllegalStateException("No framework factory found"); - return launch(frameworkFactory.get(), configuration); - } - - /** Launch an OSGi framework. */ - public static Framework launch(FrameworkFactory frameworkFactory, Map configuration) { - // start OSGi - Framework framework = frameworkFactory.newFramework(configuration); - try { - framework.start(); - } catch (BundleException e) { - throw new IllegalStateException("Cannot start OSGi framework", e); - } - return framework; - } - - @Deprecated - public static Map equinoxArgsToConfiguration(String[] args) { - // FIXME implement it - return new HashMap<>(); - } - -}