You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/04/28 19:22:20 UTC

svn commit: r1097556 - /subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp

Author: hwright
Date: Thu Apr 28 17:22:20 2011
New Revision: 1097556

URL: http://svn.apache.org/viewvc?rev=1097556&view=rev
Log:
JavaHL: Fix a test failure by actually converting the conflicts for Info.

* subversion/bindings/javahl/native/CreateJ.cpp
  (Info): Iterate over the conflict array and create a Set of conflicts for
    the Java object.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp

Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=1097556&r1=1097555&r2=1097556&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Thu Apr 28 17:22:20 2011
@@ -241,10 +241,6 @@ CreateJ::Info(const char *path, const sv
       if (JNIUtil::isJavaExceptionThrown())
         POP_AND_RETURN_NULL;
 
-      jconflicts = NULL;
-      if (JNIUtil::isJavaExceptionThrown())
-        POP_AND_RETURN_NULL;
-
       jscheduleKind = EnumMapper::mapScheduleKind(info->wc_info->schedule);
       if (JNIUtil::isJavaExceptionThrown())
         POP_AND_RETURN_NULL;
@@ -256,6 +252,28 @@ CreateJ::Info(const char *path, const sv
       jworkingSize = info->wc_info->working_size;
       jcopyfrom_rev = info->wc_info->copyfrom_rev;
       jtext_time = info->wc_info->text_time;
+
+      if (info->wc_info->conflicts && info->wc_info->conflicts->nelts > 0)
+        {
+          std::vector<jobject> jconflict_vec;
+
+          for (int i = 0; i < info->wc_info->conflicts->nelts; i++)
+            {
+              const svn_wc_conflict_description2_t *conflict = APR_ARRAY_IDX(
+                                info->wc_info->conflicts, i,
+                                const svn_wc_conflict_description2_t *);
+
+              jobject jconflict = ConflictDescriptor(conflict);
+              if (JNIUtil::isJavaExceptionThrown())
+                POP_AND_RETURN_NULL;
+
+              jconflict_vec.push_back(jconflict);
+            }
+
+          jconflicts = Set(jconflict_vec);
+          if (JNIUtil::isJavaExceptionThrown())
+            POP_AND_RETURN_NULL;
+        }
     }
 
   jstring jurl = JNIUtil::makeJString(info->URL);
@@ -293,7 +311,7 @@ CreateJ::Info(const char *path, const sv
                                   jscheduleKind, jcopyFromUrl,
                                   jcopyfrom_rev, jtext_time, jchecksum,
                                   jchangelist, jworkingSize,
-                                  (jlong) info->size, jdepth, NULL);
+                                  (jlong) info->size, jdepth, jconflicts);
 
   return env->PopLocalFrame(jinfo2);
 }