Fix JVPP enum _host_to_net_ translation (VPP-1438) 76/15076/3
authorMichal Cmarada <mcmarada@cisco.com>
Mon, 1 Oct 2018 14:26:31 +0000 (16:26 +0200)
committerDamjan Marion <dmarion@me.com>
Tue, 2 Oct 2018 12:39:51 +0000 (12:39 +0000)
- use ordinal value of enumeration instead of accessing
  its value directly.

Change-Id: I6327a8f7668852846907a92c2713de9ff90c1c75
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
extras/japi/java/jvpp/gen/jvppgen/jni_type_handlers_gen.py

index a76aadf..2447974 100755 (executable)
@@ -117,8 +117,8 @@ $json_definition
 static inline void _host_to_net_${c_name}(JNIEnv * env, jobject _host, vl_api_${c_name}_t * _net)
 {
     jclass enumClass = (*env)->FindClass(env, "${class_FQN}");
-    jfieldID valueFieldId = (*env)->GetStaticFieldID(env, enumClass, "value", "${jni_signature}");
-    ${jni_type} value = (*env)->GetStatic${jni_accessor}Field(env, enumClass, valueFieldId);
+    jmethodID getValueMethod = (*env)->GetMethodID(env, enumClass, "ordinal", "()I");
+    ${jni_type} value = (*env)->CallIntMethod(env, _host, getValueMethod);
     ${swap};
 }""")