diff -ur xrootd-3.1.1.orig/src/XrdClient/XrdClientAdminJNI.cc xrootd-3.1.1/src/XrdClient/XrdClientAdminJNI.cc
--- xrootd-3.1.1.orig/src/XrdClient/XrdClientAdminJNI.cc 2012-03-05 18:19:18.000000000 +0100
+++ xrootd-3.1.1/src/XrdClient/XrdClientAdminJNI.cc 2012-03-17 17:11:29.546253549 +0100
@@ -9,7 +9,7 @@
#define DBGLVL 3
#define SETDEBUG EnvPutInt("DebugLevel", DBGLVL);
-extern "C" JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_locate(JNIEnv *env,
+extern "C" JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_locate(JNIEnv *env,
jobject jobj,
jstring pathfile,
jstring hostname) {
@@ -36,7 +36,7 @@
// Now we get the filename passed as parameter.
kXR_char *filename = (kXR_char *)env->GetStringUTFChars(pathfile, 0);
- XrdClientUrlInfo finalloc;
+ XrdClientLocate_Info finalloc;
// Hence we locate that file
// the answer is in finalloc
@@ -49,13 +49,15 @@
delete xrda;
- if (r)
- hostname = env->NewStringUTF(finalloc.Host.c_str());
+ if (r) {
+ XrdClientUrlInfo url((const char *)finalloc.Location);
+ hostname = env->NewStringUTF(url.Host.c_str());
+ }
return (jobject)(new jboolean(r));
}
-extern "C" JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_stat(JNIEnv *env,
+extern "C" JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_stat(JNIEnv *env,
jobject jobj,
jstring pathfile,
jint id,
@@ -112,7 +114,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_chmod(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_chmod(JNIEnv *env,
jobject jobj,
jstring pathfile,
jint user,
@@ -159,7 +161,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_dirlist(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_dirlist(JNIEnv *env,
jobject jobj,
jstring path,
jobjectArray result) {
@@ -215,7 +217,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_existfiles(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_existfiles(JNIEnv *env,
jobject jobj,
jobjectArray filez,
jobjectArray xstfilez) {
@@ -286,7 +288,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_existdirs(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_existdirs(JNIEnv *env,
jobject jobj,
jobjectArray dirz,
jobjectArray xstdirz) {
@@ -356,7 +358,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_getchecksum(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_getchecksum(JNIEnv *env,
jobject jobj,
jstring pathfile,
jstring chksum) {
@@ -406,7 +408,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_isfileonline(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_isfileonline(JNIEnv *env,
jobject jobj,
jobjectArray filez,
jobjectArray flzonline) {
@@ -477,7 +479,7 @@
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_mv(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_mv(JNIEnv *env,
jobject jobj,
jstring pathname1,
jstring pathname2) {
@@ -526,7 +528,7 @@
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_mkdir(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_mkdir(JNIEnv *env,
jobject jobj,
jstring pathname,
jint user, jint group, jint other) {
@@ -576,7 +578,7 @@
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_rm(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_rm(JNIEnv *env,
jobject jobj,
jstring fname) {
@@ -626,7 +628,7 @@
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_rmdir(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_rmdir(JNIEnv *env,
jobject jobj,
jstring pathname) {
@@ -669,7 +671,7 @@
}
-JNIEXPORT jobject JNICALL Java_XrdClientAdminJNI_prepare(JNIEnv *env,
+JNIEXPORT jobject JNICALL Java_xrootdadmin_XrdClientAdminJNI_prepare(JNIEnv *env,
jobject jobj,
jobjectArray filez,
jchar opts, jchar prio) {
diff -ur xrootd-3.1.1.orig/src/XrdClient.cmake xrootd-3.1.1/src/XrdClient.cmake
--- xrootd-3.1.1.orig/src/XrdClient.cmake 2012-03-05 18:19:18.000000000 +0100
+++ xrootd-3.1.1/src/XrdClient.cmake 2012-03-17 18:00:44.935292947 +0100
@@ -178,6 +178,43 @@
endif()
#-------------------------------------------------------------------------------
+# java bindings
+#-------------------------------------------------------------------------------
+if( BUILD_JAVA )
+ include_directories( ${JAVA_HOME}/include ${JAVA_HOME}/include/linux )
+
+ add_library(
+ XrdClientAdminJNI
+ MODULE
+ XrdClient/XrdClientAdminJNI.cc )
+
+ target_link_libraries(
+ XrdClientAdminJNI
+ XrdClient
+ XrdUtils
+ pthread)
+
+ set_target_properties(
+ XrdClientAdminJNI
+ PROPERTIES
+ LINK_INTERFACE_LIBRARIES "" )
+
+ add_custom_command(
+ OUTPUT XrdClientAdminJNI.jar
+ COMMAND
+ ${JAVA_HOME}/bin/javac -d . ${CMAKE_SOURCE_DIR}/src/XrdClient/XrdClientAdminJNI.java
+ COMMAND
+ ${JAVA_HOME}/bin/jar cvf XrdClientAdminJNI.jar xrootdadmin/XrdClientAdminJNI.class
+ MAIN_DEPENDENCY XrdClient/XrdClientAdminJNI.java )
+
+ add_custom_target(
+ jar ALL
+ DEPENDS XrdClientAdminJNI.jar
+ )
+
+endif()
+
+#-------------------------------------------------------------------------------
# Install
#-------------------------------------------------------------------------------
install(
@@ -215,6 +252,20 @@
DESTINATION ${CMAKE_INSTALL_LIBDIR} )
endif()
+#-------------------------------------------------------------------------------
+# Install the java bindings
+#-------------------------------------------------------------------------------
+if( BUILD_JAVA )
+ install(
+ TARGETS XrdClientAdminJNI
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ install(
+ FILES
+ ${PROJECT_BINARY_DIR}/src/XrdClientAdminJNI.jar
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+endif()
+
# FIXME: files
#-rw-r--r-- 1 ljanyst ljanyst 1643 2011-03-21 16:13 TestXrdClient.cc
#-rw-r--r-- 1 ljanyst ljanyst 20576 2011-03-21 16:13 TestXrdClient_read.cc