Skip to content

Commit 7bd6cc4

Browse files
committed
Use renamed macros + minor fix
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
1 parent 2c70822 commit 7bd6cc4

2 files changed

Lines changed: 21 additions & 19 deletions

File tree

rcljava/src/main/cpp/org_ros2_rcljava_graph_EndpointInfo.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,29 +35,29 @@ Java_org_ros2_rcljava_graph_EndpointInfo_nativeFromRCL(JNIEnv * env, jobject sel
3535
"Lorg/ros2/rcljava/graph/EndpointInfo$EndpointType;";
3636
// TODO(ivanpauno): class and field lookup could be done at startup time
3737
jclass endpoint_type_clazz = env->FindClass("org/ros2/rcljava/graph/EndpointInfo$EndpointType");
38-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
38+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
3939
jclass clazz = env->GetObjectClass(self);
4040
jfieldID node_name_fid = env->GetFieldID(clazz, "nodeName", "Ljava/lang/String;");
41-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
41+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
4242
jfieldID node_namespace_fid = env->GetFieldID(clazz, "nodeNamespace", "Ljava/lang/String;");
43-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
43+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
4444
jfieldID topic_type_fid = env->GetFieldID(clazz, "topicType", "Ljava/lang/String;");
45-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
45+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
4646
jfieldID endpoint_type_fid = env->GetFieldID(clazz, "endpointType", endpoint_type_enum_path);
47-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
47+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
4848
jfieldID endpoint_gid_fid = env->GetFieldID(clazz, "endpointGID", "[B");
49-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
49+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
5050
jfieldID qos_fid = env->GetFieldID(clazz, "qos", "Lorg/ros2/rcljava/qos/QoSProfile;");
51-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
51+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
5252

5353
jstring jnode_name = env->NewStringUTF(p->node_name);
54-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
54+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
5555
env->SetObjectField(self, node_name_fid, jnode_name);
5656
jstring jnode_namespace = env->NewStringUTF(p->node_namespace);
57-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
57+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
5858
env->SetObjectField(self, node_namespace_fid, jnode_namespace);
5959
jstring jtopic_type = env->NewStringUTF(p->topic_type);
60-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
60+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
6161
env->SetObjectField(self, topic_type_fid, jtopic_type);
6262
jfieldID enum_value_fid;
6363
switch (p->endpoint_type) {
@@ -78,7 +78,7 @@ Java_org_ros2_rcljava_graph_EndpointInfo_nativeFromRCL(JNIEnv * env, jobject sel
7878
env, "java/lang/IllegalArgumentException", "unknown endpoint type");
7979
break;
8080
}
81-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
81+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
8282
jobject enum_value = env->GetStaticObjectField(endpoint_type_clazz, enum_value_fid);
8383
env->SetObjectField(self, endpoint_type_fid, enum_value);
8484
jbyteArray jgid = env->NewByteArray(RMW_GID_STORAGE_SIZE);
@@ -88,17 +88,17 @@ Java_org_ros2_rcljava_graph_EndpointInfo_nativeFromRCL(JNIEnv * env, jobject sel
8888
return;
8989
}
9090
jbyte * gid_content = env->GetByteArrayElements(jgid, nullptr);
91-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
91+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
9292
for (size_t i = 0; i < RMW_GID_STORAGE_SIZE; ++i) {
9393
gid_content[i] = p->endpoint_gid[i];
9494
}
9595
env->ReleaseByteArrayElements(jgid, gid_content, 0);
96-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
96+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
9797
env->SetObjectField(self, endpoint_gid_fid, jgid);
9898
jclass qos_clazz = env->FindClass("org/ros2/rcljava/qos/QoSProfile");
9999
jmethodID qos_init_mid = env->GetMethodID(qos_clazz, "<init>", "()V");
100100
jobject jqos = env->NewObject(qos_clazz, qos_init_mid);
101-
RCLJAVA_COMMON_EXCEPTION_CHECK(env);
101+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION(env);
102102
jmethodID qos_from_rcl_mid = env->GetMethodID(qos_clazz, "nativeFromRCL", "(J)V");
103103
env->CallObjectMethod(jqos, qos_from_rcl_mid, &p->qos_profile);
104104
env->SetObjectField(self, qos_fid, jqos);

rcljava/src/main/cpp/org_ros2_rcljava_node_NodeImpl.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,14 +283,14 @@ Java_org_ros2_rcljava_node_NodeImpl_nativeGetPublishersInfo(
283283
{
284284
jclass list_clazz = env->GetObjectClass(jpublishers_info);
285285
jmethodID list_add_mid = env->GetMethodID(list_clazz, "add", "(Ljava/lang/Object;)Z");
286-
RCLJAVA_COMMON_EXCEPTION_CHECK_X(env, goto cleanup);
286+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION_WITH_ERROR_STATEMENT(env, goto cleanup);
287287
jclass endpoint_info_clazz = env->FindClass("org/ros2/rcljava/graph/EndpointInfo");
288-
RCLJAVA_COMMON_EXCEPTION_CHECK_X(env, goto cleanup);
288+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION_WITH_ERROR_STATEMENT(env, goto cleanup);
289289
jmethodID endpoint_info_init_mid = env->GetMethodID(endpoint_info_clazz, "<init>", "()V");
290-
RCLJAVA_COMMON_EXCEPTION_CHECK_X(env, goto cleanup);
290+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION_WITH_ERROR_STATEMENT(env, goto cleanup);
291291
jmethodID endpoint_info_from_rcl_mid = env->GetMethodID(
292292
endpoint_info_clazz, "nativeFromRCL", "(J)V");
293-
RCLJAVA_COMMON_EXCEPTION_CHECK_X(env, goto cleanup);
293+
RCLJAVA_COMMON_CHECK_FOR_EXCEPTION_WITH_ERROR_STATEMENT(env, goto cleanup);
294294

295295
for (size_t i = 0; i < publishers_info.size; i++) {
296296
jobject item = env->NewObject(endpoint_info_clazz, endpoint_info_init_mid);
@@ -304,5 +304,7 @@ Java_org_ros2_rcljava_node_NodeImpl_nativeGetPublishersInfo(
304304
// instead of C style error handling (?).
305305
cleanup:
306306
ret = rcl_topic_endpoint_info_array_fini(&publishers_info, &allocator);
307-
RCLJAVA_COMMON_THROW_FROM_RCL(env, ret, "failed to destroy rcl publisher info");
307+
if (!env->ExceptionCheck() && RCL_RET_OK != ret) {
308+
rcljava_throw_rclexception(env, ret, "failed to destroy rcl publisher info");
309+
}
308310
}

0 commit comments

Comments
 (0)