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/10 00:08:32 UTC
svn commit: r921183 -
/subversion/trunk/subversion/bindings/javahl/native/RevpropTable.cpp
Author: hwright
Date: Tue Mar 9 23:08:31 2010
New Revision: 921183
URL: http://svn.apache.org/viewvc?rev=921183&view=rev
Log:
JavaHL: Take advantage of the new Array class within another function.
* subversion/bindings/javahl/native/RevpropTable.cpp
(RevpropTable): Use the Array class to create an array of keys.
Modified:
subversion/trunk/subversion/bindings/javahl/native/RevpropTable.cpp
Modified: subversion/trunk/subversion/bindings/javahl/native/RevpropTable.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/RevpropTable.cpp?rev=921183&r1=921182&r2=921183&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/RevpropTable.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/RevpropTable.cpp Tue Mar 9 23:08:31 2010
@@ -27,6 +27,7 @@
#include "RevpropTable.h"
#include "JNIUtil.h"
#include "JNIStringHolder.h"
+#include "Array.h"
#include <apr_tables.h>
#include <apr_strings.h>
#include <apr_hash.h>
@@ -93,21 +94,6 @@ RevpropTable::RevpropTable(jobject jrevp
if (JNIUtil::isExceptionThrown())
return;
- jclass setClazz = env->FindClass("java/util/Set");
-
- if (toArray == 0)
- {
- toArray = env->GetMethodID(setClazz, "toArray",
- "()[Ljava/lang/Object;");
- if (JNIUtil::isExceptionThrown())
- return;
- }
-
- jobjectArray jkeyArray = (jobjectArray) env->CallObjectMethod(jkeySet,
- toArray);
- if (JNIUtil::isExceptionThrown())
- return;
-
if (get == 0)
{
get = env->GetMethodID(mapClazz, "get",
@@ -116,22 +102,17 @@ RevpropTable::RevpropTable(jobject jrevp
return;
}
- jint arraySize = env->GetArrayLength(jkeyArray);
- if (JNIUtil::isExceptionThrown())
- return;
+ Array keyArray(jkeySet);
+ std::vector<jobject> keys = keyArray.vector();
- for (int i = 0; i < arraySize; ++i)
+ for (std::vector<jobject>::const_iterator it = keys.begin();
+ it < keys.end(); ++it)
{
- jobject jpropname = env->GetObjectArrayElement(jkeyArray, i);
+ JNIStringHolder propname((jstring)*it);
if (JNIUtil::isExceptionThrown())
return;
- JNIStringHolder propname((jstring)jpropname);
- if (JNIUtil::isExceptionThrown())
- return;
-
- jobject jpropval = env->CallObjectMethod(jrevpropTable, get,
- jpropname);
+ jobject jpropval = env->CallObjectMethod(jrevpropTable, get, *it);
if (JNIUtil::isExceptionThrown())
return;
@@ -142,10 +123,6 @@ RevpropTable::RevpropTable(jobject jrevp
m_revprops[std::string((const char *)propname)]
= std::string((const char *)propval);
- JNIUtil::getEnv()->DeleteLocalRef(jpropname);
- if (JNIUtil::isExceptionThrown())
- return;
-
JNIUtil::getEnv()->DeleteLocalRef(jpropval);
if (JNIUtil::isExceptionThrown())
return;
@@ -154,9 +131,5 @@ RevpropTable::RevpropTable(jobject jrevp
JNIUtil::getEnv()->DeleteLocalRef(jkeySet);
if (JNIUtil::isExceptionThrown())
return;
-
- JNIUtil::getEnv()->DeleteLocalRef(jkeyArray);
- if (JNIUtil::isExceptionThrown())
- return;
}
}