From: Mathieu Baudier Date: Tue, 28 Jul 2009 11:55:34 +0000 (+0000) Subject: Improve provisioning via OSGiBoot X-Git-Tag: argeo-slc-2.1.7~1595 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=60b5c14f8a0c092e40090b23647fa15601b0c822;p=gpl%2Fargeo-slc.git Improve provisioning via OSGiBoot git-svn-id: https://svn.argeo.org/slc/trunk@2819 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/OsgiBoot.java b/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/OsgiBoot.java index 788c0babf..dbcb458f6 100644 --- a/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/OsgiBoot.java +++ b/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/OsgiBoot.java @@ -193,6 +193,8 @@ public class OsgiBoot { if (modulesUrlStr == null) return urls; + String baseUrl = getProperty(PROP_SLC_OSGI_BASE_URL); + Map installedBundles = getBundles(); BufferedReader reader = null; @@ -207,6 +209,8 @@ public class OsgiBoot { String moduleName = st.nextToken(); String moduleVersion = st.nextToken(); String url = st.nextToken(); + if (baseUrl != null) + url = baseUrl + url; if (installedBundles.containsKey(moduleName)) { Bundle bundle = (Bundle) installedBundles.get(moduleName); diff --git a/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/build/OsgiRuntimeModularDistribution.java b/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/build/OsgiRuntimeModularDistribution.java index 1c68cf5c3..7f3b49a38 100644 --- a/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/build/OsgiRuntimeModularDistribution.java +++ b/runtime/org.argeo.slc.support.osgi/src/main/java/org/argeo/slc/osgi/build/OsgiRuntimeModularDistribution.java @@ -28,14 +28,20 @@ public class OsgiRuntimeModularDistribution extends for (Bundle bundle : getBundleContext().getBundles()) { OsgiBundle osgiBundle = new OsgiBundle(bundle); - String location = bundle.getLocation(); - if (location.startsWith("reference:file:")) - location = location.substring("reference:".length()); + String originalLocation = bundle.getLocation(); + String location = originalLocation; + if (originalLocation.startsWith("reference:file:")) + location = originalLocation.substring("reference:".length()); + try { URL url = new URL(location); Resource res = resourceLoader.getResource(url.toString()); distributions.put(osgiBundle, new VersionedResourceDistribution(osgiBundle, res)); + + if (log.isTraceEnabled()) + log.debug("Added url " + url + " from original location " + + originalLocation); } catch (Exception e) { log.warn("Cannot interpret location " + location + " of bundle " + bundle + ": " + e);