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/09/15 21:32:38 UTC
svn commit: r997472 [3/41] - in /subversion/branches/py-tests-as-modules: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
contrib/server-side/ notes/ notes/tree-conflicts/ notes/wc-ng/
subversion/bindings/javahl/native/ subversio...
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp Wed Sep 15 19:32:26 2010
@@ -33,9 +33,6 @@
#include "Revision.h"
#include "RevisionRange.h"
#include "EnumMapper.h"
-#include "ClientNotifyCallback.h"
-#include "ConflictResolverCallback.h"
-#include "ProgressListener.h"
#include "CommitMessage.h"
#include "Prompter.h"
#include "Targets.h"
@@ -44,6 +41,7 @@
#include "BlameCallback.h"
#include "ProplistCallback.h"
#include "PatchCallback.h"
+#include "CommitCallback.h"
#include "LogMessageCallback.h"
#include "InfoCallback.h"
#include "StatusCallback.h"
@@ -61,7 +59,7 @@ Java_org_apache_subversion_javahl_SVNCli
(JNIEnv *env, jobject jthis)
{
JNIEntry(SVNClient, ctNative);
- SVNClient *obj = new SVNClient;
+ SVNClient *obj = new SVNClient(jthis);
return obj->getCppAddr();
}
@@ -76,7 +74,7 @@ Java_org_apache_subversion_javahl_SVNCli
JNIUtil::throwError(_("bad C++ this"));
return;
}
- cl->dispose(jthis);
+ cl->dispose();
}
JNIEXPORT void JNICALL
@@ -212,7 +210,7 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->username(username);
+ cl->getClientContext().username(username);
}
JNIEXPORT void JNICALL
@@ -236,7 +234,7 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->password(password);
+ cl->getClientContext().password(password);
}
JNIEXPORT void JNICALL
@@ -254,7 +252,7 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->setPrompt(prompter);
+ cl->getClientContext().setPrompt(prompter);
}
JNIEXPORT void JNICALL
@@ -345,84 +343,10 @@ Java_org_apache_subversion_javahl_SVNCli
}
JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_notification2
-(JNIEnv *env, jobject jthis, jobject jnotify2)
-{
- JNIEntry(SVNClient, notification2);
- SVNClient *cl = SVNClient::getCppObject(jthis);
- if (cl == NULL)
- {
- JNIUtil::throwError(_("bad C++ this"));
- return;
- }
- ClientNotifyCallback *notify2 = ClientNotifyCallback::makeCNotify(jnotify2);
- if (JNIUtil::isExceptionThrown())
- return;
-
- cl->notification2(notify2);
-}
-
-JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_setConflictResolver
-(JNIEnv *env, jobject jthis, jobject jconflictResolver)
-{
- JNIEntry(SVNClient, setConflictResolver);
- SVNClient *cl = SVNClient::getCppObject(jthis);
- if (cl == NULL)
- {
- JNIUtil::throwError(_("bad C++ this"));
- return;
- }
- ConflictResolverCallback *listener =
- ConflictResolverCallback::makeCConflictResolverCallback(jconflictResolver);
- if (JNIUtil::isExceptionThrown())
- return;
-
- cl->setConflictResolver(listener);
-}
-
-JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_setProgressListener
-(JNIEnv *env, jobject jthis, jobject jprogressListener)
-{
- JNIEntry(SVNClient, setProgressListener);
- SVNClient *cl = SVNClient::getCppObject(jthis);
- if (cl == NULL)
- {
- JNIUtil::throwError(_("bad C++ this"));
- return;
- }
- ProgressListener *listener =
- ProgressListener::makeCProgressListener(jprogressListener);
- if (JNIUtil::isExceptionThrown())
- return;
-
- cl->setProgressListener(listener);
-}
-
-JNIEXPORT void JNICALL
-Java_org_apache_subversion_javahl_SVNClient_commitMessageHandler
-(JNIEnv *env, jobject jthis, jobject jcommitMessage)
-{
- JNIEntry(SVNClient, commitMessageHandler);
- SVNClient *cl = SVNClient::getCppObject(jthis);
- if (cl == NULL)
- {
- JNIUtil::throwError("bad C++ this");
- return;
- }
- CommitMessage *commitMessage =
- CommitMessage::makeCCommitMessage(jcommitMessage);
- if (JNIUtil::isExceptionThrown())
- return;
-
- cl->commitMessageHandler(commitMessage);
-}
-
-JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_remove
-(JNIEnv *env, jobject jthis, jobject jtargets, jstring jmessage,
- jboolean jforce, jboolean keepLocal, jobject jrevpropTable)
+(JNIEnv *env, jobject jthis, jobject jtargets, jboolean jforce,
+ jboolean keepLocal, jobject jrevpropTable, jobject jmessage,
+ jobject jcallback)
{
JNIEntry(SVNClient, remove);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -433,7 +357,10 @@ Java_org_apache_subversion_javahl_SVNCli
}
StringArray targetsArr(jtargets);
Targets targets(targetsArr);
- JNIStringHolder message(jmessage);
+ if (JNIUtil::isExceptionThrown())
+ return;
+
+ CommitMessage message(jmessage);
if (JNIUtil::isExceptionThrown())
return;
@@ -441,8 +368,9 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->remove(targets, message, jforce ? true : false,
- keepLocal ? true : false, revprops);
+ CommitCallback callback(jcallback);
+ cl->remove(targets, &message, jforce ? true : false,
+ keepLocal ? true : false, revprops, jcallback ? &callback : NULL);
}
JNIEXPORT void JNICALL
@@ -516,44 +444,49 @@ Java_org_apache_subversion_javahl_SVNCli
jallowUnverObstructions ? true : false);
}
-JNIEXPORT jlong JNICALL
+JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_commit
-(JNIEnv *env, jobject jthis, jobject jtargets, jstring jmessage, jobject jdepth,
+(JNIEnv *env, jobject jthis, jobject jtargets, jobject jdepth,
jboolean jnoUnlock, jboolean jkeepChangelist, jobject jchangelists,
- jobject jrevpropTable)
+ jobject jrevpropTable, jobject jmessage, jobject jcallback)
{
JNIEntry(SVNClient, commit);
SVNClient *cl = SVNClient::getCppObject(jthis);
if (cl == NULL)
{
JNIUtil::throwError(_("bad C++ this"));
- return -1;
+ return;
}
StringArray targetsArr(jtargets);
Targets targets(targetsArr);
- JNIStringHolder message(jmessage);
if (JNIUtil::isExceptionThrown())
- return -1;
+ return;
+
+ CommitMessage message(jmessage);
+ if (JNIUtil::isExceptionThrown())
+ return;
// Build the changelist vector from the Java array.
StringArray changelists(jchangelists);
if (JNIUtil::isExceptionThrown())
- return -1;
+ return;
RevpropTable revprops(jrevpropTable);
if (JNIUtil::isExceptionThrown())
- return -1;
+ return;
- return cl->commit(targets, message, EnumMapper::toDepth(jdepth),
- jnoUnlock ? true : false, jkeepChangelist ? true : false,
- changelists, revprops);
+ CommitCallback callback(jcallback);
+ cl->commit(targets, &message, EnumMapper::toDepth(jdepth),
+ jnoUnlock ? true : false, jkeepChangelist ? true : false,
+ changelists, revprops,
+ jcallback ? &callback : NULL);
}
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_copy
(JNIEnv *env, jobject jthis, jobject jcopySources, jstring jdestPath,
- jstring jmessage, jboolean jcopyAsChild, jboolean jmakeParents,
- jboolean jignoreExternals, jobject jrevpropTable)
+ jboolean jcopyAsChild, jboolean jmakeParents, jboolean jignoreExternals,
+ jobject jrevpropTable, jobject jmessage, jobject jcallback)
{
JNIEntry(SVNClient, copy);
@@ -575,7 +508,7 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
-JNIStringHolder message(jmessage);
+ CommitMessage message(jmessage);
if (JNIUtil::isExceptionThrown())
return;
@@ -583,16 +516,17 @@ JNIStringHolder message(jmessage);
if (JNIUtil::isExceptionThrown())
return;
- cl->copy(copySources, destPath, message, jcopyAsChild ? true : false,
+ CommitCallback callback(jcallback);
+ cl->copy(copySources, destPath, &message, jcopyAsChild ? true : false,
jmakeParents ? true : false, jignoreExternals ? true : false,
- revprops);
+ revprops, jcallback ? &callback : NULL);
}
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_move
(JNIEnv *env, jobject jthis, jobject jsrcPaths, jstring jdestPath,
- jstring jmessage, jboolean jforce, jboolean jmoveAsChild,
- jboolean jmakeParents, jobject jrevpropTable)
+ jboolean jforce, jboolean jmoveAsChild, jboolean jmakeParents,
+ jobject jrevpropTable, jobject jmessage, jobject jcallback)
{
JNIEntry(SVNClient, move);
@@ -609,7 +543,8 @@ Java_org_apache_subversion_javahl_SVNCli
JNIStringHolder destPath(jdestPath);
if (JNIUtil::isExceptionThrown())
return;
- JNIStringHolder message(jmessage);
+
+ CommitMessage message(jmessage);
if (JNIUtil::isExceptionThrown())
return;
@@ -617,15 +552,16 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->move(srcPaths, destPath, message, jforce ? true : false,
+ CommitCallback callback(jcallback);
+ cl->move(srcPaths, destPath, &message, jforce ? true : false,
jmoveAsChild ? true : false, jmakeParents ? true : false,
- revprops);
+ revprops, jcallback ? &callback : NULL);
}
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_mkdir
-(JNIEnv *env, jobject jthis, jobject jtargets, jstring jmessage,
- jboolean jmakeParents, jobject jrevpropTable)
+(JNIEnv *env, jobject jthis, jobject jtargets, jboolean jmakeParents,
+ jobject jrevpropTable, jobject jmessage, jobject jcallback)
{
JNIEntry(SVNClient, mkdir);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -636,7 +572,10 @@ Java_org_apache_subversion_javahl_SVNCli
}
StringArray targetsArr(jtargets);
Targets targets(targetsArr);
- JNIStringHolder message(jmessage);
+ if (JNIUtil::isExceptionThrown())
+ return;
+
+ CommitMessage message(jmessage);
if (JNIUtil::isExceptionThrown())
return;
@@ -644,7 +583,9 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->mkdir(targets, message, jmakeParents ? true : false, revprops);
+ CommitCallback callback(jcallback);
+ cl->mkdir(targets, &message, jmakeParents ? true : false, revprops,
+ jcallback ? &callback : NULL);
}
JNIEXPORT void JNICALL
@@ -760,9 +701,9 @@ Java_org_apache_subversion_javahl_SVNCli
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_doImport
-(JNIEnv *env, jobject jthis, jstring jpath, jstring jurl, jstring jmessage,
- jobject jdepth, jboolean jnoIgnore, jboolean jignoreUnknownNodeTypes,
- jobject jrevpropTable)
+(JNIEnv *env, jobject jthis, jstring jpath, jstring jurl, jobject jdepth,
+ jboolean jnoIgnore, jboolean jignoreUnknownNodeTypes, jobject jrevpropTable,
+ jobject jmessage, jobject jcallback)
{
JNIEntry(SVNClient, doImport);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -779,7 +720,7 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- JNIStringHolder message(jmessage);
+ CommitMessage message(jmessage);
if (JNIUtil::isExceptionThrown())
return;
@@ -787,9 +728,11 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->doImport(path, url, message, EnumMapper::toDepth(jdepth),
+ CommitCallback callback(jcallback);
+ cl->doImport(path, url, &message, EnumMapper::toDepth(jdepth),
jnoIgnore ? true : false,
- jignoreUnknownNodeTypes ? true : false, revprops);
+ jignoreUnknownNodeTypes ? true : false, revprops,
+ jcallback ? &callback : NULL);
}
JNIEXPORT jobject JNICALL
@@ -971,7 +914,8 @@ Java_org_apache_subversion_javahl_SVNCli
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNClient_propertySet
(JNIEnv *env, jobject jthis, jstring jpath, jstring jname, jstring jvalue,
- jobject jdepth, jobject jchangelists, jboolean jforce, jobject jrevpropTable)
+ jobject jdepth, jobject jchangelists, jboolean jforce, jobject jrevpropTable,
+ jobject jcallback)
{
JNIEntry(SVNClient, propertySet);
SVNClient *cl = SVNClient::getCppObject(jthis);
@@ -1000,8 +944,9 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
+ CommitCallback callback(jcallback);
cl->propertySet(path, name, value, EnumMapper::toDepth(jdepth), changelists,
- jforce ? true:false, revprops);
+ jforce ? true:false, revprops, jcallback ? &callback : NULL);
}
JNIEXPORT jbyteArray JNICALL
@@ -1576,7 +1521,7 @@ Java_org_apache_subversion_javahl_SVNCli
if (JNIUtil::isExceptionThrown())
return;
- cl->setConfigDirectory(configDir);
+ cl->getClientContext().setConfigDirectory(configDir);
}
JNIEXPORT jstring JNICALL
@@ -1591,7 +1536,7 @@ Java_org_apache_subversion_javahl_SVNCli
return NULL;
}
- const char *configDir = cl->getConfigDirectory();
+ const char *configDir = cl->getClientContext().getConfigDirectory();
return JNIUtil::makeJString(configDir);
}
@@ -1606,7 +1551,7 @@ Java_org_apache_subversion_javahl_SVNCli
JNIUtil::throwError("bad C++ this");
return;
}
- cl->cancelOperation();
+ cl->getClientContext().cancelOperation();
}
JNIEXPORT void JNICALL
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ChangePath.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ChangePath.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ChangePath.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ChangePath.java Wed Sep 15 19:32:26 2010
@@ -43,7 +43,7 @@ public class ChangePath implements java.
* @param nodeKind the kind of the changed path
*/
public ChangePath(String path, long copySrcRevision, String copySrcPath,
- char action, NodeKind nodeKind, Tristate textMods,
+ Action action, NodeKind nodeKind, Tristate textMods,
Tristate propMods)
{
this.path = path;
@@ -65,7 +65,7 @@ public class ChangePath implements java.
private String copySrcPath;
/** 'A'dd, 'D'elete, 'R'eplace, 'M'odify */
- private char action;
+ private Action action;
/** The kind of the changed path. */
private NodeKind nodeKind;
@@ -107,7 +107,7 @@ public class ChangePath implements java.
* Retrieve action performed
* @return action performed
*/
- public char getAction()
+ public Action getAction()
{
return action;
}
@@ -138,4 +138,22 @@ public class ChangePath implements java.
{
return propMods;
}
+
+ /**
+ * Actions which may have occurred to this path.
+ */
+ public enum Action
+ {
+ /** Path was added. */
+ add,
+
+ /** Path was deleted. */
+ delete,
+
+ /** Path was replaced. */
+ replace,
+
+ /** Path was modified. */
+ modify;
+ }
}
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java Wed Sep 15 19:32:26 2010
@@ -25,10 +25,11 @@ package org.apache.subversion.javahl;
import java.util.Map;
import java.util.EventObject;
+import org.apache.subversion.javahl.callback.ClientNotifyCallback;
/**
- * The event passed to the {@link Notify2#onNotify(NotifyInformation)}
- * API to notify {@link SVNClientInterface} of relevant events.
+ * The event passed to the {@link ClientNotifyCallback#onNotify}
+ * API to notify {@link ISVNClient} of relevant events.
*
* @since 1.2
*/
@@ -44,7 +45,7 @@ public class ClientNotifyInformation ext
private static final long serialVersionUID = 1L;
/**
- * The {@link NotifyAction} which triggered this event.
+ * The {@link Action} which triggered this event.
*/
private Action action;
@@ -69,12 +70,12 @@ public class ClientNotifyInformation ext
private String errMsg;
/**
- * The {@link NotifyStatus} of the content of the item.
+ * The {@link Status} of the content of the item.
*/
private Status contentState;
/**
- * The {@link NotifyStatus} of the properties of the item.
+ * The {@link Status} of the properties of the item.
*/
private Status propState;
@@ -128,14 +129,14 @@ public class ClientNotifyInformation ext
* This constructor is to be used by the native code.
*
* @param path The path of the item, which is the source of the event.
- * @param action The {@link NotifyAction} which triggered this event.
+ * @param action The {@link Action} which triggered this event.
* @param kind The {@link NodeKind} of the item.
* @param mimeType The MIME type of the item.
* @param lock Any lock for the item.
* @param errMsg Any error message for the item.
- * @param contentState The {@link NotifyStatus} of the content of
+ * @param contentState The {@link Status} of the content of
* the item.
- * @param propState The {@link NotifyStatus} of the properties of
+ * @param propState The {@link Status} of the properties of
* the item.
* @param lockState The {@link LockStatus} of the lock of the item.
* @param revision The revision of the item.
@@ -187,7 +188,7 @@ public class ClientNotifyInformation ext
}
/**
- * @return The {@link NotifyAction} which triggered this event.
+ * @return The {@link Action} which triggered this event.
*/
public Action getAction()
{
@@ -227,7 +228,7 @@ public class ClientNotifyInformation ext
}
/**
- * @return The {@link NotifyStatus} of the content of the item.
+ * @return The {@link Status} of the content of the item.
*/
public Status getContentState()
{
@@ -235,7 +236,7 @@ public class ClientNotifyInformation ext
}
/**
- * @return The {@link NotifyStatus} of the properties of the item.
+ * @return The {@link Status} of the properties of the item.
*/
public Status getPropState()
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DiffSummary.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DiffSummary.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DiffSummary.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DiffSummary.java Wed Sep 15 19:32:26 2010
@@ -24,11 +24,11 @@
package org.apache.subversion.javahl;
import java.util.EventObject;
+import org.apache.subversion.javahl.callback.DiffSummaryCallback;
/**
- * The event passed to the {@link
- * DiffSummaryReceiver#onSummary(DiffSummary)} API in response to path
- * differences reported by {@link SVNClientInterface#diffSummarize}.
+ * The event passed to the {@link DiffSummaryCallback#onSummary} API
+ * in response to path differences reported by {@link ISVNClient#diffSummarize}.
*
* @since 1.5
*/
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DirEntry.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DirEntry.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DirEntry.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/DirEntry.java Wed Sep 15 19:32:26 2010
@@ -26,7 +26,7 @@ package org.apache.subversion.javahl;
import java.util.Date;
/**
- * A general subversion directory entry. Used for SVNClientInterface.list
+ * A general subversion directory entry. Used for {@link ISVNClient#list}.
*/
public class DirEntry implements java.io.Serializable
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java Wed Sep 15 19:32:26 2010
@@ -198,15 +198,6 @@ public interface ISVNClient
void setProgressCallback(ProgressCallback listener);
/**
- * Sets the commit message handler. This allows more complex commit message
- * with the list of the elements to be commited as input.
- * @param messageHandler callback for entering commit messages
- * if this is set the message parameter is ignored.
- * @since 1.0
- */
- void commitMessageHandler(CommitMessage messageHandler);
-
- /**
* Sets a file for deletion.
* @param path path or url to be deleted
* @param message if path is a url, this will be the commit message.
@@ -218,8 +209,9 @@ public interface ISVNClient
* @throws ClientException
* @since 1.5
*/
- void remove(Set<String> path, String message, boolean force,
- boolean keepLocal, Map<String, String> revpropTable)
+ void remove(Set<String> path, boolean force, boolean keepLocal,
+ Map<String, String> revpropTable, CommitMessageCallback handler,
+ CommitCallback callback)
throws ClientException;
/**
@@ -284,10 +276,10 @@ public interface ISVNClient
* @throws ClientException
* @since 1.5
*/
- long commit(Set<String> path, String message, Depth depth,
- boolean noUnlock, boolean keepChangelist,
- Collection<String> changelists,
- Map<String, String> revpropTable)
+ void commit(Set<String> path, Depth depth, boolean noUnlock,
+ boolean keepChangelist, Collection<String> changelists,
+ Map<String, String> revpropTable, CommitMessageCallback handler,
+ CommitCallback callback)
throws ClientException;
/**
@@ -308,9 +300,10 @@ public interface ISVNClient
* @throws ClientException If the copy operation fails.
* @since 1.7
*/
- void copy(List<CopySource> sources, String destPath, String message,
+ void copy(List<CopySource> sources, String destPath,
boolean copyAsChild, boolean makeParents,
- boolean ignoreExternals, Map<String, String> revpropTable)
+ boolean ignoreExternals, Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -331,9 +324,10 @@ public interface ISVNClient
* @throws ClientException If the move operation fails.
* @since 1.5
*/
- void move(Set<String> srcPaths, String destPath, String message,
- boolean force, boolean moveAsChild, boolean makeParents,
- Map<String, String> revpropTable)
+ void move(Set<String> srcPaths, String destPath, boolean force,
+ boolean moveAsChild, boolean makeParents,
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -348,8 +342,9 @@ public interface ISVNClient
* @throws ClientException
* @since 1.5
*/
- void mkdir(Set<String> path, String message, boolean makeParents,
- Map<String, String> revpropTable)
+ void mkdir(Set<String> path, boolean makeParents,
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -429,9 +424,10 @@ public interface ISVNClient
*
* @since 1.5
*/
- void doImport(String path, String url, String message, Depth depth,
+ void doImport(String path, String url, Depth depth,
boolean noIgnore, boolean ignoreUnknownNodeTypes,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -620,11 +616,11 @@ public interface ISVNClient
*
* @param target Path or URL.
* @param pegRevision Revision at which to interpret
- * <code>target</code>. If {@link RevisionKind#unspecified} or
+ * <code>target</code>. If {@link Revision.Kind#unspecified} or
* <code>null</code>, behave identically to {@link
- * #diffSummarize(String, Revision, String, Revision, int,
- * boolean, DiffSummaryCallback)}, using <code>path</code> for
- * both of that method's targets.
+ * #diffSummarize(String, Revision, String, Revision, Depth,
+ * Collection, boolean, DiffSummaryCallback)}, using
+ * <code>path</code> for both of that method's targets.
* @param startRevision Beginning of range for comparsion of
* <code>target</code>.
* @param endRevision End of range for comparsion of
@@ -682,7 +678,7 @@ public interface ISVNClient
*/
void propertySet(String path, String name, String value, Depth depth,
Collection<String> changelists, boolean force,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable, CommitCallback callback)
throws ClientException;
/**
@@ -695,7 +691,7 @@ public interface ISVNClient
* @since 1.5
*/
void propertyRemove(String path, String name, Depth depth,
- Collection<String> changelists)
+ Collection<String> changelists, CommitCallback callback)
throws ClientException;
/**
@@ -711,7 +707,8 @@ public interface ISVNClient
* @since 1.5
*/
void propertyCreate(String path, String name, String value, Depth depth,
- Collection<String> changelists, boolean force)
+ Collection<String> changelists, boolean force,
+ CommitCallback callback)
throws ClientException;
/**
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/Info2.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/Info2.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/Info2.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/Info2.java Wed Sep 15 19:32:26 2010
@@ -26,7 +26,7 @@ package org.apache.subversion.javahl;
import java.util.Date;
/**
- * this class is returned by SVNClientInterface.info2 and contains information
+ * this class is returned by {@link ISVNClient#info2} and contains information
* about items in the repository or working copy
* @since 1.2
*/
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ProgressEvent.java Wed Sep 15 19:32:26 2010
@@ -23,10 +23,11 @@
package org.apache.subversion.javahl;
+import org.apache.subversion.javahl.callback.ProgressCallback;
+
/**
- * The event passed to the {@link
- * ProgressListener#onProgress(ProgressEvent)} API to inform {@link
- * SVNClientInterface} of command progress (in terms of bytes).
+ * The event passed to the {@link ProgressCallback#onProgress} API to inform
+ * {@link ISVNClient} of command progress (in terms of bytes).
*
* @since 1.5
*/
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java Wed Sep 15 19:32:26 2010
@@ -24,10 +24,11 @@
package org.apache.subversion.javahl;
import java.util.EventObject;
+import org.apache.subversion.javahl.callback.ReposNotifyCallback;
/**
- * The event passed to the {@link Notify2#onNotify(NotifyInformation)}
- * API to notify {@link SVNClientInterface} of relevant events.
+ * The event passed to the {@link ReposNotifyCallback#onNotify}
+ * API to notify {@link ISVNClient} of relevant events.
*
* @since 1.2
*/
@@ -43,7 +44,7 @@ public class ReposNotifyInformation exte
private static final long serialVersionUID = 1L;
/**
- * The {@link NotifyAction} which triggered this event.
+ * The {@link Action} which triggered this event.
*/
private Action action;
@@ -70,7 +71,7 @@ public class ReposNotifyInformation exte
/**
* This constructor is to be used by the native code.
*
- * @param action The {@link NotifyAction} which triggered this event.
+ * @param action The {@link Action} which triggered this event.
* @param revision potentially the revision.
*/
public ReposNotifyInformation(Action action, long revision, String warning,
@@ -90,7 +91,7 @@ public class ReposNotifyInformation exte
}
/**
- * @return The {@link NotifyAction} which triggered this event.
+ * @return The {@link Action} which triggered this event.
*/
public Action getAction()
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java Wed Sep 15 19:32:26 2010
@@ -65,9 +65,7 @@ public class SVNClient implements ISVNCl
}
}
- /** Don't call this function! Public fucntion for backward compat reasons
- */
- public long getCppAddr()
+ private long getCppAddr()
{
return cppAddr;
}
@@ -94,6 +92,8 @@ public class SVNClient implements ISVNCl
*/
protected long cppAddr;
+ private ClientContext clientContext = new ClientContext();
+
/**
* @since 1.0
*/
@@ -174,29 +174,34 @@ public class SVNClient implements ISVNCl
/**
* @since 1.2
*/
- public native void notification2(ClientNotifyCallback notify);
+ public void notification2(ClientNotifyCallback notify)
+ {
+ clientContext.notify = notify;
+ }
/**
* @since 1.5
*/
- public native void setConflictResolver(ConflictResolverCallback listener);
+ public void setConflictResolver(ConflictResolverCallback listener)
+ {
+ clientContext.resolver = listener;
+ }
/**
* @since 1.5
*/
- public native void setProgressCallback(ProgressCallback listener);
-
- /**
- * @since 1.0
- */
- public native void commitMessageHandler(CommitMessage messageHandler);
+ public void setProgressCallback(ProgressCallback listener)
+ {
+ clientContext.listener = listener;
+ }
/**
* @since 1.5
*/
- public native void remove(Set<String> paths, String message, boolean force,
+ public native void remove(Set<String> paths, boolean force,
boolean keepLocal,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -225,36 +230,39 @@ public class SVNClient implements ISVNCl
/**
* @since 1.5
*/
- public native long commit(Set<String> paths, String message, Depth depth,
- boolean noUnlock, boolean keepChangelist,
+ public native void commit(Set<String> paths, Depth depth, boolean noUnlock,
+ boolean keepChangelist,
Collection<String> changelists,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
* @since 1.7
*/
public native void copy(List<CopySource> sources, String destPath,
- String message, boolean copyAsChild,
- boolean makeParents, boolean ignoreExternals,
- Map<String, String> revpropTable)
+ boolean copyAsChild, boolean makeParents,
+ boolean ignoreExternals,
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
* @since 1.5
*/
public native void move(Set<String> srcPaths, String destPath,
- String message, boolean force, boolean moveAsChild,
+ boolean force, boolean moveAsChild,
boolean makeParents,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
* @since 1.5
*/
- public native void mkdir(Set<String> paths, String message,
- boolean makeParents,
- Map<String, String> revpropTable)
+ public native void mkdir(Set<String> paths, boolean makeParents,
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -291,10 +299,11 @@ public class SVNClient implements ISVNCl
/**
* @since 1.5
*/
- public native void doImport(String path, String url, String message,
- Depth depth, boolean noIgnore,
+ public native void doImport(String path, String url, Depth depth,
+ boolean noIgnore,
boolean ignoreUnknownNodeTypes,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable,
+ CommitMessageCallback handler, CommitCallback callback)
throws ClientException;
/**
@@ -406,17 +415,20 @@ public class SVNClient implements ISVNCl
public native void propertySet(String path, String name, String value,
Depth depth, Collection<String> changelists,
boolean force,
- Map<String, String> revpropTable)
+ Map<String, String> revpropTable,
+ CommitCallback callback)
throws ClientException;
/**
* @since 1.5
*/
public void propertyRemove(String path, String name, Depth depth,
- Collection<String> changelists)
+ Collection<String> changelists,
+ CommitCallback callback)
throws ClientException
{
- propertySet(path, name, null, depth, changelists, false, null);
+ propertySet(path, name, null, depth, changelists, false, null,
+ callback);
}
/**
@@ -424,10 +436,11 @@ public class SVNClient implements ISVNCl
*/
public void propertyCreate(String path, String name, String value,
Depth depth, Collection<String> changelists,
- boolean force)
+ boolean force, CommitCallback callback)
throws ClientException
{
- propertySet(path, name, value, depth, changelists, force, null);
+ propertySet(path, name, value, depth, changelists, force, null,
+ callback);
}
/**
@@ -627,4 +640,38 @@ public class SVNClient implements ISVNCl
PatchCallback callback)
throws ClientException;
+ /**
+ * A private class to hold the contextual information required to
+ * persist in this object, such as notification handlers.
+ */
+ private class ClientContext
+ implements ClientNotifyCallback, ProgressCallback,
+ ConflictResolverCallback
+ {
+ public ClientNotifyCallback notify = null;
+ public ProgressCallback listener = null;
+ public ConflictResolverCallback resolver = null;
+
+ public void onNotify(ClientNotifyInformation notifyInfo)
+ {
+ if (notify != null)
+ notify.onNotify(notifyInfo);
+ }
+
+ public void onProgress(ProgressEvent event)
+ {
+ if (listener != null)
+ listener.onProgress(event);
+ }
+
+ public ConflictResult resolve(ConflictDescriptor conflict)
+ throws SubversionException
+ {
+ if (resolver != null)
+ return resolver.resolve(conflict);
+ else
+ return new ConflictResult(ConflictResult.Choice.postpone,
+ null);
+ }
+ }
}
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/BlameCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/BlameCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/BlameCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/BlameCallback.java Wed Sep 15 19:32:26 2010
@@ -26,10 +26,11 @@ package org.apache.subversion.javahl.cal
import org.apache.subversion.javahl.ClientException;
import java.util.Map;
+import org.apache.subversion.javahl.ISVNClient;
/**
* This interface is used to receive every single line for a file on a
- * the SVNClientInterface.blame call.
+ * the {@link ISVNClient#blame} call.
*
* @since 1.7
*/
@@ -37,7 +38,7 @@ public interface BlameCallback
{
/**
* the method will be called for every line in a file.
- * @param line the line number for this line
+ * @param lineNum the line number for this line
* @param revision the revision of the last change.
* @param revProps the revision properties for this revision.
* @param mergedRevision the revision of the last merged change.
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ChangelistCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ChangelistCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ChangelistCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ChangelistCallback.java Wed Sep 15 19:32:26 2010
@@ -23,9 +23,11 @@
package org.apache.subversion.javahl.callback;
+import org.apache.subversion.javahl.ISVNClient;
+
/**
* This interface is used to receive every status item for
- * the SVNClientInterface.status call.
+ * the {@link ISVNClient#status} call.
*/
public interface ChangelistCallback
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/DiffSummaryCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/DiffSummaryCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/DiffSummaryCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/DiffSummaryCallback.java Wed Sep 15 19:32:26 2010
@@ -24,6 +24,7 @@
package org.apache.subversion.javahl.callback;
import org.apache.subversion.javahl.DiffSummary;
+import org.apache.subversion.javahl.ISVNClient;
/**
* Subversion diff summarization interface. An implementation which
@@ -45,7 +46,7 @@ public interface DiffSummaryCallback
{
/**
* Implement this interface to receive diff summaries from the
- * {@link SVNClientInterface#diffSummarize} API.
+ * {@link ISVNClient#diffSummarize} API.
*
* @param descriptor A summary of the diff.
*/
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/InfoCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/InfoCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/InfoCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/InfoCallback.java Wed Sep 15 19:32:26 2010
@@ -24,10 +24,11 @@
package org.apache.subversion.javahl.callback;
import org.apache.subversion.javahl.Info2;
+import org.apache.subversion.javahl.ISVNClient;
/**
* This interface is used to retrieve info each result in a
- * SVNClientInterface.info2 call.
+ * {@link ISVNClient#info2} call.
*/
public interface InfoCallback
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ListCallback.java Wed Sep 15 19:32:26 2010
@@ -25,10 +25,11 @@ package org.apache.subversion.javahl.cal
import org.apache.subversion.javahl.Lock;
import org.apache.subversion.javahl.DirEntry;
+import org.apache.subversion.javahl.ISVNClient;
/**
* This interface is used to receive every single line for a file on a
- * the SVNClientInterface.blame call.
+ * the {@link ISVNClient#blame} call.
*/
public interface ListCallback
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/LogMessageCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/LogMessageCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/LogMessageCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/LogMessageCallback.java Wed Sep 15 19:32:26 2010
@@ -24,18 +24,19 @@
package org.apache.subversion.javahl.callback;
import org.apache.subversion.javahl.ChangePath;
+import org.apache.subversion.javahl.ISVNClient;
import java.util.Map;
import java.util.Set;
/**
* This interface is used to receive every log message for the log
- * messages found by a SVNClientInterface.logMessages call.
+ * messages found by a {@link ISVNClient#logMessages} call.
*
* All log messages are returned in a list, which is terminated by an
* invocation of this callback with the revision set to SVN_INVALID_REVNUM.
*
- * If the includeMergedRevisions parameter to SVNClientInterface.logMessages
+ * If the includeMergedRevisions parameter to {@link ISVNClient#logMessages}
* is true, then messages returned through this callback may have the
* hasChildren parameter set. This parameter indicates that a separate list,
* which includes messages for merged revisions, will immediately follow.
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/PatchCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/PatchCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/PatchCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/PatchCallback.java Wed Sep 15 19:32:26 2010
@@ -23,16 +23,19 @@
package org.apache.subversion.javahl.callback;
+import org.apache.subversion.javahl.ISVNClient;
+
/**
* This interface is invoked before each patch in a
- * SVNClientInterface.patch call.
+ * {@link ISVNClient#patch} call.
*/
public interface PatchCallback
{
/**
- * the method will be called for every line in a file.
- * @param path the path.
- * @param properties the properties on the path.
+ * the method will be called for every patch.
+ * @param pathFromPatchfile the path in the path file
+ * @param patchPath the path of the patch
+ * @param rejectPath the path of the reject file
* @return return TRUE to filter out the prospective patch
*/
public boolean singlePatch(String pathFromPatchfile, String patchPath,
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ProplistCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ProplistCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ProplistCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ProplistCallback.java Wed Sep 15 19:32:26 2010
@@ -24,10 +24,11 @@
package org.apache.subversion.javahl.callback;
import java.util.Map;
+import org.apache.subversion.javahl.ISVNClient;
/**
* This interface is used to property lists for each path in a
- * SVNClientInterface.properties call.
+ * {@link ISVNClient#properties} call.
*/
public interface ProplistCallback
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/StatusCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/StatusCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/StatusCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/StatusCallback.java Wed Sep 15 19:32:26 2010
@@ -24,10 +24,11 @@
package org.apache.subversion.javahl.callback;
import org.apache.subversion.javahl.Status;
+import org.apache.subversion.javahl.ISVNClient;
/**
* This interface is used to receive every status item for
- * the SVNClientInterface.status call.
+ * the {@link ISVNClient#status} call.
*/
public interface StatusCallback
{
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java Wed Sep 15 19:32:26 2010
@@ -24,9 +24,13 @@
package org.apache.subversion.javahl.callback;
/**
- * The original interface for receiving callbacks for authentication.
- * Consider this code deprecated -- new applications should use
- * PromptUserPassword3 instead.
+ * <p>The interface for requesting authentication credentials from the
+ * user. Should the javahl bindings need the matching information,
+ * these methodes will be called.</p>
+ *
+ * <p>This callback can also be used to provide the equivalent of the
+ * <code>--no-auth-cache</code> and <code>--non-interactive</code>
+ * arguments accepted by the command-line client.</p>
*/
public interface UserPasswordCallback
{
@@ -41,12 +45,6 @@ public interface UserPasswordCallback
public static final int AcceptTemporary = 1;
/**
- * @deprecated Use the correctly spelled "AcceptTemporary"
- * constant instead.
- */
- public static final int AccecptTemporary = AcceptTemporary;
-
- /**
* Accept the connection to the server <i>forever</i>.
*/
public static final int AcceptPermanently = 2;
@@ -106,4 +104,52 @@ public interface UserPasswordCallback
* @return the password
*/
public String getPassword();
+
+ /**
+ * Request a user name and password from the user, and (usually)
+ * store the auth credential caching preference specified by
+ * <code>maySave</code> (used by {@link #userAllowedSave()}).
+ * Applications wanting to emulate the behavior of
+ * <code>--non-interactive</code> will implement this method in a
+ * manner which does not require user interaction (e.g. a no-op
+ * which assumes pre-cached auth credentials).
+ *
+ * @param realm The realm from which the question originates.
+ * @param username The name of the user in <code>realm</code>.
+ * @param maySave Whether caching of credentials is allowed.
+ * Usually affects the return value of the {@link
+ * #userAllowedSave()} method.
+ * @return Whether the prompt for authentication credentials was
+ * successful (e.g. in a GUI application whether the dialog box
+ * was canceled).
+ */
+ public boolean prompt(String realm, String username, boolean maySave);
+
+ /**
+ * Ask the user a question, and (usually) store the auth
+ * credential caching preference specified by <code>maySave</code>
+ * (used by {@link #userAllowedSave()}). Applications wanting to
+ * emulate the behavior of <code>--non-interactive</code> will
+ * implement this method in a manner which does not require user
+ * interaction (e.g. a no-op).
+ *
+ * @param realm The realm from which the question originates.
+ * @param question The text of the question.
+ * @param showAnswer Whether the answer may be displayed.
+ * @param maySave Whether caching of credentials is allowed.
+ * Usually affects the return value of the {@link
+ * #userAllowedSave()} method.
+ * @return answer as entered or null if canceled
+ */
+ public String askQuestion(String realm, String question,
+ boolean showAnswer, boolean maySave);
+
+ /**
+ * @return Whether the caller allowed caching of credentials the
+ * last time {@link #prompt(String, String, boolean)} was called.
+ * Applications wanting to emulate the behavior of
+ * <code>--no-auth-cache</code> will probably always return
+ * <code>false</code>.
+ */
+ public boolean userAllowedSave();
}
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java Wed Sep 15 19:32:26 2010
@@ -58,7 +58,12 @@ public class ChangePath implements java.
public ChangePath(org.apache.subversion.javahl.ChangePath aChangePath)
{
this(aChangePath.getPath(), aChangePath.getCopySrcRevision(),
- aChangePath.getCopySrcPath(), aChangePath.getAction(),
+ aChangePath.getCopySrcPath(),
+ ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.add) ? 'A' :
+ ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.delete) ? 'D' :
+ ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.replace) ? 'R' :
+ ((aChangePath.getAction() == org.apache.subversion.javahl.ChangePath.Action.modify) ? 'M' :
+ ' ')))),
NodeKind.fromApache(aChangePath.getNodeKind()));
}
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java Wed Sep 15 19:32:26 2010
@@ -29,6 +29,51 @@ package org.tigris.subversion.javahl;
* PromptUserPassword3 instead.
*/
public interface PromptUserPassword
- extends org.apache.subversion.javahl.callback.UserPasswordCallback
{
+ /**
+ * Ask the user for username and password
+ * The entered username/password is retrieved by the getUsername
+ * getPasswort methods.
+ *
+ * @param realm for which server realm this information is requested.
+ * @param username the default username
+ * @return Whether the prompt for authentication credentials was
+ * successful (e.g. in a GUI application whether the dialog box
+ * was canceled).
+ */
+ public boolean prompt(String realm, String username);
+
+ /**
+ * ask the user a yes/no question
+ * @param realm for which server realm this information is
+ * requested.
+ * @param question question to be asked
+ * @param yesIsDefault if yes should be the default
+ * @return the answer
+ */
+ public boolean askYesNo(String realm, String question,
+ boolean yesIsDefault);
+
+ /**
+ * ask the user a question where she answers with a text.
+ * @param realm for which server realm this information is
+ * requested.
+ * @param question question to be asked
+ * @param showAnswer if the answer is shown or hidden
+ * @return the entered text or null if canceled
+ */
+ public String askQuestion(String realm, String question,
+ boolean showAnswer);
+
+ /**
+ * retrieve the username entered during the prompt call
+ * @return the username
+ */
+ public String getUsername();
+
+ /**
+ * retrieve the password entered during the prompt call
+ * @return the password
+ */
+ public String getPassword();
}
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java Wed Sep 15 19:32:26 2010
@@ -35,14 +35,14 @@ import java.io.IOException;
*/
public class SVNAdmin
{
- private org.apache.subversion.javahl.SVNAdmin aSVNAdmin;
+ private org.apache.subversion.javahl.SVNRepos aSVNAdmin;
/**
* Standard empty contructor, builds just the native peer.
*/
public SVNAdmin()
{
- aSVNAdmin = new org.apache.subversion.javahl.SVNAdmin();
+ aSVNAdmin = new org.apache.subversion.javahl.SVNRepos();
cppAddr = aSVNAdmin.getCppAddr();
}
@@ -244,7 +244,7 @@ public class SVNAdmin
* interface to receive the messages
*/
public static interface MessageReceiver
- extends org.apache.subversion.javahl.SVNAdmin.MessageReceiver
+ extends org.apache.subversion.javahl.ISVNRepos.MessageReceiver
{
}
@@ -460,7 +460,9 @@ public class SVNAdmin
{
Set<org.apache.subversion.javahl.Lock> aLocks =
aSVNAdmin.lslocks(
- new File(path));
+ new File(path),
+ Depth.toADepth(
+ Depth.infinity));
Lock[] locks = new Lock[aLocks.size()];
int i = 0;
Modified: subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
URL: http://svn.apache.org/viewvc/subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java?rev=997472&r1=997471&r2=997472&view=diff
==============================================================================
--- subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (original)
+++ subversion/branches/py-tests-as-modules/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java Wed Sep 15 19:32:26 2010
@@ -52,7 +52,9 @@ public class SVNClient implements SVNCli
public SVNClient()
{
aSVNClient = new org.apache.subversion.javahl.SVNClient();
- cppAddr = aSVNClient.getCppAddr();
+ /* This is a bogus value, there really shouldn't be any reason
+ for a user of this class to care. You've been warned. */
+ cppAddr = 0xdeadbeef;
}
/**
@@ -313,12 +315,71 @@ public class SVNClient implements SVNCli
aSVNClient.password(password);
}
+ private class PromptUser1Wrapper
+ implements org.apache.subversion.javahl.callback.UserPasswordCallback
+ {
+ PromptUserPassword oldPrompt;
+
+ PromptUser1Wrapper(PromptUserPassword prompt)
+ {
+ oldPrompt = prompt;
+ }
+
+ public String getPassword()
+ {
+ return oldPrompt.getPassword();
+ }
+
+ public String getUsername()
+ {
+ return oldPrompt.getUsername();
+ }
+
+ public String askQuestion(String realm, String question,
+ boolean showAnswer)
+ {
+ return oldPrompt.askQuestion(realm, question, showAnswer);
+ }
+
+ public boolean askYesNo(String realm, String question,
+ boolean yesIsDefault)
+ {
+ return oldPrompt.askYesNo(realm, question, yesIsDefault);
+ }
+
+ public boolean prompt(String realm, String username)
+ {
+ return oldPrompt.prompt(realm, username);
+ }
+
+ public int askTrustSSLServer(String info, boolean allowPermanently)
+ {
+ return askTrustSSLServer(info, allowPermanently);
+ }
+
+ public boolean userAllowedSave()
+ {
+ return false;
+ }
+
+ public String askQuestion(String realm, String question,
+ boolean showAnswer, boolean maySave)
+ {
+ return askQuestion(realm, question, showAnswer);
+ }
+
+ public boolean prompt(String realm, String username, boolean maySave)
+ {
+ return prompt(realm, username);
+ }
+ }
+
/**
* @since 1.0
*/
public void setPrompt(PromptUserPassword prompt)
{
- aSVNClient.setPrompt(prompt);
+ aSVNClient.setPrompt(new PromptUser1Wrapper(prompt));
}
/**
@@ -657,11 +718,18 @@ public class SVNClient implements SVNCli
/**
* @since 1.0
*/
- public void commitMessageHandler(final CommitMessage messageHandler)
+ public void commitMessageHandler(CommitMessage messageHandler)
{
class MyCommitMessageHandler
- implements org.apache.subversion.javahl.CommitMessage
+ implements org.apache.subversion.javahl.callback.CommitMessageCallback
{
+ private CommitMessage messageHandler;
+
+ public MyCommitMessageHandler(CommitMessage messageHandler)
+ {
+ this.messageHandler = messageHandler;
+ }
+
public String getLogMessage(
Set<org.apache.subversion.javahl.CommitItem> elementsToBeCommited)
{
@@ -683,9 +751,11 @@ public class SVNClient implements SVNCli
}
}
- aSVNClient.commitMessageHandler(new MyCommitMessageHandler());
+ cachedHandler = new MyCommitMessageHandler(messageHandler);
}
+ private org.apache.subversion.javahl.callback.CommitMessageCallback cachedHandler = null;
+
/**
* @deprecated Use {@link #remove(String[], String, boolean, boolean, Map)}
* instead.
@@ -707,7 +777,10 @@ public class SVNClient implements SVNCli
try
{
aSVNClient.remove(new HashSet<String>(Arrays.asList(paths)),
- message, force, keepLocal, revpropTable);
+ force, keepLocal, revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
+ null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -873,12 +946,23 @@ public class SVNClient implements SVNCli
{
try
{
- return aSVNClient.commit(new HashSet<String>(Arrays.asList(paths)),
- message, Depth.toADepth(depth), noUnlock,
- keepChangelist,
- changelists == null ? null
- : Arrays.asList(changelists),
- revpropTable);
+ final long[] revList = { -1 };
+ org.apache.subversion.javahl.callback.CommitCallback callback =
+ new org.apache.subversion.javahl.callback.CommitCallback () {
+ public void commitInfo(org.apache.subversion.javahl.CommitInfo info)
+ { revList[0] = info.getRevision(); }
+ };
+
+ aSVNClient.commit(new HashSet<String>(Arrays.asList(paths)),
+ Depth.toADepth(depth), noUnlock,
+ keepChangelist,
+ changelists == null ? null
+ : Arrays.asList(changelists),
+ revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
+ callback);
+ return revList[0];
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -905,8 +989,11 @@ public class SVNClient implements SVNCli
aCopySources.add(src.toApache());
}
- aSVNClient.copy(aCopySources, destPath, message, copyAsChild,
- makeParents, ignoreExternals, revpropTable);
+ aSVNClient.copy(aCopySources, destPath, copyAsChild,
+ makeParents, ignoreExternals, revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
+ null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -953,8 +1040,11 @@ public class SVNClient implements SVNCli
try
{
aSVNClient.move(new HashSet<String>(Arrays.asList(srcPaths)),
- destPath, message, force, moveAsChild,
- makeParents, revpropTable);
+ destPath, force, moveAsChild, makeParents,
+ revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
+ null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -998,7 +1088,10 @@ public class SVNClient implements SVNCli
try
{
aSVNClient.mkdir(new HashSet<String>(Arrays.asList(paths)),
- message, makeParents, revpropTable);
+ makeParents, revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
+ null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -1178,8 +1271,11 @@ public class SVNClient implements SVNCli
{
try
{
- aSVNClient.doImport(path, url, message, Depth.toADepth(depth),
- noIgnore, ignoreUnknownNodeTypes, revpropTable);
+ aSVNClient.doImport(path, url, Depth.toADepth(depth),
+ noIgnore, ignoreUnknownNodeTypes, revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
+ null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -1760,7 +1856,7 @@ public class SVNClient implements SVNCli
aSVNClient.propertySet(path, name, value, Depth.toADepth(depth),
changelists == null ? null
: Arrays.asList(changelists),
- force, revpropTable);
+ force, revpropTable, null);
}
catch (org.apache.subversion.javahl.ClientException ex)
{
@@ -2531,4 +2627,21 @@ public class SVNClient implements SVNCli
callback.onSummary(new DiffSummary(summary));
}
}
+
+ private class ConstMsg
+ implements org.apache.subversion.javahl.callback.CommitMessageCallback
+ {
+ private String message;
+
+ ConstMsg(String message)
+ {
+ this.message = message;
+ }
+
+ public String getLogMessage(
+ Set<org.apache.subversion.javahl.CommitItem> items)
+ {
+ return message;
+ }
+ }
}