Ignasi Barrera created JCLOUDS-1199:
---------------------------------------

             Summary: jclouds-cli throws NPE in compute list commands
                 Key: JCLOUDS-1199
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1199
             Project: jclouds
          Issue Type: Bug
          Components: jclouds-cli
    Affects Versions: 2.0.0
            Reporter: Ignasi Barrera


In [this commit in 
jclouds-karaf|https://github.com/jclouds/jclouds-karaf/commit/df7d4de364e7ccf4288c50ff44616e0cd691a4ae]
 we changed the way in which the {{ScriptEngineManager}} was loaded.

Before that commit, the script engine manager was hardcoded to an instance that 
did not work properly in OSGI environments, so we changed the way it was 
initialised to let it be injected the right instance.

While this works well in Karaf, this breaks the jclouds-cli when not using the 
interactive mode. When using the shell script, the CLI [directly creates the 
Command 
instances|https://github.com/jclouds/jclouds-cli/blob/master/runner/src/main/java/org/jclouds/cli/runner/Main.java#L347],
 and those instances are now missing the {{ScriptEngineManager}} object, 
resulting in the mentioned NPE.

My proposed fix would be to manually set the {{new ScriptEngineManager()}} in 
the CLI, just after creating the command. This way the CLI keeps the legacy 
behavior while we don't couple jclouds-karaf to a script engine that does not 
work well in OSGi environments.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to