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

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

Author: hwright
Date: Mon Mar 22 16:49:38 2010
New Revision: 926179

URL: http://svn.apache.org/viewvc?rev=926179&view=rev
Log:
JavaHL: Enum'ize the ClientLogLevel constants.

[ in subversion/bindings/javahl/ ]
* native/EnumMapper.h,
  native/EnumMapper.cpp
  (toLogLevel): New.

* native/org_apache_subversion_javahl_SVNClient.cpp
  (Java_org_apache_subversion_javahl_SVNClient_enableLogging):
    Use the EnumMapper to decode the enum to an int.
 
* src/org/apache/subversion/javahl/ClientLogLevel.java:
  Remove.

* src/org/apache/subversion/javahl/SVNClient.java
  (enableLogging): Update param type.
  (ClientLogLevel): New, as an enum.
  (LogLevel): Remove.

* src/org/tigris/subversion/javahl/SVNClient.java
  (enableLogging): Update wrapper.

Removed:
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientLogLevel.java
Modified:
    subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp
    subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h
    subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
    subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java

Modified: subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp?rev=926179&r1=926178&r2=926179&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/EnumMapper.cpp Mon Mar 22 16:49:38 2010
@@ -138,6 +138,11 @@ int EnumMapper::toMergeinfoLogKind(jobje
   return getOrdinal(JAVA_PACKAGE"/MergeinfoLogKind", jLogKind);
 }
 
+int EnumMapper::toLogLevel(jobject jLogLevel)
+{
+  return getOrdinal(JAVA_PACKAGE"/SVNClient$ClientLogLevel", jLogLevel);
+}
+
 svn_depth_t EnumMapper::toDepth(jobject jdepth)
 {
   // The offset for depths is -2

Modified: subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h?rev=926179&r1=926178&r2=926179&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/EnumMapper.h Mon Mar 22 16:49:38 2010
@@ -46,6 +46,7 @@ class EnumMapper
   static svn_opt_revision_kind toRevisionKind(jobject jkind);
   static svn_wc_conflict_choice_t toConflictChoice(jobject jchoice);
   static int toMergeinfoLogKind(jobject jLogKind);
+  static int toLogLevel(jobject jLogLevel);
 
   /* Converting from C enum's */
   static jint mapCommitMessageStateFlags(apr_byte_t flags);

Modified: subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=926179&r1=926178&r2=926179&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Mon Mar 22 16:49:38 2010
@@ -25,7 +25,6 @@
  */
 
 #include "../include/org_apache_subversion_javahl_SVNClient.h"
-#include "../include/org_apache_subversion_javahl_ClientLogLevel.h"
 #include "JNIUtil.h"
 #include "JNIStackElement.h"
 #include "JNIStringHolder.h"
@@ -1458,26 +1457,10 @@ JNIEXPORT void JNICALL Java_org_apache_s
 
 JNIEXPORT void JNICALL
 Java_org_apache_subversion_javahl_SVNClient_enableLogging
-(JNIEnv *env, jclass jclazz, jint jlogLevel, jstring jpath)
+(JNIEnv *env, jclass jclazz, jobject jlogLevel, jstring jpath)
 {
   JNIEntryStatic(SVNClient, enableLogging);
-  int cLevel = JNIUtil::noLog;
-  switch(jlogLevel)
-    {
-    case org_apache_subversion_javahl_ClientLogLevel_NoLog:
-      cLevel = JNIUtil::noLog;
-      break;
-    case org_apache_subversion_javahl_ClientLogLevel_ErrorLog:
-      cLevel = JNIUtil::errorLog;
-      break;
-    case org_apache_subversion_javahl_ClientLogLevel_ExceptionLog:
-      cLevel = JNIUtil::exceptionLog;
-      break;
-    case org_apache_subversion_javahl_ClientLogLevel_EntryLog:
-      cLevel = JNIUtil::entryLog;
-      break;
-    }
-  JNIUtil::initLogFile(cLevel, jpath);
+  JNIUtil::initLogFile(EnumMapper::toLogLevel(jlogLevel), jpath);
 
 }
 

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=926179&r1=926178&r2=926179&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Mon Mar 22 16:49:38 2010
@@ -557,15 +557,25 @@ public class SVNClient implements ISVNCl
      *                      ClientLogLevel)
      * @param logFilePath   path of the log file
      */
-    public static native void enableLogging(int logLevel, String logFilePath);
+    public static native void enableLogging(ClientLogLevel logLevel,
+                                            String logFilePath);
 
     /**
-     * class for the constants of the logging levels.
-     * The constants are defined in ClientLogLevel because of building
-     * reasons
+     * enum for the constants of the logging levels.
      */
-    public static final class LogLevel implements ClientLogLevel
+    public enum ClientLogLevel
     {
+        /** Log nothing */
+        NoLog,
+
+        /** Log fatal error */
+        ErrorLog,
+
+        /** Log exceptions thrown */
+        ExceptionLog,
+
+        /** Log the entry and exits of the JNI code */
+        EntryLog;
     }
 
     /**

Modified: subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=926179&r1=926178&r2=926179&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Mon Mar 22 16:49:38 2010
@@ -2357,8 +2357,10 @@ public class SVNClient implements SVNCli
      */
     public static void enableLogging(int logLevel, String logFilePath)
     {
-        org.apache.subversion.javahl.SVNClient.enableLogging(logLevel,
-                                                             logFilePath);
+        org.apache.subversion.javahl.SVNClient.enableLogging(
+            org.apache.subversion.javahl.SVNClient.ClientLogLevel.values()[
+                                                                logLevel],
+            logFilePath);
     }
 
     /**