Expose the Ev2 commit editor callbacks in JavaHL.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/ISVNEditor.java
  (ISVNEditor.ProvideBaseCallback,
   ISVNEditor.ProvidePropsCallback,
   ISVNEditor.GetNodeKindCallback): New callback interfaces.
* src/org/apache/subversion/javahl/ISVNRemote.java,
  src/org/apache/subversion/javahl/remote/RemoteSession.java
  (ISVNRemote.getCommitEditor): Add an overload that accepts
   three additional editor callback arguments.
* src/org/apache/subversion/javahl/remote/CommitEditor.java
  (CommitEditor.createInstance, CommitEditor.nativeCreateInstance):
   Accept three additional editor callback arguments.

* subversion/bindings/javahl/native/EditorCallbacks.hpp,
  subversion/bindings/javahl/native/EditorCallbacks.cpp:
   Native object wrappers for the commit editor callbacks.
* native/jniwrapper/jni_object.hpp,
  native/jniwrapper/jni_class_cache.cpp:
   Add editor callbacks to the class cache.

* native/CommitEditor.h
  (CommitEditor::createInstance, CommitEditor::CommitEditor):
   Accept three additional editor callback arguments.
  (CommitEditor::m_get_base_cb,
   CommitEditor::m_get_props_cb,
   CommitEditor::m_get_kind_cb): New private members.
* javahl/native/CommitEditor.cpp
  (CommitEditor::createInstance, CommitEditor::CommitEditor):
   Update prototypes and initialise the editor callback members.
  (invoke_get_base_cb, invoke_get_props_cb, invoke_get_kind_cb):
   New helper functions for invoking the editor callbacks.
  (CommitEditor::provide_base_cb): Optionally call invoke_get_base_cb.
  (CommitEditor::provide_props_cb): Optionally call invoke_get_pops_cb.
  (CommitEditor::get_copysrc_kind_cb) : Optionally call invoke_get_kind_cb.

* tests/org/apache/subversion/javahl/SVNRemoteTests.java
  (SVNRemoteTests.CommitCallback): Optionally use editor callbacks.
  (SVNRemoteTests.EditorCallbacks): New private helper class.
  (SVNRemoteTests.testEditorCopy_WithCallbacks,
   SVNRemoteTests.testEditorSetDirProps_WithCallbacks,
   SVNRemoteTests.testEditorSetFileContents_WithCallbacks): New test cases.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1545927 13f79535-47bb-0310-9956-ffa450edef68