javonet-ruby-sdk 2.1.10 → 2.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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