X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fjava.c;h=6a98d82361435d5f2b6077c5c938617342483457;hb=0a3958efcdda5d3c639a5b74982b796ea87df2b6;hp=20523f90b464f674b27b59944ac97edd81fa34af;hpb=085a993e0f187ad73d3a28cea508ec6e56c39516;p=collectd.git diff --git a/src/java.c b/src/java.c index 20523f90..6a98d823 100644 --- a/src/java.c +++ b/src/java.c @@ -227,7 +227,7 @@ static jobject ctoj_jlong_to_number (JNIEnv *jvm_env, jlong value) /* {{{ */ jmethodID m_long_constructor; /* Look up the java.lang.Long class */ - c_long = (*jvm_env)->FindClass (jvm_env, "java.lang.Long"); + c_long = (*jvm_env)->FindClass (jvm_env, "java/lang/Long"); if (c_long == NULL) { ERROR ("java plugin: ctoj_jlong_to_number: Looking up the " @@ -255,7 +255,7 @@ static jobject ctoj_jdouble_to_number (JNIEnv *jvm_env, jdouble value) /* {{{ */ jmethodID m_double_constructor; /* Look up the java.lang.Long class */ - c_double = (*jvm_env)->FindClass (jvm_env, "java.lang.Double"); + c_double = (*jvm_env)->FindClass (jvm_env, "java/lang/Double"); if (c_double == NULL) { ERROR ("java plugin: ctoj_jdouble_to_number: Looking up the " @@ -608,7 +608,7 @@ static jobject ctoj_data_set (JNIEnv *jvm_env, const data_set_t *ds) /* {{{ */ /* Search for the `DataSet (String type)' constructor. */ m_constructor = (*jvm_env)->GetMethodID (jvm_env, - c_dataset, "", "(Ljava.lang.String;)V"); + c_dataset, "", "(Ljava/lang/String;)V"); if (m_constructor == NULL) { ERROR ("java plugin: ctoj_data_set: Looking up the " @@ -2179,6 +2179,15 @@ static int cjni_config_load_plugin (oconfig_item_t *ci) /* {{{ */ class->class = NULL; class->object = NULL; + { /* Replace all dots ('.') with slashes ('/'). Dots are usually used + thorough the Java community, but (Sun's) `FindClass' and friends need + slashes. */ + size_t i; + for (i = 0; class->name[i] != 0; i++) + if (class->name[i] == '.') + class->name[i] = '/'; + } + DEBUG ("java plugin: Loading class %s", class->name); class->class = (*jvm_env)->FindClass (jvm_env, class->name);