| /* 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(); | |
| } | |
| } | |
| } |