diff options
Diffstat (limited to 'tools/examples/ExampleAuthnVeryOld.java')
-rw-r--r-- | tools/examples/ExampleAuthnVeryOld.java | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/tools/examples/ExampleAuthnVeryOld.java b/tools/examples/ExampleAuthnVeryOld.java new file mode 100644 index 0000000..b2bd8d0 --- /dev/null +++ b/tools/examples/ExampleAuthnVeryOld.java @@ -0,0 +1,118 @@ +/* Username/password prompt/save using very old org.tigris.subversion API. + + Compile against non-installed Subversion JavaHL build: + + javac -cp subversion/bindings/javahl/classes -d subversion/bindings/javahl/classes ExampleAuthnVeryOld.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 ExampleAuthnVeryOld <URL> <config-dir> + + */ +import org.tigris.subversion.javahl.*; +import java.io.Console; + +public class ExampleAuthnVeryOld { + + protected static class MyAuthn { + + public static PromptUserPassword3 getAuthn() { + return new MyUserPasswordCallback(); + } + + private static class MyUserPasswordCallback + implements PromptUserPassword3 { + + 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 PromptUserPassword3.AcceptTemporary; + } + } + } + + public static void main(String argv[]) { + + if (argv.length != 2) { + System.err.println("usage: ExampleAuthnVeryOld <URL> <config-dir>"); + return; + } + SVNClientInterface client = new SVNClient(); + client.setPrompt(MyAuthn.getAuthn()); + try { + client.setConfigDirectory(argv[1]); + client.logMessages(argv[0], Revision.getInstance(0), + Revision.getInstance(0), false, false, 0); + } catch (Exception e) { + e.printStackTrace(); + } + } +} |