projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Many plugins and files: Convert "interval_g" and "vl->interval" to cdtime_t.
[collectd.git]
/
src
/
java.c
diff --git
a/src/java.c
b/src/java.c
index
87b189f
..
3089a53
100644
(file)
--- a/
src/java.c
+++ b/
src/java.c
@@
-109,7
+109,7
@@
static int cjni_callback_register (JNIEnv *jvm_env, jobject o_name,
static int cjni_read (user_data_t *user_data);
static int cjni_write (const data_set_t *ds, const value_list_t *vl,
user_data_t *ud);
static int cjni_read (user_data_t *user_data);
static int cjni_write (const data_set_t *ds, const value_list_t *vl,
user_data_t *ud);
-static int cjni_flush (
in
t timeout, const char *identifier, user_data_t *ud);
+static int cjni_flush (
cdtime_
t timeout, const char *identifier, user_data_t *ud);
static void cjni_log (int severity, const char *message, user_data_t *ud);
static int cjni_notification (const notification_t *n, user_data_t *ud);
static void cjni_log (int severity, const char *message, user_data_t *ud);
static int cjni_notification (const notification_t *n, user_data_t *ud);
@@
-809,7
+809,7
@@
static jobject ctoj_value_list (JNIEnv *jvm_env, /* {{{ */
#undef SET_STRING
/* Set the `time' member. Java stores time in milliseconds. */
#undef SET_STRING
/* Set the `time' member. Java stores time in milliseconds. */
- status = ctoj_long (jvm_env, (
(jlong) vl->time) * ((jlong) 1000
),
+ status = ctoj_long (jvm_env, (
jlong) CDTIME_T_TO_MS (vl->time
),
c_valuelist, o_valuelist, "setTime");
if (status != 0)
{
c_valuelist, o_valuelist, "setTime");
if (status != 0)
{
@@
-819,7
+819,8
@@
static jobject ctoj_value_list (JNIEnv *jvm_env, /* {{{ */
}
/* Set the `interval' member.. */
}
/* Set the `interval' member.. */
- status = ctoj_long (jvm_env, (jlong) vl->interval,
+ status = ctoj_long (jvm_env,
+ (jlong) CDTIME_T_TO_MS (vl->interval),
c_valuelist, o_valuelist, "setInterval");
if (status != 0)
{
c_valuelist, o_valuelist, "setInterval");
if (status != 0)
{
@@
-914,7
+915,7
@@
static jobject ctoj_notification (JNIEnv *jvm_env, /* {{{ */
return (NULL);
}
return (NULL);
}
- /* Set the `
interval
' member.. */
+ /* Set the `
severity
' member.. */
status = ctoj_int (jvm_env, (jint) n->severity,
c_notification, o_notification, "setSeverity");
if (status != 0)
status = ctoj_int (jvm_env, (jint) n->severity,
c_notification, o_notification, "setSeverity");
if (status != 0)
@@
-1242,7
+1243,7
@@
static int jtoc_value_list (JNIEnv *jvm_env, value_list_t *vl, /* {{{ */
return (-1);
}
/* Java measures time in milliseconds. */
return (-1);
}
/* Java measures time in milliseconds. */
- vl->time =
(time_t) (tmp_long / ((jlong) 1000)
);
+ vl->time =
MS_TO_CDTIME_T (tmp_long
);
status = jtoc_long (jvm_env, &tmp_long,
class_ptr, object_ptr, "getInterval");
status = jtoc_long (jvm_env, &tmp_long,
class_ptr, object_ptr, "getInterval");
@@
-1251,7
+1252,7
@@
static int jtoc_value_list (JNIEnv *jvm_env, value_list_t *vl, /* {{{ */
ERROR ("java plugin: jtoc_value_list: jtoc_long (getInterval) failed.");
return (-1);
}
ERROR ("java plugin: jtoc_value_list: jtoc_long (getInterval) failed.");
return (-1);
}
- vl->interval =
(int) tmp_long
;
+ vl->interval =
MS_TO_CDTIME_T (tmp_long)
;
status = jtoc_values_array (jvm_env, ds, vl, class_ptr, object_ptr);
if (status != 0)
status = jtoc_values_array (jvm_env, ds, vl, class_ptr, object_ptr);
if (status != 0)
@@
-1419,7
+1420,7
@@
static jint JNICALL cjni_api_register_read (JNIEnv *jvm_env, /* {{{ */
ud.data = (void *) cbi;
ud.free_func = cjni_callback_info_destroy;
ud.data = (void *) cbi;
ud.free_func = cjni_callback_info_destroy;
- plugin_register_complex_read (cbi->name, cjni_read,
+ plugin_register_complex_read (
/* group = */ NULL,
cbi->name, cjni_read,
/* interval = */ NULL, &ud);
(*jvm_env)->DeleteLocalRef (jvm_env, o_read);
/* interval = */ NULL, &ud);
(*jvm_env)->DeleteLocalRef (jvm_env, o_read);
@@
-1729,7
+1730,7
@@
static cjni_callback_info_t *cjni_callback_info_create (JNIEnv *jvm_env, /* {{{
case CB_TYPE_FLUSH:
method_name = "flush";
case CB_TYPE_FLUSH:
method_name = "flush";
- method_signature = "(
I
Ljava/lang/String;)I";
+ method_signature = "(
Ljava/lang/Number;
Ljava/lang/String;)I";
break;
case CB_TYPE_SHUTDOWN:
break;
case CB_TYPE_SHUTDOWN:
@@
-2551,11
+2552,12
@@
static int cjni_write (const data_set_t *ds, const value_list_t *vl, /* {{{ */
} /* }}} int cjni_write */
/* Call the CB_TYPE_FLUSH callback pointed to by the `user_data_t' pointer. */
} /* }}} int cjni_write */
/* Call the CB_TYPE_FLUSH callback pointed to by the `user_data_t' pointer. */
-static int cjni_flush (
in
t timeout, const char *identifier, /* {{{ */
+static int cjni_flush (
cdtime_
t timeout, const char *identifier, /* {{{ */
user_data_t *ud)
{
JNIEnv *jvm_env;
cjni_callback_info_t *cbi;
user_data_t *ud)
{
JNIEnv *jvm_env;
cjni_callback_info_t *cbi;
+ jobject o_timeout;
jobject o_identifier;
int status;
int ret_status;
jobject o_identifier;
int status;
int ret_status;
@@
-2578,21
+2580,32
@@
static int cjni_flush (int timeout, const char *identifier, /* {{{ */
cbi = (cjni_callback_info_t *) ud->data;
cbi = (cjni_callback_info_t *) ud->data;
+ o_timeout = ctoj_jdouble_to_number (jvm_env,
+ (jdouble) CDTIME_T_TO_DOUBLE (timeout));
+ if (o_timeout == NULL)
+ {
+ ERROR ("java plugin: cjni_flush: Converting double "
+ "to Number object failed.");
+ return (-1);
+ }
+
o_identifier = NULL;
if (identifier != NULL)
{
o_identifier = (*jvm_env)->NewStringUTF (jvm_env, identifier);
if (o_identifier == NULL)
{
o_identifier = NULL;
if (identifier != NULL)
{
o_identifier = (*jvm_env)->NewStringUTF (jvm_env, identifier);
if (o_identifier == NULL)
{
+ (*jvm_env)->DeleteLocalRef (jvm_env, o_timeout);
ERROR ("java plugin: cjni_flush: NewStringUTF failed.");
return (-1);
}
}
ret_status = (*jvm_env)->CallIntMethod (jvm_env,
ERROR ("java plugin: cjni_flush: NewStringUTF failed.");
return (-1);
}
}
ret_status = (*jvm_env)->CallIntMethod (jvm_env,
- cbi->object, cbi->method,
(jint)
timeout, o_identifier);
+ cbi->object, cbi->method,
o_
timeout, o_identifier);
(*jvm_env)->DeleteLocalRef (jvm_env, o_identifier);
(*jvm_env)->DeleteLocalRef (jvm_env, o_identifier);
+ (*jvm_env)->DeleteLocalRef (jvm_env, o_timeout);
status = cjni_thread_detach ();
if (status != 0)
status = cjni_thread_detach ();
if (status != 0)