diff options
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(); + } + } +} |