diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-08-05 16:22:51 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-08-05 16:22:51 +0000 |
commit | cf46733632c7279a9fd0fe6ce26f9185a4ae82a9 (patch) | |
tree | da27775a2161723ef342e91af41a8b51fedef405 /tools/examples/ExampleAuthnOld.java | |
parent | bb0ef45f7c46b0ae221b26265ef98a768c33f820 (diff) | |
download | subversion-tarball-master.tar.gz |
subversion-1.9.7HEADsubversion-1.9.7master
Diffstat (limited to 'tools/examples/ExampleAuthnOld.java')
-rw-r--r-- | tools/examples/ExampleAuthnOld.java | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/tools/examples/ExampleAuthnOld.java b/tools/examples/ExampleAuthnOld.java new file mode 100644 index 0000000..cbcd92d --- /dev/null +++ b/tools/examples/ExampleAuthnOld.java @@ -0,0 +1,119 @@ +/* Username/password prompt/save using old org.apache.subversion API. + + Compile against non-installed Subversion JavaHL build: + + javac -cp subversion/bindings/javahl/classes -d subversion/bindings/javahl/classes ExampleAuthnOld.java + + Run: + + LD_LIBRARY_PATH=subversion/libsvn_auth_gnome_keyring/.libs java -cp subversion/bindings/javahl/classes -Djava.library.path=subversion/bindings/javahl/native/.libs ExampleAuthnOld <URL> <config-dir> + + */ +import org.apache.subversion.javahl.*; +import org.apache.subversion.javahl.types.*; +import org.apache.subversion.javahl.callback.*; +import java.io.Console; + +public class ExampleAuthnOld { + + protected static class MyAuthn { + + public static UserPasswordCallback getAuthn() { + return new MyUserPasswordCallback(); + } + + private static class MyUserPasswordCallback + implements UserPasswordCallback { + + private String _username = null; + + public String + getUsername() { + System.out.println("getUsername"); + return _username; + } + + private String _password = null; + + public String + getPassword() { + System.out.println("getPassword"); + return _password; + } + + public boolean + userAllowedSave() { + System.out.println("userAllowedSave"); + return true; + } + + public boolean + askYesNo(String realm, String question, boolean yesIsDefault) { + System.out.println("askYesNo"); + System.out.print(question + " (y/n): "); + String s = System.console().readLine(); + return s.equals("y") ? true : s.equals("") ? yesIsDefault : false; + } + + public boolean + prompt(String realm, String username, boolean maySave) { + System.out.println("prompt"); + System.out.println("Realm: " + realm); + String prompt; + if (username == null) { + System.out.print("Username: "); + _username = System.console().readLine(); + prompt = "Password: "; + } else { + _username = username; + prompt = "Password for " + username + ": "; + } + _password = new String(System.console().readPassword(prompt)); + return maySave; + } + + public boolean + prompt(String realm, String username) { + System.out.println("prompt not implemented!"); + return true; + } + + public String + askQuestion(String realm, + String question, + boolean showAnswer, + boolean maySave) { + System.out.println("askQuestion not implemented!"); + return null; + } + + public String + askQuestion(String realm, String question, boolean showAnswer) { + System.out.println("askQuestion not implemented!"); + return null; + } + + public int + askTrustSSLServer(String info, boolean allowPermanently) { + System.out.println("askTrustSSLServer not implemented!"); + return UserPasswordCallback.AcceptTemporary; + } + } + } + + public static void main(String argv[]) { + + if (argv.length != 2) { + System.err.println("usage: ExampleAuthnOld <URL> <config-dir>"); + return; + } + ISVNClient client = new SVNClient(); + client.setPrompt(MyAuthn.getAuthn()); + try { + client.setConfigDirectory(argv[1]); + client.revProperty(argv[0], "svn:log", Revision.getInstance(0)); + } catch (Exception e) { + e.printStackTrace(); + } + } +} |