X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.osgi.boot%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fboot%2FOsgiBoot.java;h=38da0479f6d5579742f9d00c655c35fd2c254416;hb=2e2c3e5676b392b2a14be719df55cd41c9b3f53e;hp=8ca9be77bb1d3b26fdb742dda6a2bcf4189dcee3;hpb=1091271b89f2d12e9898e01f6639c48831b1bc4b;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.osgi.boot/src/org/argeo/osgi/boot/OsgiBoot.java b/org.argeo.osgi.boot/src/org/argeo/osgi/boot/OsgiBoot.java index 8ca9be77b..38da0479f 100644 --- a/org.argeo.osgi.boot/src/org/argeo/osgi/boot/OsgiBoot.java +++ b/org.argeo.osgi.boot/src/org/argeo/osgi/boot/OsgiBoot.java @@ -19,6 +19,7 @@ import static org.argeo.osgi.boot.OsgiBootUtils.debug; import static org.argeo.osgi.boot.OsgiBootUtils.warn; import java.io.File; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; @@ -31,7 +32,8 @@ import java.util.SortedMap; import java.util.StringTokenizer; import java.util.TreeMap; -import org.argeo.osgi.boot.a2.ProvisioningManager; +import org.argeo.osgi.a2.A2Source; +import org.argeo.osgi.a2.ProvisioningManager; import org.argeo.osgi.boot.internal.springutil.AntPathMatcher; import org.argeo.osgi.boot.internal.springutil.PathMatcher; import org.argeo.osgi.boot.internal.springutil.SystemPropertyUtils; @@ -52,7 +54,7 @@ import org.osgi.framework.wiring.FrameworkWiring; public class OsgiBoot implements OsgiBootConstants { public final static String PROP_ARGEO_OSGI_START = "argeo.osgi.start"; public final static String PROP_ARGEO_OSGI_SOURCES = "argeo.osgi.sources"; - + public final static String PROP_ARGEO_OSGI_BUNDLES = "argeo.osgi.bundles"; public final static String PROP_ARGEO_OSGI_BASE_URL = "argeo.osgi.baseUrl"; public final static String PROP_ARGEO_OSGI_LOCAL_CACHE = "argeo.osgi.localCache"; @@ -101,7 +103,8 @@ public class OsgiBoot implements OsgiBootConstants { /** Constructor */ public OsgiBoot(BundleContext bundleContext) { this.bundleContext = bundleContext; - String homeUri = Paths.get(System.getProperty("user.home")).toUri().toString(); + Path homePath = Paths.get(System.getProperty("user.home")).toAbsolutePath(); + String homeUri = homePath.toUri().toString(); localCache = getProperty(PROP_ARGEO_OSGI_LOCAL_CACHE, homeUri + ".m2/repository/"); provisioningManager = new ProvisioningManager(bundleContext); @@ -110,11 +113,22 @@ public class OsgiBoot implements OsgiBootConstants { provisioningManager.registerDefaultSource(); } else { for (String source : sources.split(",")) { - provisioningManager.registerSource(source); + if (source.trim().equals(A2Source.DEFAULT_A2_URI)) { + provisioningManager + .registerSource(A2Source.SCHEME_A2 + "://" + homePath.toString() + "/.local/share/osgi"); + provisioningManager.registerSource(A2Source.SCHEME_A2 + ":///usr/local/share/osgi"); + provisioningManager.registerSource(A2Source.SCHEME_A2 + ":///usr/share/osgi"); + } else { + provisioningManager.registerSource(source); + } } } } + ProvisioningManager getProvisioningManager() { + return provisioningManager; + } + /* * HIGH-LEVEL METHODS */ @@ -162,6 +176,7 @@ public class OsgiBoot implements OsgiBootConstants { public void update() { provisioningManager.update(); } + /* * INSTALLATION */