2424import java .util .concurrent .CopyOnWriteArrayList ;
2525import java .util .logging .Level ;
2626
27+ import jd .controlling .accountchecker .AccountChecker .AccountCheckJob ;
28+ import jd .controlling .accountchecker .AccountCheckerThread ;
29+ import jd .controlling .downloadcontroller .AccountCache .CachedAccount ;
30+ import jd .controlling .downloadcontroller .DownloadLinkCandidate ;
31+ import jd .controlling .downloadcontroller .SingleDownloadController ;
32+ import jd .controlling .linkchecker .LinkCheckerThread ;
33+ import jd .controlling .linkcrawler .LinkCrawlerThread ;
34+ import jd .http .Browser ;
35+ import jd .http .ClonedProxy ;
36+ import jd .http .ProxySelectorInterface ;
37+ import jd .http .Request ;
38+ import jd .nutils .encoding .Encoding ;
39+ import jd .plugins .Account ;
40+ import jd .plugins .AccountInfo ;
41+ import jd .plugins .MultiHostHost ;
42+ import jd .plugins .Plugin ;
43+ import jd .plugins .PluginForHost ;
44+
2745import org .appwork .exceptions .WTFException ;
2846import org .appwork .net .protocol .http .HTTPConstants ;
2947import org .appwork .scheduler .DelayedRunnable ;
85103import com .btr .proxy .util .Logger .LogBackEnd ;
86104import com .btr .proxy .util .Logger .LogLevel ;
87105
88- import jd .controlling .accountchecker .AccountChecker .AccountCheckJob ;
89- import jd .controlling .accountchecker .AccountCheckerThread ;
90- import jd .controlling .downloadcontroller .AccountCache .CachedAccount ;
91- import jd .controlling .downloadcontroller .DownloadLinkCandidate ;
92- import jd .controlling .downloadcontroller .SingleDownloadController ;
93- import jd .controlling .linkchecker .LinkCheckerThread ;
94- import jd .controlling .linkcrawler .LinkCrawlerThread ;
95- import jd .http .Browser ;
96- import jd .http .ClonedProxy ;
97- import jd .http .ProxySelectorInterface ;
98- import jd .http .Request ;
99- import jd .nutils .encoding .Encoding ;
100- import jd .plugins .Account ;
101- import jd .plugins .AccountInfo ;
102- import jd .plugins .Plugin ;
103- import jd .plugins .PluginForHost ;
104-
105106//import com.btr.proxy.search.ProxySearchStrategy;
106107//import com.btr.proxy.search.browser.firefox.FirefoxProxySearchStrategy;
107108//import com.btr.proxy.search.desktop.DesktopProxySearchStrategy;
117118//import com.btr.proxy.util.Logger.LogLevel;
118119public class ProxyController implements ProxySelectorInterface {
119120 public static final URLStreamHandler SOCKETURLSTREAMHANDLER = new URLStreamHandler () {
120- @ Override
121- protected URLConnection openConnection (URL u ) throws IOException {
122- throw new IOException ("not implemented" );
123- }
124- };
121+ @ Override
122+ protected URLConnection openConnection (URL u ) throws IOException {
123+ throw new IOException ("not implemented" );
124+ }
125+ };
125126 private static final ProxyController INSTANCE = new ProxyController ();
126127
127128 public static final ProxyController getInstance () {
@@ -133,27 +134,21 @@ public static final ProxyController getInstance() {
133134 private final InternetConnectionSettings config ;
134135 private final LogSource logger ;
135136 private final Queue QUEUE = new Queue (getClass ().getName ()) {
136- @ Override
137- public void killQueue () {
138- LogController .CL ().log (new Throwable ("YOU CANNOT KILL ME!" ));
139- /*
140- * this
141- * queue
142- * can
143- * '
144- * t
145- * be
146- * killed
147- */
148- }
149- };
137+ @ Override
138+ public void killQueue () {
139+ LogController .CL ().log (new Throwable ("YOU CANNOT KILL ME!" ));
140+ /*
141+ * this queue can ' t be killed
142+ */
143+ }
144+ };
150145 private final ConfigEventSender <Object > customProxyListEventSender ;
151146 private final EventSuppressor <ConfigEvent > eventSuppressor = new EventSuppressor <ConfigEvent >() {
152- @ Override
153- public boolean suppressEvent (ConfigEvent eventType ) {
154- return true ;
155- }
156- };
147+ @ Override
148+ public boolean suppressEvent (ConfigEvent eventType ) {
149+ return true ;
150+ }
151+ };
157152
158153 public Queue getQUEUE () {
159154 return QUEUE ;
@@ -205,16 +200,16 @@ public String toString() {
205200 });
206201 getEventSender ().addListener (new DefaultEventListener <ProxyEvent <AbstractProxySelectorImpl >>() {
207202 final DelayedRunnable asyncSaving = new DelayedRunnable (5000l , 60000l ) {
208- @ Override
209- public void delayedrun () {
210- ProxyController .this .saveProxySettings ();
211- }
203+ @ Override
204+ public void delayedrun () {
205+ ProxyController .this .saveProxySettings ();
206+ }
212207
213- @ Override
214- public String getID () {
215- return "ProxyController" ;
216- }
217- };
208+ @ Override
209+ public String getID () {
210+ return "ProxyController" ;
211+ }
212+ };
218213
219214 @ Override
220215 public void onEvent (final ProxyEvent <AbstractProxySelectorImpl > event ) {
@@ -246,9 +241,9 @@ private String assignHost(final PluginFinder pluginFinder, final Map<String, Str
246241 String assignedHost = pluginFinder .assignHost (host );
247242 if (assignedHost == null ) {
248243 final AccountInfo ai = new AccountInfo ();
249- final List <String > assigned = ai .setMultiHostSupport (null , Arrays .asList (new String [] { host } ), pluginFinder );
244+ final List <MultiHostHost > assigned = ai .setMultiHostSupportV2 (null , Arrays .asList (new MultiHostHost ( host ) ), pluginFinder );
250245 if (assigned != null && assigned .size () == 1 ) {
251- assignedHost = assigned .get (0 );
246+ assignedHost = assigned .get (0 ). getDomain () ;
252247 }
253248 }
254249 if (assignedHost == null ) {
0 commit comments