Author: hwright
Date: Wed Sep 1 19:10:15 2010
New Revision: 991656
URL: http://svn.apache.org/viewvc?rev=991656&view=rev
Log:
JavaHL: Remove the native wrapper for doImport() by updating the public API
to accept a commit message handler.
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
(testBasicImport, testBasicImportIgnores): Update tests.
(ConstMsg): New helper class.
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
(setUp): Update the import API.
* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
(doImport): Update the public API to add a log message callback.
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
(doImport): Same.
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
(commitMessageHandler): Update wrapper.
(cachedHandler): New.
(doImport): Update wrapper.
(ConstMsg): New.
Modified:
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
Modified:
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
---
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
(original)
+++
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
Wed Sep 1 19:10:15 2010
@@ -432,9 +432,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, CommitCallback callback)
+ Map<String, String> revpropTable,
+ CommitMessage handler, CommitCallback callback)
throws ClientException;
/**
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=991656&r1=991655&r2=991656&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
Wed Sep 1 19:10:15 2010
@@ -370,23 +370,11 @@ public class SVNClient implements ISVNCl
/**
* @since 1.5
*/
- public void doImport(String path, String url, String message,
- Depth depth, boolean noIgnore,
- boolean ignoreUnknownNodeTypes,
- Map<String, String> revpropTable,
- CommitCallback callback)
- throws ClientException
- {
- doImport(path, url, depth, noIgnore, ignoreUnknownNodeTypes,
- revpropTable, new ConstMsg(message), callback);
- }
-
- private native void doImport(String path, String url,
- Depth depth, boolean noIgnore,
- boolean ignoreUnknownNodeTypes,
- Map<String, String> revpropTable,
- CommitMessage handler,
- CommitCallback callback)
+ public native void doImport(String path, String url, Depth depth,
+ boolean noIgnore,
+ boolean ignoreUnknownNodeTypes,
+ Map<String, String> revpropTable,
+ CommitMessage handler, CommitCallback callback)
throws ClientException;
/**
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=991656&r1=991655&r2=991656&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
Wed Sep 1 19:10:15 2010
@@ -716,11 +716,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
{
+ private CommitMessage messageHandler;
+
+ public MyCommitMessageHandler(CommitMessage messageHandler)
+ {
+ this.messageHandler = messageHandler;
+ }
+
public String getLogMessage(
Set<org.apache.subversion.javahl.CommitItem>
elementsToBeCommited)
{
@@ -742,9 +749,13 @@ public class SVNClient implements SVNCli
}
}
- aSVNClient.commitMessageHandler(new MyCommitMessageHandler());
+ aSVNClient.commitMessageHandler(new MyCommitMessageHandler(
+ messageHandler));
+ cachedHandler = new MyCommitMessageHandler(messageHandler);
}
+ private org.apache.subversion.javahl.CommitMessage cachedHandler = null;
+
/**
* @deprecated Use {...@link #remove(String[], String, boolean, boolean,
Map)}
* instead.
@@ -1246,8 +1257,10 @@ public class SVNClient implements SVNCli
{
try
{
- aSVNClient.doImport(path, url, message, Depth.toADepth(depth),
+ aSVNClient.doImport(path, url, Depth.toADepth(depth),
noIgnore, ignoreUnknownNodeTypes, revpropTable,
+ message == null ? cachedHandler
+ : new ConstMsg(message),
null);
}
catch (org.apache.subversion.javahl.ClientException ex)
@@ -2600,4 +2613,21 @@ public class SVNClient implements SVNCli
callback.onSummary(new DiffSummary(summary));
}
}
+
+ private class ConstMsg
+ implements org.apache.subversion.javahl.CommitMessage
+ {
+ private String message;
+
+ ConstMsg(String message)
+ {
+ this.message = message;
+ }
+
+ public String getLogMessage(
+ Set<org.apache.subversion.javahl.CommitItem> items)
+ {
+ return message;
+ }
+ }
}
Modified:
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
---
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
(original)
+++
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
Wed Sep 1 19:10:15 2010
@@ -1751,9 +1751,9 @@ public class BasicTests extends SVNTests
addExpectedCommitItem(thisTest.getWCPath(),
null, "new_file", NodeKind.none, CommitItemStateFlags.Add);
client.doImport(file.getAbsolutePath(),
- thisTest.getUrl()+"/dirA/dirB/new_file",
- "log message for new import", Depth.infinity,
- false, false, null, null);
+ thisTest.getUrl()+"/dirA/dirB/new_file", Depth.infinity,
+ false, false, null,
+ new ConstMsg("log message for new import"), null);
// delete new_file
file.delete();
@@ -1918,8 +1918,8 @@ public class BasicTests extends SVNTests
addExpectedCommitItem(thisTest.getWCPath(),
null, "dir", NodeKind.none, CommitItemStateFlags.Add);
client.doImport(dir.getAbsolutePath(), thisTest.getUrl()+"/dir",
- "log message for import", Depth.infinity,
- false, false, null, null);
+ Depth.infinity, false, false, null,
+ new ConstMsg("log message for import"), null);
// remove dir
removeDirOrFile(dir);
@@ -3528,6 +3528,21 @@ public class BasicTests extends SVNTests
}
}
+ private class ConstMsg implements CommitMessage
+ {
+ private String message;
+
+ ConstMsg(String message)
+ {
+ this.message = message;
+ }
+
+ public String getLogMessage(Set<CommitItem> items)
+ {
+ return message;
+ }
+ }
+
private Map<String, byte[]> collectProperties(String path,
Revision revision,
Revision pegRevision, Depth depth,
Modified:
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=991656&r1=991655&r2=991656&view=diff
==============================================================================
---
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
(original)
+++
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
Wed Sep 1 19:10:15 2010
@@ -237,7 +237,8 @@ class SVNTests extends TestCase
addExpectedCommitItem(greekFiles.getAbsolutePath(), null, null,
NodeKind.none, CommitItemStateFlags.Add);
client.doImport(greekFiles.getAbsolutePath(), makeReposUrl(greekRepos),
- null, Depth.infinity, false, false, null, null);
+ Depth.infinity, false, false, null,
+ new MyCommitMessage(), null);
admin.dump(greekRepos, new FileOutputStream(greekDump),
null, null, false, false, null);
}