Skip to content

Commit bdfccf9

Browse files
committed
lint
1 parent b5fed49 commit bdfccf9

4 files changed

Lines changed: 105 additions & 108 deletions

File tree

src/native/iot_device_sdk_metrics.c

Lines changed: 100 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -39,105 +39,104 @@ void aws_mqtt_iot_metrics_java_jni_destroy(
3939
}
4040

4141
struct aws_mqtt_iot_metrics_java_jni *aws_mqtt_iot_metrics_java_jni_create_from_java(
42-
JNIEnv *env,
43-
struct aws_allocator *allocator,
44-
jobject java_iot_device_sdk_metrics) {
45-
46-
struct aws_mqtt_iot_metrics_java_jni *java_metrics =
47-
aws_mem_calloc(allocator, 1, sizeof(struct aws_mqtt_iot_metrics_java_jni));
48-
if (java_metrics == NULL) {
49-
AWS_LOGF_ERROR(
50-
AWS_LS_MQTT_GENERAL, "IoTDeviceSDKMetrics create_from_java: Creating new IoTDeviceSDKMetrics failed");
51-
return NULL;
52-
}
53-
54-
if (aws_get_string_from_jobject(
55-
env,
56-
java_iot_device_sdk_metrics,
57-
iot_device_sdk_metrics_properties.library_name_field_id,
58-
s_iot_device_sdk_metrics_string,
59-
"library name",
60-
&java_metrics->library_name_buf,
61-
&java_metrics->metrics.library_name,
62-
false,
63-
NULL) == AWS_OP_ERR) {
64-
AWS_LOGF_ERROR(AWS_LS_MQTT_GENERAL, "IoTDeviceSDKMetrics create_from_java: No library name found");
65-
goto on_error;
66-
}
67-
68-
/* Parse metadataEntries list */
69-
jobject metadata_list = (*env)->GetObjectField(
70-
env, java_iot_device_sdk_metrics, iot_device_sdk_metrics_properties.metadata_entries_field_id);
71-
72-
if (metadata_list != NULL && !aws_jni_check_and_clear_exception(env)) {
73-
jint count = (*env)->CallIntMethod(env, metadata_list, boxed_list_properties.list_size_id);
74-
if (count > 0 && !aws_jni_check_and_clear_exception(env)) {
75-
java_metrics->metadata_entries =
76-
aws_mem_calloc(allocator, (size_t)count, sizeof(struct aws_mqtt_metadata_entry));
77-
if (java_metrics->metadata_entries == NULL) {
78-
goto on_error;
79-
}
80-
81-
/* Pre-allocate storage buffer for all key/value strings */
82-
aws_byte_buf_init(&java_metrics->metadata_storage, allocator, (size_t)count * 64);
83-
84-
for (jint i = 0; i < count; i++) {
85-
jobject entry = (*env)->CallObjectMethod(env, metadata_list, boxed_list_properties.list_get_id, i);
86-
if (entry == NULL || aws_jni_check_and_clear_exception(env)) {
87-
continue;
88-
}
89-
90-
jstring key_jstr = (jstring)(*env)->GetObjectField(
91-
env, entry, iot_metrics_metadata_properties.key_field_id);
92-
jstring value_jstr = (jstring)(*env)->GetObjectField(
93-
env, entry, iot_metrics_metadata_properties.value_field_id);
94-
95-
if (key_jstr != NULL && value_jstr != NULL) {
96-
const char *key_chars = (*env)->GetStringUTFChars(env, key_jstr, NULL);
97-
size_t key_len = (size_t)(*env)->GetStringUTFLength(env, key_jstr);
98-
const char *value_chars = (*env)->GetStringUTFChars(env, value_jstr, NULL);
99-
size_t value_len = (size_t)(*env)->GetStringUTFLength(env, value_jstr);
100-
101-
/* Append key to storage buffer */
102-
size_t key_offset = java_metrics->metadata_storage.len;
103-
aws_byte_buf_append_dynamic(&java_metrics->metadata_storage, &(struct aws_byte_cursor){
104-
.ptr = (uint8_t *)key_chars, .len = key_len});
105-
106-
/* Append value to storage buffer */
107-
size_t value_offset = java_metrics->metadata_storage.len;
108-
aws_byte_buf_append_dynamic(&java_metrics->metadata_storage, &(struct aws_byte_cursor){
109-
.ptr = (uint8_t *)value_chars, .len = value_len});
110-
111-
java_metrics->metadata_entries[java_metrics->metadata_count].key =
112-
aws_byte_cursor_from_array(
113-
java_metrics->metadata_storage.buffer + key_offset, key_len);
114-
java_metrics->metadata_entries[java_metrics->metadata_count].value =
115-
aws_byte_cursor_from_array(
116-
java_metrics->metadata_storage.buffer + value_offset, value_len);
117-
java_metrics->metadata_count++;
118-
119-
(*env)->ReleaseStringUTFChars(env, key_jstr, key_chars);
120-
(*env)->ReleaseStringUTFChars(env, value_jstr, value_chars);
121-
}
122-
123-
(*env)->DeleteLocalRef(env, key_jstr);
124-
(*env)->DeleteLocalRef(env, value_jstr);
125-
(*env)->DeleteLocalRef(env, entry);
126-
}
127-
128-
/* Set the metrics struct fields */
129-
java_metrics->metrics.metadata_entries = java_metrics->metadata_entries;
130-
java_metrics->metrics.metadata_count = java_metrics->metadata_count;
131-
}
132-
133-
(*env)->DeleteLocalRef(env, metadata_list);
134-
}
135-
136-
return java_metrics;
137-
138-
on_error:
139-
/* clean up */
140-
aws_mqtt_iot_metrics_java_jni_destroy(env, allocator, java_metrics);
141-
return NULL;
142-
}
42+
JNIEnv *env,
43+
struct aws_allocator *allocator,
44+
jobject java_iot_device_sdk_metrics) {
45+
46+
struct aws_mqtt_iot_metrics_java_jni *java_metrics =
47+
aws_mem_calloc(allocator, 1, sizeof(struct aws_mqtt_iot_metrics_java_jni));
48+
if (java_metrics == NULL) {
49+
AWS_LOGF_ERROR(
50+
AWS_LS_MQTT_GENERAL, "IoTDeviceSDKMetrics create_from_java: Creating new IoTDeviceSDKMetrics failed");
51+
return NULL;
52+
}
53+
54+
if (aws_get_string_from_jobject(
55+
env,
56+
java_iot_device_sdk_metrics,
57+
iot_device_sdk_metrics_properties.library_name_field_id,
58+
s_iot_device_sdk_metrics_string,
59+
"library name",
60+
&java_metrics->library_name_buf,
61+
&java_metrics->metrics.library_name,
62+
false,
63+
NULL) == AWS_OP_ERR) {
64+
AWS_LOGF_ERROR(AWS_LS_MQTT_GENERAL, "IoTDeviceSDKMetrics create_from_java: No library name found");
65+
goto on_error;
66+
}
14367

68+
/* Parse metadataEntries list */
69+
jobject metadata_list = (*env)->GetObjectField(
70+
env, java_iot_device_sdk_metrics, iot_device_sdk_metrics_properties.metadata_entries_field_id);
71+
72+
if (metadata_list != NULL && !aws_jni_check_and_clear_exception(env)) {
73+
jint count = (*env)->CallIntMethod(env, metadata_list, boxed_list_properties.list_size_id);
74+
if (count > 0 && !aws_jni_check_and_clear_exception(env)) {
75+
java_metrics->metadata_entries =
76+
aws_mem_calloc(allocator, (size_t)count, sizeof(struct aws_mqtt_metadata_entry));
77+
if (java_metrics->metadata_entries == NULL) {
78+
goto on_error;
79+
}
80+
81+
/* Pre-allocate storage buffer for all key/value strings */
82+
aws_byte_buf_init(&java_metrics->metadata_storage, allocator, (size_t)count * 64);
83+
84+
for (jint i = 0; i < count; i++) {
85+
jobject entry = (*env)->CallObjectMethod(env, metadata_list, boxed_list_properties.list_get_id, i);
86+
if (entry == NULL || aws_jni_check_and_clear_exception(env)) {
87+
continue;
88+
}
89+
90+
jstring key_jstr =
91+
(jstring)(*env)->GetObjectField(env, entry, iot_metrics_metadata_properties.key_field_id);
92+
jstring value_jstr =
93+
(jstring)(*env)->GetObjectField(env, entry, iot_metrics_metadata_properties.value_field_id);
94+
95+
if (key_jstr != NULL && value_jstr != NULL) {
96+
const char *key_chars = (*env)->GetStringUTFChars(env, key_jstr, NULL);
97+
size_t key_len = (size_t)(*env)->GetStringUTFLength(env, key_jstr);
98+
const char *value_chars = (*env)->GetStringUTFChars(env, value_jstr, NULL);
99+
size_t value_len = (size_t)(*env)->GetStringUTFLength(env, value_jstr);
100+
101+
/* Append key to storage buffer */
102+
size_t key_offset = java_metrics->metadata_storage.len;
103+
aws_byte_buf_append_dynamic(
104+
&java_metrics->metadata_storage,
105+
&(struct aws_byte_cursor){.ptr = (uint8_t *)key_chars, .len = key_len});
106+
107+
/* Append value to storage buffer */
108+
size_t value_offset = java_metrics->metadata_storage.len;
109+
aws_byte_buf_append_dynamic(
110+
&java_metrics->metadata_storage,
111+
&(struct aws_byte_cursor){.ptr = (uint8_t *)value_chars, .len = value_len});
112+
113+
java_metrics->metadata_entries[java_metrics->metadata_count].key =
114+
aws_byte_cursor_from_array(java_metrics->metadata_storage.buffer + key_offset, key_len);
115+
java_metrics->metadata_entries[java_metrics->metadata_count].value =
116+
aws_byte_cursor_from_array(java_metrics->metadata_storage.buffer + value_offset, value_len);
117+
java_metrics->metadata_count++;
118+
119+
(*env)->ReleaseStringUTFChars(env, key_jstr, key_chars);
120+
(*env)->ReleaseStringUTFChars(env, value_jstr, value_chars);
121+
}
122+
123+
(*env)->DeleteLocalRef(env, key_jstr);
124+
(*env)->DeleteLocalRef(env, value_jstr);
125+
(*env)->DeleteLocalRef(env, entry);
126+
}
127+
128+
/* Set the metrics struct fields */
129+
java_metrics->metrics.metadata_entries = java_metrics->metadata_entries;
130+
java_metrics->metrics.metadata_count = java_metrics->metadata_count;
131+
}
132+
133+
(*env)->DeleteLocalRef(env, metadata_list);
134+
}
135+
136+
return java_metrics;
137+
138+
on_error:
139+
/* clean up */
140+
aws_mqtt_iot_metrics_java_jni_destroy(env, allocator, java_metrics);
141+
return NULL;
142+
}

src/native/iot_device_sdk_metrics.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ struct aws_mqtt_iot_metrics_java_jni {
1515
struct aws_byte_buf metadata_storage;
1616
struct aws_mqtt_metadata_entry *metadata_entries;
1717
size_t metadata_count;
18-
1918
};
2019

2120
void aws_mqtt_iot_metrics_java_jni_destroy(

src/native/java_class_ids.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2683,7 +2683,6 @@ static void s_cache_iot_device_sdk_metrics(JNIEnv *env) {
26832683
iot_device_sdk_metrics_properties.metadata_entries_field_id = (*env)->GetFieldID(
26842684
env, iot_device_sdk_metrics_properties.iot_device_sdk_metrics_class, "metadataEntries", "Ljava/util/List;");
26852685
AWS_FATAL_ASSERT(iot_device_sdk_metrics_properties.metadata_entries_field_id);
2686-
26872686
}
26882687

26892688
struct java_iot_metrics_metadata_properties iot_metrics_metadata_properties;
@@ -2701,7 +2700,7 @@ static void s_cache_iot_metrics_metadata(JNIEnv *env) {
27012700
iot_metrics_metadata_properties.value_field_id = (*env)->GetFieldID(
27022701
env, iot_metrics_metadata_properties.iot_metrics_metadata_class, "value", "Ljava/lang/String;");
27032702
AWS_FATAL_ASSERT(iot_metrics_metadata_properties.value_field_id);
2704-
}
2703+
}
27052704

27062705
// Update jni-config.json when adding or modifying JNI classes for GraalVM support.
27072706
static void s_cache_java_class_ids(void *user_data) {

src/native/java_class_ids.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1128,11 +1128,11 @@ extern struct java_iot_device_sdk_metrics_properties iot_device_sdk_metrics_prop
11281128

11291129
/* IoTMetricsMetadata */
11301130
struct java_iot_metrics_metadata_properties {
1131-
jclass iot_metrics_metadata_class;
1132-
jfieldID key_field_id;
1133-
jfieldID value_field_id;
1131+
jclass iot_metrics_metadata_class;
1132+
jfieldID key_field_id;
1133+
jfieldID value_field_id;
11341134
};
1135-
extern struct java_iot_metrics_metadata_properties iot_metrics_metadata_properties;
1135+
extern struct java_iot_metrics_metadata_properties iot_metrics_metadata_properties;
11361136

11371137
/**
11381138
* All functions bound to JNI MUST call this before doing anything else.

0 commit comments

Comments
 (0)