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/03/17 16:49:55 UTC

svn commit: r924339 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/ src/org/tigris/subversion/javahl/ tests/org/apache/subversion/javahl/

Author: hwright
Date: Wed Mar 17 15:49:54 2010
New Revision: 924339

URL: http://svn.apache.org/viewvc?rev=924339&view=rev
Log:
JavaHL: Make the NotifyAction class an Eenum, and embedded it in the
NotifyInformation class.

[ in subversion/bindings/javahl/ ]
* tests/org/apache/subversion/javahl/BasicTests.java:
  Update tests to use the new enum.

* native/Notify.cpp
  (onNotify): Update action type to jobject, and release it when done.

* native/EnumMapper.h,
  native/EnumMapper.cpp
  (mapNotifyAction): Return an Action object.

* native/NotifyCallback.cpp
  (onNotify): Update requested method signatures and use an object for the
    action type.

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

* src/org/apache/subversion/javahl/NotifyInformation.java
  (NotifyInformation): Update construtor for new Action type, also getters
    and setters.
  (Action): New enum.

* src/org/tigris/subversion/javahl/NotifyInformation.java
  (NotifyInformation): Update compat wrapper to handle the new Action enum.

Removed:
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyAction.java
Modified:
    subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp
    subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h
    subversion/trunk/subversion/bindings/javahl/native/Notify.cpp
    subversion/trunk/subversion/bindings/javahl/native/NotifyCallback.cpp
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java
    subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java
    subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java

Modified: subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp Wed Mar 17 15:49:54 2010
@@ -31,7 +31,6 @@
 #include "JNIUtil.h"
 #include "JNIStringHolder.h"
 #include "../include/org_apache_subversion_javahl_CommitItemStateFlags.h"
-#include "../include/org_apache_subversion_javahl_NotifyAction.h"
 #include "../include/org_apache_subversion_javahl_NotifyStatus.h"
 #include "../include/org_apache_subversion_javahl_NodeKind.h"
 #include "../include/org_apache_subversion_javahl_Operation.h"
@@ -42,7 +41,6 @@
 #include "../include/org_apache_subversion_javahl_ConflictDescriptor_Kind.h"
 #include "../include/org_apache_subversion_javahl_ConflictDescriptor_Action.h"
 #include "../include/org_apache_subversion_javahl_ConflictDescriptor_Reason.h"
-#include "../include/org_apache_subversion_javahl_Tristate.h"
 
 /**
  * Map a C commit state flag constant to the Java constant.
@@ -109,175 +107,130 @@ jint EnumMapper::mapNotifyState(svn_wc_n
 
 /**
  * Map a C notify action constant to the Java constant.
- * @param state     the C notify action constant
- * @returns the Java constant
  */
-jint EnumMapper::mapNotifyAction(svn_wc_notify_action_t action)
+jobject EnumMapper::mapNotifyAction(svn_wc_notify_action_t action)
 {
-  // This is a switch to make the Java constants independent from
-  // the C constants.
   switch(action)
     {
     case svn_wc_notify_add:
-      /* Adding a path to revision control. */
-      return org_apache_subversion_javahl_NotifyAction_add;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "add");
 
     case svn_wc_notify_copy:
-      /* Copying a versioned path. */
-      return org_apache_subversion_javahl_NotifyAction_copy;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "copy");
 
     case svn_wc_notify_delete:
-      /* Deleting a versioned path. */
-      return org_apache_subversion_javahl_NotifyAction_delete;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "delete");
 
     case svn_wc_notify_restore:
-      /* Restoring a missing path from the pristine text-base. */
-      return org_apache_subversion_javahl_NotifyAction_restore;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "restore");
 
     case svn_wc_notify_revert:
-      /* Reverting a modified path. */
-      return org_apache_subversion_javahl_NotifyAction_revert;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "revert");
 
     case svn_wc_notify_failed_revert:
-      /* A revert operation has failed. */
-      return org_apache_subversion_javahl_NotifyAction_failed_revert;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "failed_revert");
 
     case svn_wc_notify_resolved:
-      /* Resolving a conflict. */
-      return org_apache_subversion_javahl_NotifyAction_resolved;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "resolved");
+
+    case svn_wc_notify_skip:
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "skip");
 
     case svn_wc_notify_status_completed:
-      /* The last notification in a status (including status on
-       * externals). */
-      return org_apache_subversion_javahl_NotifyAction_status_completed;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "status_completed");
 
     case svn_wc_notify_status_external:
-      /* Running status on an external module. */
-      return org_apache_subversion_javahl_NotifyAction_status_external;
-
-    case svn_wc_notify_skip:
-      /* Skipping a path. */
-      return org_apache_subversion_javahl_NotifyAction_skip;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "status_external");
 
     case svn_wc_notify_update_delete:
-      /* Got a delete in an update. */
-      return org_apache_subversion_javahl_NotifyAction_update_delete;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "update_delete");
 
     case svn_wc_notify_update_add:
-      /* Got an add in an update. */
-      return org_apache_subversion_javahl_NotifyAction_update_add;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "update_add");
 
     case svn_wc_notify_update_replace:
-      /* Got a replaced in an update. */
-      return org_apache_subversion_javahl_NotifyAction_update_replaced;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "update_replace");
 
     case svn_wc_notify_update_update:
-      /* Got any other action in an update. */
-      return org_apache_subversion_javahl_NotifyAction_update_update;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "update_update");
 
     case svn_wc_notify_update_completed:
-      /* The last notification in an update (including updates of
-       * externals). */
-      return org_apache_subversion_javahl_NotifyAction_update_completed;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "update_completed");
 
     case svn_wc_notify_update_external:
-      /* Updating an external module. */
-      return org_apache_subversion_javahl_NotifyAction_update_external;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "update_external");
 
     case svn_wc_notify_commit_modified:
-      /* Committing a modification. */
-      return org_apache_subversion_javahl_NotifyAction_commit_modified;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "commit_modified");
 
     case svn_wc_notify_commit_added:
-      /* Committing an addition. */
-      return org_apache_subversion_javahl_NotifyAction_commit_added;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "commit_added");
 
     case svn_wc_notify_commit_deleted:
-      /* Committing a deletion. */
-      return org_apache_subversion_javahl_NotifyAction_commit_deleted;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "commit_deleted");
 
     case svn_wc_notify_commit_replaced:
-      /* Committing a replacement. */
-      return org_apache_subversion_javahl_NotifyAction_commit_replaced;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "commit_replaced");
 
     case svn_wc_notify_commit_postfix_txdelta:
-      /* Transmitting post-fix text-delta data for a file. */
-      return org_apache_subversion_javahl_NotifyAction_commit_postfix_txdelta;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "commit_postfix_txdelta");
 
     case svn_wc_notify_blame_revision:
-      /* Processed a single revision's blame. */
-      return org_apache_subversion_javahl_NotifyAction_blame_revision;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "blame_revision");
 
     case svn_wc_notify_locked:
-      /* Lock a path */
-      return org_apache_subversion_javahl_NotifyAction_locked;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "locked");
 
     case svn_wc_notify_unlocked:
-      /* Unlock a path */
-      return org_apache_subversion_javahl_NotifyAction_unlocked;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "unlocked");
 
     case svn_wc_notify_failed_lock:
-      /* Lock failed */
-      return org_apache_subversion_javahl_NotifyAction_failed_lock;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "failed_lock");
 
     case svn_wc_notify_failed_unlock:
-      /* Unlock failed */
-      return org_apache_subversion_javahl_NotifyAction_failed_unlock;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "failed_unlock");
 
     case svn_wc_notify_exists:
-      /* Tried adding a path that already exists. */
-      return org_apache_subversion_javahl_NotifyAction_exists;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "exists");
 
     case svn_wc_notify_changelist_set:
-      /* Changelist name set. */
-      return org_apache_subversion_javahl_NotifyAction_changelist_set;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "changelist_set");
 
     case svn_wc_notify_changelist_clear:
-      /* Changelist name cleared. */
-      return org_apache_subversion_javahl_NotifyAction_changelist_clear;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "changelist_clear");
 
     case svn_wc_notify_merge_begin:
-      /* A merge operation has begun. */
-      return org_apache_subversion_javahl_NotifyAction_merge_begin;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "merge_begin");
 
     case svn_wc_notify_foreign_merge_begin:
-      /* A merge operation from a foreign repository has begun. */
-      return org_apache_subversion_javahl_NotifyAction_foreign_merge_begin;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "foreign_merge_begin");
 
     case svn_wc_notify_property_added:
-      /* Property added */
-      return org_apache_subversion_javahl_NotifyAction_property_added;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "property_added");
 
     case svn_wc_notify_property_modified:
-      /* Property modified */
-      return org_apache_subversion_javahl_NotifyAction_property_modified;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "property_modified");
 
     case svn_wc_notify_property_deleted:
-      /* Property deleted */
-      return org_apache_subversion_javahl_NotifyAction_property_deleted;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "property_deleted");
 
     case svn_wc_notify_property_deleted_nonexistent:
-      /* Property deleted nonexistent */
-      return org_apache_subversion_javahl_NotifyAction_property_deleted_nonexistent;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "property_deleted_nonexistent");
 
     case svn_wc_notify_revprop_set:
-      /* Revision property set */
-      return org_apache_subversion_javahl_NotifyAction_revprop_set;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "revprop_set");
 
     case svn_wc_notify_revprop_deleted:
-      /* Revision property deleted */
-      return org_apache_subversion_javahl_NotifyAction_revprop_deleted;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "revprop_deleted");
 
     case svn_wc_notify_merge_completed:
-      /* Final notification in a merge */
-      return org_apache_subversion_javahl_NotifyAction_merge_completed;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "merge_completed");
 
     case svn_wc_notify_tree_conflict:
-      /* The path is a tree-conflict victim of the intended action */
-      return org_apache_subversion_javahl_NotifyAction_tree_conflict;
+      return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", "tree_conflict");
 
     default:
-      return -1;
+      return NULL;
     }
 }
 

Modified: subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h Wed Mar 17 15:49:54 2010
@@ -48,7 +48,7 @@ class EnumMapper
   /* Converting from C enum's */
   static jint mapCommitMessageStateFlags(apr_byte_t flags);
   static jint mapNotifyState(svn_wc_notify_state_t state);
-  static jint mapNotifyAction(svn_wc_notify_action_t action);
+  static jobject mapNotifyAction(svn_wc_notify_action_t action);
   static jint mapNodeKind(svn_node_kind_t nodeKind);
   static jint mapNotifyLockState(svn_wc_notify_lock_state_t state);
   static jint mapStatusKind(svn_wc_status_kind svnKind);

Modified: subversion/trunk/subversion/bindings/javahl/native/Notify.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/Notify.cpp?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/Notify.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/Notify.cpp Wed Mar 17 15:49:54 2010
@@ -162,7 +162,7 @@ void Notify::onNotify(const char *path,
   if (JNIUtil::isJavaExceptionThrown())
     return;
 
-  jint jAction = EnumMapper::mapNotifyAction(action);
+  jobject jAction = EnumMapper::mapNotifyAction(action);
   jint jKind = EnumMapper::mapNodeKind(kind);
   jstring jMimeType = JNIUtil::makeJString(mime_type);
   if (JNIUtil::isJavaExceptionThrown())
@@ -182,6 +182,10 @@ void Notify::onNotify(const char *path,
   if (JNIUtil::isJavaExceptionThrown())
     return;
 
+  env->DeleteLocalRef(jAction);
+  if (JNIUtil::isJavaExceptionThrown())
+    return;
+
   env->DeleteLocalRef(jMimeType);
   if (JNIUtil::isJavaExceptionThrown())
     return;

Modified: subversion/trunk/subversion/bindings/javahl/native/NotifyCallback.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/NotifyCallback.cpp?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/NotifyCallback.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/NotifyCallback.cpp Wed Mar 17 15:49:54 2010
@@ -143,7 +143,9 @@ NotifyCallback::onNotify(const svn_wc_no
   if (midCT == 0)
     {
       midCT = env->GetMethodID(clazz, "<init>",
-                               "(Ljava/lang/String;IILjava/lang/String;"
+                               "(Ljava/lang/String;"
+                               "L"JAVA_PACKAGE"/NotifyInformation$Action;"
+                               "ILjava/lang/String;"
                                "L"JAVA_PACKAGE"/Lock;"
                                "Ljava/lang/String;IIIJLjava/lang/String;"
                                "L"JAVA_PACKAGE"/RevisionRange;"
@@ -157,7 +159,7 @@ NotifyCallback::onNotify(const svn_wc_no
   if (JNIUtil::isJavaExceptionThrown())
     return;
 
-  jint jAction = EnumMapper::mapNotifyAction(wcNotify->action);
+  jobject jAction = EnumMapper::mapNotifyAction(wcNotify->action);
   jint jKind = EnumMapper::mapNodeKind(wcNotify->kind);
   jstring jMimeType = JNIUtil::makeJString(wcNotify->mime_type);
   if (JNIUtil::isJavaExceptionThrown())
@@ -209,6 +211,10 @@ NotifyCallback::onNotify(const svn_wc_no
   if (JNIUtil::isJavaExceptionThrown())
     return;
 
+  env->DeleteLocalRef(jAction);
+  if (JNIUtil::isJavaExceptionThrown())
+    return;
+
   env->DeleteLocalRef(jMimeType);
   if (JNIUtil::isJavaExceptionThrown())
     return;

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java Wed Mar 17 15:49:54 2010
@@ -45,7 +45,7 @@ public class NotifyInformation extends E
     /**
      * The {@link NotifyAction} which triggered this event.
      */
-    private int action;
+    private Action action;
 
     /**
      * The {@link NodeKind} of the item.
@@ -124,11 +124,11 @@ public class NotifyInformation extends E
      * @param mergeRange The range of the merge just beginning to occur.
      * @param pathPrefix A common path prefix.
      */
-    public 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, int kind,
+                             String mimeType, Lock lock, String errMsg,
+                             int contentState, int propState, int lockState,
+                             long revision, String changelistName,
+                             RevisionRange mergeRange, String pathPrefix)
     {
         super(path == null ? "" : path);
         this.action = action;
@@ -156,7 +156,7 @@ public class NotifyInformation extends E
     /**
      * @return The {@link NotifyAction} which triggered this event.
      */
-    public int getAction()
+    public Action getAction()
     {
         return action;
     }
@@ -251,4 +251,203 @@ 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"),
+
+        /**
+         * @since 1.2
+         * Locking a path
+         */
+        locked          ("locked"),
+
+        /**
+         * @since 1.2
+         * Unlocking a path
+         */
+        unlocked        ("unlocked"),
+
+        /**
+         * @since 1.2
+         * Failed to lock a path
+         */
+        failed_lock     ("locking failed"),
+
+        /**
+         * @since 1.2
+         * Failed to unlock a path
+         */
+        failed_unlock   ("unlocking failed"),
+
+        /**
+         * @since 1.5
+         * Tried adding a path that already exists.
+         */
+        exists          ("path exists"),
+
+        /**
+         * @since 1.5
+         * Set the changelist for a path.
+         */
+        changelist_set  ("changelist set"),
+
+        /**
+         * @since 1.5
+         * Clear the changelist for a path.
+         */
+        changelist_clear ("changelist cleared"),
+
+        /**
+         * @since 1.5
+         * A merge operation has begun.
+         */
+        merge_begin     ("merge begin"),
+
+        /**
+         * @since 1.5
+         * A merge operation from a foreign repository has begun.
+         */
+        foreign_merge_begin ("foreign merge begin"),
+
+        /**
+         * @since 1.5
+         * Got a replaced in an update.
+         */
+        update_replaced ("replaced"),
+
+        /**
+         * @since 1.6
+         * Property added.
+         */
+        property_added  ("property added"),
+
+        /**
+         * @since 1.6
+         * Property modified.
+         */
+        property_modified ("property modified"),
+
+        /**
+         * @since 1.6
+         * Property deleted.
+         */
+        property_deleted ("property deleted"),
+
+        /**
+         * @since 1.6
+         * Property delete nonexistent.
+         */
+        property_deleted_nonexistent ("nonexistent property deleted"),
+
+        /**
+         * @since 1.6
+         * Revision property set.
+         */
+        revprop_set     ("revprop set"),
+
+        /**
+         * @since 1.6
+         * Revision property deleted.
+         */
+        revprop_deleted ("revprop deleted"),
+
+        /**
+         * @since 1.6
+         * The last notification in a merge
+         */
+        merge_completed ("merge completed"),
+
+        /**
+         * @since 1.6
+         * The path is a tree-conflict victim of the intended action
+         */
+        tree_conflict   ("tree conflict");
+
+        /**
+         * The description of the action.
+         */
+        private String description;
+
+        Action(String description)
+        {
+            this.description = description;
+        }
+
+        public String toString()
+        {
+            return description;
+        }
+    }
+
 }

Modified: subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java Wed Mar 17 15:49:54 2010
@@ -151,8 +151,9 @@ 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(),
+             aInfo.getAction() == null ? -1 : aInfo.getAction().ordinal(),
+             aInfo.getKind(), aInfo.getMimeType(),
              aInfo.getLock() == null ? null : new Lock(aInfo.getLock()),
              aInfo.getErrMsg(), aInfo.getContentState(), aInfo.getPropState(),
              aInfo.getLockState(), aInfo.getRevision(),

Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=924339&r1=924338&r2=924339&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Wed Mar 17 15:49:54 2010
@@ -2452,7 +2452,7 @@ public class BasicTests extends SVNTests
         {
             public void onNotify(NotifyInformation info)
             {
-                if (info.getAction() == NotifyAction.merge_begin)
+                if (info.getAction() == NotifyInformation.Action.merge_begin)
                 {
                     RevisionRange r = info.getMergeRange();
                     actualRange[0] = r.getFromRevision();