Blob Blame History Raw
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