You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/02/12 22:28:45 UTC
svn commit: r743888 -
/servicemix/smx4/nmr/trunk/jbi/management/src/main/java/org/apache/servicemix/jbi/management/AbstractInstaller.java
Author: gnodet
Date: Thu Feb 12 21:28:44 2009
New Revision: 743888
URL: http://svn.apache.org/viewvc?rev=743888&view=rev
Log:
Avoid NPE when the jbi artifact transformation fails
Modified:
servicemix/smx4/nmr/trunk/jbi/management/src/main/java/org/apache/servicemix/jbi/management/AbstractInstaller.java
Modified: servicemix/smx4/nmr/trunk/jbi/management/src/main/java/org/apache/servicemix/jbi/management/AbstractInstaller.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/jbi/management/src/main/java/org/apache/servicemix/jbi/management/AbstractInstaller.java?rev=743888&r1=743887&r2=743888&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/jbi/management/src/main/java/org/apache/servicemix/jbi/management/AbstractInstaller.java (original)
+++ servicemix/smx4/nmr/trunk/jbi/management/src/main/java/org/apache/servicemix/jbi/management/AbstractInstaller.java Thu Feb 12 21:28:44 2009
@@ -144,20 +144,23 @@
protected File transformArtifact(File file) throws Exception {
// Check registered deployers
ServiceReference[] srvRefs = bundleContext.getAllServiceReferences(DeploymentListener.class.getName(), null);
- if(srvRefs != null) {
- for(ServiceReference sr : srvRefs) {
- try {
- DeploymentListener deploymentListener = (DeploymentListener) bundleContext.getService(sr);
- if (deploymentListener.canHandle(file)) {
- File transformedFile = deploymentListener.handle(file, getGenerateDir());
- artifactToBundle.put(file.getAbsolutePath(), transformedFile.getAbsolutePath());
- return transformedFile;
- }
- } finally {
- bundleContext.ungetService(sr);
- }
- }
- }
+ if (srvRefs != null) {
+ for (ServiceReference sr : srvRefs) {
+ try {
+ DeploymentListener deploymentListener = (DeploymentListener) bundleContext.getService(sr);
+ if (deploymentListener.canHandle(file)) {
+ File transformedFile = deploymentListener.handle(file, getGenerateDir());
+ if (transformedFile == null) {
+ throw new IllegalStateException("Unable to transform JBI artifact to an OSGi bundle");
+ }
+ artifactToBundle.put(file.getAbsolutePath(), transformedFile.getAbsolutePath());
+ return transformedFile;
+ }
+ } finally {
+ bundleContext.ungetService(sr);
+ }
+ }
+ }
JarFile jar = null;
try {
// Handle OSGi bundles with the default deployer