diff options
Diffstat (limited to 'bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java')
-rw-r--r-- | bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java index 2170875bd..eb554cddc 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java @@ -62,6 +62,7 @@ public class Storage { private static final String JAVASE = "JavaSE"; //$NON-NLS-1$ private static final String PROFILE_EXT = ".profile"; //$NON-NLS-1$ private static final String NUL = new String(new byte[] {0}); + private static final String INITIAL_LOCATION = "initial@"; //$NON-NLS-1$ static final SecureAction secureAction = AccessController.doPrivileged(SecureAction.createSecureAction()); @@ -448,7 +449,13 @@ public class Storage { ModuleRevision current = module.getCurrentRevision(); Generation generation = (Generation) current.getRevisionInfo(); String updateLocation = generation.getHeaders().get(Constants.BUNDLE_UPDATELOCATION); - return updateLocation == null ? module.getLocation() : updateLocation; + if (updateLocation == null) { + updateLocation = module.getLocation(); + } + if (updateLocation.startsWith(INITIAL_LOCATION)) { + updateLocation = updateLocation.substring(INITIAL_LOCATION.length()); + } + return updateLocation; } private URLConnection getContentConnection(final String spec) throws IOException { |