Author: hwright
Date: Thu Sep  2 18:04:32 2010
New Revision: 992041

URL: http://svn.apache.org/viewvc?rev=992041&view=rev
Log:
JavaHL: Make a couple of URI fields of the public java.net.URI type.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
  (getLogMessage): Retrieve the string from the commit item.
 
* subversion/bindings/javahl/native/CreateJ.cpp
  (CommitItem): Create the URIs for the commit item.
 
* subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java
  (url, copyUrl): Re-type as URIs.
  (CommitItem): Accept URI parameters.
  (getUrl, getCopyUrl): Return URIs.

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
  (CommitItem): Update wrapper constructor.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
    
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java
    
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
    
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java

Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=992041&r1=992040&r2=992041&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Thu Sep  2 
18:04:32 2010
@@ -871,8 +871,21 @@ CreateJ::CommitItem(svn_client_commit_it
       midConstructor = env->GetMethodID(clazz, "<init>",
                                         "(Ljava/lang/String;"
                                         "L"JAVA_PACKAGE"/NodeKind;"
-                                        "ILjava/lang/String;"
-                                        "Ljava/lang/String;J)V");
+                                        "ILjava/net/URI;"
+                                        "Ljava/net/URI;J)V");
+      if (JNIUtil::isExceptionThrown())
+        POP_AND_RETURN_NULL;
+    }
+
+  jclass clazz2 = env->FindClass("java/net/URI");
+  if (JNIUtil::isJavaExceptionThrown())
+    POP_AND_RETURN_NULL;
+
+  static jmethodID mid2 = 0;
+  if (mid2 == 0)
+    {
+      mid2 = env->GetMethodID(clazz2, "<init>",
+                              "(Ljava/lang/String;)V");
       if (JNIUtil::isExceptionThrown())
         POP_AND_RETURN_NULL;
     }
@@ -900,13 +913,23 @@ CreateJ::CommitItem(svn_client_commit_it
     jstateFlags |=
       org_apache_subversion_javahl_CommitItemStateFlags_IsCopy;
 
-  jstring jurl = JNIUtil::makeJString(item->url);
-  if (JNIUtil::isJavaExceptionThrown())
-    POP_AND_RETURN_NULL;
+  jobject jurl = NULL;
+  if (item->url != NULL)
+    {
+      jurl = env->NewObject(clazz2, mid2,
+                            JNIUtil::makeJString(item->url));
+      if (JNIUtil::isJavaExceptionThrown())
+        POP_AND_RETURN_NULL;
+    }
 
-  jstring jcopyUrl = JNIUtil::makeJString(item->copyfrom_url);
-  if (JNIUtil::isJavaExceptionThrown())
-    POP_AND_RETURN_NULL;
+  jobject jcopyUrl = NULL;
+  if (item->copyfrom_url != NULL)
+    {
+      jcopyUrl = env->NewObject(clazz2, mid2,
+                                JNIUtil::makeJString(item->copyfrom_url));
+      if (JNIUtil::isJavaExceptionThrown())
+        POP_AND_RETURN_NULL;
+    }
 
   jlong jcopyRevision = item->revision;
 

Modified: 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java?rev=992041&r1=992040&r2=992041&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItem.java
 Thu Sep  2 18:04:32 2010
@@ -23,6 +23,8 @@
 
 package org.apache.subversion.javahl;
 
+import java.net.URI;
+
 /**
  * This class describes a item which will be commited.
  */
@@ -55,12 +57,12 @@ public class CommitItem implements java.
     /**
      * the url of the item
      */
-    String url;
+    URI url;
 
     /**
      * the source of the copy
      */
-    String copyUrl;
+    URI copyUrl;
 
     /**
      * the revision
@@ -76,7 +78,7 @@ public class CommitItem implements java.
      * @param cu    copy source url
      * @param r     revision number
      */
-    public CommitItem(String p, NodeKind nk, int sf, String u, String cu, long 
r)
+    public CommitItem(String p, NodeKind nk, int sf, URI u, URI cu, long r)
     {
         path = p;
         nodeKind = nk;
@@ -125,7 +127,7 @@ public class CommitItem implements java.
      * Returns the url of the item
      * @return url
      */
-    public String getUrl()
+    public URI getUrl()
     {
         return url;
     }
@@ -134,7 +136,7 @@ public class CommitItem implements java.
      * Returns the source url if the item is copied
      * @return source url
      */
-    public String getCopyUrl()
+    public URI getCopyUrl()
     {
         return copyUrl;
     }

Modified: 
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java?rev=992041&r1=992040&r2=992041&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
 Thu Sep  2 18:04:32 2010
@@ -92,7 +92,9 @@ public class CommitItem implements java.
     public CommitItem(org.apache.subversion.javahl.CommitItem aItem)
     {
         this(aItem.getPath(), NodeKind.fromApache(aItem.getNodeKind()),
-             aItem.getStateFlags(), aItem.getUrl(), aItem.getCopyUrl(),
+             aItem.getStateFlags(),
+             aItem.getUrl() != null ? aItem.getUrl().toString() : null,
+             aItem.getCopyUrl() != null ? aItem.getCopyUrl().toString() : null,
              aItem.getRevision());
     }
 

Modified: 
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=992041&r1=992040&r2=992041&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
 (original)
+++ 
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
 Thu Sep  2 18:04:32 2010
@@ -806,7 +806,7 @@ class SVNTests extends TestCase
                 // path
                 String key;
                 if (commitItem.getUrl() != null)
-                    key = commitItem.getUrl();
+                    key = commitItem.getUrl().toString();
                 else
                     key = commitItem.getPath();
 


Reply via email to