/[Apache-SVN]/subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp
ViewVC logotype

Log of /subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 1886029 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 29 19:24:36 2021 UTC (3 years, 5 months ago) by jcorvel
File length: 34555 byte(s)
Diff to previous 1875617 (colored)
Merge the javahl-1.14-fixes branch to trunk.
Fixes several crashes in javahl TunnelAgent.


Revision 1875617 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 25 09:04:28 2020 UTC (4 years, 4 months ago) by stsp
File length: 33539 byte(s)
Diff to previous 1836817 (colored)
* everywhere: Run tools/dev/remove-trailing-whitespace.sh to remove
   trailing whitespace before we branch 1.14.


Revision 1836817 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 27 13:00:44 2018 UTC (6 years ago) by brane
File length: 33541 byte(s)
Diff to previous 1688273 (colored)
Fix a potential crash in JavaHL.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::wrappedCreateClientException): Don't store an invalid pointer to
   out-of-scope std::streambuf contents.

Found by: David Binderman
Fixes #4764


Revision 1688273 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 29 17:48:10 2015 UTC (9 years ago) by brane
File length: 33524 byte(s)
Diff to previous 1684412 (colored)
Follow up to r1687769: Implement semantics equivalent to the new
svn_repos_verify_fs3 in JavaHL.

[in subversion/bindings/javahl]

* src/org/apache/subversion/javahl/callback/ReposVerifyCallback.java
  (ReposVerifyCallback): New callback interface.
* src/org/apache/subversion/javahl/ISVNRepos.java
  (ISVNRepos.verify): Add the verification callback and update the
   documentation of both versions of this method.
* src/org/apache/subversion/javahl/SVNRepos.java
  (ISVNRepos.verify): Update native method signature and wrapper
   method implementation.
* src/org/apache/subversion/javahl/ReposNotifyInformation.java
  (ReposNotifyInformation): Update serial version UID after 1.9 API change.


* native/ReposVerifyCallback.h,
  native/ReposVerifyCallback.cpp: New files.

* native/JNIUtil.h
  (JNIUtil::createClientException): New.
  (JNIUtil::wrappedCreateClientException): Renamed from wrappedHandleSVNError
   and changed the the return type.

* native/JNIUtil.cpp
  (JNIUtil::wrappedCreateClientException): Return the created exception
   instead of throwing it.
  (JNIUtil::createClientException): Implement.
  (JNIUtil::handleSVNError): Reimplement to call createClientException.

* native/SVNRepos.h: Include ReposVerifyCallback.h.
  (SVNRepos::Verify): Add the repository verification callback.
* native/SVNRepos.cpp: Do not include ReposNotifyCallback.h.
  (SVNRepos::Verify): Use the repository verification callback.
* native/org_apache_subversion_javahl_SVNRepos.cpp
  (Java_org_apache_subversion_javahl_SVNRepos_verify): Add the
   repository verification callback and update the implementation.

* tests/org/apache/subversion/javahl/SVNReposTests.java
  (SVNReposTests.testVerify): Tweak repository creation.
  (SVNReposTests.VerifyCallback, SVNReposTests.trytobreakrepo): New helpers.
  (SVNReposTests.testVerifyBrokenRepo,
   SVNReposTests.testVerifyBrokenRepo_KeepGoing): New test cases.


Revision 1684412 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 9 13:15:07 2015 UTC (9 years, 1 month ago) by brane
File length: 33327 byte(s)
Diff to previous 1664978 (colored)
Make JavaHL native code compile with a C++11 compiler.

The C++11 language introduces a feature called user-defined literals
(see: http://en.cppreference.com/w/cpp/language/user_literal). The
effect of this in JavaHL is that string literal concatenation where
there is no space between the literals no longer works as in C or older
versions of C++; the C++11 compiler interprets them as a user-defined
literal instaed of concatenated string literals.

The solution is to always put spaces between string literals where
concatenation is intended. JavaHL uses string literal concatenation
in many places to construct JNI class and argument type names.

* subversion/bindings/javahl/native/JNIUtil.h
  (JAVAHL_PACKAGE): Renamed from JAVA_PACKAGE.
  (JAVAHL_CLASS, JAVAHL_ARG): New.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_SubstLib.cpp:
  (build_keywords_common): Add a space between "%" and APR_UINT64_T_FMT.

* subversion/bindings/javahl/native/AuthnCallback.cpp,
  subversion/bindings/javahl/native/BlameCallback.cpp,
  subversion/bindings/javahl/native/ChangelistCallback.cpp,
  subversion/bindings/javahl/native/ClientContext.cpp,
  subversion/bindings/javahl/native/CommitCallback.cpp,
  subversion/bindings/javahl/native/CommitEditor.cpp,
  subversion/bindings/javahl/native/CommitMessage.cpp,
  subversion/bindings/javahl/native/CopySources.cpp,
  subversion/bindings/javahl/native/CreateJ.cpp,
  subversion/bindings/javahl/native/Credential.cpp,
  subversion/bindings/javahl/native/DiffSummaryReceiver.cpp,
  subversion/bindings/javahl/native/EditorCallbacks.cpp,
  subversion/bindings/javahl/native/EditorProxy.cpp,
  subversion/bindings/javahl/native/EnumMapper.cpp,
  subversion/bindings/javahl/native/ExternalItem.cpp,
  subversion/bindings/javahl/native/ImportFilterCallback.cpp,
  subversion/bindings/javahl/native/InfoCallback.cpp,
  subversion/bindings/javahl/native/JNIUtil.cpp,
  subversion/bindings/javahl/native/JNIUtil.h,
  subversion/bindings/javahl/native/ListCallback.cpp,
  subversion/bindings/javahl/native/LockTokenTable.cpp,
  subversion/bindings/javahl/native/LogMessageCallback.cpp,
  subversion/bindings/javahl/native/MessageReceiver.cpp,
  subversion/bindings/javahl/native/NativeStream.cpp,
  subversion/bindings/javahl/native/OperationContext.cpp,
  subversion/bindings/javahl/native/PatchCallback.cpp,
  subversion/bindings/javahl/native/PropertyTable.cpp,
  subversion/bindings/javahl/native/ProplistCallback.cpp,
  subversion/bindings/javahl/native/RemoteSession.cpp,
  subversion/bindings/javahl/native/RemoteSessionContext.cpp,
  subversion/bindings/javahl/native/ReposFreezeAction.cpp,
  subversion/bindings/javahl/native/ReposNotifyCallback.cpp,
  subversion/bindings/javahl/native/Revision.cpp,
  subversion/bindings/javahl/native/RevisionRange.cpp,
  subversion/bindings/javahl/native/RevisionRangeList.cpp,
  subversion/bindings/javahl/native/SVNClient.cpp,
  subversion/bindings/javahl/native/SVNRepos.cpp,
  subversion/bindings/javahl/native/StateReporter.cpp,
  subversion/bindings/javahl/native/StatusCallback.cpp,
  subversion/bindings/javahl/native/SubversionException.cpp,
  subversion/bindings/javahl/native/VersionExtended.cpp,
  subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp:
   Replace all uses of JAVA_PACKAGE with either JAVAHL_CLASS or JAVAHL_ARG, as appropriate.


Revision 1664978 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 8 11:50:38 2015 UTC (9 years, 4 months ago) by rhuijben
File length: 33324 byte(s)
Diff to previous 1664939 (colored)
Following up on r1664939, remove a bit of code inside a #ifdef.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (WrappedException::WrappedException): Fix !SVN_DEBUG compilation.

Found by: brane
(and a buildbot)


Revision 1664939 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 8 01:22:15 2015 UTC (9 years, 4 months ago) by rhuijben
File length: 33300 byte(s)
Diff to previous 1664938 (colored)
Following up on r1664938, add some debug code to make 'Java error leaks'
visible in maintainer/test mode.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (WrappedException): Track whether the exception is fetched. Use DBG output
    if it isn't.


Revision 1664938 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 8 01:05:14 2015 UTC (9 years, 4 months ago) by rhuijben
File length: 33048 byte(s)
Diff to previous 1664616 (colored)
In JavaHL: Properly wrap Java exceptions as svn_error_t * when returning from
many callbacks and add the wrapped exception (when not cleared by Subversion)
as cause to the returned exception.

This avoids keeping the JVM in the semi-broken 'exception' state until we
somehow return and also makes it possible to do things in further callbacks
(which we previously skipped by just returning an SVN_NO_ERROR on the still
 pending exceptions).

Before this patch a status call that returned an exception in the first
callback would continue the entire status walk and only after returning
it would return the exception, potentially breaking the api contract
of the function.

After this patch an error is returned in Subversion... which builds
the usual error chain in subversion.... Then when the call returns
in JavaHL the cause of the ClientException is set to the originally
raised exception in the callback and intermediate errors are added
if necessary.

* subversion/bindings/javahl/native/BlameCallback.cpp
  (BlameCallback::singleLine): Update exit handling.

* subversion/bindings/javahl/native/CommitCallback.cpp
  (CommitCallback::commitInfo): Update exit handling.

* subversion/bindings/javahl/native/CommitMessage.cpp
  (CommitMessage::getCommitMessage): Return svn_error_t * on error instead of
    trying the commit with no log message.

* subversion/bindings/javahl/native/DiffSummaryReceiver.cpp
  (DiffSummaryReceiver::onSummary): Update exit handling.

* subversion/bindings/javahl/native/InfoCallback.cpp
  (InfoCallback::singleInfo): Update exit handling.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (SVN_ERR_JAVAHL_WRAPPED): New constant.
  (assemble_error_message): Don't try to write standard text for
    SVN_ERR_JAVAHL_WRAPPED.
  (JNIUtil::wrappedHandleSVNError): If there is no jcause passed, check if we
    have a Java exception we can use stored in the error.
  (WrapExceptionTag): New variable.
  (WrappedException): New class.
  (JNIUtil::wrapJavaException,
   JNIUtil::unwrapJavaException): New functions.

* subversion/bindings/javahl/native/JNIUtil.h
  (JNIUtil::wrapJavaException,
   JNIUtil::unwrapJavaException): New functions.
  (POP_AND_RETURN_EXCEPTION_AS_SVNERROR): New define.

* subversion/bindings/javahl/native/ListCallback.cpp
  (ListCallback::doList): Update exit handling.

* subversion/bindings/javahl/native/LogMessageCallback.cpp
  (LogMessageCallback::singleMessage): Update exit handling.

* subversion/bindings/javahl/native/StatusCallback.cpp
  (StatusCallback::doStatus): Update exit handling.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/ExceptionTests.java
  New file.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/RunTests.java
  (SVNTestSuite.suite): Add ExceptionTests.


Revision 1664616 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 6 13:31:51 2015 UTC (9 years, 4 months ago) by rhuijben
File length: 30852 byte(s)
Diff to previous 1664613 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (checkJavaException): Add TODO.


Revision 1664613 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 6 13:19:16 2015 UTC (9 years, 4 months ago) by rhuijben
File length: 30090 byte(s)
Diff to previous 1664609 (colored)
For now revert r1664609.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/UtilTests.java
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
* subversion/bindings/javahl/native/JNIUtil.cpp
  Revert to pre r1664609 change.


Revision 1664609 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 6 13:07:00 2015 UTC (9 years, 4 months ago) by rhuijben
File length: 30069 byte(s)
Diff to previous 1571711 (colored)
Tweak JavaHL error text generation to create errors that only contains
generic error messages when the creator of the error chain intended
to add these to the chain.

This makes the creation more similar to what our standard error printing
in 'svn' would do and avoids bad messages in cases such as 'bad filename'
when the code just used that error code to tell that a registry key does
not exist, but added their own detailed message.

Note that all these messages are localized, etc. so end user applications
can never rely on the exact messages anyway.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/UtilTests.java
  (testValidateProp): Update expected result.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
  (testGetLogMissing): Update expected result.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
  (testCommitPartialMove): Update expected result.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (assemble_error_message): Only show generic messages if there is no not
    generic message, and the generic message wasn't the last shown generic
    message.


Revision 1571711 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 25 14:31:39 2014 UTC (10 years, 5 months ago) by rhuijben
File length: 30090 byte(s)
Diff to previous 1565530 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIGlobalInit): Following up on r1534953, unbreak compilation on Windows
    when NLS is enabled.


Revision 1565530 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 7 04:18:32 2014 UTC (10 years, 5 months ago) by arfrever
File length: 30084 byte(s)
Diff to previous 1564252 (colored)
Fix some typos.

* CHANGES:
* contrib/client-side/emacs/psvn.el:
* contrib/client-side/svn-merge-vendor.py:
* contrib/hook-scripts/remove-zombie-locks.py:
* contrib/server-side/svnmirror.sh:
* contrib/server-side/svnmirror-test.sh:
* notes/meetings/berlin-11-agenda:
* notes/unicode-composition-for-filenames:
* notes/wc-ng/conflict-storage:
* notes/wc-ng/conflict-storage-2.0:
* subversion/bindings/ctypes-python/test/wc.py:
* subversion/bindings/cxxhl/src/aprwrap/hash.hpp:
* subversion/bindings/cxxhl/tests/test_aprwrap.cpp:
* subversion/bindings/javahl/native/JNICriticalSection.h:
* subversion/bindings/javahl/native/JNIUtil.cpp:
* subversion/bindings/javahl/native/jniwrapper/jni_env.hpp:
* subversion/bindings/javahl/native/NativeStream.hpp:
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java:
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java:
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java:
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java:
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java:
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java:
* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java:
* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java:
* subversion/bindings/swig/perl/native/Client.pm:
* subversion/include/private/svn_sqlite.h:
* subversion/include/private/svn_subr_private.h:
* subversion/include/svn_client.h:
* subversion/include/svn_client_mtcc.h:
* subversion/include/svn_diff.h:
* subversion/libsvn_fs_fs/rep-cache.c:
* subversion/libsvn_fs_x/rep-cache.c:
* subversion/libsvn_ra_serf/options.c:
* subversion/libsvn_subr/io.c:
* subversion/libsvn_subr/string.c:
* subversion/libsvn_subr/utf8proc.c:
* subversion/libsvn_wc/adm_crawler.c:
* subversion/libsvn_wc/diff_local.c:
* subversion/libsvn_wc/wc_db_update_move.c:
* subversion/libsvn_wc/wc-metadata.sql:
* subversion/svn/status-cmd.c:
* subversion/tests/cmdline/diff_tests.py:
* subversion/tests/cmdline/merge_tests.py:
* subversion/tests/cmdline/README:
* subversion/tests/cmdline/svnadmin_tests.py:
* subversion/tests/cmdline/svnauthz_tests.py:
* subversion/tests/cmdline/svndumpfilter_tests.py:
* subversion/tests/cmdline/svnrdump_tests.py:
* subversion/tests/cmdline/svntest/factory.py:
* subversion/tests/libsvn_wc/wc-queries-test.c:
* tools/dev/build-svn-deps-win.pl: Fix some typos.


Revision 1564252 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 4 11:06:23 2014 UTC (10 years, 5 months ago) by brane
File length: 30083 byte(s)
Diff to previous 1563971 (colored)
Follow up to r1563971: Make the JavaHL JVM crasher function more robust
and safer on weird architectures that actually allow writing to the
zero page.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (gentle_crash_write_loc): Change type to svn_atomic_t.
  (gently_crash_the_jvm): Use atomic operations to read the value at
   address 0 first, and if that actually works, write the same value
   back. This might cause a slight stutter on a system that maps its
   aircraft engine control registers to address 0.


Revision 1563971 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 3 16:12:26 2014 UTC (10 years, 5 months ago) by brane
File length: 29976 byte(s)
Diff to previous 1558389 (colored)
Added a malfunction handler to the JavaHL native implementation that
in most cases causes a SEGV, or returns an error, instaed of calling
abort(). Aborting prevents the JVM from creating a crash log file.

* subversion/bindings/javahl/native/JNIUtil.cpp: Include svn_error.h.
  (gentle_crash_write_loc): New; volatile NULL pointer.
  (gently_crash_the_jvm): New; malfunction handler.
  (JNIUtil::JNIGlobalInit): Register gently_crash_the_jvm().


Revision 1558389 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 15 14:11:16 2014 UTC (10 years, 6 months ago) by brane
File length: 28866 byte(s)
Diff to previous 1557925 (colored)
Remove an uncessary svn_ra initialization from JavahL, and add a test
case for parallel RA session usage.

[in subversion/bindings/javahl]
* native/RemoteSession.cpp (RemoteSession::open): Do not call svn_ra_initialize.
* native/JNIUtil.cpp (JNIUtil::JNIGlobalInit):
   Catch and report errors from svn_fs_initialize and svn_ra_initialize.

* tests/org/apache/subversion/javahl/SVNRemoteTests.java
  (SVNRemoteTests.testParallelOpen): New test case.


Revision 1557925 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 14 03:48:36 2014 UTC (10 years, 6 months ago) by brane
File length: 28687 byte(s)
Diff to previous 1547248 (colored)
Move the JavaHL native library initialization into a context that
is guaranteed to be single-threaded.

[in subversion/bindings/javahl]
* src/org/apache/subversion/javahl/NativeResources.java
  (NativeResources.initNativeLibrary): Remove native method.
  (NativeResources.init): Remove call to initNativeLibrary.

* native/JNIUtil.h (JNIUtil::JNIGlobalInit): Make method private.
  (initialize_jni_util): Declare as friend.
  (JNIUtil::g_inInit, JNIUtil::g_initEnv): Remove.
* javahl/native/JNIUtil.cpp
  (JNIUtil::g_inInit, JNIUtil::g_initEnv): Remove.
  (GlobalInitGuard): Remove.
  (JNIUtil::JNIGlobalInit): Remove obsolete references to the above.
  (initialize_jni_util): Implement as a wrapper for JNIUtil::JNIGlobalInit.

* native/jniwrapper/jni_base.cpp
  (initialize_jni_util): Declare prototype here.
  (JNI_OnLoad): Call initialize_jni_util and handle the failure here.

* native/org_apache_subversion_javahl_NativeResources.cpp:
   Removed obsolete native implementation.


Revision 1547248 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 3 00:32:40 2013 UTC (10 years, 7 months ago) by brane
File length: 31033 byte(s)
Diff to previous 1544202 (colored)
JavaHL should use the default cache size and let the FS backend decide
what it needs to cache.

* subversion/bindings/javahl/native/JNIUtil.cpp (JNIUtil::JNIGlobalInit):
   Leave the default cache sizes, but do signal that we're multi-threaded.


Revision 1544202 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 21 14:53:59 2013 UTC (10 years, 8 months ago) by brane
File length: 31012 byte(s)
Diff to previous 1543819 (colored)
Put APR initialization in the obvious place in JavaHL, and throw an exception
if it fails instead of printing crud to stderr.

* subversion/bindings/javahl/native/jniwrapper/jni_base.cpp
  (JNI_OnLoad): Initialize APR. Throw a java.lang.Error if that fails.
  (JNI_OnUnload): Terminate APR.

* subversion/bindings/javahl/native/jniwrapper/jni_class_cache.cpp
  (ClassCache::create): Used the wrapped environment in the exception
   handling code; the wrapper was already initialized in JNI_OnLoad
   before it called this function.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Remove calls to apr_initialize and apr_terminate.
   The JNI_OnLoad function gets called before this one, and terminating APR
   in an atexit handler is the wrong thing to do in a JNI library anyway.


Revision 1543819 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 20 14:10:28 2013 UTC (10 years, 8 months ago) by brane
File length: 31629 byte(s)
Diff to previous 1539114 (colored)
Prepare JavaHL for writing callbacks with the newstyle jniwrapper.

[in subversion/bindings/javahl]
* native/jniwrapper/jni_stack.hpp:
   Added and enhanced error and exception handling boilerplate.
  (SVN_JAVAHL_JNI_TRY, SVN_JAVAHL_JNI_TRY_STATIC): Update docstring.
  (SVN_JAVAHL_ASSERT_EXCEPTION_THROWN): New; developer-only assertion
   that verifies that a Java exception is being thrown, in the context
   where the boilerplate code requires it.
  (SVN_JAVAHL_GET_BOUND_OBJECT): New; retrieves a pointer to the
   native object wrapped by a Java object.
  (SVN_JAVAHL_JNI_CATCH_TO_EXCEPTION): New.
  (SVN_JAVAHL_JNI_CATCH):
   Reimplement in terms of SVN_JAVAHL_JNI_CATCH_TO_EXCEPTION.
  (SVN_JAVAHL_CHECK): Require a Java::Env parameter, update docstring
   and call out-of-line to handle a returned error.
  (SVN_JAVAHL_CATCH): New; converts a Java exception to a Subversion
   error. Used in callbacks that have to propagate exception state
   through native code.
  (Java::handle_svn_error): New; out-of-line implementation
   for SVN_JAVAHL_CHECK.

* native/jniwrapper/jni_env.hpp
  (SVN_JAVAHL_JNIWRAPPER_LOG): Wrap definition in more #ifdefs so that
   it can be selectively disabled (see: jni_class_cache.cpp).
  (Env::Throw, Env::ThrowNew): Declare as non-throwing.
  (Env::ExceptionCheck, Env::ExceptionClear, Env::IsInstanceOf): New.
* native/jniwrapper/jni_exception.hpp
  (Java::IndexOutOfBoundsException): New.
* native/jniwrapper/jni_javahl_exception.hpp:
   Removed Java::Env forward declaration.
  (JavaHL::JavaException::get_java_exception): Removed.

* native/jniwrapper/jni_base.cpp:
   Reorder some of the exception class implementations.
  (IndexOutOfBoundsException::m_class_name): Initialise.
  (Java::handle_svn_error): Implement.

* jniwrapper/jni_class_cache.cpp:
   Unconditionally define SVN_JAVAHL_JNIWRAPPER_LOG to disable the
   definition in jni_env.hpp.
  (ClassCache::create): Handle exceptions thrown from class cache
   initialisation code, so that the returned errors can be more
   descriptive.

* native/ExternalItem.cpp,
  native/org_apache_subversion_javahl_util_PropLib.cpp,
  org_apache_subversion_javahl_util_SubstLib.cpp:
   Update all uses of SVN_JAVAHL_CHECK.

* native/JNIUtil.h, native/JNIUtil.cpp
  (JNIUtil::handleSVNError, JNIUtil::wrappedHandleSVNError)
   Accept an (optional) throwable object reference to use as
   the exception cause.

* src/org/apache/subversion/javahl/ClientException.java,
  src/org/apache/subversion/javahl/NativeException.java,
  src/org/apache/subversion/javahl/SubversionException.java:
   Add constructors that accept an exception cause.


Revision 1539114 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 5 19:59:44 2013 UTC (10 years, 8 months ago) by brane
File length: 31473 byte(s)
Diff to previous 1534953 (colored)
Introduce a new-style JNI wrapper to the JavaHL native implementaiton.
The old-style, rather messy code will eventually be ported to this.

* build.conf
  (private-includes): Add JavaHL *.hpp and jniwrapper headers.
  (libsvnjavahl): Add jniwrapper sources.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (g_jvm, JNI_OnLoad, JNI_OnUnload): Removed; replaced by equivalent
   functionality in jniwrapper.
  (JNIUtil::getEnv): Reimplement using jniwrapper's Java::Env class.

* subversion/bindings/javahl/native/jniwrapper: New directory.
* subversion/bindings/javahl/native/jniwrapper/jni_array.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_base.cpp,
  subversion/bindings/javahl/native/jniwrapper/jni_class_cache.cpp,
  subversion/bindings/javahl/native/jniwrapper/jni_env.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_exception.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_javahl_exception.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_list.cpp,
  subversion/bindings/javahl/native/jniwrapper/jni_list.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_object.hpp,
  subversion/bindings/javahl/native/jniwrapper/jni_stack.hpp: New files.


Revision 1534953 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 23 08:20:40 2013 UTC (10 years, 9 months ago) by brane
File length: 31830 byte(s)
Diff to previous 1534118 (colored)
Add an optional prefix parameter to the Windows-specific UTF-8 <-> UTF-16
conversion functions.

* subversion/include/private/svn_utf_private.h
  (svn_utf__win32_utf8_to_utf16, svn_utf__win32_utf16_to_utf8):
   Added prefix argument and updated docstrings.
* subversion/libsvn_subr/utf.c
  (svn_utf__win32_utf8_to_utf16, svn_utf__win32_utf16_to_utf8):
   Implemented prefix handling.
* subversion/bindings/javahl/native/JNIUtil.cpp,
  subversion/libsvn_subr/cmdline.c,
  subversion/libsvn_subr/config_win.c,
  subversion/libsvn_subr/nls.c: Updated all callers.


Revision 1534118 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 21 12:08:32 2013 UTC (10 years, 9 months ago) by brane
File length: 31824 byte(s)
Diff to previous 1534037 (colored)
Move the new Win32-specific UTF-8 <-> UTF-16 conversion functions
to the svn_utf namespace.

* subversion/include/private/svn_subr_private.h
  (svn_subr__win32_utf8_to_utf16, svn_subr__win32_utf16_to_utf8):
   Move prototypes from here to ...
* subversion/include/private/svn_utf_private.h
  (svn_utf__win32_utf8_to_utf16, svn_utf__win32_utf16_to_utf8): ... here.

* subversion/libsvn_subr/win32_xlate.c
  (svn_subr__win32_utf8_to_utf16, svn_subr__win32_utf16_to_utf8):
   Move implementation from here to ...
* subversion/libsvn_subr/utf.c
  (svn_utf__win32_utf8_to_utf16, svn_utf__win32_utf16_to_utf8): ... here.

* subversion/bindings/javahl/native/JNIUtil.cpp,
  subversion/libsvn_subr/cmdline.c,
  subversion/libsvn_subr/config_win.c,
  subversion/libsvn_subr/nls.c: Update uses.
  Include svn_utf_private.h instead of svn_subr_private.h for
  svn_utf__win32_utf8_to_utf16 and svn_utf__win32_utf16_to_utf8.


Revision 1534037 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 21 06:38:54 2013 UTC (10 years, 9 months ago) by brane
File length: 31788 byte(s)
Diff to previous 1533804 (colored)
Add a Windows-specific conversion function from UTF-18 to UTF-8.
Use it in JNIUtil.cpp instead of the APR internal function.

* subversion/libsvn_subr/win32_xlate.h
  (svn_subr__win32_utf8_to_utf16): Declaration moved from here to ...
* subversion/include/private/svn_subr_private.h
  (svn_subr__win32_utf8_to_utf16): ... here.
  (svn_subr__win32_utf16_to_utf8): New prototype.
* subversion/libsvn_subr/win32_xlate.c
  (svn_subr__win32_utf8_to_utf16): Calculate the length of the source
   string only once, and null-terminate it just before returning it.
  (svn_subr__win32_utf16_to_utf8): Implement here.

* subversion/bindings/javahl/native/JNIUtil.cpp: Do not include the private
   APR header arch/win32/apr_arch_utf8.h.
  (JNIUtil::JNIGlobalInit): Use svn_subr__win32_utf16_to_utf8.


Revision 1533804 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 19 18:14:16 2013 UTC (10 years, 9 months ago) by brane
File length: 32507 byte(s)
Diff to previous 1532117 (colored)
Fix some wrong assumptions in JavaHL that led to wrong implementation,
and simplify JNI environment handling.

Amongst other things, the assumption that looking at a Java exception
will remove it from the environment was incorrect.

* build.conf (libsvnjavahl): There are no C files in JavaHL.

* subversion/bindings/javahl/native/JNIThreadData.cpp,
  subversion/bindings/javahl/native/JNIThreadData.h: Removed, unused.
* subversion/bindings/javahl/native/libsvnjavahl.la.c: Removed.
   Implementation moved to JNIUtil.cpp.

* subversion/bindings/javahl/native/SVNClient.cpp,
  subversion/bindings/javahl/native/JNIStackElement.cpp,
  subversion/bindings/javahl/native/JNIStackElement.h:
   Removed all references to JNIThreadData.

* subversion/bindings/javahl/native/JNIUtil.h:
   Removed all references to JNIThreadData.
  (JNIUtil::getFormatBuffer, JNIUtil::formatBufferSize,
   JNIUtil::g_initFormatBuffer, JNIUtil::setEnv,
   JNIUtil::setExceptionThrown): Removed.
  (JNIUtil::isExceptionThrown(), JNIUtil::isJavaExceptionThrown()):
   Changed to simple inline implementations.

* subversion/bindings/javahl/native/JNIUtil.cpp:
   Removed implementaitons that were removed from the class declaration.
   (JNI_OnLoad): Remember the VM pointer.
   (JNIUtil::getEnv): Get an environemnt from the JVM.


Revision 1532117 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 14 22:31:09 2013 UTC (10 years, 9 months ago) by brane
File length: 34913 byte(s)
Diff to previous 1531466 (colored)
Fix a bug in JavaHL error handling; the original error was not cleared.
Enhance the native exception to SVN error wrapper to include the name
of the exception class in the error message.

* subversion/bindings/javahl/native/JNIUtil.h
  (JNIUtil::wrappedHandleSVNError): New private method.
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::wrappedHandleSVNError): Renamed from JNIUtil::handleSVNError.
  (JNIUtil::handleSVNError): New implementation that clears the error.
  (known_exception_to_cstring): New; extracted from exception_to_cstring.
   Finds the exception class name.
  (exception_to_cstring): Call known_exception_to_cstring.
  (JNIUtil::checkJavaException): Call known_exception_to_cstring.


Revision 1531466 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 11 23:51:16 2013 UTC (10 years, 9 months ago) by brane
File length: 34194 byte(s)
Diff to previous 1520757 (colored)
Restructure the code in JavaHL that creates error messages from
svn_error_t chains, and expose error chains in the client notifications.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]
* ClientNotifyInformation.java
  (ClientNotifyInformation.serialVersionUID): Update serialization identity.
  (ClientNotifyInformation.errMsgStack): New private member.
  (ClientNotifyInformation.ClientNotifyInformation): Initialize errMsgStack.
  (ClientNotifyInformation.getErrMsgDetails): New accessor for errMsgStack.

[in subversion/bindings/javahl/native]
* JNIUtil.h (JNIUtil::makeSVNErrorMessage): Change signature.
  (JNIUtil::message_stack_item, JNIUtil::error_message_stack_t): Removed.
  (JNIUtil::assembleErrorMessage): Removed.
* JNIUtil.cpp (JNIUtil::makeSVNErrorMessage): Reimplement. Returns an
   error message and message stack without tracing info.
  (MessageStackItem, ErrorMessageStack): New types in namespace scope.
  (assemble_error_message): New, replaces JNIUtil::assembleErrorMessage.
  (construct_Jmessage_stack): Use the new namespace-scope types.
  (JNIUtil::handleSVNError): Use makeSVNErrorMessage to get the messages.
  (JNIUtil::assembleErrorMessage): Removed.


Revision 1520757 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 7 10:57:24 2013 UTC (10 years, 10 months ago) by rhuijben
File length: 33768 byte(s)
Diff to previous 1520754 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (includes): Another attempt to fix building this file on the centos buildbot.


Revision 1520754 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 7 10:40:41 2013 UTC (10 years, 10 months ago) by rhuijben
File length: 33555 byte(s)
Diff to previous 1520753 (colored)
Revert 1520753 and 1520752 as they are not fixing the javahl build on the
centos bot.

Several definitions in apr_time.h are still broken on this buildbot that uses apr
1.2.7.

Revision 1520753 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 7 10:30:34 2013 UTC (10 years, 10 months ago) by rhuijben
File length: 33551 byte(s)
Diff to previous 1520752 (colored)
[Reverted in r1520754]

* subversion/bindings/javahl/native/JNIUtil.cpp
  (includes): Remove the apr.h added in r1520752 as it doesn't fix the build
    problem.
  (GlobalInitGuard::GlobalInitGuard): Initialize apr time in a different way,
    while still wondering why we don't use svn_atomic__init_once() here.


Revision 1520752 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 7 10:17:52 2013 UTC (10 years, 10 months ago) by rhuijben
File length: 33572 byte(s)
Diff to previous 1519913 (colored)
[Reverted via r1520753,r1520754. Reapplied as first header in r1520757]

* subversion/bindings/javahl/native/JNIUtil.cpp
  (includes): Add apr.h. Required by some apr_time.h definitions as shown by
    the build failure on the centos buildbot.


Revision 1519913 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 4 03:58:06 2013 UTC (10 years, 10 months ago) by brane
File length: 33555 byte(s)
Diff to previous 1519906 (colored)
Fix value truncation checks in JavaHL.

* subversion/bindings/javahl/native/CreateJ.cpp
  (CreateJ::ClientNotifyInformation): Check for signed overflow.
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::handleSVNError): Likewise.

Found by: philip


Revision 1519906 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 4 02:50:56 2013 UTC (10 years, 10 months ago) by brane
File length: 33541 byte(s)
Diff to previous 1519803 (colored)
Follow up to r1519803 to fix a potential compilation error.

* subversion/bindings/javahl/native/JNIUtil.cpp:
   Include apr_time.h for apr_sleep and related time constants.


Revision 1519803 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 3 19:26:02 2013 UTC (10 years, 10 months ago) by brane
File length: 33519 byte(s)
Diff to previous 1519126 (colored)
Serialize intialization of the JavaHL native library, otherwise there's
too much room for race conditions, especially in multithreaded clients.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (GlobalInitGuard): New class, effectively a gate that controls acces
   to the initialization code.
  (JNIUtil::JNIGlobalInit): Use GlobalInitGuard.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_NativeResources.cpp
  (Java_org_apache_subversion_javahl_NativeResources_initNativeLibrary): Return
   the result of JNIUtil::JNIGlobalInit.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
  (NativeResources.initNativeLibrary): Change signature to return a boolean
   success flag.
  (NativeResources.init): Raise an exception if initializing the native library
   does not succeed.


Revision 1519126 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 31 01:27:12 2013 UTC (10 years, 10 months ago) by brane
File length: 31562 byte(s)
Diff to previous 1500255 (colored)
[Reverted in r1539931]

Introduce global configuration options into JavaHL:
 - An option to completely ignore Subversion's authentication credentials
   store, so that JavaHL-based clients can implement their own auth store
   using the authentication callbacks;
 - A global callback triggered by loading the configuration files into
   memory (this replaces the current ISVNClient and ISVNRemote object-
   specific callbacks).

* build.conf (private-built-includes):
   Added org_apache_subversion_javahl_util_ConfigLib.h.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]
* ISVNClient.java, SVNClient.java
  (ISVNClient.setConfigEventHandler): Removed.
* remote/RemoteFactory.java
  (RemoteFactory.setConfigEventHandler. configHandler): Removed.
  (RemoteFactory.RemoteFactory): Removed configHandler parameter.
  (RemoteFactory.open): Likewise; all callers updated.
* SVNUtil.java
  (SVNUtil.enableNativeCredentialsStore,
   SVNUtil.disableNativeCredentialsStore,
   SVNUtil.isNativeCredentialsStoreEnabled,
   SVNUtil.setConfigEventHandler,
   SVNUtil.getConfigEventHandler): New static methods.
* util/ConfigLib.java (ConfigLib): New file and public class.
   Implements the new methods in SVNUtil.

[in subversion/bindings/javahl/native]
* GlobalConfig.h (GlobalConfig): New file and class.
* JNIUtil.h (JNIUtil::g_configMutex): New global mutex.
   Controls access to the global configuration parameters.
* JNIUtil.cpp (JNIUtil::JNIInit): Make initialisation guard atomic.
   Initialise JNIUtil::g_configMutex.
* OperationContext.h
  (OperationContext::setConfigCallback,
   OperationContext::getConfigCallback): Removed.
* OperationContext.cpp (OperationContext::attachJavaObject):
   Initialise the context-specific copy of the config event callback
   from the global configuration.
  (OperationContext::getAuthBaton): If the native credentials store is
   disabled, do not add the default authn providers.
  (OperationContext::setConfigCallback,
   OperationContext::getConfigCallback): Removed obsolete implementation.
* RemoteSession.h (RemoteSession.open, RemoteSession.RemoteSession):
   Remove the jconfigHandler parameter from these functions.
* RemoteSessionContext.h (RemoteSessionContext.RemoteSessionContext):
   Remove the jconfigHandler parameter.
* RemoteSession.cpp, RemoteSessionContext.cpp: Update implementation
   now that the jconfigHandler parameters are gone.
* SVNClient.cpp (SVNClient::openRemoteSession): Update implementation
   now that the jconfigHandler parameters are gone.
* org_apache_subversion_javahl_SVNClient.cpp
  (Java_org_apache_subversion_javahl_SVNClient_setConfigEventHandler): Gone.
* org_apache_subversion_javahl_remote_RemoteFactory.cpp
  (Java_org_apache_subversion_javahl_remote_RemoteFactory_open): No more
   jconfigHandler parameter.
* org_apache_subversion_javahl_util_ConfigLib.cpp: New file.
   Implements ConfigLib native wrappers and the GlobalConfig class.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* SVNRemoteTests.java
  (SVNRemoteTests.getSession, SVNRemoteTests.testGetSession_ConfigConstructor):
   Removed configHandler parameter.
  (SVNRemoteTests.testConfigHandler): Use SVNUtil method to set the handler.
* SVNTests.java (SVNTests.init): Optionally disable the native credentials
   store for the test run.


Revision 1500255 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 6 13:17:59 2013 UTC (11 years ago) by brane
File length: 31368 byte(s)
Diff to previous 1499026 (colored)
Fixed the JavaHL RA implementation, infrastructure and tests so that they
all pass via ra_serf and ra_svn (on a local connection with trunk servers).

[in subversion/bindings/javahl/native]
* JNIUtil.cpp (JNIUtil::makeJByteArray): Check for null svn_string_t.

* CommitEditor.h
  (CommitEditor::provide_base_cb, CommitEditor::provide_props_cb): New methods.
* CommitEditor.cpp (open_callback_session): Extracted code for opening the
   secondary session that suuports the Ev2 commit editor callbakcs from
   CommitEditor::get_copysrc_kind_cb.
  (CommitEditor::provide_base_cb, CommitEditor::provide_props_cb): Implement.
  (CommitEditor::CommitEditor): Use the new callbacks.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* BasicTests.java (BasicTests.CountingProgressListener): New private class;
   hoisted from BasicTests.testDataTransferProgressReport to avoid
   throwing exceptions through native callbacks, which clutter up the
   output during the test run.
  (BasicTests.testDataTransferProgressReport): Use the new callback class.

* SVNRemoteTests.java
  (SVNRemoteTests.testChangeRevpropAtomic): Check list of allowed error codes.
  (SVNRemoteTests.testGetFile, SVNRemoteTests.testGetDirectory): Expect wcprops.
  (SVNRemoteTests.testEditorSetFileContents): New test case; covers a code path
   that had not been tested before.
  (SVNRemoteTests.testEditorSetFileProps): Replaced by testEditorSetFileContents.
  (SVNRemoteTests.RemoteStatusReceiver): Make StatInfo array sortable.
  (SVNRemoteTests.testPropchangeStatus,
   SVNRemoteTests.testDeletedStatus): Sort status entries before checking
   results because ra_serf sends them in the opposite order than ra_local.
* SVNTests.java (SVNTests.prompt): Return true; we do have credentials info.


Revision 1499026 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 2 17:19:30 2013 UTC (11 years ago) by brane
File length: 31325 byte(s)
Diff to previous 1496353 (colored)
Add some infrastructure bits to JavaHL.

[in subversion/bindings/javahl/native]
* CreateJ.h, CreateJ.cpp (CreateJ::StringSet): Make argument const*.
* JNIUtil.h (JNIUtil::checkJavaException): Declare new helper.
  (SVN_JNI_CATCH) New; converts Java exceptions to svn_error_t*.
  JNIUtil.cpp (exception_to_cstring): New helper; hoist logic out of
   JNIUtil::thrownExceptionToCString.
  (JNIUtil::thrownExceptionToCString): Just call exception_to_cstring.
  (JNIUtil::checkJavaException): Implement.


Revision 1496353 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 25 05:19:50 2013 UTC (11 years, 1 month ago) by brane
File length: 30851 byte(s)
Diff to previous 1494650 (colored)
Extend the JavaHL native exception to provide the whole stack of error
messages that were generated by the native libraries.

[in subversion/bindings/javahl/native]
* JNIUtil.h (message_stack_item, error_message_stack_t): New types.
  (JNIUtil::assembleErrorMessage): Take an optional mesage_stack parameter.
* JNIUtil.cpp (construct_Jmessage_stack): New helper; converts an
   error_message_stack_t to a Java list.
  (JNIUtil::handleSVNError): Pass a message stack to assembleErrorMessage
   and send the converted Java list to the ClientException constructor.
  (JNIUtil::assembleErrorMessage): Optionally build the message stack.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]
* ClientException.java (ClientException): Update serialVersionUID.
  (ClientException.ErrorMessage): New nested class. This is the Java
   equivalent of the message_stack_item from JNIUtil.h.
  (ClientException::ClientException): New constructor accepts a message stack.
  (ClientException::getAllMessages): Return the current message stack.


Revision 1494650 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 19 15:05:18 2013 UTC (11 years, 1 month ago) by brane
File length: 28261 byte(s)
Diff to previous 1492264 (colored)
Reintegrate javahl-branch to trunk.

The branch history was:
  ------------------------------------------------------------------------
  r1494474 | brane | 2013-06-19 08:50:18 +0200 (Wed, 19 Jun 2013) | 9 lines

  On the javahl-ra branch: Add more test cases.

  [in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
  * SVNRemoteTests.java: Reorder test cases.
    (SVNRemoteTests.testDispose,
     SVNRemoteTests.testGetUrl_viaSVNClientWorkingCopy,
     SVNRemoteTests.testGetCommitEditor,
     SVNRemoteTests.testDisposeCommitEditor): New test cases.

  ------------------------------------------------------------------------
  r1494472 | brane | 2013-06-19 08:47:50 +0200 (Wed, 19 Jun 2013) | 6 lines

  On the javahl-ra branch: Fix a pool-lifetime-related bug.

  * subversion/bindings/javahl/native/SVNClient.cpp
    (SVNClient::openRemoteSession): In the info receiver callback, create a
     local copy of the url and uuid strings.

  ------------------------------------------------------------------------
  r1494471 | brane | 2013-06-19 08:45:08 +0200 (Wed, 19 Jun 2013) | 16 lines

  On the javahl-ra branch:
  Implement commit editor creation and disposal.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNEditor.java (ISVNEditor.dispose): New method.
  * remote/CommitEditor.java (ISVNEditor.dispose): New (boilerplate).
    (CommitEditor.createInstance): New factory method (boilerplate).
  * remote/RemoteSession.java (RemoteSession.editors): New member.
    (RemoteSession.nativeDispose): New native method, replaces dispose().
    (dispose): Remove 'native' qualified and implement here.

  [in subversion/bindings/javahl/native]
  * org_apache_subversion_javahl_remote_RemoteSession.cpp
    (Java_org_apache_subversion_javahl_remote_RemoteSession_nativeDispose):
     Renamed from Java_org_apache_subversion_javahl_remote_RemoteSession_dispose.

  ------------------------------------------------------------------------
  r1494225 | brane | 2013-06-18 19:42:51 +0200 (Tue, 18 Jun 2013) | 17 lines

  On the javahl-ra branch:
  Use plain revision numbers instead of the Revision class in ISVNRemote APIs.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNRemote.java, RemoteSession.java
    (ISVNRemote.getLatestRevision, ISVNRemote.getRevisionByDate,
     ISVNRemote.getRevisionByTimestamp, ISVNRemote.checkPath):
     Replace Revision with long.

  [in subversion/bindings/javahl/native]
  * RemoteSession.h, RemoteSession.cpp,
    org_apache_subversion_javahl_remote_RemoteSession.cpp:
     Update all affected native wrappers.

  [in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
  * SVNRemoteTests.java: Update all affected test cases.

  ------------------------------------------------------------------------
  r1494167 | brane | 2013-06-18 17:11:54 +0200 (Tue, 18 Jun 2013) | 5 lines

  On the javahl-ra branch: Add commit editor boilerplate.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * remote/CommitEditor.java: New file.

  ------------------------------------------------------------------------
  r1494164 | brane | 2013-06-18 17:09:54 +0200 (Tue, 18 Jun 2013) | 5 lines

  On the javahl-ra branch:

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * remote/RemoteSession.java (RemoteSession.ctor): Update comment.

  ------------------------------------------------------------------------
  r1493730 | brane | 2013-06-17 14:25:28 +0200 (Mon, 17 Jun 2013) | 10 lines

  On the javahl-branch:
  Introduce ISVNEditor, the abstract interface to EV2.
  (Doesn't make much sense to expose the delta editor if EV2 will become
  standard; it would only create more wrapper code.)

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNEditor.java: New interface definition.
  * ISVNRemote.java (ISVNRemote.getCommitEditor): New method.
  * remote/RemoteSession.java (ISVNRemote.getCommitEditor): Dummy implementation.

  ------------------------------------------------------------------------
  r1493649 | brane | 2013-06-17 08:22:39 +0200 (Mon, 17 Jun 2013) | 22 lines

  On the javahl-ra branch:
  Implement ISVNRemote.getSessionRelativePath and ISVNRemote.getReposRelativePath.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNRemote.java (ISVNRemote.getReposRelativePath):
     Renamed from getRepositoryRelativePath.
  * remote/RemoteSession.java
    (ISVNRemote.getReposRelativePath, ISVNRemote.getSessionRelativePath):
     Declare native methods.
    (thrownotimplemented): Remove.

  [in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
  * SVNRemoteTests.java (SVNRemoteTests.testGetRelativePath): New test case.

  [in subversion/bindings/javahl/native]
  * RemoteSession.h, RemoteSession.cpp
    (RemoteSession::getReposRelativePath, RemoteSession::getSessionRelativePath)
     New methods.
  * org_apache_subversion_javahl_remote_RemoteSession.cpp
    (Java_org_apache_subversion_javahl_remote_RemoteSession_getSessionRelativePath):
     Implement native methods.

  ------------------------------------------------------------------------
  r1493646 | brane | 2013-06-17 07:42:21 +0200 (Mon, 17 Jun 2013) | 15 lines

  On the javahl-ra branch: Implement ISVNRemote.reparent.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * remote/RemoteSession.java (ISVNRemote.reparent): Declare native method.

  [in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
  * SVNRemoteTests.java (SVNRemoteTests.testReparent): New test case.
    (SVNRemoteTests.getSession): Do not throw a checked exception.

  [in subversion/bindings/javahl/native]
  * RemoteSession.h, RemoteSession.cpp (RemoteSession::reparent): New.
  * org_apache_subversion_javahl_remote_RemoteSession.cpp
    (Java_org_apache_subversion_javahl_remote_RemoteSession_reparent):
     Implement native method.

  ------------------------------------------------------------------------
  r1493619 | brane | 2013-06-17 02:47:20 +0200 (Mon, 17 Jun 2013) | 13 lines

  On the javahl-ra branch:
  Throw different exceptions for redirect cycles and too many redirects,
  so that the API consumer can easily tell the difference.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * remote/RetryOpenSession.java: New exception class.
  * remote/RemoteFactory.java, ISVNClient.java (openRemoteSession):
     Update docs about when remote.RetryOpenSession is thrown.

  [in subversion/bindings/javahl/native]
  * RemoteSession.cpp (RemoteSession::RemoteSession): Throw RetryOpenSession
     if there were too many redirects but no cycle was detected.

  ------------------------------------------------------------------------
  r1493616 | brane | 2013-06-17 02:08:16 +0200 (Mon, 17 Jun 2013) | 16 lines

  On the javahl-ra branch:
  Add support for retry-on-redirect to the remote session factory methods.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNClient.java, SVNClient.java, remote/RemoteFactory.java:
     Add overloads of openRemoteSession that accept a retry count.
  * SVNClient.java (nativeOpenRemoteSession): New native implementation.

  [in subversion/bindings/javahl/native]
  * RemoteSession.h (RemoteSession::open): Accept a retry count
     and add an overload that accepts native-type parameters.
    (RemoteSession::RemoteSession): Accept retry count and make private.
  * RemoteSession.h (RemoteSession::open): Update implementaitons.
    (RemoteSession::RemoteSession): Try to follow redirect for the given
     number of retries, or until a cycle was detected.

  ------------------------------------------------------------------------
  r1493536 | brane | 2013-06-16 19:15:51 +0200 (Sun, 16 Jun 2013) | 13 lines

  On the javahl-ra branch:
  Implement the RA session's cancelOperation method.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * remote/RemoteSession.java (ISVNRemoteSession.cancelOperation):
     Change to native method declaration.

  [in subversion/bindings/javahl/native]
  * RemoteSession.h (RemoteSession::cancelOperation): New inline method.
  * org_apache_subversion_javahl_remote_RemoteSession.cpp
    (Java_org_apache_subversion_javahl_remote_RemoteSession_cancelOperation):
     New JNI method wrapper.

  ------------------------------------------------------------------------
  r1493499 | brane | 2013-06-16 13:12:10 +0200 (Sun, 16 Jun 2013) | 23 lines

  On the javahl-ra branch:
  Rename and extend the ISVNRepos interface methods and documentation.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNRemote.java, remote/RemoteSession.java:
    (ISVNRemote.getSessionRelativePath, ISVNRemote.getRepositoryRelativePath ,
     ISVNRemote.cancelOperstion, ISVNRemote.reparent): New methods.
    (ISVNRemote.getSessionUrl): Renamed from ISVNRemote.getUrl.
    (ISVNRemote.getReposUUID): Renamed from ISVNRemote.getUUID.
    (ISVNRemote.getLatestRevision): Returns a Revision object instead of a long.
    (ISVNRemote.getRevisionByDate): Renamed from getDatedRevision;
     returns a Revision object instead of a long.
    (ISVNRemote.getRevisionByTimestamp): Renamed from getDatedRevision;
     returns a Revision object instead of a long.

  [in subversion/bindings/javahl/native):
  * RemoteSession.h, RemoteSession.cpp,
    org_apache_subversion_javahl_remote_RemoteSession.cpp: Update JNI
     implementation and native wrappers to match the ISVNRemote interface.

  [in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
  * SVNRemoteTests.java: Update test cases to match the ISVNRemote interface.

  ------------------------------------------------------------------------
  r1493369 | brane | 2013-06-15 16:32:22 +0200 (Sat, 15 Jun 2013) | 5 lines

  On the javahl-ra branch:

  * subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java
    (SVNRemoteTests.testGetSession_ConfigConstructor): New test case.

  ------------------------------------------------------------------------
  r1493368 | brane | 2013-06-15 16:31:13 +0200 (Sat, 15 Jun 2013) | 5 lines

  On the javahl-ra branch:

  * subversion/bindings/javahl/native/SVNClient.cpp
    (SVNClient::openRemoteSession): Handle failed prompter allocation.

  ------------------------------------------------------------------------
  r1492954 | brane | 2013-06-14 06:58:03 +0200 (Fri, 14 Jun 2013) | 6 lines

  On the javahl-ra branch:

  [in subversion/bindings/javahl/src]
  * org/apache/subversion/javahl/native/SVNClient.cpp
    (SVNClient::openRemoteSession): Add comments to clarify object ownership.

  ------------------------------------------------------------------------
  r1492940 | brane | 2013-06-14 05:02:54 +0200 (Fri, 14 Jun 2013) | 24 lines

  On the javahl_ra branch:
  Implement the SVNClient.openRemoteSession factory method.

  [in subversion/bindings/javahl/native]
  * OperationContext.h, OperationContext.cpp
    (OperationContext::getSelf, OperationContext::getUsername,
     OperationContext::getPassword, OperationContext::getPrompter):
     Add accessor methods for the configuration parameters so that
     the native code can use them directly.

  * SVNClient.h, SVNClient.cpp (SVNClient::openRemoteSession): New.
  * org_apache_subversion_javahl_SVNClient.cpp
    (Java_org_apache_subversion_javahl_SVNClient_openRemoteSession):
     Implement native wrapper.

  * RemoteSession.cpp (RemoteSession::open): Check returned pointer.
  * org_apache_subversion_javahl_remote_RemoteFactory.cpp
    (Java_org_apache_subversion_javahl_remote_RemoteFactory_open):
     Do not delete the session object on failure; RemoteSession::open does that.

  [in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
  * SVNRemoteTests.java (SVNRemoteTests.testGetUrl_viaSVNClient):
     Add a test case for SVNClient.openRemoteSession.

  ------------------------------------------------------------------------
  r1492924 | brane | 2013-06-14 03:28:11 +0200 (Fri, 14 Jun 2013) | 36 lines

  On the javahl-ra branch:
  Refactor the remote session framework so that SVNClient object can create
  RemoteSession instances that inherit the SVNClient's configuration.

  [in subversion/bindings/javahl/native]

  * RemoteSession.h (RemoteSession::open): New; factory method that accepts
     parameters as JNI object references, converting them for the constructor.
    (RemoteSession::RemoteSession): Change parameters from JNI object
     references to native types, so that the constructor can be more easily
     called from other native code.
  * RemoteSession.cpp (RemoteSession::open): Implement.
    (RemoteSession::RemoteSession): Rewrite to new prototype.
     Move RA layer initialisation here out of the RemoteFactory JNI wrapper.

  * RemoteSessionContext.h (RemoteSessionContext::RemoteSessionContext):
     Change constructor to accept native typed parameters instead of
     JNI object references.
  * RemoteSessionContext.cpp (RemoteSessionContext::RemoteSessionContext):
     rewrite to new prototype.

  * Prompter.cpp (Prompter::Prompter): Don't leave a member uninitialised.

  * org_apache_subversion_javahl_remote_RemoteFactory.cpp
    (Java_org_apache_subversion_javahl_remote_RemoteFactory_open):
     Call RemoteSession::open instead of constructing the object directly,
     and remove the RA layer initialisation since it has moved elsewhere.

  * org_apache_subversion_javahl_SVNClient.cpp
    (Java_org_apache_subversion_javahl_SVNClient_openRemoteSession):
     New; native implementation of SVNClient.openRemoteSession.

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl]
  * ISVNClient.java, SVNClient.java (ISVNClient.openRemoteSession):
     New RemoteSession factory method.

  ------------------------------------------------------------------------
  r1492590 | brane | 2013-06-13 11:17:02 +0200 (Thu, 13 Jun 2013) | 32 lines

  On the javahl-ra branch:

  Changed how the remote-access initialization works, putting the session
  configuration defaults into the factory class instead of having to
  juggle with a separate configuration object.

  Also moved and renamed packages and classes, so that the common bits
  don't have RA-specific names, and use 'Remote instead of 'Ra' as the
  package and class base name.

  Renamed classes and interfaces (within org.apache.subversion.javahl):

      RaSharedContext -> OperationContext

      ra.ISVNRa       -> ISVNRemote

      ra.SVNRa        -> remote.RemoteSession
      ra.SVNRaFactory -> remote.RemoteFactory
      ra.RaContext    -> remote.RemoteSession$RemoteSessionContext

      SVNRATests      -> SVNRemoteTests

  Removedclasses and interfaces (within org.apache.subversion.javahl):

      ra.ISVNRaConfig
      ra.SVNRaConfigDefault

  This change also affects:

  * SVNClient.java: Base class of ClientContext renamed.
  * RunTests.java: Name of remote-access test class changed.

  ------------------------------------------------------------------------
  r1492039 | brane | 2013-06-12 05:40:42 +0200 (Wed, 12 Jun 2013) | 4 lines

  On the javahl-ra branch:

  Remove spurious whitespace changes compared to trunk; no functional change.

  ------------------------------------------------------------------------
  r1353380 | vmpn | 2012-06-25 03:40:28 +0200 (Mon, 25 Jun 2012) | 26 lines

  On the javahl-ra branch:

  JavaHL: Add support for the svn_ra_get_session_url() function

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_ra_SVNRa.cpp
    (Java_org_apache_subversion_javahl_ra_SVNRa_getUrl): New

  * SVNRa.h,
    SVNRa.cpp
    (getUrl): New

  [ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]

  * ISVNRa.java,
    SVNRa.java
    (getUrl): New

  [ in subversion/bindings/javahl/tests/org/apache/subversion/javahl ]

  * SVNRATests.java
    (getSession, getTestRepoUrl): New function for obtaining URL of the test
      repository
    (testGetUrl): New test for getUrl()

  ------------------------------------------------------------------------
  r1353377 | vmpn | 2012-06-25 03:25:18 +0200 (Mon, 25 Jun 2012) | 23 lines

  On the javahl-ra branch:

  JavaHL: Add support for the svn_ra_get_uuid2() function

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_ra_SVNRa.cpp
    (Java_org_apache_subversion_javahl_ra_SVNRa_getUUID): New

  * SVNRa.h,
    SVNRa.cpp
    (getUUID): New

  [ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]

  * ISVNRa.java,
    SVNRa.java
    (getUUID): New

  [ in subversion/bindings/javahl/tests/org/apache/subversion/javahl ]

  * SVNRATests.java
    (testGetUUID): New test for getUUID()
  ------------------------------------------------------------------------
  r1353376 | vmpn | 2012-06-25 03:18:45 +0200 (Mon, 25 Jun 2012) | 23 lines

  On the javahl-ra branch:

  Pass timestamp (nano seconds) rather than date (milli seconds) to avoid
  precison loss (issue #2359)

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_ra_SVNRa.cpp
    (Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision): Switch from
      Date to long as means of passing the timestamp

  * SVNRa.h,
    SVNRa.cpp
    (getDatedRev): Switch from Date to long as means of passing the timestamp

  [ in subversion/bindings/javahl/src/org/apache/subversion/javahl/ra ]

  * ISVNRa.java,
    SVNRa.java
    (getDatedRevision): Switch from Date to long as means of passing the
     timestamp and provide backwards compatible function accepting Date
     as the parameter

  ------------------------------------------------------------------------
  r1353373 | vmpn | 2012-06-25 03:10:50 +0200 (Mon, 25 Jun 2012) | 17 lines

  On the javahl-ra branch:

  Move logic from the JNI functions into their C++ counterpart classes for
  consistency with the rest of the code

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_ra_SVNRa.cpp
    (Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision,
     Java_org_apache_subversion_javahl_ra_SVNRa_getLocks,
     Java_org_apache_subversion_javahl_ra_SVNRa_checkPath):
      Move logic into SVNRa class

  * SVNRa.h,
    SVNRa.cpp
    (getDatedRev, getLocks, checkPath): Move logic from SVNRa JNI functions

  ------------------------------------------------------------------------
  r1352751 | vmpn | 2012-06-22 03:58:24 +0200 (Fri, 22 Jun 2012) | 4 lines

  On the javahl-ra branch:

  * BRANCH-README: Updated to reflect the latest changes

  ------------------------------------------------------------------------
  r1352742 | vmpn | 2012-06-22 03:41:24 +0200 (Fri, 22 Jun 2012) | 8 lines

  On the javahl-ra branch:

  JavaHL: Update whitespace to be compliant with project standards

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

  * ISVNRa.java,
    SVNRa.java
  ------------------------------------------------------------------------
  r1352737 | vmpn | 2012-06-22 03:38:50 +0200 (Fri, 22 Jun 2012) | 47 lines

  On the javahl-ra branch:

  JavaHL: Merge two SVN RA session implementations into one

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_SVNReposAccess.cpp
    (Java_org_apache_subversion_javahl_SVNReposAccess_ctNative,
     Java_org_apache_subversion_javahl_SVNReposAccess_dispose
     Java_org_apache_subversion_javahl_SVNReposAccess_finalize
     Java_org_apache_subversion_javahl_SVNReposAccess_getDatedRevision
     Java_org_apache_subversion_javahl_SVNReposAccess_getLocks
     Java_org_apache_subversion_javahl_SVNReposAccess_checkPath):
      Functionality merged into org_apache_subversion_javahl_ra_SVNRa

  * org_apache_subversion_javahl_ra_SVNRa.cpp
   (Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision,
    Java_org_apache_subversion_javahl_ra_SVNRa_getLocks,
    Java_org_apache_subversion_javahl_ra_SVNRa_checkPath): Functionality merged
     from org_apache_subversion_javahl_SVNReposAccess.cpp

  * SVNReposAccess.h,
    SVNReposAccess.cpp,
    SVNRa.h,
    SVNRa.cpp
    (getDatedRev, getLocks, checkPath): Functionality merged from
      SVNReposAccess into SVNRa class

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl ]

  * ISVNReposAccess.java,
    SVNReposAccess.java
    (getDatedRevision, getLocks, checkPath) Functionality
      merged from SVNReposAccess into SVNRa

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

  * SVNRa.java,
    ISVNRa.java
    (getDatedRevision, getLocks, checkPath) Functionality
      merged into SVNRa from SVNReposAccess

  [ in subversion/bindings/javahl/tests/org/tigris/subversion/javahl ]

  * SVNRATests.java
    (testDatedRev, testGetLocks, testCheckPath): Migrate test to use ISVNRa
      interface
  ------------------------------------------------------------------------
  r1352736 | vmpn | 2012-06-22 03:35:05 +0200 (Fri, 22 Jun 2012) | 9 lines

  On the javahl-ra branch:

  JavaHL: Implement a test for getLatestRevision() function

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

  * SVNRATests.java
    (getSession): New support functions for RA testing
    (testGetLatestRevision): New test for the getLatestRevision function
  ------------------------------------------------------------------------
  r1352734 | vmpn | 2012-06-22 02:11:49 +0200 (Fri, 22 Jun 2012) | 17 lines

  On the javahl-ra branch:

  JavaHL: Update whitespace to be compliant with project standards

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_ra_SVNRa.cpp,
    org_apache_subversion_javahl_ra_SVNRaFactory.cpp,
    RaContext.h,
    RaContext.cpp,
    SVNRa.h,
    SVNRa.cpp

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra/ ]

  * RaContext.java,
    SVNRaFactory.java
  ------------------------------------------------------------------------
  r1352729 | vmpn | 2012-06-22 01:53:35 +0200 (Fri, 22 Jun 2012) | 6 lines

  On the javahl-ra branch:
  JavaHL: Declare cppAddr immutable as per Blair Zajac suggestion

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

  * JNIObject.java (cppAddr): Declare that cppAddr is an immutable value
  ------------------------------------------------------------------------
  r1352727 | vmpn | 2012-06-22 01:48:44 +0200 (Fri, 22 Jun 2012) | 12 lines

  On the javahl-ra branch:

  JavaHL: Update whitespace to be compliant with project standards

  [ in subversion/bindings/javahl/native ]

  * SVNBase.cpp,
    SVNBase.h

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

  * JNIObject.java

  ------------------------------------------------------------------------
  r1352419 | vmpn | 2012-06-21 08:03:20 +0200 (Thu, 21 Jun 2012) | 55 lines

  On the javahl-ra branch:

  JavaHL: Implement getLatestRevision function using the factory based approach
  to the SVN remote access layer implementation

  * build.conf
    (options): Don't try to find new jni header files before they are generated
    (javahl-java): compile classes in the src/org/apache/subversion/javahl/ra
     directory
    (javahl-ra-javah): new section for generating jni header files for the Ra
     classes
    (libsvnjavahl): make the javahl library depend on the ra jni files

  [ in subversion/bindings/javahl/native ]

  * org_apache_subversion_javahl_ra_SVNRaFactory.cpp
     (Java_org_apache_subversion_javahl_ra_SVNRaFactory_createRaSession): New JNI
       method to create SVNRa session

  * org_apache_subversion_javahl_ra_SVNRa.cpp
     (Java_org_apache_subversion_javahl_ra_SVNRa_finalize,
      Java_org_apache_subversion_javahl_ra_SVNRa_dispose): Implement lifecycle
       JNI methods for the SVNRa session
     (Java_org_apache_subversion_javahl_ra_SVNRa_getLatestRevision): Implement
       the JNI wrapper around SVNRa::getLatestRevision function

  * SVNRa.h,
    SVNRa.cpp
    (SVNRa, ~SVNRa, dispose): Implement lifecycle methods for the SVNRa session
    (getLatestRevision): Implement the wrapper around svn_ra_get_latest_revnum

  * RaContext.h,
    RaContext.cpp
    (RaContext, getCallbackBaton, getCallbacks): Implement JNI wrapper around
      svn_ra_create_callbacks function

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ra ]

  * SVNRaFactory.java
    (<static>): Implement library initialization and version check
    (createRaSession): New method to obtain ISVNRa ra session implementation

  * SVNRa.java,
    ISVNRa.java
    (SVNRa, finalize, dispose): Implement lifecycle methods
    (getLatestRevision): Implement the java wrapper around JNI getLatestRevision
      function

  * RaContext.java: Marker class for Ra context

  * ISVNRaConfig.java,
    SVNRaConfigDefault.java
    (getUsername, getPassword, getPrompt, getConfigDirectory): New functions to
      specify setting to be used in creating of RA session

  ------------------------------------------------------------------------
  r1352403 | vmpn | 2012-06-21 06:06:11 +0200 (Thu, 21 Jun 2012) | 8 lines

  On the javahl-ra branch:

  JavaHL: Factor out common context to be shared between SVNClient and SVNRa
  classes

  [ in subversion/bindings/javahl/native ]

  * RaSharedContext.cpp: Update whitespace to be compliant with project standards
  ------------------------------------------------------------------------
  r1352402 | vmpn | 2012-06-21 06:02:04 +0200 (Thu, 21 Jun 2012) | 26 lines

  On the javahl-ra branch:

  JavaHL: Factor out common context to be shared between SVNClient and SVNRa
  classes

  [ in subversion/bindings/javahl/native ]

  * RaSharedContext.cpp,
    RaSharedContext.h,
    ClientContext.cpp,
    ClientContext.h
    (username, password, getConfigDirectory, setConfigDirectory, setPrompt,
     cancelOperation, progress): Move from ClientContext to RaSharedContext

  * RaSharedContext.cpp,
    RaSharedContext.h
    (attachJavaObject): New function to hold common logic of attaching to the
      java CommonContext class used for callbacks
    (getConfigData, getAuthBaton): Split getContext into separate configuration
      data setup and authentication data setup to better reflect their different life cycles
    (getClientName): New function providing client name to be used in callbacks

  * ClientContext.cpp,
    ClientContext.h
    (ClientContext, getContext): Use the factored out RaSharedContext member
      variables and functions
  ------------------------------------------------------------------------
  r1352401 | vmpn | 2012-06-21 05:51:02 +0200 (Thu, 21 Jun 2012) | 11 lines

  On the javahl-ra branch:

  JavaHL: Factor out common context to be shared between SVNClient and SVNRa
  classes

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

  * RaSharedContext.java,
    CommonContext.java,
    SVNClient.java: Rename CommonContext to RaSharedContext as it better
     describes the purpose of the class
  ------------------------------------------------------------------------
  r1352400 | vmpn | 2012-06-21 05:34:05 +0200 (Thu, 21 Jun 2012) | 15 lines

  On the javahl-ra branch:

  JavaHL: New method for creating java objects linked to their C++ counterpart

  [ in subversion/bindings/javahl/native ]

  * SVNBase.cpp,
    SVNBase.h
    (createCppBoundObject): New method for creating java objects linked to their
      C++ counterpart

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

  * JNIObject.java: Base class for JNI linked java objects

  ------------------------------------------------------------------------
  r1347345 | vmpn | 2012-06-07 05:07:50 +0200 (Thu, 07 Jun 2012) | 9 lines

  On the javahl-ra branch:

  JavaHL: Replace tabs introduced by mistake in the r1343452 with spaces

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

  * CommonContext.java
    (getListener, setListener): Replace tabs with spaces

  ------------------------------------------------------------------------
  r1344977 | vmpn | 2012-06-01 05:10:46 +0200 (Fri, 01 Jun 2012) | 10 lines

  JavaHL: Added CPPADDR_NULL_PTR macro to reduce amount of duplicate code
  checking C++ pointer extracted from the java object

  [ in subversion/bindings/javahl/native ]

  * JNIUtil.h
    (CPPADDR_NULL_PTR): New macro to test for NULL pointer and raise java
      exception if necessary

  Approved by: gstein
  ------------------------------------------------------------------------
  r1343456 | vmpn | 2012-05-29 04:57:05 +0200 (Tue, 29 May 2012) | 12 lines

  On the javahl-ra branch:

  JavaHL: Support returning non const, empty rather than NULL hash as required
  by (svn_ra_get_commit_editor3) apr_hash_t *revprop_table parameter

  [ in subversion/bindings/javahl/native ]

  * RevpropTable.cpp,
    RevpropTable.h
    (hash): Removed const qualifier and added bool nullIfEmpty parameter to
      specify whether empty hash or NULL should be returned

  ------------------------------------------------------------------------
  r1343452 | vmpn | 2012-05-29 04:51:12 +0200 (Tue, 29 May 2012) | 11 lines

  On the javahl-ra branch:

  JavaHL: Factored out common context for later use by the SVNRa class

  [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]

  * CommonContext.java,
    SVNClient.java
    (ClientContext): Move the progress listener into CommonContext for later
      sharing with the new SVNRa class

  ------------------------------------------------------------------------
  r1343450 | vmpn | 2012-05-29 03:48:55 +0200 (Tue, 29 May 2012) | 18 lines

  On the javahl-ra branch:

  Merge r1342810 from trunk and bring SVNReposAccess up to date with it.

  JavaHL: Explicitly pass jobject jthis when processing dispose() call rather
  than stashing a reference in the SVNBase class where it can be missused later

  [ in subversion/bindings/javahl/native ]

  * SVNReposAccess.cpp,
    SVNReposAccess.h
    (dispose): Accept object jthis as explicit parameter and pass it to
      SVNBase::dispose

  * org_apache_subversion_javahl_SVNReposAccess.cpp
    (Java_org_apache_subversion_javahl_SVNReposAccess_dispose): Pass object jthis
      as explicit parameter and pass it to the C++ wrapper class

  ------------------------------------------------------------------------
  r1342682 | vmpn | 2012-05-25 17:19:21 +0200 (Fri, 25 May 2012) | 9 lines

  On the javahl-ra branch:

  JavaHL: Changed return value from the java svn_stream_t read function to be
   compatible with the txdelta_next_window function

  [ in subversion/bindings/javahl/native ]

  * InputStream.cpp
    (read): Return 0 instead of -1 as expected by the txdelta_next_window function
  ------------------------------------------------------------------------
  r1342676 | vmpn | 2012-05-25 17:12:56 +0200 (Fri, 25 May 2012) | 22 lines

  On the javahl-ra branch:

  Brought RA implementation up to date with changes merged from trunk in r1329205

  [in subversion/bindings/javahl/native]

     * SVNReposAccess.cpp
        (SVNReposAccess): Drop the global pool mutex as it is not necessary, as
           per r1154119
        (getDatedRev, getLocks, checkPath): Use getPool() instead of pool as per
           r1154155

  [in subversion/bindings/javahl/src/org/apache/subversion/javahl/]

     * ISVNReposAccess.java,
       SVNReposAccess.java: Added imports for org.apache.subversion.javahl.types.*
          because classes moved from the org.apache.subversion.javahl package

  [in subversion/bindings/javahl/test/org/apache/subversion/javahl/]

     * SVNRATests.java: Added imports for org.apache.subversion.javahl.types.*
          because classes moved from the org.apache.subversion.javahl package

  ------------------------------------------------------------------------
  r993544 | hwright | 2010-09-08 00:00:57 +0200 (Wed, 08 Sep 2010) | 22 lines

  On the javahl-ra branch:
  Implement the checkPath() RA method for JavaHL.

  [ in subversion/bindings/javahl/ ]
  * tests/org/apache/subversion/javahl/SVNRATests.java
    (testCheckPath): New.

  * native/SVNReposAccess.h
    (checkPath): New.

  * native/SVNReposAccess.cpp
    (checkPath): New.

  * native/org_apache_subversion_javahl_SVNReposAccess.cpp
    (Java_org_apache_subversion_javahl_SVNReposAccess_checkPath): New.

  * src/org/apache/subversion/javahl/ISVNReposAccess.java
    (checkPath): New.

  * src/org/apache/subversion/javahl/SVNReposAccess.java
    (checkPath): New.

  ------------------------------------------------------------------------
  r993495 | hwright | 2010-09-07 21:39:41 +0200 (Tue, 07 Sep 2010) | 6 lines

  On the javahl-ra branch:
  Make a function private which has no need of publicity.

  * subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNReposAccess.java
    (getCppAddr): Privatize.

  ------------------------------------------------------------------------
  r993494 | hwright | 2010-09-07 21:38:09 +0200 (Tue, 07 Sep 2010) | 8 lines

  On the javahl-ra branch:
  Ensure we inform callers that we may well throw SubversionExceptions.

  [ in subversion/bindings/javahl/ ]
  * src/org/apache/subversion/javahl/ISVNReposAccess.java,
    src/org/apache/subversion/javahl/SVNReposAccess.java
    (getDatedRevision, getLocks): Add throws SubversionException clause.

  ------------------------------------------------------------------------
  r993493 | hwright | 2010-09-07 21:32:23 +0200 (Tue, 07 Sep 2010) | 29 lines

  On the javahl-ra branch:
  Implement the getLocks() ra API in JavaHL.

  [ in subversion/bindings/javahl/ ]
  * tests/org/apache/subversion/javahl/SVNRATests.java
    (setUp): Create a working copy, because it will be useful for out tests.
    (testGetLocks): New.

  * native/CreateJ.cpp
    (LockMap): New.

  * native/SVNReposAccess.h
    (getLocks): New.

  * native/SVNReposAccess.cpp
    (getLocks): New.

  * native/org_apache_subversion_javahl_SVNReposAccess.cpp
    (Java_org_apache_subversion_javahl_SVNReposAccess_getLocks): New.

  * native/CreateJ.h
    (LockMap): New.

  * src/org/apache/subversion/javahl/ISVNReposAccess.java
    (getLocks): New.

  * src/org/apache/subversion/javahl/SVNReposAccess.java
    (getLocks): New.

  ------------------------------------------------------------------------
  r993427 | hwright | 2010-09-07 19:00:27 +0200 (Tue, 07 Sep 2010) | 35 lines

  On the javahl-ra branch:
  Expose the getDatedRevision() RA API through Java.

  [ in subversion/bindings/javahl/ ]
  * tests/org/apache/subversion/javahl/SVNRATests.java
    (testDatedRev): New.

  * native/SVNReposAccess.h
    (getDatedRev, m_sess_pool, m_ra_session): New.
    (SVNReposAccess): Add repos url param.

  * native/JNIUtil.cpp
    (getDate): New.

  * native/SVNReposAccess.cpp
    (SVNReposAccess): Add repos url param, and create an ra_session.
    (~SVNReposAccess): Destroy the session pool.
    (getDatedRev): New.

  * native/JNIUtil.h
    (getDate): New.

  * native/org_apache_subversion_javahl_SVNReposAccess.cpp
    (Java_org_apache_subversion_javahl_SVNReposAccess_ctNative):
      Construct the C++ peer with the repos url.
    (Java_org_apache_subversion_javahl_SVNReposAccess_getDatedRevision): New.

  * src/org/apache/subversion/javahl/ISVNReposAccess.java
    (getDatedRevision): New.

  * src/org/apache/subversion/javahl/SVNReposAccess.java
    (SVNReposAccess): Pass the reposURI to the native constructor.
    (ctNative): Accept the repos URI.
    (getDatedRevision): New.

  ------------------------------------------------------------------------
  r992125 | hwright | 2010-09-02 23:45:15 +0200 (Thu, 02 Sep 2010) | 17 lines

  On the javahl-ra branch:
  Add the plumbing to start wrapping the ra layer in JavaHL.  This doesn't
  actually *do* anything yet, but it does create the initial interface and
  test classes.

  [ in subversion/bindings/javahl/ ]
  * tests/org/apache/subversion/javahl/RunTests.java
    (suite): Add the new RA test suite.

  * tests/org/apache/subversion/javahl/SVNRATests.java,
    src/org/apache/subversion/javahl/ISVNReposAccess.java,
    src/org/apache/subversion/javahl/SVNReposAccess.java,
    native/SVNReposAccess.h,
    native/SVNReposAccess.cpp,
    native/org_apache_subversion_javahl_SVNReposAccess.cpp:
    New.

  ------------------------------------------------------------------------
  r991978 | hwright | 2010-09-02 17:21:08 +0200 (Thu, 02 Sep 2010) | 3 lines

  Create javahl-ra branch, to experiment with exposing some bits of the RA
  library over JavaHL.


Revision 1492264 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 12 16:25:39 2013 UTC (11 years, 1 month ago) by brane
File length: 27772 byte(s)
Diff to previous 1482354 (colored)
JavaHL should not mess up non-Ascii system error messages.

* subversion/bindings/javahl/native/JNIUtil.cpp (JNIUtil::assembleErrorMessage):
   Convert generic error messages from apr_strerror to UTF-8 before
   appending them to the message list.


Revision 1482354 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 14 14:46:43 2013 UTC (11 years, 2 months ago) by rhuijben
File length: 27219 byte(s)
Diff to previous 1468151 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Following up on r1482350, update caller.


Revision 1468151 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 15 17:11:15 2013 UTC (11 years, 3 months ago) by brane
File length: 27219 byte(s)
Diff to previous 1456343 (colored)
Updated some missing bits in JavaHL.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]
* ISVNClient.java, SVNClient.java (ISVNClient.mergeReintegrate): Marked as
   deprecated.
* ClientNotifyInformation.java (ClientNotifyInformation.Action):
   Added missing enumeration constants foreign_copy_begin and move_broken.
* CommitItem.java (CommitItem.movedFromPath): New data member.
  (CommitItem.<init>): Added parameter to initialize movedFromPath.
  (CommitItem.getMovedFromPath): New getter method.
* CommitItemStateFlags.java
  (CommitItemStateFlags.LockToken,
   CommitItemStateFlags.MovedHere): New flag constants.
* ConflictVersion.java (ConflictVersion.reposUUID): New data member.
  (ConflictVersion.<init>): Added parameter to initialise reposUUID.
  (ConflictVersion.getReposUUID): New getter method.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* BasicTests.java (BasicTests.testTreeConflict): Check that
   ConflictVersion.reposUUID is present.

[in subversion/bindings/javahl/native]
* CreateJ.cpp (CreateJ::ConflictVersion, CreateJ::CommitItem):
   Updated native calls to ConflictVersion and CommitItem constructors.
* JNIUtil.cpp (JNIUtil::JNIGlobalInit): Call svn_utf_initialize2 instead
   of the deprecated svn_utf_initialize.


Revision 1456343 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 14 06:26:22 2013 UTC (11 years, 4 months ago) by brane
File length: 27211 byte(s)
Diff to previous 1431068 (colored)
[in subversion/bindings/javahl/native]
* CreateJ.cpp (CreateJ::ClientNotifyInformation): Update exception message.
* JNIUtil.cpp (JNIUtil::handleSVNError):
   Check for overflow when converting a C size_t to a JNI jsize.


Revision 1431068 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 9 20:59:33 2013 UTC (11 years, 6 months ago) by philip
File length: 26992 byte(s)
Diff to previous 1405923 (colored)
Avoid some compiler warnings in JavaHL.

* subversion/bindings/javahl/native/SVNClient.cpp
  (SVNClient::SVNClient): Initialise members in the order they are defined.

* subversion/bindings/javahl/native/RevpropTable.cpp
  (RevpropTable::RevpropTable): Remove unused variable.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::putErrorsInTrace): Parentheses around assignment used as condition.


Revision 1405923 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 5 19:04:06 2012 UTC (11 years, 8 months ago) by julianfoad
File length: 26990 byte(s)
Diff to previous 1405922 (colored)
In the JavaHL code, simplify usage of makeJByteArray() by accepting 'void *'
so callers don't need to do so much type-casting, and by adding a version
that accepts a 'svn_string_t' directly.

* subversion/bindings/javahl/native/JNIUtil.h,
  subversion/bindings/javahl/native/JNIUtil.cpp
  (makeJByteArray): Take 'const void *' instead of 'const signed
    char *'. Add an overloaded version that takes 'svn_string_t *'.

* subversion/bindings/javahl/native/CreateJ.cpp
  (Checksum, PropertyMap): Simplify calls.

* subversion/bindings/javahl/native/InputStream.cpp
  (read): Same.


* subversion/bindings/javahl/native/OutputStream.cpp
  (write): Same.

* subversion/bindings/javahl/native/SVNClient.cpp
  (propertyGet, revProperty): Same.


Revision 1405922 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 5 18:57:55 2012 UTC (11 years, 8 months ago) by julianfoad
File length: 26770 byte(s)
Diff to previous 1405539 (colored)
In the JavaHL bindings: fix error reporting.  It could fail an assertion
while trying to report an error trace.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (putErrorsInTrace): Use 'dirent' functions to process a source file name,
    as this can be an absolute path depending on how it was compiled.


Revision 1405539 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 4 12:47:59 2012 UTC (11 years, 8 months ago) by stefan2
File length: 26772 byte(s)
Diff to previous 1405529 (colored)
Make all explicit casts, i.e. those not inside some APR macro, use the
C++ cast operators static_cast, const_cast and reinterpret_cast.

No functional change.

Due to the large number of places changed and the simplicity of the change,
I won't list the function touched but only the affected files.

* subversion/bindings/javahl/native/ClientContext.cpp
* subversion/bindings/javahl/native/CopySources.cpp
* subversion/bindings/javahl/native/CreateJ.cpp
* subversion/bindings/javahl/native/EnumMapper.cpp
* subversion/bindings/javahl/native/InputStream.cpp
* subversion/bindings/javahl/native/JNIUtil.cpp
* subversion/bindings/javahl/native/LogMessageCallback.cpp
*subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
* subversion/bindings/javahl/native/OutputStream.cpp
* subversion/bindings/javahl/native/Prompter.cpp
* subversion/bindings/javahl/native/RevisionRange.cpp
* subversion/bindings/javahl/native/RevpropTable.cpp
* subversion/bindings/javahl/native/StringArray.cpp
* subversion/bindings/javahl/native/SVNClient.cpp
* subversion/bindings/javahl/native/SVNRepos.cpp
* subversion/bindings/javahl/native/Targets.cpp


Revision 1405529 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 4 11:36:06 2012 UTC (11 years, 8 months ago) by blair
File length: 26754 byte(s)
Diff to previous 1366334 (colored)
Remove space before function call open parenthesis.

* subversion/bindings/javahl/native/JNICriticalSection.cpp,
* subversion/bindings/javahl/native/JNIMutex.cpp,
* subversion/bindings/javahl/native/JNIThreadData.cpp,
* subversion/bindings/javahl/native/JNIUtil.cpp,
* subversion/bindings/javahl/native/Revision.cpp,
* subversion/bindings/javahl/native/SVNRepos.cpp,
* subversion/bindings/javahl/native/Targets.cpp:
  Remove space before function call open parenthesis.


Revision 1366334 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 27 10:54:48 2012 UTC (12 years ago) by rhuijben
File length: 26755 byte(s)
Diff to previous 1366331 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIGlobalInit): Following up on r1366331, use the right pool reference.


Revision 1366331 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 27 10:38:36 2012 UTC (12 years ago) by rhuijben
File length: 26749 byte(s)
Diff to previous 1366215 (colored)
Call some library initialization functions from the JavaHL initialization.
While mostly optional this optimizes performance and memory usage.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIGlobalInit): Explicitly initialize the fs, utf and ra layers to avoid
    later threading issues. Disable the in-process caching.


Revision 1366215 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 26 22:37:50 2012 UTC (12 years ago) by rhuijben
File length: 26201 byte(s)
Diff to previous 1295006 (colored)
Enable returning an error on malfunctions for JavaHL. We shouldn't
crash the JVM unless absolutely necessary as this might make users
of tools like Subclipse loose their work.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIGlobalInit): Set malfunction handler.


Revision 1295006 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 29 08:22:01 2012 UTC (12 years, 4 months ago) by danielsh
File length: 26131 byte(s)
Diff to previous 1177700 (colored)
Revert r1295004, which contained numerous accidental changes.

[ This was an svnmucc commit that replaced trunk@HEAD with
trunk@r1295003.  See r1295004 for the exact changes reverted. ]


Revision 1177700 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 30 15:29:57 2011 UTC (12 years, 9 months ago) by hwright
File length: 26131 byte(s)
Diff to previous 1176416 (colored)
Revert r1176416 in favor of a future fix.


Revision 1176416 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 27 14:56:56 2011 UTC (12 years, 10 months ago) by hwright
File length: 26115 byte(s)
Diff to previous 1154155 (colored)
[ Note from the future: This was reverted in r1177700. ]

JavaHL: Fix another reference lifetime issue, this time when returning and
converting errors.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (handleSVNError): When appending the C stack trace to the Java one, manually
    create and delete the Array proxy object, to avoid a double-deref as
    a result of the JNI stack frame handling.


Revision 1154155 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 5 10:12:00 2011 UTC (12 years, 11 months ago) by rhuijben
File length: 26131 byte(s)
Diff to previous 1154144 (colored)
In JavaHL: Rename Pool.pool() function to Pool.getPool(). This function name
was safe when the class was still called SVNPool (< 1.7), but as Pool
functions shouldn't use the class name.

* subversion/bindings/javahl/native/Pool.cpp
* subversion/bindings/javahl/native/Pool.h
  Remove unused variable. Update documentation.

* subversion/bindings/javahl/native/ClientContext.cpp
* subversion/bindings/javahl/native/CopySources.cpp
* subversion/bindings/javahl/native/File.cpp
* subversion/bindings/javahl/native/InputStream.cpp
* subversion/bindings/javahl/native/JNIUtil.cpp
* subversion/bindings/javahl/native/JNIUtil.h
* subversion/bindings/javahl/native/libsvnjavahl.la.c
* subversion/bindings/javahl/native/OutputStream.cpp
* subversion/bindings/javahl/native/Path.cpp
* subversion/bindings/javahl/native/Prompter.cpp
* subversion/bindings/javahl/native/RevisionRange.cpp
* subversion/bindings/javahl/native/RevpropTable.cpp
* subversion/bindings/javahl/native/StringArray.cpp
* subversion/bindings/javahl/native/SVNClient.cpp
* subversion/bindings/javahl/native/SVNRepos.cpp
* subversion/bindings/javahl/native/Targets.cpp
* subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
  Update callers.


Revision 1154144 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 5 09:38:42 2011 UTC (12 years, 11 months ago) by rhuijben
File length: 26128 byte(s)
Diff to previous 1154119 (colored)
In JavaHL: Get rid of the inheritly broken concept of per thread-request pools,
by adding the necessary arguments to handle proper subpools.
(Big bang commit... sorry. Partially moving between pools only creates new
 failuires)

This global 'request pool' concept breaks hard when mixing several clients
in a single thread (like from a callback) or when using the pool before before
and after the 'request'.
(In some cases this was handled as allocating in the global pool, which was
 never freed)

In this patch I tried to keep the original behavior. A few followups will
reduce memory usage a bit more by moving more data in the subpools.

* subversion/bindings/javahl/native/ClientContext.cpp
* subversion/bindings/javahl/native/ClientContext.h
* subversion/bindings/javahl/native/CopySources.h
* subversion/bindings/javahl/native/JNIThreadData.cpp
* subversion/bindings/javahl/native/JNIThreadData.h
* subversion/bindings/javahl/native/JNIUtil.cpp
* subversion/bindings/javahl/native/JNIUtil.h
* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
* subversion/bindings/javahl/native/Path.cpp
* subversion/bindings/javahl/native/Path.h
* subversion/bindings/javahl/native/Pool.cpp
* subversion/bindings/javahl/native/Prompter.cpp
* subversion/bindings/javahl/native/Prompter.h
* subversion/bindings/javahl/native/SVNClient.cpp
* subversion/bindings/javahl/native/Targets.cpp
* subversion/bindings/javahl/native/Targets.h
  (*): Create subpools in the 'requests'. Pass the subpools down to where they
    are used.


Revision 1154119 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 5 08:22:07 2011 UTC (12 years, 11 months ago) by rhuijben
File length: 26564 byte(s)
Diff to previous 1154115 (colored)
In JavaHL: Create a per SVNClient pool to hold things like the client and
working copy context. Do this to allow releasing their memory with the
SVNClient.

Also remove the global pool mutex as creating an apr subpool is thread safe
when the pool allocator is thread safe (default setting). The request pool
handling which was guarded by the same critical section is per thread,
so this doesn't need guarding.

* subversion/bindings/javahl/native/ClientContext.cpp
  (ClientContext::ClientContext): Use passed pool instead of global pool.
    Remove mutex handling.

* subversion/bindings/javahl/native/ClientContext.h
  (ClientContext::ClientContext): Add argument.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::g_globalPoolMutext): Remove.
  (JNIUtil::JNIGlobalInit): Stop initializing pool mutex.
  (JNIUtil::getGlobalPoolMutex): Remove.

* subversion/bindings/javahl/native/JNIUtil.h
  (JNIUtil::g_globalPoolMutext,
   JNIUtil::getGlobalPoolMutex): Remove.

* subversion/bindings/javahl/native/Pool.cpp
  (SVN::Pool::Pool): Add variants to create subpools.
  (SVN::Pool::~Pool):
  (SVN::Pool::getPool): New function.

* subversion/bindings/javahl/native/Pool.h
  (SVN::Pool::Pool): Add variants.
  (SVN::Pool::getPool): Add function.
  (SVN::Pool): Update comments. Add boolean.

* subversion/bindings/javahl/native/SVNBase.cpp
  (SVNBase::SVNBase): Initialize subpool as child of the global pool.

* subversion/bindings/javahl/native/SVNBase.h
  (SVNBase): Add subpool.

* subversion/bindings/javahl/native/SVNClient.cpp
  (SVNClient::SVNClient): Pass pool to client.


Revision 1154115 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 5 08:07:41 2011 UTC (12 years, 11 months ago) by rhuijben
File length: 26870 byte(s)
Diff to previous 1132334 (colored)
In JavaHL: Be a better JVM citizen by not changing global locale state that
applies to all java code and by returning apr allocated memory back to the
OS (or in this case the JVM and other modules).

This change should considerably reduce the amount of memory used by Subclipse
after operations like merging.
(This same problem made early AnkhSVN 2.0 versions unusable for many users,
 but nobody told us as it was hard to diagnose...)

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Don't change the C locale as that should be managed
    by the JVM instead of individual modules.
    (If everybody changes that setting, no module will work as expected...)

    Set the max free count of the global allocator.
    And use a subpool in a bit of Win32 code.


Revision 1132334 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 5 09:26:58 2011 UTC (13 years, 1 month ago) by rhuijben
File length: 27711 byte(s)
Diff to previous 1131285 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIGlobalInit): Resolve a few deprecation warnings for compiling with nls.


Revision 1131285 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 3 23:25:21 2011 UTC (13 years, 1 month ago) by rhuijben
File length: 27705 byte(s)
Diff to previous 1126984 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::preprocessPath): Resolve a deprecation warning by using the right
    canonicalization function in the right place.
    (The dirent codepath already canonicalized the path earlier)


Revision 1126984 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 24 11:35:02 2011 UTC (13 years, 2 months ago) by rhuijben
File length: 27701 byte(s)
Diff to previous 947034 (colored)
Following up on r1126983, unbreak javahl compilation.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::preprocessPath): Use svn_dirent_internal_style(). (Not related to
    the original problem, but probably fixes UNC path issues on Windows).

* subversion/bindings/javahl/native/SVNClient.cpp
  (SVNClient::update,
   SVNClient::doSwitch): Update caller.


Revision 947034 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 21 15:01:46 2010 UTC (14 years, 2 months ago) by hwright
File length: 27699 byte(s)
Diff to previous 930109 (colored)
JavaHL: As gstein points out, we don't need to check for exceptions after
deleting local JNI references, a practice we were doing somewhat
inconsistently.  So, just stop checking for exceptions in these cases.

[ in subversion/bindings/javahl/native/ ]
* ChangelistCallback.cpp,
  ConflictResolverCallback.cpp,
  CreateJ.cpp,
  SVNAdmin.cpp,
  JNIUtil.cpp,
  CopySources.cpp,
  Outputer.cpp,
  org_apache_subversion_javahl_SVNAdmin.cpp,
  CommitMessage.cpp,
  SVNClient.cpp,
  Prompter.cpp,
  Array.cpp,
  JNIStackElement.cpp,
  Inputer.cpp,
  LogMessageCallback.cpp,
  RevpropTable.cpp,
  MessageReceiver.cpp,
  ProgressListener.cpp,
  NotifyCallback.cpp:
    Remove exception check after calls to DeleteLocalRef().


Revision 930109 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 1 21:45:50 2010 UTC (14 years, 3 months ago) by hwright
File length: 27876 byte(s)
Diff to previous 930067 (colored)
JavaHL: Manipulate the stacktrace for Java Exceptions which represent mappings
to svn_error_t's.  In so doing, we prepend the file and line information
contained in those errors (if tracing is enabled), and return that as part
of the Java exception.  Among the many benefits, this let's us better track
down failures in the C library which are invoked by the JavaHL tests.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (putErrorsInTrace): New.
  (handleSVNError): If tracing is enabled, prepend the chained error
    information to the Java exception stack trace.

* subversion/bindings/javahl/native/JNIUtil.h
  (putErrorsInTrace): New.


Revision 930067 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 1 19:37:14 2010 UTC (14 years, 3 months ago) by hwright
File length: 22705 byte(s)
Diff to previous 926597 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (handleSVNError): When composing the message for a Java exception, don't
    spit back the various tracing stack frames in the error message.


Revision 926597 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 23 14:43:47 2010 UTC (14 years, 4 months ago) by rhuijben
File length: 22680 byte(s)
Diff to previous 925460 (colored)
Fix the JavaHL build on Windows.

* build/generator/gen_win.py
  (GeneratorBase::get_configs): Target Java 1.5.

* subversion/bindings/javahl/native/JNIUtil.h
  (POP_AND_RETURN_NOTHING): New macro.

* subversion/bindings/javahl/native/JNIUtil.cpp
* subversion/bindings/javahl/native/ProgressListener.cpp
* subversion/bindings/javahl/native/Revision.cpp
* subversion/bindings/javahl/native/SVNAdmin.cpp
  (*): Update calls of POP_AND_RETURN() with no arguments to use
       POP_AND_RETURN_NOTHING()


Revision 925460 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 19 22:18:21 2010 UTC (14 years, 4 months ago) by hwright
File length: 22640 byte(s)
Diff to previous 904301 (colored)
JavaHL: More reference framing.

[ in subversion/bindings/javahl/ ]
* native/ConflictResolverCallback.cpp
  (resolve, javaResultToC): Add a reference frame.

* native/JNIUtil.cpp
  (throwNativeException): Same.

* native/CopySources.cpp
  (makeJCopySources): Same.

* native/Revision.cpp
  (Revision): Same.

* native/EnumMapper.cpp
  (mapEnum, getName): Same.

* native/ProgressListener.cpp
  (onProgress): Same.

* native/ListCallback.cpp
  (createJavaDirEntry): Same.

* native/JNIUtil.h
  (POP_AND_RETURN): Don't put parens around the return value, to enable
    use in void methods.


Revision 904301 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 28 23:24:20 2010 UTC (14 years, 5 months ago) by neels
File length: 22658 byte(s)
Diff to previous 881142 (colored)
Update every occurence of the Subversion repository URL to apache.org,
except in CHANGES (for sentimental reasons, I guess).

* contrib/cgi/mirror_dir_through_svn.README,
* contrib/client-side/emacs/psvn.el,
* contrib/client-side/svnmerge/svnmerge_test.py,
* contrib/hook-scripts/commit-email.pl.in,
* contrib/server-side/svn-fast-backup,
* contrib/server-side/svnmirror.sh,
* contrib/server-side/svnmirror-test.sh,
* doc/user/cvs-crossover-guide.html,
* notes/fs_dumprestore.txt,
* notes/http-and-webdav/webdav-usage.html,
* notes/interactive-conflict-resolution.txt,
* notes/merge-tracking/func-spec.html,
* notes/merge-tracking/requirements.html,
* notes/merge-tracking/summit.html,
* notes/object-model.txt,
* notes/obliterate/hooks/post-obliterate.tmpl,
* notes/obliterate/hooks/pre-obliterate.tmpl,
* notes/obliterate/plan-milestones.html,
* notes/subversion-design.html,
* notes/variance-adjusted-patching.html,
* packages/windows-innosetup/Pre.rtf,
* packages/windows-WiX/BuildSubversion/WixDialog/loc/en-us/Pre.rtf,
* subversion/bindings/javahl/native/JNIUtil.cpp,
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java,
* subversion/bindings/javahl/src/org/apache/subversion/javahl/Version.java,
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java,
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientSynchronized.java,
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/Version.java,
* subversion/bindings/swig/perl/native/Client.pm,
* subversion/libsvn_repos/repos.c,
* subversion/libsvn_wc/wc_db.h,
* subversion/tests/cmdline/merge_tests.py,
* subversion/tests/libsvn_subr/path-test.c,
* tools/buildbot/slaves/README,
* tools/client-side/change-svn-wc-format.py,
* tools/client-side/svn-graph.pl,
* tools/client-side/svn-viewspec.py,
* tools/dev/contribulyze.py,
* tools/dev/po-merge.py,
* tools/dev/svn-merge-revs.py,
* tools/dist/gen_nightly_ann.py: Update Subversion repository URL to apache.




Revision 881142 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 17 03:37:01 2009 UTC (14 years, 8 months ago) by hwright
File length: 22647 byte(s)
Diff to previous 881134 (colored)
Revert r881134, which was an attempt to be a bit too clever with deprecated
function replacement.


Revision 881134 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 17 03:19:32 2009 UTC (14 years, 8 months ago) by hwright
File length: 22651 byte(s)
Diff to previous 880911 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (preprocessPath): More svn_dirent_* function usage.

[ Reverted in r881142. ]


Revision 880911 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 16 19:07:17 2009 UTC (14 years, 8 months ago) by hwright
File length: 22647 byte(s)
Diff to previous 880549 (colored)
Test out my new and fancy ASF commit priviledges by changing the copyright
wording in our license headers to reflect ownership by the ASF.

* NOTICE:
  Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c
  (svn_opt__print_version_info): Note that the product as a whole is
    copyrighted by the ASF, and update the project website.

* everywhere:
  Change license text to reflect ASF ownership.


Revision 880549 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 12 14:54:51 2009 UTC (14 years, 8 months ago) by hwright
File length: 22655 byte(s)
Diff to previous 878648 (colored)
Absolutize all the paths used in the JavaHL C++ library.  This makes calling
the new wc-ng functions much easier.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (preprocessPath): Make the path absolute.


Revision 878648 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 5 20:05:26 2009 UTC (14 years, 11 months ago) by markphip
File length: 22539 byte(s)
Diff to previous 878444 (colored)
JavaHL: Fix issue #2979: javahl's SVNAdmin::load() sometimes passes a null
data buffer to the read() method of the caller's InputInterface.
JNIUtil::makeByteArray was returning NULL when the requested byte[] length
was 0.  This in turn was provoked by a read(length=0) on the svn_stream_t
loading a repository dump.  read(0) is perfectly valid (albeit superfluous),
such as when parsing a property value with length zero.

The fix just returns a byte[] with length 0 as requested from JNIUtil.cpp.

[ in subversion/bindings/javahl/ ]

* tests/org/tigris/subversion/javahl/SVNAdminTests.java:
  (testLoadRepo): Added test for issue 2979

* tests/org/tigris/subversion/javahl/SVNTests.java
  (OneTest): Tweaked inner class optionally not to load sample files
   into the test repository.  Keep behavior expected by existing tests.

* tests/data/issue2979.dump
  Data for reproducible test case of issue #2979.

* native/JNIUtil.cpp
  (makeJByteArray) Do not treat byte[0] and NULL as equivalent.

Patch by: Dave Brown <dave.brown@wandisco.com>
Reviewed by: hwright

Revision 878444 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 7 22:03:10 2009 UTC (15 years ago) by hwright
File length: 22530 byte(s)
Diff to previous 878265 (colored)
Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.

* LICENSE: New.

* COPYING,
  subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c
  (svn_opt__print_version_info): Note that the product as a whole is
    copyrighted by the SVN Corp, and that it contains contributions from
    many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:
  Relicense the SVN parts under Apache 2.0.

* everywhere:
  Change copyright notices in file headers to reflect the Apache 2.0 license.


Revision 878265 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 24 21:35:55 2009 UTC (15 years, 1 month ago) by jwhitlock
File length: 22256 byte(s)
Diff to previous 877029 (colored)
Created an SVN namespace for the Pool object to avoid symbol collisions in other
libraries, like X11 and OpenGL for example.

* subversion/bindings/javahl/native/Pool.h: Defined the Pool class within
   the SVN namespace.

* subversion/bindings/javahl/native/SVNAdmin.cpp,
  subversion/bindings/javahl/native/Outputer.h,
  subversion/bindings/javahl/native/JNIThreadData.h,
  subversion/bindings/javahl/native/Pool.cpp,
  subversion/bindings/javahl/native/StringArray.h,
  subversion/bindings/javahl/native/CopySources.cpp,
  subversion/bindings/javahl/native/JNIUtil.cpp,
  subversion/bindings/javahl/native/Targets.h,
  subversion/bindings/javahl/native/RevisionRange.h,
  subversion/bindings/javahl/native/Outputer.cpp,
  subversion/bindings/javahl/native/Path.cpp,
  subversion/bindings/javahl/native/SVNClient.cpp,
  subversion/bindings/javahl/native/StringArray.cpp,
  subversion/bindings/javahl/native/Targets.cpp,
  subversion/bindings/javahl/native/RevpropTable.h,
  subversion/bindings/javahl/native/RevisionRange.cpp,
  subversion/bindings/javahl/native/CopySources.h,
  subversion/bindings/javahl/native/JNIUtil.h,
  subversion/bindings/javahl/native/Inputer.cpp,
  subversion/bindings/javahl/native/RevpropTable.cpp,
  subversion/bindings/javahl/native/Inputer.h: Updated references to Pool
   to be fully qualified with the new SVN namespace.


Revision 877029 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 2 22:05:31 2009 UTC (15 years, 3 months ago) by rhuijben
File length: 22246 byte(s)
Diff to previous 876696 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): As a shared library inside the java runtime
    we shouldn't set the default localization textdomain.
    (As a library we use an explicit domain in every gettext call).


Revision 876696 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 17 13:37:58 2009 UTC (15 years, 4 months ago) by jensseidel
File length: 22274 byte(s)
Diff to previous 875968 (colored)
Fix a typo

* www/cvs-changelog.html,
  subversion/bindings/javahl/native/JNIUtil.cpp,
  subversion/libsvn_ra_svn/cyrus_auth.c:
  Fix a typo: s/paramater/parameter/

(obvious fix)


Revision 875968 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 16 20:30:27 2009 UTC (15 years, 5 months ago) by hwright
File length: 22274 byte(s)
Diff to previous 875807 (colored)
Cleanup trailing whitespace:

for extsn in c h cpp java py pl rb; do
sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`
done

This should have been done before the 1.6.x branch, so I'm going to merge
it over there, to avoid merge conflicts in the future.


Revision 875807 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 7 13:23:44 2009 UTC (15 years, 5 months ago) by rhuijben
File length: 22276 byte(s)
Diff to previous 872478 (colored)
* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::preprocessPath): Remove a gigantic Windows only performance
    penalty by using the always correct svn_path_internal_style() instead
    of the hidden breaking apr_filepath_merge with APR_FILEPATH_TRUENAME
    that only did validation on Windows.

Reported on users@ as: Linux is 10 times faster than Windows because Eclipse
  is slow on Windows.


Revision 872478 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 8 07:41:18 2008 UTC (15 years, 11 months ago) by kameshj
File length: 22520 byte(s)
Diff to previous 871811 (colored)
Make javahl to call 'svn_dso_initialize2' before creating any pool.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (): include "svn_dso.h"
  (JNIUtil::JNIGlobalInit): Call 'svn_dso_initialize2' before creating any
   pool.


Revision 871811 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 15 01:46:58 2008 UTC (16 years, 1 month ago) by kfogel
File length: 22257 byte(s)
Diff to previous 867318 (colored)
Fix a compile error when building javahl with nls support for Windows x64.

Patch by: Jens Peters <jpeters7677@gmx.de>

* subversion/bindings/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Change the type of 'inwords' and
    'outbytes' to apr_size_t.


Revision 867318 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 17 14:54:08 2007 UTC (16 years, 9 months ago) by dlr
File length: 22242 byte(s)
Diff to previous 865790 (colored)
JavaHL: Fix potential null pointer dereference in exception handling.
Add corresponding API for string conversions with apr_pool_t's.

[ in subversion/bindings/javahl/ ]

* native/JNIUtil.cpp
  (thrownExceptionToCString): Handle the case where Throwable.getMessage()
   returns null.

* native/JNIStringHolder.h
* native/JNIStringHolder.h
  Add missing #include statements.
  (pstrdup): Add new instance method which handles a NULL m_str.


Revision 865790 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 11 21:56:14 2007 UTC (17 years ago) by dlr
File length: 22406 byte(s)
Diff to previous 865786 (colored)
JavaHL: Add an API for converting a Java exception into a C string,
useful for subsequent conversion into svn_error_t's.

* subversion/bindings/javahl/native/JNIUtil.h
* subversion/bindings/javahl/native/JNIUtil.cpp
  (thrownExceptionToCString): Declare and implement the new API.


Revision 865786 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 10 22:54:06 2007 UTC (17 years ago) by dlr
File length: 21459 byte(s)
Diff to previous 864714 (colored)
JavaHL: Add optional boolean parameter to the
JNIUtil::setExceptionThrown() API to allow the "exception thrown" flag
to be cleared.

* subversion/bindings/javahl/native/JNIUtil.h
* subversion/bindings/javahl/native/JNIUtil.cpp
  (setExceptionThrown): Move doc string from definition to
   declaration.  Enhance both doc string and implementation to support
   the new bool flag.


Revision 864714 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 18 20:42:15 2007 UTC (17 years, 3 months ago) by blair
File length: 21508 byte(s)
Diff to previous 864710 (colored)
* subversion/bindings/javahl/native/*.{h,cpp}:
  Reindent the JavaHL bindings C++ code to match the Subversion
    indentation standard used in the C code.  See the thread
    http://svn.haxx.se/dev/archive-2007-04/0103.shtml .
  This was done in XEmacs using tools/svn-dev.el, manually going into
    C mode for each file and using indent-region on the whole file.
  Running a 'svn diff --diff-cmd diff -x -uw' shows no differences.


Revision 864710 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 18 18:46:01 2007 UTC (17 years, 3 months ago) by blair
File length: 22301 byte(s)
Diff to previous 864708 (colored)
* subversion/bindings/javahl/native/CommitMessage.cpp,
* subversion/bindings/javahl/native/JNIUtil.cpp,
* subversion/bindings/javahl/native/SVNAdmin.cpp,
* subversion/bindings/javahl/native/SVNClient.cpp,
* subversion/bindings/javahl/native/Targets.cpp:
  Formatting cleanup for 'for' loops.


Revision 864708 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 18 18:41:39 2007 UTC (17 years, 3 months ago) by blair
File length: 22290 byte(s)
Diff to previous 864707 (colored)
* subversion/bindings/javahl/native/*.cpp:
  Use ++i instead of i++.  For STL iterators this is faster since it
    doesn't have to create a temporary copy.  So be consistent for all
    types, even non-iterators.


Revision 864707 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 18 18:25:40 2007 UTC (17 years, 3 months ago) by blair
File length: 22290 byte(s)
Diff to previous 864686 (colored)
* subversion/bindings/javahl/native/*.{h,cpp}:
  Formatting cleanup.


Revision 864686 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 17 20:32:49 2007 UTC (17 years, 3 months ago) by blair
File length: 22387 byte(s)
Diff to previous 864685 (colored)
* subversion/bindings/javahl/native/*.{h,cpp}:
  Formatting clean up:
    Start comment sentences with capital letters.
    Do not use inline comments.
    Wrap to 80 characters.
    Add vertical whitespace between functions and methods,
      preprocessor macros.
    Remove comments on constructor and destructors where the comment
      was "this is a constructor" or "this is a destructor".


Revision 864685 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 17 20:12:13 2007 UTC (17 years, 3 months ago) by blair
File length: 22342 byte(s)
Diff to previous 864683 (colored)
* subversion/bindings/javahl/native/*.{h,cpp}:
  Use consistent capitalization for the word Java.
  $ perl -w -p -i -e 's/ java / Java /g' *h


Revision 864683 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 17 19:07:44 2007 UTC (17 years, 3 months ago) by blair
File length: 22342 byte(s)
Diff to previous 864592 (colored)
* subversion/bindings/javahl/native/*.{h,cpp}:
  Whitespace cleanup.  Associate the * with the function, method or
    variable being defined, not the type.


Revision 864592 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 20:13:24 2007 UTC (17 years, 3 months ago) by dlr
File length: 22342 byte(s)
Diff to previous 864591 (colored)
JavaHL: Improve logging.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (throwNativeException): Log source file name and line number with
   the tag "source" instead of just "file".


Revision 864591 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 10 20:09:50 2007 UTC (17 years, 3 months ago) by dlr
File length: 22340 byte(s)
Diff to previous 864498 (colored)
JavaHL: Fix segfaults when not building with SVN_DEBUG defined.

* subversion/bindings/javahl/native/JNIUtil.cpp
  (handleSVNError): Change data type of local variable "source" to
   const char *, initializing its default value to NULL for use when
   SVN_DEBUG is not defined, or err->file is NULL.  Use more care when
   SVN_DEBUG is defined when constructing the string containing the
   source file and line number.

Found by: pburba
          markphip
Patch by: pburba
          me


Revision 864498 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 4 17:46:36 2007 UTC (17 years, 3 months ago) by hwright
File length: 22186 byte(s)
Diff to previous 864453 (colored)
Move the JavaHL bindings up a directory level.  They are *the* Java bindings
for now, and the foreseeable future.

Suggested by: maxb

* subversion/bindings/java/javahl:
  Move from here ...

* subversion/bindings/javahl:
  ... to here.

* build.conf
  (options, javahl-java, javahl-tests, javahl-javah, libsvnjavahl):
  Update the JavaHL path.

* INSTALL:
  (PROGRAMMING LANGUAGE BINDINGS): Update reference to the JavaHL path.


Revision 864453 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 3 15:31:54 2007 UTC (17 years, 3 months ago) by hwright
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22186 byte(s)
Diff to previous 864337 (colored)
JavaHL: Debracify.

[ in subversion/bindings/java/javahl/ ]
* native/*.cpp:
  Remove extraneous braces, and add some vertical whitespace.


Revision 864337 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 29 20:15:46 2007 UTC (17 years, 4 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22519 byte(s)
Diff to previous 864335 (colored)
JavaHL: Add native library line numbers (from svn_error_t *'s) to
exception output.

[ in subversion/bindings/java/javahl/ ]

* native/JNIUtil.h
  (throwNativeException): Improve doc string.  Rename "fileName"
   parameter to "source".

* native/JNIUtil.cpp
  (throwNativeException): Rename "fileName" parameter to "source".
  (handleSVNError): Assemble and use a "source" value of "file:line".

* src/org/tigris/subversion/javahl/NativeException.java
  (source): Clarify JavaDoc.


Revision 864335 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 29 17:30:18 2007 UTC (17 years, 4 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22415 byte(s)
Diff to previous 864334 (colored)
[ in subversion/bindings/java/javahl/ ]

* native/JNIUtil.cpp
  (JNIUtil::makeJString): Remove local variable "js" in favor of
   immediate "return", and clean up formatting.


Revision 864334 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 29 17:24:42 2007 UTC (17 years, 4 months ago) by blair
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22436 byte(s)
Diff to previous 864235 (colored)
* subversion/bindings/java/**/*{.cpp,.h,.java}:
  Trim trailing whitespace.


Revision 864235 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 26 17:56:15 2007 UTC (17 years, 4 months ago) by blair
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22458 byte(s)
Diff to previous 864047 (colored)
Whitespace cleanup.

* subversion/bindings/java/javahl/native:
  Associate the * and the & with the function or variable.
  Other indenation fixes.
  Doing a 'svn diff --diff-cmd diff -x -uw' will show only line
    wrapping changes.


Revision 864047 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 21 20:16:34 2007 UTC (17 years, 4 months ago) by blair
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22463 byte(s)
Diff to previous 864046 (colored)
* subversion/bindings/java/java/javahl/native/JNIUtil.cpp,
* subversion/bindings/java/java/javahl/src/org/tigris/subversion/javahl/CopySource.java:
  Fix two stutters.


Revision 864046 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 21 20:13:13 2007 UTC (17 years, 4 months ago) by blair
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22466 byte(s)
Diff to previous 863813 (colored)
* subversion/bindings/java/**/*.cpp:
  Detabify.  This shows no differences: 'svnd --diff-cmd diff -x -uw'.


Revision 863813 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 18:30:05 2007 UTC (17 years, 4 months ago) by blair
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22354 byte(s)
Diff to previous 863457 (colored)
* subversion/bindings/java/**/*.cpp:
  Style fix: add a space after an if: 's/if\(/if (/g.


Revision 863457 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 13 19:27:35 2007 UTC (17 years, 5 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22326 byte(s)
Diff to previous 863059 (colored)
Fix potential segfault in the native global initialization code of the
JavaHL bindings, which can occur when APR is compiled without
-D_XOPEN_SOURCE=500.  This was originally reported on Ubuntu Edgy
(launchpad bug #62748):

  https://launchpad.net/ubuntu/+source/subversion/+bug/62748

* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::setExceptionThrown): During global initialization, only
   store errors in g_initException, since thread-local storage may not
   yet be available.

Found by: maxb
          hwright


Revision 863059 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 12 01:52:47 2007 UTC (17 years, 6 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22080 byte(s)
Diff to previous 862743 (colored)
JavaHL: Enhance exception throwing APIs.

* subversion/bindings/java/javahl/native/JNIUtil.h
  (throwNativeException): Declare new API which throws a
   org.subversion.javahl.NativeException instance.

* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (throwNativeException): Define new API, factored out of handleSVNError().
  (handleSVNError): Delegate to throwNativeException().  Strip away
   doc string, redundant with header file.


Revision 862743 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 12 21:32:23 2006 UTC (17 years, 7 months ago) by blair
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22142 byte(s)
Diff to previous 861846 (colored)
Replace tabs with spaces.

* subversion/bindings/java/javahl/native/SVNBase.cpp
* subversion/bindings/java/javahl/native/JNIThreadData.cpp
* subversion/bindings/java/javahl/native/SVNClient.cpp
* subversion/bindings/java/javahl/native/libsvnjavahl.la.c
* subversion/bindings/java/javahl/native/SVNAdmin.cpp
* subversion/bindings/java/javahl/native/JNIStackElement.cpp
* subversion/bindings/java/javahl/native/JNIUtil.h
* subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
* subversion/bindings/java/javahl/native/JNIThreadData.h
* subversion/bindings/java/javahl/native/SVNClient.h
* subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.cpp
* subversion/bindings/java/javahl/native/JNIUtil.cpp
* subversion/bindings/java/javahl/native/SVNAdmin.h
* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/DirEntry.java
* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Notify.java
* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/NodeKind.java
  Replace tabs with spaces.

Patch by: Kamesh Jayachandran <kamesh@collab.net>


Revision 861846 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 5 00:08:51 2006 UTC (17 years, 9 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22130 byte(s)
Diff to previous 861830 (colored)
* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::preprocessPath): Pass in NULL instead of 0 for the chained
   error to make it a little more obvious that the parameter
   represents a memory address.


Revision 861830 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 4 01:30:13 2006 UTC (17 years, 9 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22124 byte(s)
Diff to previous 860726 (colored)
* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::handleSVNError): Remove redundant exception handling code.


Revision 860726 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 13 23:00:36 2006 UTC (18 years ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22214 byte(s)
Diff to previous 860678 (colored)
JavaHL: Improve handling of the Subversion client's configuration
directory during native library initialization, and API manipulation.

Depends on r20648's bug fix to svn_config_ensure().


[ in subversion/bindings/java/javahl/ ]

* native/SVNClient.cpp
  (setConfigDirectory): When changing the config directory, ensure
   that the config area and templates exist in the new location.

* native/SVNClient.h
  (setConfigDirectory): Document behavior.

* native/JNIUtil.cpp
  (JNIGlobalInit): Remove code block which called svn_config_ensure()
   during library initialization, and errored out on failure.

* src/org/tigris/subversion/javahl/SVNClientInterface.java
  (setConfigDirectory): Document change in behavior.

* src/org/tigris/subversion/javahl/SVNClient.java
  (SVNClient): Call setConfigDirectory() to trigger svn_config_ensure().


Found by: Thiru Kandasamy <thiru@collab.net>
Review by: djames


Revision 860678 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 12 21:13:38 2006 UTC (18 years ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22689 byte(s)
Diff to previous 859887 (colored)
* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Add FIXME note about NativeResources class
   initialization failing when $HOME is not writable.

Found by: Thiru Kumar <thiru@collab.net>


Revision 859887 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 25 18:13:55 2006 UTC (18 years, 2 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22494 byte(s)
Diff to previous 859047 (colored)
Disallow use of null arguments to the client credential portion of the
JavaHL API (which previous to r19803 resulted in a segfault and thus a
hard JVM crash), instead throwing an IllegalArgumentException.


[ in subversion/bindings/java/javahl/ ]

* native/JNIUtil.h
  (isExceptionThrown): Update doc string for slight change in
   behavior, where any Throwable set this flag (rather than solely
   JNIError).

  (raiseThrowable): New function to create and throw an arbitrary
   java.lang.Throwable instance.

  (throwError): Inlined implementation, which now delegates to
   raiseThrowable().


* native/JNIUtil.cpp
  (raiseThrowable): Refactored old throwError() function to be more
   generic.


* native/org_tigris_subversion_javahl_SVNClient.cpp
  (Java_org_tigris_subversion_javahl_SVNClient_username,
   Java_org_tigris_subversion_javahl_SVNClient_password): Throw an
   IllegalArgumentException when a null argument is passed in.


* src/org/tigris/subversion/javahl/SVNClientInterface.java
  (username, password): Update JavaDoc.


Review by: djames
           markphip


Revision 859047 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 20 23:54:53 2006 UTC (18 years, 4 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22560 byte(s)
Diff to previous 859043 (colored)
Refactor duplicate portions of JavaHL finalize() implementation into
SVNBase super-class, and move some of the JNIUtil implementation into
the same class.

* subversion/bindings/java/javahl/native/SVNBase.h
* subversion/bindings/java/javahl/native/SVNBase.cpp
  (finalize): Add new method.  Now also contains the logging
   previously found in JNIUtil::putFinalizedClient().


* subversion/bindings/java/javahl/native/SVNAdmin.h
* subversion/bindings/java/javahl/native/SVNAdmin.cpp
* subversion/bindings/java/javahl/native/SVNClient.h
* subversion/bindings/java/javahl/native/SVNClient.cpp
  (finalize): Removed in favor of inheriting implementation from
   SVNBase.


* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (throwError): Formatting tweak.

  (putFinalizedClient): Deprecated method in favor of
   enqueueForDeletion() (it hasn't been named correctly for quite some
   time).

  (enqueueForDeletion): New static method whose implementation was
   factored out of putFinalizedClient (sans logging).


Revision 859043 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 20 23:25:44 2006 UTC (18 years, 4 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22865 byte(s)
Diff to previous 858129 (colored)
* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::throwNullPointerException): Leverage logMessage() method.


Revision 858129 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 10 22:42:45 2006 UTC (18 years, 6 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22924 byte(s)
Diff to previous 858128 (colored)
* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Remove tab characters introduced in r18054.

Review by: lundblad


Revision 858128 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 10 22:33:06 2006 UTC (18 years, 6 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22889 byte(s)
Diff to previous 858127 (colored)
Fix JavaHL compile error with Visual Studio 2005 (with correct syntax,
as opposed to in r18032).

* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Cast 'ucs2_path' to 'apr_wchar_t *' to
   prevent a data type mismatch error from VS2005.

Patch by: Jens Peters <jpeters7677@gmx.de>
Review by: me
           lundblad


Revision 858127 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 10 22:31:14 2006 UTC (18 years, 6 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22902 byte(s)
Diff to previous 858106 (colored)
* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Revert r18032 in preparation for typo
   correction in cast (to allow for easy backport).

Review by: lundblad


Revision 858106 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 10 02:53:38 2006 UTC (18 years, 6 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22890 byte(s)
Diff to previous 857288 (colored)
Fix JavaHL compile error with Visual Studio 2005.

* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIGlobalInit): Cast 'ucs2_path' to 'apr_wchar_t *' to
   prevent a data type mismatch error from VS2005.

Patch by: Jens Peters <jpeters7677@gmx.de>
Review by: me


Revision 857288 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 6 13:40:10 2005 UTC (18 years, 8 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22902 byte(s)
Diff to previous 856913 (colored)
Fix crash because of reentrant call to javahl and close race condition window.
In subversion/binding/java/javahl:

* src/org/tigris/subversion/javahl/NativeResources.java
  (NativeResources.loadNativeLibrary) make method synchronized and add call to
   SVNClient.initNative after all succesfull load of the native library.

* src/org/tigris/subversion/javahl/SVNClient.java
  (SVNClient.initNative) add native method to initialize the native library.
  
* src/org/tigris/subversion/javahl/SVNClientSynchronized.java
  (SVNClientSynchronized.SVNClientSynchronized) add missing synchronized block.
  
* native/org_tigris_subversion_javahl_SVNClient.cpp
  (Java_org_tigris_subversion_javahl_SVNClient_initNative) add implementation
  of SVNClient.initNative

* native/JNIUtil.h
* native/JNIUtil.cpp
  (JNIUtil::JNIInit and JNIUTIL::JNIGlobalInit) split native initialization into
   part to be run on any call (JNIInit) and only after load of library 
   (JNIGlobalInit)
  (JNIUtil::setEnv) add call to JNIThreadData::pushNewThreadData to enable 
   reentrant calls to javahl.
 
* native/JNIStackElement.cpp
  (JNIStackElement::~JNIStackElement) add call to JNIThreadData::popThreadData
   to enable reentrant calls to javahl.
   
* native/JNIThreadData.h
* native/JNIThreadData.cpp
  (JNIThreadData::m_previous) add new pointer to chain thread datas
  (JNIThreadData::pushNewThreadData) push a new thread data object to a stack
   at the begin of each call to javahl.
  (JNIThreadData::popThread) pop thread data object from a stack at the end of
   each call to javahl.


Revision 856913 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 19 18:57:27 2005 UTC (18 years, 9 months ago) by dlr
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22789 byte(s)
Diff to previous 856776 (colored)
Add support for the SVN_ASP_DOT_NET_HACK env var, and associated
working copy administrative directory name change (detailed at
http://svn.collab.net/repos/svn/trunk/notes/asp-dot-net-hack.txt).

* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (JNIUtil::JNIInit): On Windows or Cygwin, when the
   SVN_ASP_DOT_NET_HACK environment variable is set, change the WC
   admin dir from its default of ".svn" to "_svn".


Patch by:  philip
           me
Review by: markphip


Revision 856776 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 13 22:08:36 2005 UTC (18 years, 9 months ago) by maxb
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22080 byte(s)
Diff to previous 854257 (colored)
Enable two build generator include dep warnings that I recently added disabled.
Add comment explaining their purpose.
Consistify usage of #include <foo.h> vs. "foo.h" throughout the project.

* build/generator/gen_base.py: Enable warnings, add comment.

* build/generator/gen_base.py:
* subversion/libsvn_fs_base/lock.c:
* subversion/include/svn_ra_svn.h:
* subversion/libsvn_subr/xml.c:
* subversion/libsvn_subr/io.c:
* subversion/libsvn_subr/nls.c:
* subversion/libsvn_subr/date.c:
* subversion/libsvn_subr/config_win.c:
* subversion/bindings/java/javahl/native/SVNClient.cpp:
* subversion/bindings/java/javahl/native/Prompter.cpp:
* subversion/bindings/java/javahl/native/Targets.cpp:
* subversion/bindings/java/javahl/native/Notify.h:
* subversion/bindings/java/javahl/native/EnumMapper.h:
* subversion/bindings/java/javahl/native/Outputer.h:
* subversion/bindings/java/javahl/native/Notify2.h:
* subversion/bindings/java/javahl/native/BlameCallback.h:
* subversion/bindings/java/javahl/native/Revision.h:
* subversion/bindings/java/javahl/native/Pool.cpp:
* subversion/bindings/java/javahl/native/SVNClient.h:
* subversion/bindings/java/javahl/native/Prompter.h:
* subversion/bindings/java/javahl/native/JNIUtil.cpp:
* subversion/bindings/java/javahl/native/Inputer.h:
* subversion/bindings/java/javahl/native/BlameCallback.cpp:
* subversion/bindings/java/javahl/native/CommitMessage.cpp:
* subversion/bindings/swig/include/svn_global.swg:
* subversion/bindings/swig/svn_delta.i:
* subversion/mod_dav_svn/mod_dav_svn.c:
* subversion/tests/libsvn_wc/translate-test.c:
* subversion/tests/libsvn_subr/opt-test.c:
* subversion/tests/libsvn_subr/stream-test.c:
* subversion/tests/libsvn_subr/path-test.c:
* subversion/libsvn_ra_svn/cram.c:
* subversion/libsvn_ra_svn/ra_svn.h:
* subversion/libsvn_delta/cancel.c:
* subversion/svnserve/serve.c:
* subversion/libsvn_fs_fs/lock.c:
* contrib/client-side/svn-push/svn-push.c:
* contrib/client-side/mucc.c:
  Consistify #includes.


Revision 854257 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 14 06:24:34 2005 UTC (19 years, 3 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22080 byte(s)
Diff to previous 853793 (colored)
Fixed a crash from the new Notify2 implementation.

[in subversion/bindings/java/javahl]

* native/JNIUtil.cpp
 (JNIUtil::makeSVNErrorMessage): Do not try to transform a NULL error
  into a string.

* src/org/tigris/subversion/javahl/tests/SVNTests.java
 (SVNTests.setUp): Add a notifier corresponding to the Notify2 interface.
 (SVNTests.MyNotifier): New (no-op) Notify2 implementation.

Reported by: Mark Phippard


Revision 853793 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 28 09:00:37 2005 UTC (19 years, 4 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 22039 byte(s)
Diff to previous 853164 (colored)
Adapt the last changes in the interface of svn_client_lock,
svn_client_unlock to the javhl binding.  Implement the new
notification interface for the javahl binding.  Add SVNAdmin.rmlocks
method.  Some documentation improvement for the java classes.  Improve
the loading of the native library.

[in subversion/bindings/java/javahl]

* src/org/tigris/subversion/javahl/CommitItemStateFlags.java
   (CommitItemStateFlags.LOCK_TOKEN) remove unused constants.

* src/org/tigris/subversion/javahl/Info2.java
   Mark class as new in release 1.2

* src/org/tigris/subversion/javahl/Lock.java
   Mark class as new in release 1.2

* src/org/tigris/subversion/javahl/LockCallback.java
   Delete this unused interface.

* src/org/tigris/subversion/javahl/LockStatus.java
   Mark interface as new in release 1.2   

* src/org/tigris/subversion/javahl/Notify.java
   Mark interface as deprecated in favour of Notfiy2

* src/org/tigris/subversion/javahl/Notify2.java
   New interface to implement new notification interface.

* src/org/tigris/subversion/javahl/NotifyAction.java
   (NotifyAction.locked, NotifyAction.unlocked, NotifyAction.failed_unlock,
    NotifyAction.failed_locked) new constants for locking related
    notifications.

* src/org/tigris/subversion/javahl/NotifyInformation.java
   New class to implement new notification interface.

* src/org/tigris/subversion/javahl/PropertyData.java
   (PropertyData.NEEDS_LOCK) mark as new in release 1.2

* src/org/tigris/subversion/javahl/Revision.java
   (Revision.createNumber) mark as new in release 1.2

* src/org/tigris/subversion/javahl/SVNAdmin.java
   (SVNAdmin.lslocks) marks as new in release 1.2
   (SVNAdmin.rmlocks) new method to remove locks
   improve loading of native library

* src/org/tigris/subversion/javahl/SVNClientInterface.java
   (SVNClientInterface.lock, SVNClientInterface.unlock) adapt to
    changes in the interface of svn_client_lock, svn_client_unlock functions)
   (SVNClientInterface.notification2) new method to implement new notifications
    interface.
   (SVNClientInterface.status, SVNClientInterface.list,
    SVNClientInterface.logMessage, SVNClientInterface.commit,
    SVNClientInterface.add, SVNClientInterface.update,
    SVNClientInterface.move, SVNClientInterface.doExport,
    SVNClientInterface.merge, SVNClientInterface.diff,
    SVNClientInterface.properties, SVNClientInterface.propertySet
    SVNClientInterface.propertyCreate, SVNClientInterface.propertyGet,
    SVNClientInterface.fileContent, SVNClientInterface.blame, 
    SVNClientInterface.info2, SVNClientInterface.getVersionInfo) mark new
    methods or method overloads as new in release 1.2
   improve loading of native library

* src/org/tigris/subversion/javahl/SVNClientSynchronized.java
* src/org/tigris/subversion/javahl/SVNClient.java
   Implement the changes in SVNClientInterface.java

* src/org/tigris/subversion/javahl/Status.java
   (Status.lockToken, Status.lockOwner, Status.lockComment, 
    Status.lockCreationDate, Status.reposLock) mark as new members in release 
    1.2
   (Status.getLockToken, Status.getLockOwner, Status.getLockComment, 
    Status.getLockCreationDate, Status.getReposLock) add javadoc
    
* src/org/tigris/subversion/javahl/tests/BasicTests.java
   (BasicTests.testBasicInfo2, BasicTests.testbasicLocking, 
    BasicTests.testBasicVersionInfo) mark methods as new in release 1.2

* native/CommitMessage.cpp
   implement changes in CommitItemStateFlags, remove enum mapper code

* native/EnumMapper.h, native/EnumMapper.cpp
   new class to contain all mapping from C-enums to java final ints.

* native/JNIUtil.h, native/JNIUtil.cpp
   (JNIUtil::makeSVNErrorMessage) new method

* native/LockCallback.h native/LockCallback.cpp
   remove unused class

* native/Notify.h, native/Notify.cpp 
   remove enum mapper code

* native/Notify2.h, native/Notify2.cpp
   new class to implement new notification interface

* native/org_tigris_subversion_javahl_SVNClient.cpp, native/SVNClient.h,
   native/SVNClient.cpp
   Implement the changes in SVNClientInterface.java, remove enum mapper code

* native/org_tigris_subversion_javahl_SVNAdmin.cpp, native/SVNAdmin.h,
  native/SVNAdmin.cpp
   Implement the changes in SVNAdmin.java

* native/Targets.cpp, native/Targets.h
   (Targets::setDoesNotContainsPath) new method to inhibit processing
   as path or url



Revision 853164 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 20 18:33:31 2005 UTC (19 years, 5 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 21828 byte(s)
Diff to previous 850284 (colored)
Adding the JNIUtil::preprocessPath method to take of care escaping uri pathes,
converting the path to the internal representation etc. This method is used 
by the Path and Target class. Converting all uses of pathes to use either of
these classes.
 * subversion/bindings/java/javahl/native/JNIUtil.cpp
 * subversion/bindings/java/javahl/native/JNIUtil.h
    new method JNIUtil::preprocessPath
 * subversion/bindings/java/javahl/native/Targets.cpp
 * subversion/bindings/java/javahl/native/Targets.h
    new method error_occured to check for error in JNIUtil::preprocessPath
 * subversion/bindings/java/javahl/native/Path.h
 * subversion/bindings/java/javahl/native/Path.cpp
    new method error_occured to check for error in JNIUtil::preprocessPath
 * subversion/bindings/java/javahl/native/SVNClient.cpp
    tansfering all pathes and urles to either Path or Target to cleanup.


Revision 850284 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 10 07:58:50 2004 UTC (20 years ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 19488 byte(s)
Diff to previous 849957 (colored)
* subversion/bindings/java/javahl/native/Inputer.cpp
* subversion/bindings/java/javahl/native/JNIStackElement.cpp
* subversion/bindings/java/javahl/native/JNIStackElement.h
* subversion/bindings/java/javahl/native/JNIStringHolder.cpp
* subversion/bindings/java/javahl/native/JNIStringHolder.h
* subversion/bindings/java/javahl/native/JNIThreadData.cpp
* subversion/bindings/java/javahl/native/JNIThreadData.h
* subversion/bindings/java/javahl/native/JNIUtil.cpp
* subversion/bindings/java/javahl/native/JNIUtil.h
* subversion/bindings/java/javahl/native/MessageReceiver.cpp
* subversion/bindings/java/javahl/native/MessageReceiver.h
* subversion/bindings/java/javahl/native/Notify.cpp
* subversion/bindings/java/javahl/native/Notify.h
* subversion/bindings/java/javahl/native/
     org_tigris_subversion_javahl_SVNAdmin.cpp
* subversion/bindings/java/javahl/native/
     org_tigris_subversion_javahl_SVNClient.cpp
* subversion/bindings/java/javahl/native/Outputer.cpp
* subversion/bindings/java/javahl/native/Outputer.h
* subversion/bindings/java/javahl/native/Path.cpp
* subversion/bindings/java/javahl/native/Path.h
* subversion/bindings/java/javahl/native/Pool.cpp
* subversion/bindings/java/javahl/native/Pool.h
* subversion/bindings/java/javahl/native/Prompter.cpp
* subversion/bindings/java/javahl/native/Prompter.h
* subversion/bindings/java/javahl/native/Revision.cpp
* subversion/bindings/java/javahl/native/Revision.h
* subversion/bindings/java/javahl/native/SVNAdmin.cpp
* subversion/bindings/java/javahl/native/SVNAdmin.h
* subversion/bindings/java/javahl/native/SVNBase.h
* subversion/bindings/java/javahl/native/SVNClient.cpp
* subversion/bindings/java/javahl/native/SVNClient.h
* subversion/bindings/java/javahl/native/Targets.cpp
* subversion/bindings/java/javahl/native/Targets.h
* subversion/bindings/java/javahl/native/version.h
  Code cleanup like removal of tabs, breaking long lines,
  make indention consistent and partial add of doxygen
  documentation


Revision 849957 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 13:07:50 2004 UTC (20 years, 2 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 13503 byte(s)
Diff to previous 849938 (colored)
Fix a crash, when SVNClient.list is passed a null as the first
parameter. Throw a java.lang.NullPointerException instead.
 
 * subversion/bindings/java/javahl/native/JNIUtil.h
   add JNIUtil::throwNullPointerException

 * subversion/bindings/java/javahl/native/JNIUtil.cpp
   implement JNIUtil::throwNullPointerException

 * subversion/bindings/java/javahl/native/SVNClient.cpp
   SVNClient::list catch NULL pointer as first parameter and
   throw NullPointerException instead



Revision 849938 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 23 14:51:47 2004 UTC (20 years, 2 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 13080 byte(s)
Diff to previous 849937 (colored)
 * subversion/bindings/javahl/native/SVNClient.cpp
 * subversion/bindings/javahl/native/Prompter.cpp
 * subversion/bindings/javahl/native/SVNAdmin.cpp
 * subversion/bindings/javahl/native/
     org_tigris_subversion_javahl_SVNClient.cpp
 * subversion/bindings/javahl/native/
     org_tigris_subversion_javahl_SVNAdmin.cpp
 * subversion/bindings/javahl/native/JNIUtil.cpp
 Added _() around all user visible strings



Revision 849937 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 23 14:01:15 2004 UTC (20 years, 2 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 13175 byte(s)
Diff to previous 849935 (colored)
 * subversion/bindings/java/javahl/native/JNIUtil.cpp
   JNIUtil::JNIInit add initializing i18n.



Revision 849935 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 23 13:04:39 2004 UTC (20 years, 2 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9978 byte(s)
Diff to previous 848994 (colored)
Remove global JNIUtil::g_requestPool to enable reentrancy for javahl
bindings and replace with thread local storage.
Add mutex for global pool.
Fix problem with retrieving file content from working copy

 * subversion/bindings/java/javahl/native/JNIUtil.h
   remove g_requestPool
   add g_globalPoolMutext
   add getGlobalPoolMutex;

 * subversion/bindings/java/javahl/native/JNIUtil.cpp
   JNIUtil::JNIInit init g_globalPoolMutext
   JNIUtil::getGlobalPoolMutex implement
   JNIUtil::getRequestPool retrieve requestPool from thread storage
   JNIUtil::setRequestPool set requestPool in thread storage

 * subversion/bindings/java/javahl/native/JNIThreadData.h
   add m_requestPool

 * subversion/bindings/java/javahl/native/JNIThreadData.cpp
   init m_requestPool to NULL

 * subversion/bindings/java/javahl/native/Pool.cpp
   Pool::Pool protected global pool with mutex
   Pool::~Pool protected global pool with mutex

 * subversion/bindings/java/javahl/native/SVNClient.cpp
   SVNClient::fileContent retrieve file content from
   working if working revision requested 



Revision 848994 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 7 22:25:49 2004 UTC (20 years, 4 months ago) by julianfoad
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9724 byte(s)
Diff to previous 848726 (colored)
Fix typos in a javahl error message.

* subversion/bindings/java/javahl/native/JNIUtil.cpp
  (handleAPRError): Fix typos.


Revision 848726 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 15 14:20:30 2004 UTC (20 years, 5 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9724 byte(s)
Diff to previous 848363 (colored)
A bunch of additions for javahl:
1. SvnClient.propertyRemove is now public and add to SvnClientInterface
2. SvnClient.status has a new overloading with the added parameter noIngore
3. SvnAdmin is a new class which offers the services of svnadmin.
4. MessageReceiver,InputInterface,Outputinterface,SvnInputStream and 
   SvnOutputStream are new classes to support SvnAdmin
5. A new package org.tigris.subversion.javahl.tests added for junits-test
   for SvnClient and SvnAdmin.
6. In this packages BasicTests implements the basic tests for the command
   line client.
Changes:
1. Adjusting the copyright years to 2004
2. Support for the old and the new name of the jni-module


Revision 848363 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 14 12:27:58 2004 UTC (20 years, 6 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9732 byte(s)
Diff to previous 847520 (colored)
Appling r8220 to javahl
Cleanup of struct declarations.

* JNIUtil.cpp
* JNIUtil.h
   replace svn_error by svn_error_t


Revision 847520 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 19 09:43:56 2003 UTC (20 years, 9 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9726 byte(s)
Diff to previous 847313 (colored)
* JNIUtil.cpp (JNIUtil::handleSVNError(svn_error *err)
	handleSVNError will delete the parameter err to avoid leeks


Revision 847313 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 29 15:59:44 2003 UTC (20 years, 10 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9583 byte(s)
Diff to previous 847312 (colored)
 get javahl update with the changes in subversion
*    javahl/native/SVNClient.cpp
*    javahl/native/Prompter.cpp
*    javahl/native/JNIUtil.h
*    javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
*    javahl/native/Notify.cpp
*    javahl/native/SVNClient.h
*    javahl/native/JNIUtil.cpp
*    javahl/src/org/tigris/subversion/javahl/DirEntry.java
*    javahl/src/org/tigris/subversion/javahl/Status.java
*    javahl/src/org/tigris/subversion/javahl/SVNClient.java
*    javahl/src/org/tigris/subversion/javahl/LogMessage.java
*    javahl/src/org/tigris/subversion/javahl/Notify.java
*    javahl/src/org/tigris/subversion/javahl/ClientException.java
*    javahl/src/org/tigris/subversion/javahl/Revision.java


Revision 847312 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 29 10:06:12 2003 UTC (20 years, 10 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 9802 byte(s)
Diff to previous 846434 (colored)
* javahl/cls/Makefile.am               set svn:eol-style to native
* javahl/doc/Makefile.am               set svn:eol-style to native
* javahl/native/Revision.cpp           set svn:eol-style to native
* javahl/native/JNIThreadData.cpp      set svn:eol-style to native
* javahl/native/JNIMutex.cpp           set svn:eol-style to native
* javahl/native/SVNClient.cpp          set svn:eol-style to native
* javahl/native/Prompter.cpp           set svn:eol-style to native
* javahl/native/JNIByteArray.h         set svn:eol-style to native
* javahl/native/Targets.cpp            set svn:eol-style to native
* javahl/native/JNIStringHolder.h      set svn:eol-style to native
* javahl/native/Notify.h               set svn:eol-style to native
* javahl/native/libsvnjavahl.la.c      set svn:eol-style to native
* javahl/native/Pool.h                 set svn:eol-style to native
* javahl/native/JNIStackElement.cpp    set svn:eol-style to native
* javahl/native/JNICriticalSection.cpp set svn:eol-style to native
* javahl/native/JNIUtil.h              set svn:eol-style to native
* javahl/native/svnjavahl.dsp          set svn:eol-style to CRLF
* javahl/native/org_tigris_subversion_javahl_SVNClient.cpp
                                       set svn:eol-style to native
* javahl/native/Path.h                 set svn:eol-style to native
* javahl/native/Revision.h             set svn:eol-style to native
* javahl/native/JNIByteArray.cpp       set svn:eol-style to native
* javahl/native/JNIStringHolder.cpp    set svn:eol-style to native
* javahl/native/JNIThreadData.h        set svn:eol-style to native
* javahl/native/svnjavahl.dsw          set svn:eol-style to CRLF
* javahl/native/JNIMutex.h             set svn:eol-style to native
* javahl/native/Notify.cpp             set svn:eol-style to native
* javahl/native/Pool.cpp               set svn:eol-style to native
* javahl/native/SVNClient.h            set svn:eol-style to native
* javahl/native/Prompter.h             set svn:eol-style to native
* javahl/native/JNIUtil.cpp            set svn:eol-style to native
* javahl/native/Targets.h              set svn:eol-style to native
* javahl/native/JNIStackElement.h      set svn:eol-style to native
* javahl/native/JNICriticalSection.h   set svn:eol-style to native
* javahl/native/Makefile.am            set svn:eol-style to native
* javahl/native/version.h              set svn:eol-style to native
* javahl/native/Path.cpp               set svn:eol-style to native
* javahl/configure.in                  set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/DirEntry.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/Status.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/SVNClient.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/LogMessage.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/Notify.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/JNIError.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/NodeKind.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/ClientException.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/PropertyData.java
                                       set svn:eol-style to native
* javahl/src/org/tigris/subversion/javahl/Revision.java
                                       set svn:eol-style to native
* javahl/src/Makefile.am               set svn:eol-style to native
* javahl/Makefile.am                   set svn:eol-style to native
* javahl/autogen.sh                    set svn:eol-style to native



Revision 846434 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 26 09:11:02 2003 UTC (21 years, 1 month ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 10263 byte(s)
Diff to previous 846137 (colored)
Corrections around the copyright messages and add missing copyright messages.
Adjusting to the recent changes in libsvn_client.
Fixing compile problems on FreeBSD (thanks to Ben Collins-Sussman)

* native/Revision.cpp
	Minor fix around the copyright message
	
* native/JNIThreadData.cpp
	Changed copyright from QintSoft to CollabNet
	
* native/JNIMutex.cpp
	Changed copyright from QintSoft to CollabNet

* native/SVNClient.cpp
	(SVNClient::remove)
		Adding Targets object to adjust to interface changes
	(SVNClient::mkdir)
		Adding Targets object to adjust to interface changes
	(SVNClient::doExport)
		Adding fixed force parameter to adjust to interface changes
	(SVNClient::doImport)
		Remove newEntry parameter to adjust to interface changes
		
* native/Prompter.cpp
	Changed copyright from QintSoft to CollabNet

* native/Targets.cpp
	Changed copyright from QintSoft to CollabNet
	
* native/libsvnjavahl.la.c
	Added copyright
	
* native/JNICriticalSection.cpp
	Changed copyright from QintSoft to CollabNet

* native/JNIStackElement.cpp
	Changed copyright from QintSoft to CollabNet

* native/JNIUtil.h
	Added missing <string> include
	
* native/svnjavahl.dsp
	Added missing referenced to shfolder.lib
	
* native/org_tigris_subversion_javahl_SVNClient.cpp
	Changed copyright from QintSoft to CollabNet

* native/JNIByteArray.cpp
	Changed copyright from QintSoft to CollabNet

* native/JNIStringHolder.cpp
	Changed copyright from QintSoft to CollabNet
	Removed duplicate copyright
	
* native/Pool.cpp
	Changed copyright from QintSoft to CollabNet
	Removed duplicate copyright

* native/Prompter.cpp
	Changed copyright from QintSoft to CollabNet

* native/JNIUtil.cpp
	Changed copyright from QintSoft to CollabNet

* native/version.h
	Added copyright
	Remove remains from SvnUp
	
* native/Path.cpp
	Changed copyright from QintSoft to CollabNet



Revision 846137 - (view) (download) (annotate) - [select for diffs]
Added Tue May 27 12:37:36 2003 UTC (21 years, 2 months ago) by pmayweg
Original Path: subversion/trunk/subversion/bindings/java/javahl/native/JNIUtil.cpp
File length: 10257 byte(s)
Adding the java high level interface to subversion/bindings/java. It was
the interface between SvnUp and Subversion.

* subversion/bindings/java/javahl: New directory for the java high
  level interface.
  
* subversion/bindings/java/README-HIGH-LEVEL-API.txt: New file.


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.


infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26