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 2010/06/10 11:51:17 UTC

svn commit: r953266 - in /subversion/trunk/subversion/bindings/javahl/src/org: apache/subversion/javahl/Info.java apache/subversion/javahl/SVNClient.java tigris/subversion/javahl/Info.java tigris/subversion/javahl/SVNClient.java

Author: hwright
Date: Thu Jun 10 09:51:17 2010
New Revision: 953266

URL: http://svn.apache.org/viewvc?rev=953266&view=rev
Log:
JavaHL: Remove the deprecated info structure and function from the
apache package.  This creates a slight deviation in behavior for clients
who are using the old package, and the ancient API therein.  Namely,
incomplete status is now always returned as false.

[ subversion/bindings/javahl/ ]
* src/org/apache/subversion/javahl/SVNClient.java
  (info): Remove.

* src/org/apache/subversion/javahl/Info.java:
  Remove.

* src/org/tigris/subversion/javahl/Info.java
  (Info): Update backward compat constructor.
  (checkAbsent, checkIncomplete): New.

Removed:
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/Info.java
Modified:
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
    subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java
    subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=953266&r1=953265&r2=953266&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Thu Jun 10 09:51:17 2010
@@ -508,14 +508,6 @@ public class SVNClient implements ISVNCl
             throws ClientException;
 
     /**
-     * @deprecated Use {@link #info2(String, Revision, Revision, int, String[],
-     *                               InfoCallback)} instead.
-     * @since 1.0
-     */
-    public native Info info(String path)
-            throws ClientException;
-
-    /**
      * @since 1.5
      */
     public native void addToChangelist(Set<String> paths, String changelist,

Modified: subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java?rev=953266&r1=953265&r2=953266&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java Thu Jun 10 09:51:17 2010
@@ -24,6 +24,7 @@
 package org.tigris.subversion.javahl;
 
 import java.util.Date;
+import java.io.File;
 
 /**
  * Give information about one subversion item (file or directory) in the
@@ -143,16 +144,32 @@ public class Info implements java.io.Ser
     /**
      * A backward-compat constructor
      */
-    public Info(org.apache.subversion.javahl.Info aInfo)
+    public Info(org.apache.subversion.javahl.Info2 aInfo)
     {
-        this(aInfo.getName(), aInfo.getUrl(), aInfo.getUuid(),
-             aInfo.getRepository(), aInfo.getSchedule().ordinal(),
-             NodeKind.fromApache(aInfo.getNodeKind()),
-             aInfo.getAuthor(), aInfo.getRevision(),
-             aInfo.getLastChangedRevision(), aInfo.getLastChangedDate(),
-             aInfo.getLastDateTextUpdate(), aInfo.getLastDatePropsUpdate(),
-             aInfo.isCopied(), aInfo.isDeleted(), aInfo.isAbsent(),
-             aInfo.isIncomplete(), aInfo.getCopyRev(), aInfo.getCopyUrl());
+        this((new File(aInfo.getPath())).getName(), aInfo.getUrl(),
+             aInfo.getReposUUID(), aInfo.getReposRootUrl(),
+             aInfo.getSchedule().ordinal(),
+             NodeKind.fromApache(aInfo.getKind()),
+             aInfo.getLastChangedAuthor(), aInfo.getRev(),
+             aInfo.getLastChangedRev(), aInfo.getLastChangedDate(),
+             aInfo.getTextTime(), aInfo.getPropTime(), aInfo.getCopyFromUrl() != null,
+             aInfo.getSchedule() == org.apache.subversion.javahl.Info2.ScheduleKind.delete,
+             checkAbsent(aInfo.getPath()), checkIncomplete(aInfo.getPath()),
+             aInfo.getCopyFromRev(), aInfo.getCopyFromUrl());
+    }
+    
+    private static boolean checkAbsent(String path)
+    {
+    	File f = new File(path);
+    	return !f.exists();
+    }
+    
+    /** See if the path is incomplete.  We currently have no way of getting
+     *  this information from the existing info struct, so just return false.
+     */
+    private static boolean checkIncomplete(String path)
+    {
+    	return false;
     }
 
     /**

Modified: subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=953266&r1=953265&r2=953266&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Thu Jun 10 09:51:17 2010
@@ -2248,7 +2248,19 @@ public class SVNClient implements SVNCli
     {
         try
         {
-            return new Info(aSVNClient.info(path));
+        	final List<org.apache.subversion.javahl.Info2> infos =
+        		new ArrayList<org.apache.subversion.javahl.Info2>();
+        	aSVNClient.info2(path,
+        					org.apache.subversion.javahl.Revision.HEAD,
+        					org.apache.subversion.javahl.Revision.HEAD,
+        					org.apache.subversion.javahl.Depth.empty,
+        				    null, new org.apache.subversion.javahl.callback.InfoCallback()
+        	{
+				public void singleInfo(org.apache.subversion.javahl.Info2 info) {
+					infos.add(info);
+				}
+        	});
+            return new Info(infos.get(0));
         }
         catch (org.apache.subversion.javahl.ClientException ex)
         {