rjb 1.0.0-mswin32 → 1.0.1-mswin32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +7 -0
- data/ext/jp_co_infoseek_hp_arton_rjb_RBridge.h +12 -12
- data/ext/rjb.c +7 -1
- data/lib/rjbcore.so +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/Base.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/ExtBase.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/IBase.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/JTest.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/Test.class +0 -0
- data/test/test.rb +15 -0
- metadata +3 -2
data/ChangeLog
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
Sun Sep 10 arton
|
2
|
+
*test.rb
|
3
|
+
add a test of return type is an object wrapped an array
|
4
|
+
*Test.java
|
5
|
+
add a method that returns an object wrapped an array
|
6
|
+
*rjb.c
|
7
|
+
check array-mark in jv2rv for returned object was an array
|
1
8
|
Tue Aug 1 arton
|
2
9
|
*load.c
|
3
10
|
*rjb.c
|
@@ -1,21 +1,21 @@
|
|
1
1
|
/* DO NOT EDIT THIS FILE - it is machine generated */
|
2
|
-
#include <jni.h>
|
2
|
+
#include <jni.h>
|
3
3
|
/* Header for class jp_co_infoseek_hp_arton_rjb_RBridge */
|
4
4
|
|
5
5
|
#ifndef _Included_jp_co_infoseek_hp_arton_rjb_RBridge
|
6
|
-
#define _Included_jp_co_infoseek_hp_arton_rjb_RBridge
|
6
|
+
#define _Included_jp_co_infoseek_hp_arton_rjb_RBridge
|
7
7
|
#ifdef __cplusplus
|
8
8
|
extern "C" {
|
9
|
-
#endif
|
10
|
-
/*
|
11
|
-
* Class: jp_co_infoseek_hp_arton_rjb_RBridge
|
12
|
-
* Method: call
|
13
|
-
* Signature: (Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
|
14
|
-
*/
|
15
|
-
JNIEXPORT jobject JNICALL Java_jp_co_infoseek_hp_arton_rjb_RBridge_call
|
9
|
+
#endif
|
10
|
+
/*
|
11
|
+
* Class: jp_co_infoseek_hp_arton_rjb_RBridge
|
12
|
+
* Method: call
|
13
|
+
* Signature: (Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
|
14
|
+
*/
|
15
|
+
JNIEXPORT jobject JNICALL Java_jp_co_infoseek_hp_arton_rjb_RBridge_call
|
16
16
|
(JNIEnv *, jobject, jstring, jobject, jobjectArray);
|
17
|
-
|
17
|
+
|
18
18
|
#ifdef __cplusplus
|
19
19
|
}
|
20
|
-
#endif
|
21
|
-
#endif
|
20
|
+
#endif
|
21
|
+
#endif
|
data/ext/rjb.c
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
* $Id: rjb.c 15 2006-08-01 13:52:36Z arton $
|
16
16
|
*/
|
17
17
|
|
18
|
-
#define RJB_VERSION "1.0.
|
18
|
+
#define RJB_VERSION "1.0.1"
|
19
19
|
|
20
20
|
#include "ruby.h"
|
21
21
|
#include "st.h"
|
@@ -43,6 +43,7 @@ static VALUE register_instance(JNIEnv* jenv, struct jvi_data*, jobject);
|
|
43
43
|
static VALUE rjb_s_free(struct jv_data*);
|
44
44
|
static VALUE rjb_class_forname(int argc, VALUE* argv, VALUE self);
|
45
45
|
static void setup_metadata(JNIEnv* jenv, VALUE self, struct jv_data*, VALUE classname);
|
46
|
+
static VALUE jarray2rv(JNIEnv* jenv, jvalue val);
|
46
47
|
static jarray r2objarray(JNIEnv* jenv, VALUE v, const char* cls);
|
47
48
|
|
48
49
|
static VALUE rjb;
|
@@ -243,6 +244,11 @@ static VALUE jv2rv(JNIEnv* jenv, jvalue val)
|
|
243
244
|
nm = (*jenv)->CallObjectMethod(jenv, klass, class_getName);
|
244
245
|
check_exception(jenv, 0);
|
245
246
|
cname = (*jenv)->GetStringUTFChars(jenv, nm, NULL);
|
247
|
+
if (*cname == '[')
|
248
|
+
{
|
249
|
+
release_string(jenv, nm, cname);
|
250
|
+
return jarray2rv(jenv, val);
|
251
|
+
}
|
246
252
|
clsname = rb_str_new2(cname);
|
247
253
|
release_string(jenv, nm, cname);
|
248
254
|
v = rb_hash_aref(loaded_classes, clsname);
|
data/lib/rjbcore.so
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/test.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
#!/usr/local/env ruby
|
2
|
+
# $Id:$
|
3
|
+
|
1
4
|
require 'test/unit'
|
2
5
|
require 'rjb'
|
3
6
|
|
@@ -390,5 +393,17 @@ class TestRjb < Test::Unit::TestCase
|
|
390
393
|
assert_equal("another string",mixed[1][0][1].toString)
|
391
394
|
assert_equal([],mixed[2])
|
392
395
|
end
|
396
|
+
|
397
|
+
def test_CastObjectArray()
|
398
|
+
test = import('jp.co.infoseek.hp.arton.rjb.Test').new
|
399
|
+
a = test.getObjectArray()
|
400
|
+
assert_equal(1, a[0].intValue)
|
401
|
+
assert_equal('Hello World !', a[1].toString)
|
402
|
+
a = test.getObjectArrayOfArray()
|
403
|
+
assert_equal(1, a[0][0].intValue)
|
404
|
+
assert_equal('Hello World !', a[0][1].toString)
|
405
|
+
assert_equal(2, a[1][0].intValue)
|
406
|
+
assert_equal('Hello World !!', a[1][1].toString)
|
407
|
+
end
|
393
408
|
end
|
394
409
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rjb
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2006-
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2006-09-11 00:00:00 +09:00
|
8
8
|
summary: Ruby Java bridge
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -47,6 +47,7 @@ files:
|
|
47
47
|
- test/jp/co/infoseek/hp/arton/rjb/Base.class
|
48
48
|
- test/jp/co/infoseek/hp/arton/rjb/ExtBase.class
|
49
49
|
- test/jp/co/infoseek/hp/arton/rjb/IBase.class
|
50
|
+
- test/jp/co/infoseek/hp/arton/rjb/JTest.class
|
50
51
|
- test/jp/co/infoseek/hp/arton/rjb/Test.class
|
51
52
|
- COPYING
|
52
53
|
- ChangeLog
|