comparison src/org/tmatesoft/hg/repo/HgRemoteRepository.java @ 456:909306e412e2

Refactor LogFacility and SessionContext, better API for both
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Mon, 18 Jun 2012 16:54:00 +0200
parents 2a08466838d3
children b3c16d1aede0
comparison
equal deleted inserted replaced
454:36fd1fd06492 456:909306e412e2
13 * For information on how to redistribute this software under 13 * For information on how to redistribute this software under
14 * the terms of a license other than GNU General Public License 14 * the terms of a license other than GNU General Public License
15 * contact TMate Software at support@hg4j.com 15 * contact TMate Software at support@hg4j.com
16 */ 16 */
17 package org.tmatesoft.hg.repo; 17 package org.tmatesoft.hg.repo;
18
19 import static org.tmatesoft.hg.util.LogFacility.Severity.Info;
18 20
19 import java.io.BufferedReader; 21 import java.io.BufferedReader;
20 import java.io.File; 22 import java.io.File;
21 import java.io.FileOutputStream; 23 import java.io.FileOutputStream;
22 import java.io.IOException; 24 import java.io.IOException;
53 import org.tmatesoft.hg.core.HgBadArgumentException; 55 import org.tmatesoft.hg.core.HgBadArgumentException;
54 import org.tmatesoft.hg.core.HgRemoteConnectionException; 56 import org.tmatesoft.hg.core.HgRemoteConnectionException;
55 import org.tmatesoft.hg.core.HgRepositoryNotFoundException; 57 import org.tmatesoft.hg.core.HgRepositoryNotFoundException;
56 import org.tmatesoft.hg.core.Nodeid; 58 import org.tmatesoft.hg.core.Nodeid;
57 import org.tmatesoft.hg.core.SessionContext; 59 import org.tmatesoft.hg.core.SessionContext;
60 import org.tmatesoft.hg.internal.PropertyMarshal;
58 61
59 /** 62 /**
60 * WORK IN PROGRESS, DO NOT USE 63 * WORK IN PROGRESS, DO NOT USE
61 * 64 *
62 * @see http://mercurial.selenic.com/wiki/WireProtocol 65 * @see http://mercurial.selenic.com/wiki/WireProtocol
78 if (url == null || ctx == null) { 81 if (url == null || ctx == null) {
79 throw new IllegalArgumentException(); 82 throw new IllegalArgumentException();
80 } 83 }
81 this.url = url; 84 this.url = url;
82 sessionContext = ctx; 85 sessionContext = ctx;
83 Object debugProp = ctx.getProperty("hg4j.remote.debug", false); 86 debug = new PropertyMarshal(ctx).getBoolean("hg4j.remote.debug", false);
84 debug = debugProp instanceof Boolean ? ((Boolean) debugProp).booleanValue() : Boolean.parseBoolean(String.valueOf(debugProp));
85 if ("https".equals(url.getProtocol())) { 87 if ("https".equals(url.getProtocol())) {
86 try { 88 try {
87 sslContext = SSLContext.getInstance("SSL"); 89 sslContext = SSLContext.getInstance("SSL");
88 class TrustEveryone implements X509TrustManager { 90 class TrustEveryone implements X509TrustManager {
89 public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { 91 public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
114 Preferences tempNode = Preferences.userRoot().node("xxx"); 116 Preferences tempNode = Preferences.userRoot().node("xxx");
115 tempNode.putByteArray("xxx", url.getUserInfo().getBytes()); 117 tempNode.putByteArray("xxx", url.getUserInfo().getBytes());
116 ai = tempNode.get("xxx", null); 118 ai = tempNode.get("xxx", null);
117 tempNode.removeNode(); 119 tempNode.removeNode();
118 } catch (BackingStoreException ex) { 120 } catch (BackingStoreException ex) {
119 sessionContext.getLog().info(getClass(), ex, null); 121 sessionContext.getLog().dump(getClass(), Info, ex, null);
120 // IGNORE 122 // IGNORE
121 } 123 }
122 authInfo = ai; 124 authInfo = ai;
123 } else { 125 } else {
124 authInfo = null; 126 authInfo = null;