AERI reporting UnknownHostException when networking down
Bug: 495223
Change-Id: I6dc26ba06e419cb74d3ae88120166898a5453b13
Signed-off-by: Marcel Bruch <marcel.bruch@codetrails.com>
diff --git a/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/SystemControl.java b/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/SystemControl.java
index 7f6beff..45dd5ed 100644
--- a/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/SystemControl.java
+++ b/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/SystemControl.java
@@ -98,7 +98,7 @@
}
public static boolean isDebug() {
- return getSystemSettings().isDebugEnabled();
+ return Constants.DEBUG || getSystemSettings().isDebugEnabled();
}
public static void registerHandlers(Class<?>... handlers) {
diff --git a/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/filters/DecoratingDebugFilter.java b/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/filters/DecoratingDebugFilter.java
index 60b77c4..93da5f8 100644
--- a/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/filters/DecoratingDebugFilter.java
+++ b/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/filters/DecoratingDebugFilter.java
@@ -7,8 +7,6 @@
*/
package org.eclipse.epp.logging.aeri.core.filters;
-import static org.eclipse.epp.logging.aeri.core.Constants.DEBUG;
-
import java.text.MessageFormat;
import org.eclipse.core.runtime.ILog;
@@ -17,6 +15,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.epp.logging.aeri.core.Constants;
import org.eclipse.epp.logging.aeri.core.IReport;
+import org.eclipse.epp.logging.aeri.core.SystemControl;
import org.eclipse.jdt.annotation.Nullable;
import org.osgi.framework.FrameworkUtil;
@@ -48,7 +47,7 @@
@Override
public boolean apply(@Nullable T input) {
boolean apply = predicate.apply(input);
- if (!apply && DEBUG) {
+ if (!apply && SystemControl.isDebug()) {
if (input instanceof IStatus) {
debugStatus((IStatus) input);
} else if (input instanceof IReport) {
diff --git a/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/util/Logs.java b/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/util/Logs.java
index 2a41fad..754f326 100644
--- a/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/util/Logs.java
+++ b/bundles/org.eclipse.epp.logging.aeri.core/src/org/eclipse/epp/logging/aeri/core/util/Logs.java
@@ -26,7 +26,7 @@
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
-import org.eclipse.epp.logging.aeri.core.Constants;
+import org.eclipse.epp.logging.aeri.core.SystemControl;
import org.eclipse.epp.logging.aeri.core.l10n.LogMessages;
import org.eclipse.jdt.annotation.Nullable;
import org.osgi.framework.Bundle;
@@ -390,7 +390,7 @@
}
public static void debug(String message, Throwable throwable, Object... args) {
- if (Constants.DEBUG) {
+ if (SystemControl.isDebug()) {
LogMessages log = new LogMessages(IStatus.INFO, 404, message);
log(log, throwable, args);
}
diff --git a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/notifications/MylynNotificationsSupport.java b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/notifications/MylynNotificationsSupport.java
index 8709b07..95ce710 100644
--- a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/notifications/MylynNotificationsSupport.java
+++ b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/notifications/MylynNotificationsSupport.java
@@ -12,7 +12,6 @@
import static org.eclipse.epp.internal.logging.aeri.ide.IDEWorkflow.TOPIC_BASE;
import static org.eclipse.epp.internal.logging.aeri.ide.utils.IDEConstants.BUNDLE_ID;
import static org.eclipse.epp.internal.logging.aeri.ide.utils.Servers.sort;
-import static org.eclipse.epp.logging.aeri.core.Constants.DEBUG;
import java.util.List;
import java.util.Set;
@@ -27,6 +26,7 @@
import org.eclipse.epp.internal.logging.aeri.ide.ILogEventGroup;
import org.eclipse.epp.internal.logging.aeri.ide.IServerDescriptor;
import org.eclipse.epp.internal.logging.aeri.ide.l10n.LogMessages;
+import org.eclipse.epp.logging.aeri.core.SystemControl;
import org.eclipse.epp.logging.aeri.core.util.Logs;
import org.eclipse.mylyn.commons.notifications.ui.NotificationsUi;
@@ -102,7 +102,7 @@
}
private void testIsNotificationInProgress() {
- if (DEBUG && isNotificationInProgress()) {
+ if (SystemControl.isDebug() && isNotificationInProgress()) {
Logs.log(LogMessages.DEBUG_NOTIFICATION_IN_PROGRESS, ImmutableList.of(displayed));
}
}
diff --git a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerProblemsHistory.java b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerProblemsHistory.java
index 7343bbd..7c5fcff 100644
--- a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerProblemsHistory.java
+++ b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerProblemsHistory.java
@@ -15,6 +15,7 @@
import java.io.File;
import java.io.IOException;
+import java.net.UnknownHostException;
import java.util.concurrent.CancellationException;
import java.util.concurrent.TimeUnit;
@@ -302,6 +303,9 @@
return Status.OK_STATUS;
} catch (CancellationException e) {
return Status.CANCEL_STATUS;
+ } catch (UnknownHostException e) {
+ Logs.debug("Failed to connect to server", e);
+ return Status.CANCEL_STATUS;
} catch (Exception e) {
log(WARN_INDEX_UPDATE_FAILED, e);
return Status.OK_STATUS;
diff --git a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/utils/UploadReportsScheduler.java b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/utils/UploadReportsScheduler.java
index cb3397d..e871db7 100644
--- a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/utils/UploadReportsScheduler.java
+++ b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/utils/UploadReportsScheduler.java
@@ -11,6 +11,7 @@
import static org.eclipse.epp.internal.logging.aeri.ide.l10n.LogMessages.WARN_RESPONSE_UPLOAD_REPORT_FAILED;
import static org.eclipse.epp.internal.logging.aeri.ide.utils.Formats.format;
+import java.net.UnknownHostException;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -52,6 +53,13 @@
IProblemState response = cx.submit(event.getStatus(), event.getContext(), SubMonitor.convert(monitor, 1));
checkNotNull(response, "Server returned null response"); //$NON-NLS-1$
event.setResponse(response);
+ } catch (UnknownHostException e) {
+ Logs.debug("Failed to connect to server ''{0}''", e, server.getName());
+ IProblemState response = IModelFactory.eINSTANCE.createProblemState();
+ response.setStatus(ProblemStatus.FAILURE);
+ response.setMessage(
+ format(Messages.RESPONSE_REPORT_UPLOAD_FAILED, server.getName(), "Unknown Host Exception: " + e.getMessage()));
+ event.setResponse(response);
} catch (Exception e) {
Logs.log(WARN_RESPONSE_UPLOAD_REPORT_FAILED, e, server.getName(), e.getMessage());
IProblemState response = IModelFactory.eINSTANCE.createProblemState();
@@ -81,8 +89,7 @@
public void schedule(ILogEventGroup group) {
if (group == null) {
- Logs.warn(
- "Got a NULL log event group. Please comment on bug 494165 if you know how to reproduce this error.");
+ Logs.warn("Got a NULL log event group. Please comment on bug 494165 if you know how to reproduce this error.");
return;
}
uploadQueue.add(group);