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