*** empty log message ***
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
index 39b931e..29bc061 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
@@ -52,6 +52,7 @@
import org.eclipse.update.core.Utilities;
import org.eclipse.update.core.model.InstallAbortedException;
import org.eclipse.update.internal.core.connection.ConnectionFactory;
+import org.eclipse.update.internal.core.connection.HttpResponse;
import org.eclipse.update.internal.core.connection.IResponse;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
@@ -558,6 +559,7 @@
if (result != IStatusCodes.HTTP_OK) {
String serverMsg = response.getStatusMessage();
+ response.close();
throw new FatalIOException(NLS.bind(Messages.ContentReference_HttpNok, (new Object[] { new Integer(result), serverMsg, url })));
}
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/FileResponse.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/FileResponse.java
index eba7e3e..62887cc 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/FileResponse.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/FileResponse.java
@@ -40,6 +40,10 @@
public int getStatusCode() {
return IStatusCodes.HTTP_OK;
}
+
+ public void close() {
+ // nothing to close
+ }
public String getStatusMessage() {
return ""; //$NON-NLS-1$
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/HttpResponse.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/HttpResponse.java
index 6b6ae27..4199e1d 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/HttpResponse.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/HttpResponse.java
@@ -133,6 +133,17 @@
}
return in;
}
+
+ public void close() {
+ if( null != in ) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ }
+ in = null;
+ }
+ }
+
/**
* @see IResponse#getInputStream(IProgressMonitor)
*/
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/IResponse.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/IResponse.java
index e35efff..794b940 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/IResponse.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/IResponse.java
@@ -68,4 +68,9 @@
* @return
*/
public long getLastModified();
+
+ /**
+ * Close the connection if open.
+ */
+ public void close();
}
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/OtherResponse.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/OtherResponse.java
index aa5f933..8e89f9c 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/OtherResponse.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/connection/OtherResponse.java
@@ -38,6 +38,16 @@
return in;
}
+ public void close() {
+ if( null != in ) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ }
+ in = null;
+ }
+ }
+
/**
* @see IResponse#getInputStream(IProgressMonitor)
*/
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
index 54676e7..a0f641f 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
@@ -101,7 +101,8 @@
automaticallyChooseMirrorCheckbox =
new Button(mainComposite, SWT.CHECK | SWT.LEFT);
- automaticallyChooseMirrorCheckbox.setText(UpdateUIMessages.MainPreferencePage_automaticallyChooseMirror);
+ automaticallyChooseMirrorCheckbox.setText(UpdateUIMessages.MainPreferencePage_automaticallyChooseMirror);
+ gd = new GridData();
gd.horizontalSpan = 2;
automaticallyChooseMirrorCheckbox.setLayoutData(gd);
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java
index b38d373..4230050 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java
@@ -11,6 +11,7 @@
package org.eclipse.update.internal.ui.wizards;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.osgi.util.NLS;
@@ -21,6 +22,7 @@
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.List;
@@ -28,6 +30,7 @@
import org.eclipse.swt.widgets.Text;
import org.eclipse.update.core.ISiteWithMirrors;
import org.eclipse.update.core.IURLEntry;
+import org.eclipse.update.internal.core.UpdateCore;
import org.eclipse.update.internal.ui.UpdateUIMessages;
@@ -37,6 +40,7 @@
private IURLEntry[] mirrors;
private List mirrorsList;
private IURLEntry mirrorSelected;
+ private Button automaticallyChooseMirrorCheckbox;
//private Button okButton;
/**
* @param parentShell
@@ -103,6 +107,13 @@
mirrorsList.select(0);
+ automaticallyChooseMirrorCheckbox =
+ new Button(composite, SWT.CHECK | SWT.LEFT);
+ automaticallyChooseMirrorCheckbox.setText(UpdateUIMessages.MainPreferencePage_automaticallyChooseMirror);
+ data = new GridData();
+ data.horizontalSpan = 2;
+ automaticallyChooseMirrorCheckbox.setLayoutData(data);
+
Dialog.applyDialogFont(composite);
mirrorsList.addMouseListener( new MouseListener() {
@@ -125,6 +136,11 @@
// first entry is the site itself
if (i <mirrors.length)
mirrorSelected = mirrors[i];
+ if (automaticallyChooseMirrorCheckbox.getSelection()) {
+ Preferences prefs = UpdateCore.getPlugin().getPluginPreferences();
+ prefs.setValue(UpdateCore.P_AUTOMATICALLY_CHOOSE_MIRROR, true);
+ UpdateCore.getPlugin().savePluginPreferences();
+ }
super.okPressed();
}