1 // Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
2 //  This source code is licensed under both the GPLv2 (found in the
3 //  COPYING file in the root directory) and Apache 2.0 License
4 //  (found in the LICENSE.Apache file in the root directory).
5 
6 #include <jni.h>
7 
8 #include "include/org_rocksdb_RocksDBExceptionTest.h"
9 
10 #include "rocksdb/slice.h"
11 #include "rocksdb/status.h"
12 #include "rocksjni/portal.h"
13 
14 /*
15  * Class:     org_rocksdb_RocksDBExceptionTest
16  * Method:    raiseException
17  * Signature: ()V
18  */
Java_org_rocksdb_RocksDBExceptionTest_raiseException(JNIEnv * env,jobject)19 void Java_org_rocksdb_RocksDBExceptionTest_raiseException(JNIEnv* env,
20                                                           jobject /*jobj*/) {
21   ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(env,
22                                                    std::string("test message"));
23 }
24 
25 /*
26  * Class:     org_rocksdb_RocksDBExceptionTest
27  * Method:    raiseExceptionWithStatusCode
28  * Signature: ()V
29  */
Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCode(JNIEnv * env,jobject)30 void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCode(
31     JNIEnv* env, jobject /*jobj*/) {
32   ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
33       env, "test message", ROCKSDB_NAMESPACE::Status::NotSupported());
34 }
35 
36 /*
37  * Class:     org_rocksdb_RocksDBExceptionTest
38  * Method:    raiseExceptionNoMsgWithStatusCode
39  * Signature: ()V
40  */
Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCode(JNIEnv * env,jobject)41 void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCode(
42     JNIEnv* env, jobject /*jobj*/) {
43   ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
44       env, ROCKSDB_NAMESPACE::Status::NotSupported());
45 }
46 
47 /*
48  * Class:     org_rocksdb_RocksDBExceptionTest
49  * Method:    raiseExceptionWithStatusCodeSubCode
50  * Signature: ()V
51  */
Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeSubCode(JNIEnv * env,jobject)52 void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeSubCode(
53     JNIEnv* env, jobject /*jobj*/) {
54   ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
55       env, "test message",
56       ROCKSDB_NAMESPACE::Status::TimedOut(
57           ROCKSDB_NAMESPACE::Status::SubCode::kLockTimeout));
58 }
59 
60 /*
61  * Class:     org_rocksdb_RocksDBExceptionTest
62  * Method:    raiseExceptionNoMsgWithStatusCodeSubCode
63  * Signature: ()V
64  */
Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCodeSubCode(JNIEnv * env,jobject)65 void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionNoMsgWithStatusCodeSubCode(
66     JNIEnv* env, jobject /*jobj*/) {
67   ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
68       env, ROCKSDB_NAMESPACE::Status::TimedOut(
69                ROCKSDB_NAMESPACE::Status::SubCode::kLockTimeout));
70 }
71 
72 /*
73  * Class:     org_rocksdb_RocksDBExceptionTest
74  * Method:    raiseExceptionWithStatusCodeState
75  * Signature: ()V
76  */
Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeState(JNIEnv * env,jobject)77 void Java_org_rocksdb_RocksDBExceptionTest_raiseExceptionWithStatusCodeState(
78     JNIEnv* env, jobject /*jobj*/) {
79   ROCKSDB_NAMESPACE::Slice state("test state");
80   ROCKSDB_NAMESPACE::RocksDBExceptionJni::ThrowNew(
81       env, "test message", ROCKSDB_NAMESPACE::Status::NotSupported(state));
82 }
83