You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2015/03/27 10:14:34 UTC

camel git commit: CAMEL-8546 Polished the code to avoid NPE when camel-script have some trouble to load the script engine

Repository: camel
Updated Branches:
  refs/heads/master ee9139498 -> 213410178


CAMEL-8546 Polished the code to avoid NPE when camel-script have some trouble to load the script engine


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/21341017
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/21341017
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/21341017

Branch: refs/heads/master
Commit: 2134101785a5638fa58aaeea485c8b47b007a2db
Parents: ee91394
Author: Willem Jiang <wi...@gmail.com>
Authored: Fri Mar 27 17:13:52 2015 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Fri Mar 27 17:14:13 2015 +0800

----------------------------------------------------------------------
 .../java/org/apache/camel/script/osgi/Activator.java | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/21341017/components/camel-script/src/main/java/org/apache/camel/script/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/components/camel-script/src/main/java/org/apache/camel/script/osgi/Activator.java b/components/camel-script/src/main/java/org/apache/camel/script/osgi/Activator.java
index 4ffb37d..0db41a4 100644
--- a/components/camel-script/src/main/java/org/apache/camel/script/osgi/Activator.java
+++ b/components/camel-script/src/main/java/org/apache/camel/script/osgi/Activator.java
@@ -90,7 +90,10 @@ public class Activator implements BundleActivator, BundleTrackerCustomizer, Serv
             service.register();
         }
         resolvers.put(bundle.getBundleId(), r);
-        updateAvailableScriptLanguages();
+        // Only update the script language engine when the resolver is changed
+        if (r.size() > 0) {
+            updateAvailableScriptLanguages();
+        }
         return bundle;
     }
 
@@ -208,7 +211,13 @@ public class Activator implements BundleActivator, BundleTrackerCustomizer, Serv
         }
 
         private List<String> getScriptNames(ScriptEngineFactory factory) {
-            List<String> names = factory.getNames();
+            List<String> names = null;
+            if (factory != null) {
+                names = factory.getNames();
+            } else {
+                // return an empty script name list
+                names = new ArrayList<String>(0);
+            }
             return names;
         }
 
@@ -223,7 +232,7 @@ public class Activator implements BundleActivator, BundleTrackerCustomizer, Serv
                 }
                 return (ScriptEngineFactory) cls.newInstance();
             } catch (Exception e) {
-                //do something
+                LOG.warn("Cannot create the ScriptEngineFactory: " + e.getClass().getName(), e);
                 return null;
             }
         }