You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2010/03/30 22:58:01 UTC

svn commit: r929279 [5/20] - in /subversion/branches/svn-patch-improvements: ./ build/ac-macros/ build/generator/ build/generator/templates/ contrib/client-side/emacs/ notes/feedback/ notes/meetings/ notes/wc-ng/ subversion/ subversion/bindings/javahl/...

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java Tue Mar 30 20:57:53 2010
@@ -45,12 +45,12 @@ public class NotifyInformation extends E
     /**
      * The {@link NotifyAction} which triggered this event.
      */
-    private int action;
+    private Action action;
 
     /**
      * The {@link NodeKind} of the item.
      */
-    private int kind;
+    private NodeKind kind;
 
     /**
      * The MIME type of the item.
@@ -70,17 +70,17 @@ public class NotifyInformation extends E
     /**
      * The {@link NotifyStatus} of the content of the item.
      */
-    private int contentState;
+    private Status contentState;
 
     /**
      * The {@link NotifyStatus} of the properties of the item.
      */
-    private int propState;
+    private Status propState;
 
     /**
      * The {@link LockStatus} of the lock of the item.
      */
-    private int lockState;
+    private LockStatus lockState;
 
     /**
      * The revision of the item.
@@ -124,11 +124,12 @@ public class NotifyInformation extends E
      * @param mergeRange The range of the merge just beginning to occur.
      * @param pathPrefix A common path prefix.
      */
-    NotifyInformation(String path, int action, int kind, String mimeType,
-                      Lock lock, String errMsg, int contentState,
-                      int propState, int lockState, long revision,
-                      String changelistName, RevisionRange mergeRange,
-                      String pathPrefix)
+    public NotifyInformation(String path, Action action, NodeKind kind,
+                             String mimeType, Lock lock, String errMsg,
+                             Status contentState, Status propState,
+                             LockStatus lockState, long revision,
+                             String changelistName, RevisionRange mergeRange,
+                             String pathPrefix)
     {
         super(path == null ? "" : path);
         this.action = action;
@@ -156,7 +157,7 @@ public class NotifyInformation extends E
     /**
      * @return The {@link NotifyAction} which triggered this event.
      */
-    public int getAction()
+    public Action getAction()
     {
         return action;
     }
@@ -164,7 +165,7 @@ public class NotifyInformation extends E
     /**
      * @return The {@link NodeKind} of the item.
      */
-    public int getKind()
+    public NodeKind getKind()
     {
         return kind;
     }
@@ -196,7 +197,7 @@ public class NotifyInformation extends E
     /**
      * @return The {@link NotifyStatus} of the content of the item.
      */
-    public int getContentState()
+    public Status getContentState()
     {
         return contentState;
     }
@@ -204,7 +205,7 @@ public class NotifyInformation extends E
     /**
      * @return The {@link NotifyStatus} of the properties of the item.
      */
-    public int getPropState()
+    public Status getPropState()
     {
         return propState;
     }
@@ -212,7 +213,7 @@ public class NotifyInformation extends E
     /**
      * @return The {@link LockStatus} of the lock of the item.
      */
-    public int getLockState()
+    public LockStatus getLockState()
     {
         return lockState;
     }
@@ -251,4 +252,266 @@ public class NotifyInformation extends E
     {
         return pathPrefix;
     }
+
+    /**
+     * The type of action triggering the notification
+     */
+    public enum Action
+    {
+        /** Adding a path to revision control. */
+        add             ("add"),
+
+        /** Copying a versioned path. */
+        copy            ("copy"),
+
+        /** Deleting a versioned path. */
+        delete          ("delete"),
+
+        /** Restoring a missing path from the pristine text-base. */
+        restore         ("restore"),
+
+        /** Reverting a modified path. */
+        revert          ("revert"),
+
+        /** A revert operation has failed. */
+        failed_revert   ("failed revert"),
+
+        /** Resolving a conflict. */
+        resolved        ("resolved"),
+
+        /** Skipping a path. */
+        skip            ("skip"),
+
+        /* The update actions are also used for checkouts, switches, and
+           merges. */
+
+        /** Got a delete in an update. */
+        update_delete   ("update delete"),
+
+        /** Got an add in an update. */
+        update_add      ("update add"),
+
+        /** Got any other action in an update. */
+        update_update   ("update modified"),
+
+        /** The last notification in an update */
+        update_completed ("update completed"),
+
+        /** About to update an external module, use for checkouts and switches
+         *  too, end with @c svn_wc_update_completed.
+         */
+        update_external ("update external"),
+
+        /** The last notification in a status (including status on externals).
+         */
+        status_completed ("status completed"),
+
+        /** Running status on an external module. */
+        status_external ("status external"),
+
+        /** Committing a modification. */
+        commit_modified ("sending modified"),
+
+        /** Committing an addition. */
+        commit_added    ("sending added"),
+
+        /** Committing a deletion. */
+        commit_deleted  ("sending deleted"),
+
+        /** Committing a replacement. */
+        commit_replaced ("sending replaced"),
+
+        /** Transmitting post-fix text-delta data for a file. */
+        commit_postfix_txdelta ("transfer"),
+
+        /** Processed a single revision's blame. */
+        blame_revision  ("blame revision processed"),
+
+        /** Locking a path */
+        locked          ("locked"),
+
+        /** Unlocking a path */
+        unlocked        ("unlocked"),
+
+        /** Failed to lock a path */
+        failed_lock     ("locking failed"),
+
+        /** Failed to unlock a path */
+        failed_unlock   ("unlocking failed"),
+
+        /** Tried adding a path that already exists.  */
+        exists          ("path exists"),
+
+        /** Set the changelist for a path.  */
+        changelist_set  ("changelist set"),
+
+        /** Clear the changelist for a path.  */
+        changelist_clear ("changelist cleared"),
+
+        /** A path has moved to another changelist.  */
+        changelist_moved    ("changelist moved"),
+
+        /** A merge operation has begun.  */
+        merge_begin     ("merge begin"),
+
+        /** A merge operation from a foreign repository has begun.  */
+        foreign_merge_begin ("foreign merge begin"),
+
+        /** Got a replaced in an update.  */
+        update_replaced ("replaced"),
+
+        /** Property added.  */
+        property_added  ("property added"),
+
+        /** Property modified.  */
+        property_modified ("property modified"),
+
+        /** Property deleted.  */
+        property_deleted ("property deleted"),
+
+        /** Property delete nonexistent.  */
+        property_deleted_nonexistent ("nonexistent property deleted"),
+
+        /** Revision property set.  */
+        revprop_set     ("revprop set"),
+
+        /** Revision property deleted.  */
+        revprop_deleted ("revprop deleted"),
+
+        /** The last notification in a merge.  */
+        merge_completed ("merge completed"),
+
+        /** The path is a tree-conflict victim of the intended action */
+        tree_conflict   ("tree conflict"),
+
+        /** The path is a subdirectory referenced in an externals definition
+          * which is unable to be operated on.  */
+        failed_external ("failed external"),
+
+        /** An update tried to add a file or directory at path but an
+          * unversioned obstruction was found.  */
+        update_obstruction  ("update obstruction"),
+
+        /** An update operation removed an external working copy.  */
+        update_external_removed ("update external removed"),
+
+        /** A node below a deleted and tree conflicted directory was added
+          *  during update.  */
+        update_add_deleted  ("update add deleted"),
+
+        /** A node below a deleted and tree conflicted directory was updated.
+          */
+        update_update_deleted   ("update modified deleted"),
+
+        /** The mergeinfo on path was updated.  */
+        merge_record_info   ("merge record info"),
+
+        /** An working copy directory was upgraded to the latest format.  */
+        upgraded_path       ("upgraded path"),
+
+        /** Mergeinfo describing a merge was recorded.  */
+        merge_record_info_begin     ("merge record info begin"),
+
+        /** Mergeinfo was removed due to elision.  */
+        merge_elide_info    ("Merge elide info"),
+
+        /** A file in the working copy was patched.  */
+        patch       ("patch"),
+
+        /** A hunk from a patch was applied.  */
+        patch_applied_hunk  ("patch applied hunk"),
+
+        /** A hunk from a patch was rejected.  */
+        patch_rejected_hunk ("patch rejected hunk");
+
+        /**
+         * The description of the action.
+         */
+        private String description;
+
+        Action(String description)
+        {
+            this.description = description;
+        }
+
+        public String toString()
+        {
+            return description;
+        }
+    }
+
+    public enum Status
+    {
+        /** It not applicable*/
+        inapplicable    ("inapplicable"),
+
+        /** Notifier doesn't know or isn't saying. */
+        unknown         ("unknown"),
+
+        /** The state did not change. */
+        unchanged       ("unchanged"),
+
+        /** The item wasn't present. */
+        missing         ("missing"),
+
+        /** An unversioned item obstructed work. */
+        obstructed      ("obstructed"),
+
+        /** Pristine state was modified. */
+        changed         ("changed"),
+
+        /** Modified state had mods merged in. */
+        merged          ("merged"),
+
+        /** Modified state got conflicting mods. */
+        conflicted      ("conflicted");
+
+        /**
+         * The description of the action.
+         */
+        private String description;
+
+        Status(String description)
+        {
+            this.description = description;
+        }
+
+        public String toString()
+        {
+            return description;
+        }
+    }
+
+    public enum LockStatus
+    {
+        /** does not make sense for this operation */
+        inapplicable    ("inapplicable"),
+
+        /** unknown lock state */
+        unknown         ("unknown"),
+
+        /** the lock change did not change */
+        unchanged       ("unchanged"),
+
+        /** the item was locked */
+        locked          ("locked"),
+
+        /** the item was unlocked */
+        unlocked        ("unlocked");
+
+        /**
+         * The description of the action.
+         */
+        private String description;
+
+        LockStatus(String description)
+        {
+            this.description = description;
+        }
+
+        public String toString()
+        {
+            return description;
+        }
+    }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java Tue Mar 30 20:57:53 2010
@@ -58,7 +58,7 @@ public class ProgressEvent implements ja
      * @param total The total number of bytes, or <code>-1</code> if
      * not known.
      */
-    ProgressEvent(long progress, long total)
+    public ProgressEvent(long progress, long total)
     {
         this.progress = progress;
         this.total = total;

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Revision.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Revision.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Revision.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Revision.java Tue Mar 30 20:57:53 2010
@@ -44,16 +44,17 @@ public class Revision implements java.io
     /**
      * kind of revision specified
      */
-    protected int revKind;
+    protected Kind revKind;
 
     /**
      * Internally create a new revision.  Public for backward compat reasons.
      * Callers should use getInstance() instead.
      * @param kind    kind of revision
      */
-    public Revision(int kind)
+    public Revision(Kind kind)
     {
-        if (kind < RevisionKind.unspecified || kind > RevisionKind.head)
+        if (kind.ordinal() < Kind.unspecified.ordinal()
+               || kind.ordinal() > Kind.head.ordinal())
             throw new IllegalArgumentException(
                     kind+" is not a legal revision kind");
         revKind = kind;
@@ -63,7 +64,7 @@ public class Revision implements java.io
      * Returns the kind of the Revsion
      * @return kind
      */
-    public int getKind()
+    public Kind getKind()
     {
         return revKind;
     }
@@ -75,11 +76,11 @@ public class Revision implements java.io
     public String toString()
     {
         switch(revKind) {
-            case Kind.base : return "BASE";
-            case Kind.committed : return "COMMITTED";
-            case Kind.head : return "HEAD";
-            case Kind.previous : return "PREV";
-            case Kind.working : return "WORKING";
+            case base : return "BASE";
+            case committed : return "COMMITTED";
+            case head : return "HEAD";
+            case previous : return "PREV";
+            case working : return "WORKING";
         }
         return super.toString();
     }
@@ -89,7 +90,7 @@ public class Revision implements java.io
      */
     public int hashCode()
     {
-        return revKind * -1;
+        return revKind.ordinal() * -1;
     }
 
     /**
@@ -321,10 +322,31 @@ public class Revision implements java.io
      * refers to the uncommitted "working" revision, which may be modified
      * with respect to its base revision.  In other contexts, `working'
      * should behave the same as `committed' or `current'.
-     *
-     * the values are defined in RevisionKind because of building reasons
      */
-    public static final class Kind implements RevisionKind
+    public enum Kind
     {
+       /** No revision information given. */
+        unspecified,
+
+        /** revision given as number */
+        number,
+
+        /** revision given as date */
+        date,
+
+        /** rev of most recent change */
+        committed,
+
+        /** (rev of most recent change) - 1 */
+        previous,
+
+        /** .svn/entries current revision */
+        base,
+
+        /** current, plus local mods */
+        working,
+
+        /** repository youngest */
+        head;
     }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/RevisionRange.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/RevisionRange.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/RevisionRange.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/RevisionRange.java Tue Mar 30 20:57:53 2010
@@ -28,7 +28,7 @@ package org.apache.subversion.javahl;
  *
  * @since 1.5
  */
-public class RevisionRange implements Comparable, java.io.Serializable
+public class RevisionRange implements Comparable<RevisionRange>, java.io.Serializable
 {
     // Update the serialVersionUID when there is a incompatible change
     // made to this class.  See any of the following, depending upon
@@ -45,6 +45,7 @@ public class RevisionRange implements Co
     /**
      * Creates a new instance.  Called by native library.
      */
+    @SuppressWarnings("unused")
     private RevisionRange(long from, long to)
     {
         this.from = Revision.getInstance(from);
@@ -184,12 +185,12 @@ public class RevisionRange implements Co
     /**
      * @param range The RevisionRange to compare this object to.
      */
-    public int compareTo(Object range)
+    public int compareTo(RevisionRange range)
     {
         if (this == range)
             return 0;
 
-        Revision other = ((RevisionRange) range).getFromRevision();
+        Revision other = (range).getFromRevision();
         return RevisionRange.getRevisionAsLong(this.getFromRevision())
             .compareTo(RevisionRange.getRevisionAsLong(other));
     }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java Tue Mar 30 20:57:53 2010
@@ -29,7 +29,7 @@ import java.util.Set;
  * This class offers the same commands as the svnadmin commandline
  * client.
  */
-public class SVNAdmin
+public class SVNAdmin implements ISVNAdmin
 {
     /**
      * Load the required native library.
@@ -79,21 +79,11 @@ public class SVNAdmin
     protected long cppAddr;
 
     /**
-     * Filesystem in a Berkeley DB
-     */
-    public static final String BDB = "bdb";
-
-    /**
-     * Filesystem in the filesystem
-     */
-    public static final String FSFS = "fsfs";
-
-    /**
      * @return Version information about the underlying native libraries.
      */
     public Version getVersion()
     {
-        return NativeResources.version;
+        return NativeResources.getVersion();
     }
 
     /**

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Tue Mar 30 20:57:53 2010
@@ -99,7 +99,7 @@ public class SVNClient implements ISVNCl
      */
     public Version getVersion()
     {
-        return NativeResources.version;
+        return NativeResources.getVersion();
     }
 
     /**
@@ -121,28 +121,18 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void status(String path, int depth, boolean onServer, boolean getAll,
-                       boolean noIgnore, boolean ignoreExternals,
-                       Collection<String> changelists, StatusCallback callback)
-            throws ClientException
-    {
-        this.status(path, depth, onServer, getAll, noIgnore, ignoreExternals,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    callback);
-    }
-
-    private native void status(String path, int depth, boolean onServer,
-                               boolean getAll, boolean noIgnore,
-                               boolean ignoreExternals, String[] changelists,
-                               StatusCallback callback)
+    public native void status(String path, Depth depth, boolean onServer,
+                              boolean getAll, boolean noIgnore,
+                              boolean ignoreExternals,
+                              Collection<String> changelists,
+                              StatusCallback callback)
             throws ClientException;
 
     /**
      * @since 1.5
      */
     public native void list(String url, Revision revision,
-                            Revision pegRevision, int depth, int direntFields,
+                            Revision pegRevision, Depth depth, int direntFields,
                             boolean fetchLocks, ListCallback callback)
             throws ClientException;
 
@@ -164,53 +154,24 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.6
      */
-    public void logMessages(String path,
-                            Revision pegRevision,
-                            List<RevisionRange> revisionRanges,
-                            boolean stopOnCopy,
-                            boolean discoverPath,
-                            boolean includeMergedRevisions,
-                            Set<String> revProps,
-                            long limit,
-                            LogMessageCallback callback)
-            throws ClientException
-    {
-        this.logMessages(path, pegRevision,
-                         revisionRanges == null ? null
-                            : revisionRanges.toArray(new RevisionRange[
-                                                        revisionRanges.size()]),
-                         stopOnCopy, discoverPath, includeMergedRevisions,
-                         revProps == null ? null
-                            : revProps.toArray(new String[revProps.size()]),
-                         limit, callback);
-    }
-
-    private native void logMessages(String path,
-                                    Revision pegRevision,
-                                    RevisionRange[] revisionRanges,
-                                    boolean stopOnCopy,
-                                    boolean discoverPath,
-                                    boolean includeMergedRevisions,
-                                    String[] revProps,
-                                    long limit,
-                                    LogMessageCallback callback)
+    public native void logMessages(String path, Revision pegRevision,
+                                   List<RevisionRange> revisionRanges,
+                                   boolean stopOnCopy, boolean discoverPath,
+                                   boolean includeMergedRevisions,
+                                   Set<String> revProps, long limit,
+                                   LogMessageCallback callback)
             throws ClientException;
+
     /**
      * @since 1.5
      */
     public native long checkout(String moduleName, String destPath,
                                 Revision revision, Revision pegRevision,
-                                int depth, boolean ignoreExternals,
+                                Depth depth, boolean ignoreExternals,
                                 boolean allowUnverObstructions)
             throws ClientException;
 
     /**
-     * @since 1.0
-     * @deprecated
-     */
-    public native void notification(Notify notify);
-
-    /**
      * @since 1.2
      */
     public native void notification2(NotifyCallback notify);
@@ -233,133 +194,65 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void remove(Set<String> paths, String message, boolean force,
-                       boolean keepLocal, Map<String, String> revpropTable)
-            throws ClientException
-    {
-        this.remove(paths.toArray(new String[paths.size()]), message, force,
-                    keepLocal, revpropTable);
-    }
-
-    private native void remove(String[] paths, String message, boolean force,
-                               boolean keepLocal,
-                               Map<String, String> revpropTable)
+    public native void remove(Set<String> paths, String message, boolean force,
+                              boolean keepLocal,
+                              Map<String, String> revpropTable)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void revert(String path, int depth, Collection<String> changelists)
-            throws ClientException
-    {
-        this.revert(path, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]));
-    }
-
-    private native void revert(String path, int depth, String[] changelists)
+    public native void revert(String path, Depth depth,
+                              Collection<String> changelists)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public native void add(String path, int depth, boolean force,
+    public native void add(String path, Depth depth, boolean force,
                            boolean noIgnores, boolean addParents)
         throws ClientException;
 
     /**
      * @since 1.5
      */
-    public long[] update(Set<String> paths, Revision revision,
-                         int depth, boolean depthIsSticky,
-                         boolean ignoreExternals,
-                         boolean allowUnverObstructions)
-            throws ClientException
-    {
-        return update(paths.toArray(new String[paths.size()]), revision, depth,
-                      depthIsSticky, ignoreExternals, allowUnverObstructions);
-    }
-
-    private native long[] update(String[] paths, Revision revision,
-                                 int depth, boolean depthIsSticky,
-                                 boolean ignoreExternals,
-                                 boolean allowUnverObstructions)
+    public native long[] update(Set<String> paths, Revision revision,
+                                Depth depth, boolean depthIsSticky,
+                                boolean ignoreExternals,
+                                boolean allowUnverObstructions)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public long commit(Set<String> paths, String message, int depth,
-                       boolean noUnlock, boolean keepChangelist,
-                       Collection<String> changelists,
-                       Map<String, String> revpropTable)
-            throws ClientException
-    {
-        return this.commit(paths.toArray(new String[paths.size()]),
-                    message, depth, noUnlock, keepChangelist,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    revpropTable);
-    }
-
-    private native long commit(String[] paths, String message, int depth,
-                               boolean noUnlock, boolean keepChangelist,
-                               String[] changelists,
-                               Map<String, String> revpropTable)
+    public native long commit(Set<String> paths, String message, Depth depth,
+                              boolean noUnlock, boolean keepChangelist,
+                              Collection<String> changelists,
+                              Map<String, String> revpropTable)
             throws ClientException;
 
     /**
      * @since 1.7
      */
-    public void copy(List<CopySource> sources, String destPath,
-                     String message, boolean copyAsChild,
-                     boolean makeParents, boolean ignoreExternals,
-                     Map<String, String> revpropTable)
-            throws ClientException
-    {
-        this.copy(sources.toArray(new CopySource[sources.size()]),
-                  destPath, message, copyAsChild, makeParents,
-                  ignoreExternals, revpropTable);
-    }
-
-    private native void copy(CopySource[] sources, String destPath,
-                             String message, boolean copyAsChild,
-                             boolean makeParents, boolean ignoreExternals,
-                             Map<String, String> revpropTable)
+    public native void copy(List<CopySource> sources, String destPath,
+                            String message, boolean copyAsChild,
+                            boolean makeParents, boolean ignoreExternals,
+                            Map<String, String> revpropTable)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void move(Set<String> srcPaths, String destPath,
-                     String message, boolean force, boolean moveAsChild,
-                     boolean makeParents, Map<String, String> revpropTable)
-            throws ClientException
-    {
-        this.move(srcPaths.toArray(new String[srcPaths.size()]), destPath,
-                  message, force, moveAsChild, makeParents, revpropTable);
-    }
-
-    private native void move(String[] srcPaths, String destPath,
-                             String message,
-                             boolean force, boolean moveAsChild,
-                             boolean makeParents,
-                             Map<String, String> revpropTable)
+    public native void move(Set<String> srcPaths, String destPath,
+                            String message, boolean force, boolean moveAsChild,
+                            boolean makeParents,
+                            Map<String, String> revpropTable)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void mkdir(Set<String> paths, String message,
-                      boolean makeParents,
-                      Map<String, String> revpropTable)
-            throws ClientException
-    {
-        this.mkdir(paths.toArray(new String[paths.size()]), message,
-                   makeParents, revpropTable);
-    }
-
-    private native void mkdir(String[] paths, String message,
+    public native void mkdir(Set<String> paths, String message,
                              boolean makeParents,
                              Map<String, String> revpropTable)
             throws ClientException;
@@ -373,7 +266,8 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public native void resolve(String path, int depth, int conflictResult)
+    public native void resolve(String path, Depth depth,
+                               ConflictResult.Choice conflictResult)
         throws SubversionException;
 
     /**
@@ -382,14 +276,14 @@ public class SVNClient implements ISVNCl
     public native long doExport(String srcPath, String destPath,
                                 Revision revision, Revision pegRevision,
                                 boolean force, boolean ignoreExternals,
-                                int depth, String nativeEOL)
+                                Depth depth, String nativeEOL)
             throws ClientException;
 
     /**
      * @since 1.5
      */
     public native long doSwitch(String path, String url, Revision revision,
-                                Revision pegRevision, int depth,
+                                Revision pegRevision, Depth depth,
                                 boolean depthIsSticky, boolean ignoreExternals,
                                 boolean allowUnverObstructions)
             throws ClientException;
@@ -398,7 +292,7 @@ public class SVNClient implements ISVNCl
      * @since 1.5
      */
     public native void doImport(String path, String url, String message,
-                                int depth, boolean noIgnore,
+                                Depth depth, boolean noIgnore,
                                 boolean ignoreUnknownNodeTypes,
                                 Map<String, String> revpropTable)
             throws ClientException;
@@ -415,7 +309,7 @@ public class SVNClient implements ISVNCl
      */
     public native void merge(String path1, Revision revision1, String path2,
                              Revision revision2, String localPath,
-                             boolean force, int depth,
+                             boolean force, Depth depth,
                              boolean ignoreAncestry, boolean dryRun,
                              boolean recordOnly)
             throws ClientException;
@@ -423,22 +317,10 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void merge(String path, Revision pegRevision,
-                      List<RevisionRange> revisions, String localPath,
-                      boolean force, int depth, boolean ignoreAncestry,
-                      boolean dryRun, boolean recordOnly)
-            throws ClientException
-    {
-        this.merge(path, pegRevision,
-                   revisions == null ? null
-                    : revisions.toArray(new RevisionRange[revisions.size()]),
-                   localPath, force, depth, ignoreAncestry, dryRun, recordOnly);
-    }
-
-    private native void merge(String path, Revision pegRevision,
-                              RevisionRange[] revisions, String localPath,
-                              boolean force, int depth, boolean ignoreAncestry,
-                              boolean dryRun, boolean recordOnly)
+    public native void merge(String path, Revision pegRevision,
+                             List<RevisionRange> revisions, String localPath,
+                             boolean force, Depth depth, boolean ignoreAncestry,
+                             boolean dryRun, boolean recordOnly)
             throws ClientException;
 
     /**
@@ -457,201 +339,95 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.7
      */
-    public void getMergeinfoLog(int kind, String pathOrUrl,
-                                Revision pegRevision,
-                                String mergeSourceUrl,
-                                Revision srcPegRevision,
-                                boolean discoverChangedPaths,
-                                int depth,
-                                Set<String> revProps,
-                                LogMessageCallback callback)
-        throws ClientException
-    {
-        this.getMergeinfoLog(kind, pathOrUrl, pegRevision, mergeSourceUrl,
-                             srcPegRevision, discoverChangedPaths, depth,
-                             revProps == null ? null
-                                : revProps.toArray(new String[revProps.size()]),
-                             callback);
-    }
-
-    private native void getMergeinfoLog(int kind, String pathOrUrl,
-                                        Revision pegRevision,
-                                        String mergeSourceUrl,
-                                        Revision srcPegRevision,
-                                        boolean discoverChangedPaths,
-                                        int depth,
-                                        String[] revProps,
-                                        LogMessageCallback callback)
+    public native void getMergeinfoLog(MergeinfoLogKind kind, String pathOrUrl,
+                                       Revision pegRevision,
+                                       String mergeSourceUrl,
+                                       Revision srcPegRevision,
+                                       boolean discoverChangedPaths, Depth depth,
+                                       Set<String> revProps,
+                                       LogMessageCallback callback)
         throws ClientException;
 
     /**
      * @since 1.7
      */
-    public void diff(String target1, Revision revision1, String target2,
-                     Revision revision2, String relativeToDir,
-                     String outFileName, int depth,
-                     Collection<String> changelists, boolean ignoreAncestry,
-                     boolean noDiffDeleted, boolean force,
-                     boolean copiesAsAdds)
-            throws ClientException
-    {
-        this.diff(target1, revision1, target2, revision2, relativeToDir,
-                    outFileName, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, noDiffDeleted, force, copiesAsAdds);
-                
-    }
-
-    private native void diff(String target1, Revision revision1, String target2,
-                             Revision revision2, String relativeToDir,
-                             String outFileName, int depth,
-                             String[] changelists, boolean ignoreAncestry,
-                             boolean noDiffDeleted, boolean force,
-                             boolean copiesAsAdds)
+    public native void diff(String target1, Revision revision1, String target2,
+                            Revision revision2, String relativeToDir,
+                            String outFileName, Depth depth,
+                            Collection<String> changelists,
+                            boolean ignoreAncestry, boolean noDiffDeleted,
+                            boolean force, boolean copiesAsAdds)
             throws ClientException;
 
     /**
      * @since 1.7
      */
-    public void diff(String target, Revision pegRevision,
-                     Revision startRevision, Revision endRevision,
-                     String relativeToDir, String outFileName,
-                     int depth, Collection<String> changelists,
-                     boolean ignoreAncestry, boolean noDiffDeleted,
-                     boolean force, boolean copiesAsAdds)
-            throws ClientException
-    {
-        this.diff(target, pegRevision, startRevision, endRevision,
-                    relativeToDir, outFileName, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, noDiffDeleted, force, copiesAsAdds);
-    }
-
-    private native void diff(String target, Revision pegRevision,
-                             Revision startRevision, Revision endRevision,
-                             String relativeToDir, String outFileName,
-                             int depth, String[] changelists,
-                             boolean ignoreAncestry, boolean noDiffDeleted,
-                             boolean force, boolean copiesAsAdds)
+    public native void diff(String target, Revision pegRevision,
+                            Revision startRevision, Revision endRevision,
+                            String relativeToDir, String outFileName,
+                            Depth depth, Collection<String> changelists,
+                            boolean ignoreAncestry, boolean noDiffDeleted,
+                            boolean force, boolean copiesAsAdds)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void diffSummarize(String target1, Revision revision1,
-                              String target2, Revision revision2,
-                              int depth, Collection<String> changelists,
-                              boolean ignoreAncestry,
-                              DiffSummaryCallback receiver)
-            throws ClientException
-    {
-        this.diffSummarize(target1, revision1, target2, revision2, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, receiver);
-    }
-
-    private native void diffSummarize(String target1, Revision revision1,
-                                      String target2, Revision revision2,
-                                      int depth, String[] changelists,
-                                      boolean ignoreAncestry,
-                                      DiffSummaryCallback receiver)
+    public native void diffSummarize(String target1, Revision revision1,
+                                     String target2, Revision revision2,
+                                     Depth depth, Collection<String> changelists,
+                                     boolean ignoreAncestry,
+                                     DiffSummaryCallback receiver)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void diffSummarize(String target, Revision pegRevision,
-                              Revision startRevision,
-                              Revision endRevision,
-                              int depth, Collection<String> changelists,
-                              boolean ignoreAncestry,
-                              DiffSummaryCallback receiver)
-            throws ClientException
-    {
-        this.diffSummarize(target, pegRevision, startRevision, endRevision,
-                    depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    ignoreAncestry, receiver);
-    }
-
-    private native void diffSummarize(String target, Revision pegRevision,
-                                      Revision startRevision,
-                                      Revision endRevision,
-                                      int depth, String[] changelists,
-                                      boolean ignoreAncestry,
-                                      DiffSummaryCallback receiver)
+    public native void diffSummarize(String target, Revision pegRevision,
+                                     Revision startRevision,
+                                     Revision endRevision, Depth depth,
+                                     Collection<String> changelists,
+                                     boolean ignoreAncestry,
+                                     DiffSummaryCallback receiver)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void properties(String path, Revision revision,
-                           Revision pegRevision, int depth,
-                           Collection<String> changelists,
-                           ProplistCallback callback)
-            throws ClientException
-    {
-        this.properties(path, revision, pegRevision, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    callback);
-    }
-
-    private native void properties(String path, Revision revision,
-                                   Revision pegRevision, int depth,
-                                   String[] changelists,
-                                   ProplistCallback callback)
+    public native void properties(String path, Revision revision,
+                                  Revision pegRevision, Depth depth,
+                                  Collection<String> changelists,
+                                  ProplistCallback callback)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void propertySet(String path, String name, String value,
-                            int depth, Collection<String> changelists,
-                            boolean force, Map<String, String> revpropTable)
-            throws ClientException
-    {
-        this.propertySet(path, name, value, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    force, revpropTable);
-    }
-
-    private native void propertySet(String path, String name, String value,
-                                    int depth, String[] changelists,
-                                    boolean force,
-                                    Map<String, String> revpropTable)
+    public native void propertySet(String path, String name, String value,
+                                   Depth depth, Collection<String> changelists,
+                                   boolean force,
+                                   Map<String, String> revpropTable)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void propertyRemove(String path, String name, int depth,
+    public void propertyRemove(String path, String name, Depth depth,
                                Collection<String> changelists)
             throws ClientException
     {
-        propertySet(path, name, null, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    false, null);
+        propertySet(path, name, null, depth, changelists, false, null);
     }
 
     /**
      * @since 1.5
      */
     public void propertyCreate(String path, String name, String value,
-                               int depth, Collection<String> changelists,
+                               Depth depth, Collection<String> changelists,
                                boolean force)
             throws ClientException
     {
-        propertySet(path, name, value, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    force, null);
+        propertySet(path, name, value, depth, changelists, force, null);
     }
 
     /**
@@ -742,52 +518,24 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.5
      */
-    public void addToChangelist(Set<String> paths, String changelist,
-                                int depth, Collection<String> changelists)
-            throws ClientException
-    {
-        this.addToChangelist(paths.toArray(new String[paths.size()]),
-                    changelist, depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]));
-    }
-
-    private native void addToChangelist(String[] paths, String changelist,
-                                        int depth, String[] changelists)
+    public native void addToChangelist(Set<String> paths, String changelist,
+                                       Depth depth,
+                                       Collection<String> changelists)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void removeFromChangelists(Set<String> paths, int depth,
-                                      Collection<String> changelists)
-            throws ClientException
-    {
-        this.removeFromChangelists(paths.toArray(new String[paths.size()]),
-                    depth,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]));
-    }
-
-    private native void removeFromChangelists(String[] paths, int depth,
-                                              String[] changelists)
+    public native void removeFromChangelists(Set<String> paths, Depth depth,
+                                             Collection<String> changelists)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void getChangelists(String rootPath, Collection<String> changelists,
-                               int depth, ChangelistCallback callback)
-            throws ClientException
-    {
-        this.getChangelists(rootPath,
-                    changelists == null ? null :
-                      changelists.toArray(new String[changelists.size()]),
-                    depth, callback);
-    }
-
-    private native void getChangelists(String rootPath, String[] changelists,
-                                       int depth, ChangelistCallback callback)
+    public native void getChangelists(String rootPath,
+                                      Collection<String> changelists,
+                                      Depth depth, ChangelistCallback callback)
             throws ClientException;
 
     /**
@@ -809,15 +557,25 @@ public class SVNClient implements ISVNCl
      *                      ClientLogLevel)
      * @param logFilePath   path of the log file
      */
-    public static native void enableLogging(int logLevel, String logFilePath);
+    public static native void enableLogging(ClientLogLevel logLevel,
+                                            String logFilePath);
 
     /**
-     * class for the constants of the logging levels.
-     * The constants are defined in ClientLogLevel because of building
-     * reasons
+     * enum for the constants of the logging levels.
      */
-    public static final class LogLevel implements ClientLogLevel
+    public enum ClientLogLevel
     {
+        /** Log nothing */
+        NoLog,
+
+        /** Log fatal error */
+        ErrorLog,
+
+        /** Log exceptions thrown */
+        ExceptionLog,
+
+        /** Log the entry and exits of the JNI code */
+        EntryLog;
     }
 
     /**
@@ -850,43 +608,21 @@ public class SVNClient implements ISVNCl
     /**
      * @since 1.2
      */
-    public void lock(Set<String> paths, String comment, boolean force)
-            throws ClientException
-    {
-        this.lock(paths.toArray(new String[paths.size()]), comment, force);
-    }
-
-    private native void lock(String[] paths, String comment, boolean force)
+    public native void lock(Set<String> paths, String comment, boolean force)
             throws ClientException;
 
     /**
      * @since 1.2
      */
-    public void unlock(Set<String> paths, boolean force)
-            throws ClientException
-    {
-        this.unlock(paths.toArray(new String[paths.size()]), force);
-    }
-
-    private native void unlock(String[] paths, boolean force)
+    public native void unlock(Set<String> paths, boolean force)
             throws ClientException;
 
     /**
      * @since 1.5
      */
-    public void info2(String pathOrUrl, Revision revision,
-                      Revision pegRevision, int depth,
-                      Collection<String> changelists, InfoCallback callback)
-            throws ClientException
-    {
-        this.info2(pathOrUrl, revision, pegRevision, depth, 
-                   changelists == null ? null :
-                     changelists.toArray(new String[changelists.size()]),
-                   callback);
-    }
-
-    private native void info2(String pathOrUrl, Revision revision,
-                              Revision pegRevision, int depth,
-                              String[] changelists, InfoCallback callback)
+    public native void info2(String pathOrUrl, Revision revision,
+                             Revision pegRevision, Depth depth,
+                             Collection<String> changelists,
+                             InfoCallback callback)
             throws ClientException;
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Status.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Status.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Status.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/apache/subversion/javahl/Status.java Tue Mar 30 20:57:53 2010
@@ -55,7 +55,7 @@ public class Status implements java.io.S
     /**
      * kind of the item (file, directory or unknonw)
      */
-    private int nodeKind;
+    private NodeKind nodeKind;
 
     /**
      * the base revision of the working copy
@@ -81,12 +81,12 @@ public class Status implements java.io.S
     /**
      * the file or directory status (See StatusKind)
      */
-    private int textStatus;
+    private Kind textStatus;
 
     /**
      * the status of the properties (See StatusKind)
      */
-    private int propStatus;
+    private Kind propStatus;
 
     /**
      * flag is this item is locked locally by subversion
@@ -124,12 +124,12 @@ public class Status implements java.io.S
     /**
      * the file or directory status of base (See StatusKind)
      */
-    private int repositoryTextStatus;
+    private Kind repositoryTextStatus;
 
     /**
      * the status of the properties base (See StatusKind)
      */
-    private int repositoryPropStatus;
+    private Kind repositoryPropStatus;
 
     /**
      * if there is a conflict, the filename of the new version
@@ -208,7 +208,7 @@ public class Status implements java.io.S
      * Set to the node kind of the youngest commit, or {@link
      * NodeKind#none} if not out of date.
      */
-    private int reposKind = NodeKind.none;
+    private NodeKind reposKind = NodeKind.none;
 
     /**
      * @since 1.3
@@ -269,10 +269,10 @@ public class Status implements java.io.S
      *                              date
      * @param changelist            the changelist the item is a member of
      */
-    public Status(String path, String url, int nodeKind, long revision,
+    public Status(String path, String url, NodeKind nodeKind, long revision,
                   long lastChangedRevision, long lastChangedDate,
-                  String lastCommitAuthor, int textStatus, int propStatus,
-                  int repositoryTextStatus, int repositoryPropStatus,
+                  String lastCommitAuthor, Kind textStatus, Kind propStatus,
+                  Kind repositoryTextStatus, Kind repositoryPropStatus,
                   boolean locked, boolean copied, boolean treeConflicted,
                   ConflictDescriptor conflictDescriptor, String conflictOld,
                   String conflictNew, String conflictWorking,
@@ -280,12 +280,12 @@ public class Status implements java.io.S
                   boolean switched, boolean fileExternal, String lockToken,
                   String lockOwner, String lockComment, long lockCreationDate,
                   Lock reposLock, long reposLastCmtRevision,
-                  long reposLastCmtDate, int reposKind,
+                  long reposLastCmtDate, NodeKind reposKind,
                   String reposLastCmtAuthor, String changelist)
     {
         this.path = path;
         this.url = url;
-        this.nodeKind = nodeKind;
+        this.nodeKind = (nodeKind != null ? nodeKind : NodeKind.unknown);
         this.revision = revision;
         this.lastChangedRevision = lastChangedRevision;
         this.lastChangedDate = lastChangedDate;
@@ -378,7 +378,7 @@ public class Status implements java.io.S
      * Returns the status of the item (See StatusKind)
      * @return file status property enum of the "textual" component.
      */
-    public int getTextStatus()
+    public Kind getTextStatus()
     {
         return textStatus;
     }
@@ -389,14 +389,14 @@ public class Status implements java.io.S
      */
     public String getTextStatusDescription()
     {
-        return Kind.getDescription(textStatus);
+        return textStatus.toString();
     }
 
     /**
      * Returns the status of the properties (See Status Kind)
      * @return file status property enum of the "property" component.
      */
-    public int getPropStatus()
+    public Kind getPropStatus()
     {
         return propStatus;
     }
@@ -407,7 +407,7 @@ public class Status implements java.io.S
      */
     public String getPropStatusDescription()
     {
-        return Kind.getDescription(propStatus);
+        return propStatus.toString();
     }
 
     /**
@@ -415,7 +415,7 @@ public class Status implements java.io.S
      * @return file status property enum of the "textual" component in the
      * repository.
      */
-    public int getRepositoryTextStatus()
+    public Kind getRepositoryTextStatus()
     {
         return repositoryTextStatus;
     }
@@ -425,7 +425,7 @@ public class Status implements java.io.S
      * @return file status property enum of the "property" component im the
      * repository.
      */
-    public int getRepositoryPropStatus()
+    public Kind getRepositoryPropStatus()
     {
         return repositoryPropStatus;
     }
@@ -514,7 +514,7 @@ public class Status implements java.io.S
      * Returns the kind of the node (file, directory or unknown, see NodeKind)
      * @return the node kind
      */
-    public int getNodeKind()
+    public NodeKind getNodeKind()
     {
         return nodeKind;
     }
@@ -570,7 +570,7 @@ public class Status implements java.io.S
      */
     public boolean isManaged()
     {
-        int status = getTextStatus();
+        Kind status = getTextStatus();
         return (status != Status.Kind.unversioned &&
                 status != Status.Kind.none &&
                 status != Status.Kind.ignored);
@@ -738,7 +738,7 @@ public class Status implements java.io.S
      * <code>null</code> if up to date.
      * @since 1.3
      */
-    public int getReposKind()
+    public NodeKind getReposKind()
     {
         return reposKind;
     }
@@ -781,61 +781,79 @@ public class Status implements java.io.S
     }
 
     /**
+     * Converts microseconds since the epoch to a Date object.
+     *
+     * @param micros Microseconds since the epoch.
+     * @return A Date object, or <code>null</code> if
+     * <code>micros</code> was zero.
+     */
+    private static Date microsecondsToDate(long micros)
+    {
+        return (micros == 0 ? null : new Date(micros / 1000));
+    }
+
+    /**
      * class for kind status of the item or its properties
      * the constants are defined in the interface StatusKind for building
      * reasons
      */
-    public static final class Kind implements StatusKind
+    public enum Kind
     {
+        /** does not exist */
+        none        ("non-svn"),
+
+        /** is not a versioned thing in this wc */
+        unversioned ("unversioned"),
+
+        /** exists, but uninteresting */
+        normal      ("normal"),
+
+        /** is scheduled for additon */
+        added       ("added"),
+
+        /** under v.c., but is missing */
+        missing     ("missing"),
+
+        /** scheduled for deletion */
+        deleted     ("deleted"),
+
+        /** was deleted and then re-added */
+        replaced    ("replaced"),
+
+        /** text or props have been modified */
+        modified    ("modified"),
+
+        /** local mods received repos mods */
+        merged      ("merged"),
+
+        /** local mods received conflicting repos mods */
+        conflicted  ("conflicted"),
+
+        /** a resource marked as ignored */
+        ignored     ("ignored"),
+
+        /** an unversioned resource is in the way of the versioned resource */
+        obstructed  ("obstructed"),
+
+        /** an unversioned path populated by an svn:externals property */
+        external    ("external"),
+
+        /** a directory doesn't contain a complete entries list */
+        incomplete  ("incomplete");
+
         /**
-         * Returns the textual representation of the status
-         * @param kind of status
-         * @return english status
+         * The description of the action.
          */
-        public static final String getDescription(int kind)
+        private String description;
+
+        Kind(String description)
         {
-            switch (kind)
-            {
-            case StatusKind.none:
-                return "non-svn";
-            case StatusKind.normal:
-                return "normal";
-            case StatusKind.added:
-                return "added";
-            case StatusKind.missing:
-                return "missing";
-            case StatusKind.deleted:
-                return "deleted";
-            case StatusKind.replaced:
-                return "replaced";
-            case StatusKind.modified:
-                return "modified";
-            case StatusKind.merged:
-                return "merged";
-            case StatusKind.conflicted:
-                return "conflicted";
-            case StatusKind.ignored:
-                return "ignored";
-            case StatusKind.incomplete:
-                return "incomplete";
-            case StatusKind.external:
-                return "external";
-            case StatusKind.unversioned:
-            default:
-                return "unversioned";
-            }
+            this.description = description;
         }
-    }
 
-    /**
-     * Converts microseconds since the epoch to a Date object.
-     *
-     * @param micros Microseconds since the epoch.
-     * @return A Date object, or <code>null</code> if
-     * <code>micros</code> was zero.
-     */
-    private static Date microsecondsToDate(long micros)
-    {
-        return (micros == 0 ? null : new Date(micros / 1000));
+        public String toString()
+        {
+            return description;
+        }
     }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java Tue Mar 30 20:57:53 2010
@@ -23,7 +23,6 @@
 
 package org.tigris.subversion.javahl;
 
-import java.util.Date;
 import java.util.Map;
 
 /**
@@ -36,7 +35,7 @@ public interface BlameCallback3
 {
     /**
      * the method will be called for every line in a file.
-     * @param line              the line number for this line
+     * @param lineNum           the line number for this line
      * @param revision          the revision of the last change.
      * @param revProps          the revision properties for this revision.
      * @param mergedRevision    the revision of the last merged change.

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java Tue Mar 30 20:57:53 2010
@@ -59,7 +59,7 @@ public class ChangePath implements java.
     {
         this(aChangePath.getPath(), aChangePath.getCopySrcRevision(),
              aChangePath.getCopySrcPath(), aChangePath.getAction(),
-             aChangePath.getNodeKind());
+             NodeKind.fromApache(aChangePath.getNodeKind()));
     }
 
     public int compareTo(Object other)

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java Tue Mar 30 20:57:53 2010
@@ -23,8 +23,6 @@
 
 package org.tigris.subversion.javahl;
 
-import org.apache.subversion.javahl.callback.*;
-
 /**
  * This interface is used to receive every status item for
  * the SVNClientInterface.status call.

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java Tue Mar 30 20:57:53 2010
@@ -23,8 +23,6 @@
 
 package org.tigris.subversion.javahl;
 
-import org.apache.subversion.javahl.*;
-
 /**
  * This exception is thrown whenever something goes wrong in the
  * Subversion JavaHL binding's JNI interface.

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java Tue Mar 30 20:57:53 2010
@@ -91,8 +91,9 @@ public class CommitItem implements java.
      */
     public CommitItem(org.apache.subversion.javahl.CommitItem aItem)
     {
-        this(aItem.getPath(), aItem.getNodeKind(), aItem.getStateFlags(),
-             aItem.getUrl(), aItem.getCopyUrl(), aItem.getRevision());
+        this(aItem.getPath(), NodeKind.fromApache(aItem.getNodeKind()),
+             aItem.getStateFlags(), aItem.getUrl(), aItem.getCopyUrl(),
+             aItem.getRevision());
     }
 
     /**

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java Tue Mar 30 20:57:53 2010
@@ -119,11 +119,12 @@ public class ConflictDescriptor
     public ConflictDescriptor(org.apache.subversion.javahl.ConflictDescriptor
                                                                 aDesc)
     {
-        this(aDesc.getPath(), aDesc.getKind(), aDesc.getNodeKind(),
+        this(aDesc.getPath(), aDesc.getKind().ordinal(),
+             NodeKind.fromApache(aDesc.getNodeKind()),
              aDesc.getPropertyName(), aDesc.isBinary(), aDesc.getMIMEType(),
-             aDesc.getAction(), aDesc.getReason(), aDesc.getOperation(),
-             aDesc.getBasePath(), aDesc.getTheirPath(), aDesc.getMyPath(),
-             aDesc.getMergedPath(),
+             aDesc.getAction().ordinal(), aDesc.getReason().ordinal(),
+             aDesc.getOperation().ordinal(), aDesc.getBasePath(),
+             aDesc.getTheirPath(), aDesc.getMyPath(), aDesc.getMergedPath(),
              new ConflictVersion(aDesc.getSrcLeftVersion()),
              new ConflictVersion(aDesc.getSrcRightVersion()));
     }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java Tue Mar 30 20:57:53 2010
@@ -94,8 +94,9 @@ public class ConflictResult
 
     public org.apache.subversion.javahl.ConflictResult toApache()
     {
-        return new org.apache.subversion.javahl.ConflictResult(choice,
-                                                               mergedPath);
+        return new org.apache.subversion.javahl.ConflictResult(
+            org.apache.subversion.javahl.ConflictResult.Choice.values()[choice],
+            mergedPath);
     }
 
     /**

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java Tue Mar 30 20:57:53 2010
@@ -56,7 +56,7 @@ public class ConflictVersion
     public ConflictVersion(org.apache.subversion.javahl.ConflictVersion aVer)
     {
         this(aVer.getReposURL(), aVer.getPegRevision(), aVer.getPathInRepos(),
-             aVer.getNodeKind());
+             NodeKind.fromApache(aVer.getNodeKind()));
     }
 
     public String getReposURL()

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java Tue Mar 30 20:57:53 2010
@@ -121,4 +121,44 @@ public final class Depth
     {
         return (recurse ? unknown : immediates);
     }
+    
+    public static org.apache.subversion.javahl.Depth toADepth(int depth)
+    {
+       switch(depth)
+       {
+            case infinity:
+                return org.apache.subversion.javahl.Depth.infinity;
+            case immediates:
+                return org.apache.subversion.javahl.Depth.immediates;
+            case files:
+                return org.apache.subversion.javahl.Depth.files;
+            case empty:
+                return org.apache.subversion.javahl.Depth.empty;
+            case exclude:
+                return org.apache.subversion.javahl.Depth.exclude;
+            case unknown:
+            default:
+                return org.apache.subversion.javahl.Depth.unknown;
+       }
+    }
+
+    public static int fromADepth(org.apache.subversion.javahl.Depth aDepth)
+    {
+        switch(aDepth)
+        {
+            case infinity:
+                return infinity;
+            case immediates:
+                return immediates;
+            case files:
+                return files;
+            case empty:
+                return empty;
+            case exclude:
+                return exclude;
+            case unknown:
+            default:
+                return unknown;
+        }
+    }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java Tue Mar 30 20:57:53 2010
@@ -70,8 +70,9 @@ public class DiffSummary extends EventOb
      */
     DiffSummary(org.apache.subversion.javahl.DiffSummary aSummary)
     {
-        this(aSummary.getPath(), aSummary.getDiffKind().hashCode(),
-             aSummary.propsChanged(), aSummary.getNodeKind());
+        this(aSummary.getPath(), aSummary.getDiffKind().ordinal(),
+             aSummary.propsChanged(),
+             NodeKind.fromApache(aSummary.getNodeKind()));
     }
 
     /**

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java Tue Mar 30 20:57:53 2010
@@ -152,7 +152,8 @@ public class DirEntry implements java.io
      */
     DirEntry(org.apache.subversion.javahl.DirEntry aEntry)
     {
-        this(aEntry.getPath(), aEntry.getAbsPath(), aEntry.getNodeKind(),
+        this(aEntry.getPath(), aEntry.getAbsPath(),
+             NodeKind.fromApache(aEntry.getNodeKind()),
              aEntry.getSize(), aEntry.getHasProps(),
              aEntry.getLastChangedRevisionNumber(),
              aEntry.getLastChanged().getTime() * 1000,

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java Tue Mar 30 20:57:53 2010
@@ -146,7 +146,8 @@ public class Info implements java.io.Ser
     public Info(org.apache.subversion.javahl.Info aInfo)
     {
         this(aInfo.getName(), aInfo.getUrl(), aInfo.getUuid(),
-             aInfo.getRepository(), aInfo.getSchedule(), aInfo.getNodeKind(),
+             aInfo.getRepository(), aInfo.getSchedule().ordinal(),
+             NodeKind.fromApache(aInfo.getNodeKind()),
              aInfo.getAuthor(), aInfo.getRevision(),
              aInfo.getLastChangedRevision(), aInfo.getLastChangedDate(),
              aInfo.getLastDateTextUpdate(), aInfo.getLastDatePropsUpdate(),

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java Tue Mar 30 20:57:53 2010
@@ -252,15 +252,16 @@ public class Info2 implements java.io.Se
      */
     public Info2(org.apache.subversion.javahl.Info2 aInfo)
     {
-        this(aInfo.getPath(), aInfo.getUrl(), aInfo.getRev(), aInfo.getKind(),
+        this(aInfo.getPath(), aInfo.getUrl(), aInfo.getRev(),
+             NodeKind.fromApache(aInfo.getKind()),
              aInfo.getReposRootUrl(), aInfo.getReposUUID(),
              aInfo.getLastChangedRev(),
              aInfo.getLastChangedDate() == null ? 0
                 : aInfo.getLastChangedDate().getTime() * 1000,
              aInfo.getLastChangedAuthor(),
              aInfo.getLock() == null ? null : new Lock(aInfo.getLock()),
-             aInfo.isHasWcInfo(), aInfo.getSchedule(), aInfo.getCopyFromUrl(),
-             aInfo.getCopyFromRev(),
+             aInfo.isHasWcInfo(), aInfo.getSchedule().ordinal(),
+             aInfo.getCopyFromUrl(), aInfo.getCopyFromRev(),
              aInfo.getTextTime() == null ? 0
                 : aInfo.getTextTime().getTime() * 1000,
              aInfo.getPropTime() == null ? 0
@@ -268,8 +269,8 @@ public class Info2 implements java.io.Se
              aInfo.getConflictOld(), aInfo.getConflictNew(),
              aInfo.getConflictWrk(), aInfo.getPrejfile(),
              aInfo.getChangelistName(), aInfo.getWorkingSize(),
-             aInfo.getReposSize(), aInfo.getDepth(),
-             aInfo.getConflictDescriptor() == null ? null 
+             aInfo.getReposSize(), Depth.fromADepth(aInfo.getDepth()),
+             aInfo.getConflictDescriptor() == null ? null
                 : new ConflictDescriptor(aInfo.getConflictDescriptor()));
     }
 

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java Tue Mar 30 20:57:53 2010
@@ -23,10 +23,6 @@
 
 package org.tigris.subversion.javahl;
 
-import org.apache.subversion.javahl.*;
-
-import java.io.IOException;
-
 /**
  * Interface for data to be received from subversion
  * used for SVNAdmin.load and SVNAdmin.dump

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java Tue Mar 30 20:57:53 2010
@@ -24,8 +24,6 @@
 
 package org.tigris.subversion.javahl;
 
-import org.apache.subversion.javahl.*;
-
 import java.util.Date;
 
 /**

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java Tue Mar 30 20:57:53 2010
@@ -60,4 +60,20 @@ public final class NodeKind
     {
         return statusNames[kind];
     }
+
+    public static int fromApache(org.apache.subversion.javahl.NodeKind aKind)
+    {
+        switch(aKind)
+        {
+        case none:
+            return none;
+        case file:
+            return file;
+        case dir:
+            return dir;
+        case unknown:
+        default:
+            return unknown;
+        }
+    }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Notify.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Notify.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Notify.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Notify.java Tue Mar 30 20:57:53 2010
@@ -34,6 +34,54 @@ package org.tigris.subversion.javahl;
  * @deprecated Use Notify2 instead
  */
 public interface Notify
-    extends org.apache.subversion.javahl.Notify
 {
+    /**
+     * Handler for Subversion notifications.
+     *
+     * Override this function to allow Subversion to
+     * send notifications
+     * @param path on which action happen
+     * @param action subversion action, see svn_wc_notify_action_t
+     * @param kind node kind of path after action occurred
+     * @param mimeType mime type of path after action occurred
+     * @param contentState state of content after action occurred
+     * @param propState state of properties after action occurred
+     * @param revision revision number  after action occurred
+     */
+    public void onNotify(String path, int action, int kind, String mimeType,
+                         int contentState, int propState, long revision);
+
+    /**
+     * The type of action occuring.  The values are defined in the
+     * interface NotifyAction for building reasons.
+     */
+    public static final class Action implements NotifyAction
+    {
+        /**
+         * Returns the textual representation for the action kind
+         * @param action kind of action
+         * @return english text
+         */
+        public static final String getActionName(int action)
+        {
+            return NotifyAction.actionNames[action];
+        }
+
+    }
+    /**
+     * The type of notification that is occuring.  The values are
+     * defined in the interface NotifyStatus for building reasons.
+     */
+    public static final class Status implements NotifyStatus
+   {
+        /**
+         * Returns the textual representation for the notification type
+         * @param status    type of the notification
+         * @return  english text
+         */
+        public static final String getStatusName(int status)
+        {
+            return NotifyStatus.statusNames[status];
+        }
+    }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java Tue Mar 30 20:57:53 2010
@@ -151,11 +151,13 @@ public class NotifyInformation extends E
     public NotifyInformation(
                         org.apache.subversion.javahl.NotifyInformation aInfo)
     {
-        this(aInfo.getPath(), aInfo.getAction(), aInfo.getKind(),
-             aInfo.getMimeType(),
+        this(aInfo.getPath(),
+             fromAAction(aInfo.getAction()),
+             NodeKind.fromApache(aInfo.getKind()), aInfo.getMimeType(),
              aInfo.getLock() == null ? null : new Lock(aInfo.getLock()),
-             aInfo.getErrMsg(), aInfo.getContentState(), aInfo.getPropState(),
-             aInfo.getLockState(), aInfo.getRevision(),
+             aInfo.getErrMsg(), fromAStatus(aInfo.getContentState()),
+             fromAStatus(aInfo.getPropState()),
+             aInfo.getLockState().ordinal(), aInfo.getRevision(),
              aInfo.getChangelistName(),
              aInfo.getMergeRange() == null ? null
                 : new RevisionRange(aInfo.getMergeRange()),
@@ -268,4 +270,45 @@ public class NotifyInformation extends E
     {
         return pathPrefix;
     }
+
+    private static int
+    fromAStatus(org.apache.subversion.javahl.NotifyInformation.Status aStatus)
+    {
+        switch(aStatus)
+        {
+        default:
+        case inapplicable:
+            return NotifyStatus.inapplicable;
+        case unknown:
+            return NotifyStatus.unknown;
+        case unchanged:
+            return NotifyStatus.unchanged;
+        case missing:
+            return NotifyStatus.missing;
+        case obstructed:
+            return NotifyStatus.obstructed;
+        case changed:
+            return NotifyStatus.changed;
+        case merged:
+            return NotifyStatus.merged;
+        case conflicted:
+            return NotifyStatus.conflicted;
+        }
+    }
+
+    private static int
+    fromAAction(org.apache.subversion.javahl.NotifyInformation.Action aAction)
+    {
+        if (aAction == null)
+            return -1;
+
+        int order = aAction.ordinal();
+
+        /* The new class adds an item after changelist_clear, so adjust
+           accordingly. */
+        if (order < NotifyAction.changelist_clear)
+            return order;
+        else
+            return order - 1;
+    }
 }

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java Tue Mar 30 20:57:53 2010
@@ -23,10 +23,6 @@
 
 package org.tigris.subversion.javahl;
 
-import org.apache.subversion.javahl.*;
-
-import java.io.IOException;
-
 /**
  * Interface to send data to subversion used by SVNAdmin.load.
  */

Modified: subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
URL: http://svn.apache.org/viewvc/subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java?rev=929279&r1=929278&r2=929279&view=diff
==============================================================================
--- subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java (original)
+++ subversion/branches/svn-patch-improvements/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java Tue Mar 30 20:57:53 2010
@@ -23,8 +23,6 @@
 
 package org.tigris.subversion.javahl;
 
-import org.apache.subversion.javahl.*;
-
 /**
  * Subversion path validation and manipulation.
  *