Author: mnuttall
Date: Mon Jan 11 09:36:27 2010
New Revision: 897815

URL: http://svn.apache.org/viewvc?rev=897815&view=rev
Log:
ARIES-89: Implement application support: Make BundleConverter usable: 
simplification

Modified:
    
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/BundleConverter.java
    
incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java

Modified: 
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/BundleConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/BundleConverter.java?rev=897815&r1=897814&r2=897815&view=diff
==============================================================================
--- 
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/BundleConverter.java
 (original)
+++ 
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/BundleConverter.java
 Mon Jan 11 09:36:27 2010
@@ -22,10 +22,12 @@
 import java.io.InputStream;
 
 import org.apache.aries.application.filesystem.IDirectory;
+import org.apache.aries.application.filesystem.IFile;
 
 /**
  * A BundleConverter turns a .jar that is not an OSGi bundle into a well 
formed OSGi bundle,
- * or a .war that is not a WAB into a WAB. 
+ * or a .war that is not a WAB into a WAB. The first converter to return a 
non-null result is
+ * taken as having fully converted the bundle. 
  */
 public interface BundleConverter {
   /**
@@ -38,6 +40,6 @@
    *                   
    * @return valid input stream or null if the bundle could not be converted. 
    */
-  public InputStream convert (InputStream inputBundle, IDirectory parentEba, 
String pathToArtifact);
+  public InputStream convert (IDirectory parentEba, IFile fileInEba);
 
 }

Modified: 
incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java?rev=897815&r1=897814&r2=897815&view=diff
==============================================================================
--- 
incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java
 (original)
+++ 
incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/AriesApplicationManagerImpl.java
 Mon Jan 11 09:36:27 2010
@@ -118,27 +118,27 @@
               extraBundlesInfo.add(new BundleInfoImpl(bm, 
f.toURL().toExternalForm()));
             } else { 
               // We have a jar that needs converting to a bundle, or a war to 
migrate to a WAB
-              InputStream is = null;
-              try { 
-                is = f.open();
-                InputStream convertedBinary = null;
-                Iterator<BundleConverter> converters = 
_bundleConverters.iterator();
-                while (converters.hasNext() && convertedBinary == null) { 
-                  try { 
-                    // WarToWabConverter can extract application.xml via
-                    // eba.getFile(AppConstants.APPLICATION_XML);
-                    convertedBinary = converters.next().convert(is, ebaFile, 
f.getName());
-                  } catch (ServiceException sx) {
-                    // We'll get this if our optional BundleConverter has not 
been injected. 
-                  }
+              InputStream convertedBinary = null;
+              Iterator<BundleConverter> converters = 
_bundleConverters.iterator();
+              while (converters.hasNext() && convertedBinary == null) { 
+                try { 
+                  // WarToWabConverter can extract application.xml via
+                  // eba.getFile(AppConstants.APPLICATION_XML);
+                  convertedBinary = converters.next().convert(ebaFile, f);
+                } catch (ServiceException sx) {
+                  // We'll get this if our optional BundleConverter has not 
been injected. 
                 }
-                if (convertedBinary != null) { 
-                  modifiedBundles.put (f.getName(), convertedBinary); 
+              }
+              if (convertedBinary != null) { 
+                modifiedBundles.put (f.getName(), convertedBinary);
+                InputStream is = null;
+                try { 
+                  is = f.open();
                   bm = BundleManifest.fromBundle(is);
-                  extraBundlesInfo.add(new BundleInfoImpl(bm, f.getName()));
+                } finally { 
+                  IOUtils.close(is);
                 }
-              } finally { 
-                IOUtils.close(is);
+                extraBundlesInfo.add(new BundleInfoImpl(bm, f.getName()));
               }
             }
           } 


Reply via email to