javonet-ruby-sdk 2.1.10 → 2.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/javonet-ruby-sdk.gemspec +11 -10
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Cpp/Linux/X64/libJavonetCppRuntime.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Cpp/MacOs/X64/libJavonetCppRuntime.dylib +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/exception/ExceptionThrower.js +29 -8
  50. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetItemHandler.js +18 -4
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetRankHandler.js +17 -1
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArraySetItemHandler.js +21 -5
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/CastingHandler.js +1 -1
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetStaticFieldHandler.js +4 -5
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetTypeHandler.js +3 -3
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/LoadLibraryHandler.js +2 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ReferencesCache.js +1 -1
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetStaticFieldHandler.js +3 -3
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +1 -1
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/CommandType.js +6 -4
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/exception/ExceptionThrower.js +29 -8
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetItemHandler.js +18 -4
  72. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetRankHandler.js +17 -1
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArraySetItemHandler.js +21 -5
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/CastingHandler.js +1 -1
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetStaticFieldHandler.js +4 -5
  80. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetTypeHandler.js +3 -3
  81. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  82. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  83. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  84. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/LoadLibraryHandler.js +2 -2
  85. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ReferencesCache.js +1 -1
  86. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  87. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  88. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetStaticFieldHandler.js +3 -3
  89. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +1 -1
  90. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +6 -4
  91. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/exception/ExceptionThrower.js +29 -8
  92. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetItemHandler.js +18 -4
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetRankHandler.js +17 -1
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArraySetItemHandler.js +21 -5
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/CastingHandler.js +1 -1
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  100. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetStaticFieldHandler.js +4 -5
  101. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetTypeHandler.js +3 -3
  102. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  103. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  104. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  105. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/LoadLibraryHandler.js +2 -2
  106. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ReferencesCache.js +1 -1
  107. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  108. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  109. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetStaticFieldHandler.js +3 -3
  110. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +1 -1
  111. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/CommandType.js +6 -4
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +89 -89
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  128. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  129. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  131. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
  132. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
  133. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
  134. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
  135. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Class/Load/XS/XS.bundle +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Clone/Clone.bundle +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Data/UUID/UUID.bundle +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/FFI/Platypus/Platypus.bundle +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Moose/Moose.bundle +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/PPI/XS/XS.bundle +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Package/Stash/XS/XS.bundle +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Params/Util/Util.bundle +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Scalar/Util/Numeric/Numeric.bundle +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Want/Want.bundle +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/autobox/autobox.bundle +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +1 -1
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +87 -87
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +19 -3
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/Handler.py +1 -3
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +4 -4
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +17 -10
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +6 -4
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/Type.py +1 -2
  176. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core → Linux/X64/javonet/utils}/exception/ExceptionThrower.py +63 -48
  177. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core → Linux/X64/javonet/utils}/exception/JavonetException.py +0 -2
  178. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  179. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  180. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  181. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  182. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +19 -3
  183. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  184. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/Handler.py +1 -3
  185. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +4 -4
  186. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  187. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +17 -10
  188. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  189. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  190. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +6 -4
  191. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/Type.py +1 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core → MacOs/X64/javonet/utils}/exception/ExceptionThrower.py +26 -11
  193. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core → MacOs/X64/javonet/utils}/exception/JavonetException.py +0 -2
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  200. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  201. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  202. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +19 -3
  203. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  204. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  212. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  213. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  220. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  221. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  222. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  223. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/Handler.py +1 -3
  228. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +4 -4
  234. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  236. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  237. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +17 -10
  238. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  239. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  240. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  243. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  244. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  245. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  246. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +6 -4
  248. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/Type.py +1 -2
  249. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  250. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  251. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  252. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  253. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  254. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  255. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  256. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  257. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core → Windows/X64/javonet/utils}/exception/ExceptionThrower.py +63 -48
  258. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/JavonetException.py +0 -2
  259. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  260. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  261. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  262. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  263. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  264. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  265. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +14 -8
  266. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  267. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  268. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  269. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  270. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +14 -8
  271. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  272. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  273. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  274. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  275. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +14 -8
  276. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_item_handler.rb +31 -4
  277. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  278. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_size_handler.rb +21 -2
  279. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_set_item_handler.rb +30 -4
  280. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +11 -5
  281. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +8 -8
  282. data/lib/javonet-ruby-sdk/sdk/internal/runtime_context.rb +12 -0
  283. data/lib/javonet-ruby-sdk/utils/command_type.rb +14 -8
  284. metadata +70 -56
  285. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  286. /data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  287. /data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/{core → utils}/exception/__init__.py +0 -0
  288. /data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  289. /data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/{core → utils}/exception/__init__.py +0 -0
  290. /data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  291. /data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/__init__.py +0 -0
@@ -11,11 +11,27 @@ class ArraySetItemHandler(AbstractCommandHandler):
11
11
  raise Exception("ArraySetItemHandler parameters mismatch!")
12
12
 
13
13
  array = command.payload[0]
14
- value = command.payload[1]
15
- indexes = command.payload[2:]
14
+
15
+ value = command.payload[2]
16
+ if isinstance(command.payload[1], list):
17
+ indexes = command.payload[1]
18
+ else:
19
+ indexes = [command.payload[1]]
20
+
21
+ if isinstance(command.payload[0], dict):
22
+ array[indexes[0]] = value
23
+
24
+ # one-dimensional array
16
25
  if len(indexes) == 1:
17
26
  array[indexes[0]] = value
18
- return 0
27
+ # multi-dimensional array
28
+ else:
29
+ for i in range((len(indexes)-1)):
30
+ array = array[indexes[i]]
31
+
32
+ array[indexes[-1]] = value
33
+
34
+ return 0
19
35
 
20
36
  except Exception as e:
21
37
  exc_type, exc_value = type(e), e
@@ -9,7 +9,6 @@ class CreateClassInstanceHandler(AbstractCommandHandler):
9
9
 
10
10
  def process(self, command):
11
11
  try:
12
-
13
12
  if len(command.payload) < self._required_parameters_count:
14
13
  raise Exception("CreateClassInstanceHandler parameters mismatch!")
15
14
  clazz = command.payload[0]
@@ -1,5 +1,3 @@
1
- import traceback
2
-
3
1
  from javonet.core.handler.AbstractHandler import AbstractHandler
4
2
  from javonet.core.handler.CommandHandler.ValueHandler import ValueHandler
5
3
  from javonet.core.handler.CommandHandler.LoadLibraryHandler import LoadLibraryHandler
@@ -25,7 +23,7 @@ from javonet.core.handler.CommandHandler.GetEnumValueHandler import GetEnumValue
25
23
 
26
24
  from javonet.core.handler.HandlerDictionary import handler_dict
27
25
  from javonet.core.handler.ReferencesCache import ReferencesCache
28
- from javonet.core.exception.ExceptionSerializer import ExceptionSerializer
26
+ from javonet.utils.exception.ExceptionSerializer import ExceptionSerializer
29
27
  from javonet.utils.CommandType import CommandType
30
28
  from javonet.utils.Command import Command
31
29
 
@@ -10,7 +10,7 @@ class Interpreter:
10
10
 
11
11
  def execute(self, command, connection_type, tcp_address):
12
12
  command_serializer = CommandSerializer()
13
- serialized_command = command_serializer.encode(command, connection_type, tcp_address)
13
+ serialized_command = command_serializer.serialize(command, connection_type, tcp_address)
14
14
  if command.runtime_name == RuntimeName.python:
15
15
  from javonet.core.receiver.Receiver import Receiver
16
16
  response = Receiver().SendCommand(serialized_command, len(serialized_command))
@@ -19,13 +19,13 @@ class Interpreter:
19
19
  response = PythonTransmitter.send_command(serialized_command)
20
20
  command_deserializer = CommandDeserializer(response, len(response))
21
21
 
22
- return command_deserializer.decode()
22
+ return command_deserializer.deserialize()
23
23
 
24
24
  def process(self, byte_array, byte_array_len):
25
25
  command_deserializer = CommandDeserializer(byte_array, byte_array_len)
26
- received_command = command_deserializer.decode()
26
+ received_command = command_deserializer.deserialize()
27
27
  python_handler = Handler()
28
28
  command_serializer = CommandSerializer()
29
29
  response_command = python_handler.handle_command(received_command)
30
- encoded_response = command_serializer.encode(response_command, 0, "0.0.0.0:0")
30
+ encoded_response = command_serializer.serialize(response_command, 0, "0.0.0.0:0")
31
31
  return encoded_response
@@ -21,41 +21,38 @@ class CommandDeserializer:
21
21
  def is_at_end(self):
22
22
  return self.position == self.buffer_len
23
23
 
24
- def decode(self):
24
+ def deserialize(self):
25
25
  while not self.is_at_end():
26
26
  self.command = self.command.add_arg_to_payload(self.read_object(self.buffer[self.position]))
27
27
  return self.command
28
28
 
29
29
  # def copy_from(self, bytes_to_copy, elements_to_skip):
30
30
  # size = len(bytes_to_copy) - elements_to_skip
31
- # new_byte_array = bytes_to_copy[size]
32
- #
33
- #
31
+ # new_byte_array = bytes_to_copy[size:]
34
32
  # return new_byte_array
35
33
 
36
34
  def read_object(self, type_num):
37
35
  type_value = Type(type_num)
38
- if type_value == Type.Command:
39
- return self.read_command()
40
- elif type_value == Type.JavonetInteger:
41
- return self.read_int()
42
- elif type_value == Type.JavonetString:
43
- return self.read_string()
44
- elif type_value == Type.JavonetBoolean:
45
- return self.read_bool()
46
- elif type_value == Type.JavonetFloat:
47
- return self.read_float()
48
- elif type_value == Type.JavonetDouble:
49
- return self.read_double()
50
- else:
51
- Exception("Type not supported")
36
+ switch = {
37
+ Type.Command: self.read_command,
38
+ Type.JavonetString: self.read_string,
39
+ Type.JavonetInteger: self.read_int,
40
+ Type.JavonetBoolean: self.read_bool,
41
+ Type.JavonetFloat: self.read_float,
42
+ Type.JavonetByte: self.read_byte,
43
+ Type.JavonetChar: self.read_char,
44
+ Type.JavonetLongLong: self.read_longlong,
45
+ Type.JavonetDouble: self.read_double,
46
+ Type.JavonetUnsignedLongLong: self.read_ullong,
47
+ Type.JavonetUnsignedInteger: self.read_uint,
48
+ }
49
+ return switch.get(type_value, lambda: Exception("Type not supported"))()
52
50
 
53
51
  def read_command(self):
54
52
  p = self.position
55
53
  number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
56
54
  runtime = self.buffer[p + 5]
57
55
  command_type = self.buffer[p + 6]
58
-
59
56
  self.position += 7
60
57
  return_command = Command(RuntimeName(runtime), CommandType(command_type), [])
61
58
  return self.read_command_recursively(number_of_elements_in_payload, return_command)
@@ -68,45 +65,75 @@ class CommandDeserializer:
68
65
  cmd = cmd.add_arg_to_payload(self.read_object(self.buffer[p]))
69
66
  return self.read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
70
67
 
71
- def read_int(self):
72
- self.position += 2
73
- p = self.position
74
- self.position += 4
75
- return TypeDeserializer.deserialize_int(self.buffer[p:p + 4])
76
-
77
68
  def read_string(self):
78
69
  p = self.position
79
70
  string_encoding_mode = StringEncodingMode(self.buffer[p+1])
80
71
  size = TypeDeserializer.deserialize_int(self.buffer[p + 2:p + 6])
81
72
  self.position += 6
82
73
  p = self.position
83
- decoded_string = TypeDeserializer.deserialize_string(string_encoding_mode, self.buffer[p:p + size])
84
74
  self.position += size
85
- return decoded_string
75
+ return TypeDeserializer.deserialize_string(string_encoding_mode, self.buffer[p:p + size])
86
76
 
87
- def read_bool(self):
77
+ def read_int(self):
78
+ size = 4
79
+ self.position += 2
88
80
  p = self.position
89
- size = self.buffer[p + 1]
81
+ self.position += size
82
+ return TypeDeserializer.deserialize_int(self.buffer[p:p + size])
83
+
84
+ def read_bool(self):
85
+ size = 1
90
86
  self.position += 2
91
87
  p = self.position
92
- decoded_bool = TypeDeserializer.deserialize_bool(self.buffer[p:p + size])
93
88
  self.position += size
94
- return decoded_bool
89
+ return TypeDeserializer.deserialize_bool(self.buffer[p:p+size])
95
90
 
96
91
  def read_float(self):
92
+ size = 4
93
+ self.position += 2
94
+ p = self.position
95
+ self.position += size
96
+ return TypeDeserializer.deserialize_float(self.buffer[p:p + size])
97
+
98
+ def read_byte(self):
99
+ size = 1
100
+ self.position += 2
97
101
  p = self.position
98
- size = self.buffer[p + 1]
102
+ self.position += size
103
+ return TypeDeserializer.deserialize_byte(self.buffer[p:p+size])
104
+
105
+ def read_char(self):
106
+ size = 1
107
+ self.position += 2
108
+ p = self.position
109
+ self.position += size
110
+ return TypeDeserializer.deserialize_char(self.buffer[p:p+size])
111
+
112
+ def read_longlong(self):
113
+ size = 8
99
114
  self.position += 2
100
115
  p = self.position
101
- decoded_float = TypeDeserializer.deserialize_float(self.buffer[p:p + size])
102
116
  self.position += size
103
- return decoded_float
117
+ return TypeDeserializer.deserialize_longlong(self.buffer[p:p + size])
104
118
 
105
119
  def read_double(self):
120
+ size = 8
121
+ self.position += 2
106
122
  p = self.position
107
- size = self.buffer[p + 1]
123
+ self.position += size
124
+ return TypeDeserializer.deserialize_double(self.buffer[p:p + size])
125
+
126
+ def read_ullong(self):
127
+ size = 8
128
+ self.position += 2
129
+ p = self.position
130
+ self.position += size
131
+ return TypeDeserializer.deserialize_ullong(self.buffer[p:p + size])
132
+
133
+ def read_uint(self):
134
+ size = 4
108
135
  self.position += 2
109
136
  p = self.position
110
- decoded_double = TypeDeserializer.deserialize_double(self.buffer[p:p + size])
111
137
  self.position += size
112
- return decoded_double
138
+ return TypeDeserializer.deserialize_uint(self.buffer[p:p + size])
139
+
@@ -11,7 +11,7 @@ from javonet.utils.RuntimeName import RuntimeName
11
11
  class CommandSerializer:
12
12
  byte_buffer = []
13
13
 
14
- def encode(self, root_command, connection_type, tcp_address=None, runtime_version=0):
14
+ def serialize(self, root_command, connection_type, tcp_address=None, runtime_version=0):
15
15
  queue: Deque[Command] = deque()
16
16
  queue.append(root_command)
17
17
  self.insert_into_buffer([root_command.runtime_name.value, runtime_version])
@@ -41,19 +41,26 @@ class CommandSerializer:
41
41
  @staticmethod
42
42
  def serialize_primitive(payload_item):
43
43
  if isinstance(payload_item, bool):
44
- serialized_bool = TypeSerializer.serialize_bool(payload_item)
45
- return serialized_bool
44
+ return TypeSerializer.serialize_bool(payload_item)
45
+
46
+ elif isinstance(payload_item, bytes):
47
+ return TypeSerializer.serialize_byte(payload_item)
48
+
46
49
  elif isinstance(payload_item, int):
47
- serialized_int = TypeSerializer.serialize_int(payload_item)
48
- return serialized_int
50
+ if payload_item in range(-2**31, 2**31):
51
+ return TypeSerializer.serialize_int(payload_item)
52
+ elif payload_item in range(-2**63, 2**63):
53
+ return TypeSerializer.serialize_longlong(payload_item)
54
+ else:
55
+ return TypeSerializer.serialize_ullong(payload_item)
56
+
49
57
  elif isinstance(payload_item, float):
50
- serialized_float = TypeSerializer.serialize_float(payload_item)
51
- return serialized_float
58
+ return TypeSerializer.serialize_double(payload_item)
59
+
52
60
  elif isinstance(payload_item, str):
53
- serialized_string = TypeSerializer.serialize_string(payload_item)
54
- return serialized_string
61
+ return TypeSerializer.serialize_string(payload_item)
55
62
  else:
56
- return None
63
+ raise Exception("Python: Type serialization not supported for type: " + payload_item)
57
64
 
58
65
  def insert_into_buffer(self, arguments):
59
66
  self.byte_buffer = self.byte_buffer + arguments
@@ -7,70 +7,54 @@ from javonet.utils.StringEncodingMode import StringEncodingMode
7
7
  class TypeDeserializer:
8
8
 
9
9
  @staticmethod
10
- def deserialize_int(encoded_int):
11
- int_value = struct.unpack("<i", bytearray(encoded_int))[0]
12
- return int_value
13
-
14
- @staticmethod
15
- def deserialize_unsigned_int(encoded_unsigned_int):
16
- unsigned_int_value = struct.unpack("<I", bytearray(encoded_unsigned_int))[0]
17
- return unsigned_int_value
18
-
19
- @staticmethod
20
- def deserialize_longlong(encoded_longlong):
21
- longlong_value = struct.unpack("<q", bytearray(encoded_longlong))[0]
22
- return longlong_value
23
-
24
- @staticmethod
25
- def deserialize_unsignedlonglong(encoded_unsigned_longlong):
26
- unsigned_longlong_value = struct.unpack("<Q", bytearray(encoded_unsigned_longlong[2:]))[0]
27
- return unsigned_longlong_value
28
-
29
- @staticmethod
30
- def deserialize_double(encoded_double):
31
- double_value = struct.unpack("<d", bytearray(encoded_double))[0]
32
- return double_value
10
+ def deserialize_command(command_byte_array):
11
+ return Command(RuntimeName(command_byte_array[0]), CommandType(command_byte_array[1]), [])
33
12
 
34
13
  @staticmethod
35
14
  def deserialize_string(string_encoding_mode, encoded_string):
36
-
37
15
  if string_encoding_mode == StringEncodingMode.ASCII:
38
- string_value = bytearray(encoded_string).decode('ascii')
39
- return string_value
16
+ return bytearray(encoded_string).decode('ascii')
40
17
  if string_encoding_mode == StringEncodingMode.UTF8:
41
- string_value = bytearray(encoded_string).decode('utf-8')
42
- return string_value
18
+ return bytearray(encoded_string).decode('utf-8')
43
19
  if string_encoding_mode == StringEncodingMode.UTF16:
44
- string_value = bytearray(encoded_string).decode('utf-16')
45
- return string_value
20
+ return bytearray(encoded_string).decode('utf-16')
46
21
  if string_encoding_mode == StringEncodingMode.UTF32:
47
- string_value = bytearray(encoded_string).decode('utf-32')
48
- return string_value
22
+ return bytearray(encoded_string).decode('utf-32')
49
23
 
50
24
  raise IndexError("String encoding mode out of range")
51
25
 
52
-
53
26
  @staticmethod
54
- def deserialize_float(encoded_float):
55
- float_value = struct.unpack("<f", bytearray(encoded_float))[0]
56
- return float_value
57
-
27
+ def deserialize_int(encoded_int):
28
+ return struct.unpack("<i", bytearray(encoded_int))[0]
29
+
58
30
  @staticmethod
59
31
  def deserialize_bool(encoded_bool):
60
- bool_value = struct.unpack("?", bytearray(encoded_bool))[0]
61
- return bool_value
32
+ return struct.unpack("<?", bytearray(encoded_bool))[0]
33
+
34
+ @staticmethod
35
+ def deserialize_float(encoded_float):
36
+ return struct.unpack("<f", bytearray(encoded_float))[0]
62
37
 
38
+ @staticmethod
39
+ def deserialize_byte(encoded_byte):
40
+ return struct.unpack("<B", bytearray(encoded_byte))[0]
41
+
63
42
  @staticmethod
64
43
  def deserialize_char(encoded_char):
65
- char_value = struct.unpack("<c", bytearray(encoded_char))[0]
66
- return char_value
44
+ return struct.unpack("<b", bytearray(encoded_char))[0]
67
45
 
68
46
  @staticmethod
69
- def deserialize_bytes(encoded_bytes):
70
- bytes_value = struct.unpack("<c", bytearray(encoded_bytes))[0]
71
- return bytes_value
47
+ def deserialize_longlong(encoded_longlong):
48
+ return struct.unpack("<q", bytearray(encoded_longlong))[0]
72
49
 
73
50
  @staticmethod
74
- def deserialize_command(command_byte_array):
75
- command = Command(RuntimeName(command_byte_array[0]), CommandType(command_byte_array[1]), [])
76
- return command
51
+ def deserialize_double(encoded_double):
52
+ return struct.unpack("<d", bytearray(encoded_double))[0]
53
+
54
+ @staticmethod
55
+ def deserialize_ullong(encoded_unsigned_longlong):
56
+ return struct.unpack("<Q", bytearray(encoded_unsigned_longlong))[0]
57
+
58
+ @staticmethod
59
+ def deserialize_uint(encoded_unsigned_int):
60
+ return struct.unpack("<I", bytearray(encoded_unsigned_int))[0]
@@ -5,22 +5,47 @@ from javonet.utils.StringEncodingMode import StringEncodingMode
5
5
 
6
6
 
7
7
  class TypeSerializer:
8
+
9
+ @staticmethod
10
+ def serialize_command(command):
11
+ length = list(bytearray(struct.pack("<i", len(command.payload))))
12
+ return [Type.Command.value] + length + [command.runtime_name.value, command.command_type.value]
8
13
 
9
14
  @staticmethod
10
- def serialize_type(type_value):
11
- return TypeSerializer.serialize_int(type_value)
15
+ def serialize_string(string_value):
16
+ encoded_string_list = list(bytearray(string_value, 'utf-8'))
17
+ length = list(bytearray(struct.pack("<i", len(encoded_string_list))))
18
+ return [Type.JavonetString.value] + [StringEncodingMode.UTF8.value] + length + encoded_string_list
12
19
 
13
20
  @staticmethod
14
21
  def serialize_int(int_value):
15
22
  encoded_int_list = list(bytearray(struct.pack("<i", int_value)))
16
23
  length = len(encoded_int_list)
17
24
  return [Type.JavonetInteger.value, length] + encoded_int_list
25
+
26
+ @staticmethod
27
+ def serialize_bool(bool_value):
28
+ encoded_bool_list = list(bytearray(struct.pack("?", bool_value)))
29
+ length = len(encoded_bool_list)
30
+ return [Type.JavonetBoolean.value, length] + encoded_bool_list
31
+
32
+ @staticmethod
33
+ def serialize_float(float_value):
34
+ encoded_float_list = list(bytearray(struct.pack("<f", float_value)))
35
+ length = len(encoded_float_list)
36
+ return [Type.JavonetFloat.value, length] + encoded_float_list
18
37
 
19
38
  @staticmethod
20
- def serialize_unsigned_int(unsigned_int_value):
21
- encoded_unsigned_int_list = list(bytearray(struct.pack("<I", unsigned_int_value)))
22
- length = len(encoded_unsigned_int_list)
23
- return [Type.JavonetUnsignedInteger.value, length] + encoded_unsigned_int_list
39
+ def serialize_byte(bytes_value):
40
+ encoded_byte_list = list(bytearray(struct.pack("<B", bytes_value)))
41
+ length = len(encoded_byte_list)
42
+ return [Type.JavonetByte.value, length] + encoded_byte_list
43
+
44
+ @staticmethod
45
+ def serialize_char(char_value):
46
+ encoded_char_list = list(bytearray(struct.pack("<b", char_value)))
47
+ length = len(encoded_char_list)
48
+ return [Type.JavonetChar.value, length] + encoded_char_list
24
49
 
25
50
  @staticmethod
26
51
  def serialize_longlong(longlong_value):
@@ -28,12 +53,6 @@ class TypeSerializer:
28
53
  length = len(encoded_longlong_list)
29
54
  return [Type.JavonetLongLong.value, length] + encoded_longlong_list
30
55
 
31
- @staticmethod
32
- def serialize_unsignedlonglong(unsigned_longlong_value):
33
- encoded_unsignedlonglong_list = list(bytearray(struct.pack("<q", unsigned_longlong_value)))
34
- length = len(encoded_unsignedlonglong_list)
35
- return [Type.JavonetUnsignedLongLong.value, length] + encoded_unsignedlonglong_list
36
-
37
56
  @staticmethod
38
57
  def serialize_double(double_value):
39
58
  encoded_double_list = list(bytearray(struct.pack("<d", double_value)))
@@ -41,36 +60,13 @@ class TypeSerializer:
41
60
  return [Type.JavonetDouble.value, length] + encoded_double_list
42
61
 
43
62
  @staticmethod
44
- def serialize_string(string_value):
45
- encoded_string_list = list(bytearray(string_value, 'utf-8'))
46
- length = list(bytearray(struct.pack("<i", len(encoded_string_list))))
47
- return [Type.JavonetString.value] + [StringEncodingMode.UTF8.value] + length + encoded_string_list
48
-
49
- @staticmethod
50
- def serialize_float(float_value):
51
- encoded_float_list = list(bytearray(struct.pack("<f", float_value)))
52
- length = len(encoded_float_list)
53
- return [Type.JavonetFloat.value, length] + encoded_float_list
54
-
55
- @staticmethod
56
- def serialize_bool(bool_value):
57
- encoded_bool_list = list(bytearray(struct.pack("?", bool_value)))
58
- length = len(encoded_bool_list)
59
- return [Type.JavonetBoolean.value, length] + encoded_bool_list
60
-
61
- @staticmethod
62
- def serialize_char(char_value):
63
- encoded_char_list = list(bytearray(struct.pack("<c", char_value)))
64
- length = len(encoded_char_list)
65
- return [Type.JavonetChar.value, length] + encoded_char_list
66
-
67
- @staticmethod
68
- def serialize_bytes(bytes_value):
69
- encoded_bytes_list = list(bytearray(struct.pack("<s", bytes_value)))
70
- length = len(encoded_bytes_list)
71
- return [Type.JavonetBytes.value, length] + encoded_bytes_list
63
+ def serialize_ullong(unsigned_longlong_value):
64
+ encoded_unsignedlonglong_list = list(bytearray(struct.pack("<Q", unsigned_longlong_value)))
65
+ length = len(encoded_unsignedlonglong_list)
66
+ return [Type.JavonetUnsignedLongLong.value, length] + encoded_unsignedlonglong_list
72
67
 
73
68
  @staticmethod
74
- def serialize_command(command):
75
- length = list(bytearray(struct.pack("<i", len(command.payload))))
76
- return [Type.Command.value] + length + [command.runtime_name.value, command.command_type.value]
69
+ def serialize_uint(unsigned_int_value):
70
+ encoded_unsigned_int_list = list(bytearray(struct.pack("<I", unsigned_int_value)))
71
+ length = len(encoded_unsigned_int_list)
72
+ return [Type.JavonetUnsignedInteger.value, length] + encoded_unsigned_int_list
@@ -30,7 +30,9 @@ class CommandType(Enum):
30
30
  SetInstanceField = 25
31
31
  InvokeGenericStaticMethod = 26
32
32
  InvokeGenericMethod = 27
33
- CreateGenericClassInstance = 28
34
- GetEnumItem = 29
35
- GetEnumName = 30
36
- GetEnumValue = 31
33
+ GetEnumItem = 28
34
+ GetEnumName = 29
35
+ GetEnumValue = 30
36
+ AsRef = 31
37
+ AsOut = 32
38
+ GetRefValue = 33
@@ -7,11 +7,10 @@ class Type(Enum):
7
7
  JavonetInteger = 2
8
8
  JavonetBoolean = 3
9
9
  JavonetFloat = 4
10
- JavonetBytes = 5
10
+ JavonetByte = 5
11
11
  JavonetChar = 6
12
12
  JavonetLongLong = 7
13
13
  JavonetDouble = 8
14
14
  JavonetUnsignedLongLong = 9
15
15
  JavonetUnsignedInteger = 10
16
16
  JavonetNoneType = 11
17
-
@@ -1,6 +1,6 @@
1
1
  import re
2
2
 
3
- from javonet.core.exception.JavonetException import JavonetException
3
+ from javonet.utils.exception.JavonetException import JavonetException
4
4
  from javonet.utils.Command import Command
5
5
  from javonet.utils.ExceptionType import ExceptionType
6
6
 
@@ -9,18 +9,33 @@ class ExceptionThrower:
9
9
 
10
10
  @staticmethod
11
11
  def throw_exception(command_exception: Command):
12
- original_exception = ExceptionType.to_exception(command_exception.get_payload()[0])
13
- javonet_stack_command = command_exception.get_payload()[1]
14
- exception_name = command_exception.get_payload()[2]
15
- exception_message = command_exception.get_payload()[3]
16
-
17
- stack_classes, stack_methods, stack_lines, stack_files = ExceptionThrower.get_local_stack_trace(
18
- command_exception.get_payload()[4],
19
- command_exception.get_payload()[5],
20
- command_exception.get_payload()[6],
21
- command_exception.get_payload()[7])
12
+ stack_classes, stack_methods, stack_lines, stack_files = "", "", "", ""
13
+ exception_message = "Python Exception with empty message"
14
+ exception_name = "Python exception"
15
+ javonet_stack_command = ""
22
16
  traceback_str = ""
23
17
 
18
+ exception_payload_len = len(command_exception.payload)
19
+ if exception_payload_len >=8:
20
+ stack_classes, stack_methods, stack_lines, stack_files = ExceptionThrower.get_local_stack_trace(
21
+ command_exception.get_payload()[4],
22
+ command_exception.get_payload()[5],
23
+ command_exception.get_payload()[6],
24
+ command_exception.get_payload()[7])
25
+
26
+ if exception_payload_len >= 4:
27
+ exception_message = command_exception.get_payload()[3]
28
+
29
+ if exception_payload_len >= 3:
30
+ exception_name = command_exception.get_payload()[2]
31
+
32
+ if exception_payload_len >= 2:
33
+ javonet_stack_command = command_exception.get_payload()[1]
34
+
35
+ if exception_payload_len >= 1:
36
+ original_exception = ExceptionType.to_exception(command_exception.get_payload()[0])
37
+
38
+
24
39
  for i in range(len(stack_classes)):
25
40
  if i < len(stack_files) and stack_files[i]:
26
41
  traceback_str += "File \"{}\"".format(stack_files[i])
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  class JavonetException(Exception):
4
2
  def __init__(self, name, message, traceback_str):
5
3
  self.name = name
@@ -16,7 +16,7 @@ class SharedTypeHandler(AbstractGeneratorHandler):
16
16
  if analyzed_object == "float":
17
17
  return Type.JavonetFloat.value
18
18
  if analyzed_object == "bytes":
19
- return Type.JavonetBytes.value
19
+ return Type.JavonetByte.value
20
20
  if analyzed_object == "double":
21
21
  return Type.JavonetDouble.value
22
22
  if analyzed_object == "char":
@@ -36,7 +36,7 @@ class SharedTypeHandler(AbstractGeneratorHandler):
36
36
  existing_string_builder.append("bool")
37
37
  if used_object is Type.JavonetFloat.value:
38
38
  existing_string_builder.append("float")
39
- if used_object is Type.JavonetBytes.value:
39
+ if used_object is Type.JavonetByte.value:
40
40
  existing_string_builder.append("bytes")
41
41
  if used_object is Type.JavonetChar.value:
42
42
  existing_string_builder.append("int")
@@ -11,14 +11,15 @@ class ArrayGetItemHandler(AbstractCommandHandler):
11
11
  raise Exception("ArrayGetItemHandler parameters mismatch!")
12
12
 
13
13
  array = command.payload[0]
14
- indexes = command.payload[1:]
15
- if len(indexes) == 1:
16
- return array[indexes[0]]
14
+ if isinstance(command.payload[1], list):
15
+ indexes = command.payload[1]
17
16
  else:
18
- array_copy = array.copy()
19
- for i in indexes:
20
- array_copy = array_copy[i]
21
- return array_copy
17
+ indexes = command.payload[1:]
18
+
19
+ array_copy = array.copy()
20
+ for i in indexes:
21
+ array_copy = array_copy[i]
22
+ return array_copy
22
23
 
23
24
  except Exception as e:
24
25
  exc_type, exc_value = type(e), e
@@ -10,11 +10,14 @@ class ArrayGetRankHandler(AbstractCommandHandler):
10
10
  try:
11
11
  if len(command.payload) != self._required_parameters_count:
12
12
  raise Exception("ArrayGetRankHandler parameters mismatch!")
13
- raise Exception("ArrayGetRankHandler not implemented")
14
- #array = command.payload[0]
15
13
 
16
- #np_array = np.array(array)
17
- #return np_array.ndim
14
+ array = command.payload[0]
15
+ rank = 0
16
+ while(isinstance(array, list)):
17
+ rank = rank + 1
18
+ array = array[0]
19
+
20
+ return rank
18
21
 
19
22
  except Exception as e:
20
23
  exc_type, exc_value = type(e), e