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()));
}
}
}