You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "Junbo Li (JIRA)" <ji...@apache.org> on 2018/08/30 23:42:00 UTC

[jira] [Created] (ZEPPELIN-3752) Cannot initiate class defined in Zeppelin

Junbo Li created ZEPPELIN-3752:
----------------------------------

             Summary: Cannot initiate class defined in Zeppelin
                 Key: ZEPPELIN-3752
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3752
             Project: Zeppelin
          Issue Type: Improvement
          Components: zeppelin-interpreter
    Affects Versions: 0.7.3
            Reporter: Junbo Li


Cannot initiate class defined in Zeppelin.

Example:

 
{code:java}
class MyClass
{code}
{quote}{{defined class MyClass}}{quote}
I can create instance via new statement of course

 
{code:java}
new MyClass{code}
 
{quote}{{res1: MyClass = MyClass@9debbf4}}{quote}
But cannot create instance via reflection

 
{code:java}
classOf[MyClass].getConstructors.head.newInstance()
{code}
{quote}java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
... 72 elided{quote}
The constructor requires an argument $iw, looks like this:
{code:java}
classOf[MyClass].getConstructors{code}
{quote}{{Array[java.lang.reflect.Constructor[_]] = Array(public MyClass($iw))}}{quote}
But even with $iw, it fails:

 
{code:java}
classOf[MyClass].getConstructors.head.newInstance($iw){code}
{quote}{{java.lang.NullPointerException}}{{... 77 elided}}{quote}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)