Kai Nacke <kai.nacke@redstar.de> (knacke)


Patch
r845605, r845604, r845602, r845584, r845495, r845324, r845109, r845108, r845100, r845068, r845032, r844961, r844926, r844866, r844864, r844828

r844828 | philip | 2003-02-05 17:58:58 +0000 (Wed, 05 Feb 2003)

Fix SWIG build.

Patch by: Kai Nacke <kai.nacke@redstar.de>

* subversion/bindings/swig/apr.i: Remove extraneous '{'.


r844864 | dlr | 2003-02-07 22:46:27 +0000 (Fri, 07 Feb 2003)

Patch by: Kai Nacke <kai.nacke@redstar.de>

  "C pointers in the Java module are stored in a Java long and cross
  the JNI boundary held within this 64 bit number. whereas other SWIG
  language modules use an encoding of the pointer in a string. These
  scripting languages use the SWIG runtime type checker for type
  checking as they do not support static type checking by a
  compiler. In order to implement static type checking of pointers
  within Java, they are wrapped by a simple Java class.

  This means that there is no need for functions like
  SWIG_NewPointerObj() and then there is no need for a runtime
  library. Consequently I found hints to swigjava in the SWIG
  sources."


* subversion/bindings/swig/swigutil_java.h
  (SVN_NEED_SWIG_TYPES, swig_type_info, SWIG_TypeQuery): Removed as
  unnecessary.

  (svn_swig_java_convert_hash): Removed swig_type_info from function
  signature.


* subversion/bindings/swig/swigutil_java.c
  (svn_swig_java_convert_hash): Removed swig_type_info from function
  signature.

  (convert_to_swigtype): Removed comment about ctx parameter which is
  no longer applicable.

  (make_pointer, convert_hash): Formatting tweaks.


r844866 | dlr | 2003-02-07 23:19:30 +0000 (Fri, 07 Feb 2003)

Patch by: Kai Nacke <kai.nacke@redstar.de>

  "C pointers in the Java module are stored in a Java long and cross
  the JNI boundary held within this 64 bit number. whereas other SWIG
  language modules use an encoding of the pointer in a string. These
  scripting languages use the SWIG runtime type checker for type
  checking as they do not support static type checking by a
  compiler. In order to implement static type checking of pointers
  within Java, they are wrapped by a simple Java class.

  This means that there is no need for functions like
  SWIG_NewPointerObj() and then there is no need for a runtime
  library."

* build/gen_base.py
  (TargetSWIG.add_dependencies) Dependency to SWIG runtime library will
  only be added if target language is not java.


r844926 | dlr | 2003-02-12 01:26:54 +0000 (Wed, 12 Feb 2003)

Patch by: Kai Nacke <kai.nacke@redstar.de>

* subversion/bindings/swig/svn_types.i: Introduced new Java type mapping 
   svn_boolean_t to boolean. The mapping for svn_error_t now generates a
   return statement in the generated JNI class, preventing a compile error.

* subversion/bindings/swig/svn_client.i: Changed the package names of Notifier
   and LogMessageReceiver to org.tigris.subversion.wc.Notifier and
   org.tigris.subversion.client.LogMessageReceiver to be consistent with the
   proposed API.


r844961 | dlr | 2003-02-13 22:16:26 +0000 (Thu, 13 Feb 2003)

Patch by: Kai Nacke <kai.nacke@redstar.de>

  "With the current definition of RUN_SWIG_JAVA in Makefile.in the
  SWIG generated Java files are located in the ${abs_builddir}. The
  patch will correct this.
  ...
  This patch removes the -module 'Subversion' switch as well because
  this causes a lot of generated files named
  Subversion.java. Obviously, only the last file survives. ;-)"

* Makefile.in
   (RUN_SWIG_JAVA): SWIG runs now in the directory
   ${abs_srcdir}/subversion/bindings/swig/java/org/tigris/subversion/swig where
   the Java files are generated. Removed the -module Subversion switch.


r845032 | knacke | 2003-02-19 17:31:43 +0000 (Wed, 19 Feb 2003)

* COMMITTERS
  Changed my e-mail to kai.nacke@redstar.de
  (Commited upon approval by dlr)


r845068 | knacke | 2003-02-20 18:10:26 +0000 (Thu, 20 Feb 2003)

* subversion/bindings/swig/svn_types.i
  Changed java typemap for (const char *PTR, apr_size_t LEN).
  The mapping uses now a temporary variable.


r845100 | knacke | 2003-02-22 19:09:23 +0000 (Sat, 22 Feb 2003)

* subversion/bindings/swig/swigutil_java.c
  (svn_swig_java_outputstream_to_stream,
  svn_swig_java_inputstream_to_stream) New functions which provide a
  mapping between java.io.InputStream/OutputStream and generic
  svn_stream_t streams.

* subversion/bindings/swig/swigutil_java.h
  (svn_swig_java_outputstream_to_stream,
  svn_swig_java_inputstream_to_stream) New prototypes for the
  stream functions.

* subversion/bindings/swig/svn_client.i
  New mapping from "svn_stream_t *out" to "java.io.OutputStream"



r845108 | knacke | 2003-02-23 11:16:08 +0000 (Sun, 23 Feb 2003)

* subversion/bindings/swig/swigutil_java.c
  (read_inputstream) Fixes silly EOF handling bug: InputStream.read()
  returns -1 on EOF, the following call to GetByteArrayRegion with 
  length = -1 results in an ArrayIndexOutOfBoundsException.


r845109 | knacke | 2003-02-23 11:53:50 +0000 (Sun, 23 Feb 2003)

Caching of class references and method IDs: For a call from the C
layer to a Java method a so called "method ID" is required. This
method ID can be obtained from a class reference. The method ID is
valid until the class (NOT the object) is garbage collected. We obtain
the class references and method IDs when the native library is loaded
and release them on unload. Positive side effect: error checking is
simplified since each call to FindClass and GetMethodID could raise
several exceptions.


* subversion/bindings/swig/swigutil_java.c
  (JNI_OnLoad, JNI_OnUnload): New functions. Initialize the cache.
  (read_inputstream): Uses cached method ID for read().
  (write_inputstream): Uses cached method ID for write().

* subversion/bindings/swig/swigutil_java.c
  New inclusion of swigutil_java_cache.h.

* subversion/bindings/swig/swigutil_java_cache.h
  New file. Contains macros for cache initialization/termination.

* subversion/bindings/swig/apr.i
  Mapping for apr_size_t *INOUT: Uses cached method ID for
  longValue().


r845324 | knacke | 2003-03-08 21:09:02 +0000 (Sat, 08 Mar 2003)

* subversion/bindings/java/org/tigris/subversion/SubversionException.java:
  Add attributes status, file, line and public getter methods. Changed
  constructors to reflect new attributes. Added Throwable attribute
  for cross JDK compatibility.

* subversion/bindings/swig/swigutil_java.c
  (JCALL7): New macro to call Java method with 7 arguments
  (svn_swig_java_convert_error): New function to convert a svn_error_t to a
    SubversionException.
  (convert_error): New helper function for svn_swig_java_convert_error.

* subversion/bindings/swig/swigutil_java.h:
  Added prototype for svn_swig_java_convert_error.

* subversion/bindings/swig/swigutil_java_cache.h:
  Added entries for SubversionException class and constructor.

* subversion/bindings/swig/svn_types.i:
  Changed typemap for svn_error_t from int to SubversionException.


r845495 | knacke | 2003-03-21 18:56:03 +0000 (Fri, 21 Mar 2003)

* bindings/java/org/tigris/subversion/client/Client.java
  (getSimplePromptProvider) Method added.
  (getUsernamePromptProvider) Method added.
  (getAuthProvider) Method removed.
  (getPrompt) Method removed.
* bindings/java/org/tigris/subversion/client/ClientPrompt.java
  Removed unused import org.tigris.subversion.auth.AuthProvider
  (prompt) Changed return type from String[] to String.


r845584 | knacke | 2003-04-01 05:13:44 +0000 (Tue, 01 Apr 2003)

* bindings/swig/svn_client.i 
  (typemap svn_client_prompt_t) New Java typemap for the client
  prompting function
* bindings/swig/swigutil_java.c 
  (callback_baton_t) New baton used for callbacks 
  (callback_baton_cleanup_handler) Cleanup handler for the callback
  baton
  (svn_swig_java_make_callback) Function to create a callback baton
  from a Java jobject
  (svn_swig_java_client_prompt_func) Callback for a
  svn_client_prompt_t function
* bindings/swig/swigutil_java.h
  (svn_swig_java_make_callback) New prototype
  (svn_swig_java_client_prompt_func) New prototype
* bindings/swig/swigutil_java_cache.h New entry for
  org.tigris.subversion.client.ClientPrompt.prompt()




r845602 | knacke | 2003-04-02 19:56:45 +0000 (Wed, 02 Apr 2003)

* subversion/bindings/java/org/tigris/subversion/Canceller.java
  New interface.


r845604 | knacke | 2003-04-02 20:20:37 +0000 (Wed, 02 Apr 2003)

* subversion/bindings/java/org/tigris/subversion/Canceller.java
  Fix wrong type name in comment.


r845605 | knacke | 2003-04-02 21:06:22 +0000 (Wed, 02 Apr 2003)


* bindings/swig/swigutil_java.c 
  (convert_exception) Renamed convert_java_error to convert_exception
  to avoid confusion with convert_error. All callers changed! Added
  code to handle the conversion.  
  (svn_swig_java_client_prompt_func) Added missing error checking
  code. 

* bindings/swig/swigutil_java_cache.h New entry for
  java.lang.OutOfMemoryException