You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jw...@apache.org on 2012/06/25 03:18:20 UTC

svn commit: r1353375 - in /aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal: Activator.java BundleResource.java

Author: jwross
Date: Mon Jun 25 01:18:19 2012
New Revision: 1353375

URL: http://svn.apache.org/viewvc?rev=1353375&view=rev
Log:
ARIES-825: Multiple changes.
(1) Added support for bundle jars that don't contain the manifest as the first entry.
(2) Fixed issue in activator preventing proper restarts.

Modified:
    aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java
    aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java

Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java?rev=1353375&r1=1353374&r2=1353375&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/Activator.java Mon Jun 25 01:18:19 2012
@@ -202,7 +202,7 @@ public class Activator implements Bundle
 	
 	private boolean isActive() {
 		synchronized (Activator.class) {
-			return instance != null;
+			return instance != null && subsystems != null;
 		}
 	}
 	

Modified: aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java
URL: http://svn.apache.org/viewvc/aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java?rev=1353375&r1=1353374&r2=1353375&view=diff
==============================================================================
--- aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java (original)
+++ aries/trunk/subsystem/subsystem-core/src/main/java/org/apache/aries/subsystem/core/internal/BundleResource.java Mon Jun 25 01:18:19 2012
@@ -18,8 +18,6 @@ import java.io.InputStream;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
 
 import org.apache.aries.subsystem.core.archive.BundleManifest;
 import org.apache.aries.subsystem.core.archive.BundleSymbolicNameHeader;
@@ -52,19 +50,7 @@ public class BundleResource implements R
 	
 	private BundleResource(URL content) throws IOException {
 		this.content = content;
-		JarInputStream jis = new JarInputStream(content.openStream());
-		try {
-			Manifest manifest = jis.getManifest();
-			if (manifest == null)
-				throw new IllegalArgumentException("The jar file contained no manifest");
-			this.manifest = new BundleManifest(manifest);
-		}
-		finally {
-			try {
-				jis.close();
-			}
-			catch (IOException e) {}
-		}
+		manifest = new BundleManifest(org.apache.aries.util.manifest.BundleManifest.fromBundle(content.openStream()).getRawManifest());
 		ExportPackageHeader eph = (ExportPackageHeader)manifest.getHeader(ExportPackageHeader.NAME);
 		if (eph != null)
 			capabilities.addAll(eph.toCapabilities(this));