Skip to content

Commit d1cbd8c

Browse files
committed
Removed SettingsClientException
1 parent bdf40cd commit d1cbd8c

7 files changed

Lines changed: 32 additions & 29 deletions

File tree

src/main/java/com/exceptionless/exceptionlessclient/ExceptionlessClient.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
import com.exceptionless.exceptionlessclient.configuration.Configuration;
44
import com.exceptionless.exceptionlessclient.configuration.ConfigurationManager;
5+
import com.exceptionless.exceptionlessclient.enums.EventPropertyKey;
6+
import com.exceptionless.exceptionlessclient.enums.EventType;
57
import com.exceptionless.exceptionlessclient.models.Event;
68
import com.exceptionless.exceptionlessclient.models.EventPluginContext;
79
import com.exceptionless.exceptionlessclient.models.PluginContext;
810
import com.exceptionless.exceptionlessclient.models.UserDescription;
9-
import com.exceptionless.exceptionlessclient.enums.EventPropertyKey;
10-
import com.exceptionless.exceptionlessclient.enums.EventType;
11-
import com.exceptionless.exceptionlessclient.submission.SubmissionResponse;
1211
import com.exceptionless.exceptionlessclient.plugins.EventPluginRunner;
12+
import com.exceptionless.exceptionlessclient.submission.SubmissionResponse;
1313
import com.exceptionless.exceptionlessclient.utils.VisibleForTesting;
1414
import lombok.Builder;
1515
import lombok.Getter;
@@ -269,9 +269,16 @@ public SubmissionResponse updateEmailAndDescription(
269269
.postUserDescription(
270270
referenceId,
271271
UserDescription.builder().description(description).emailAddress(email).build());
272+
if (response.hasException()) {
273+
log.error(
274+
String.format("Failed to submit user email and description for event: %s", referenceId),
275+
response.getException());
276+
}
272277
if (!response.isSuccess()) {
273278
log.error(
274-
String.format("Failed to submit user email and description for event: %s", referenceId));
279+
String.format(
280+
"Failed to submit user email and description for event: %s, code: %s",
281+
referenceId, response.getCode()));
275282
}
276283

277284
return response;

src/main/java/com/exceptionless/exceptionlessclient/exceptions/SettingsClientException.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/main/java/com/exceptionless/exceptionlessclient/settings/DefaultSettingsClient.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.exceptionless.exceptionlessclient.settings;
22

33
import com.exceptionless.exceptionlessclient.configuration.Configuration;
4-
import com.exceptionless.exceptionlessclient.exceptions.SettingsClientException;
54
import com.exceptionless.exceptionlessclient.utils.Utils;
65
import com.exceptionless.exceptionlessclient.utils.VisibleForTesting;
76
import com.fasterxml.jackson.core.type.TypeReference;
@@ -64,7 +63,7 @@ public SettingsResponse getSettings(long version) {
6463
.settings(serverSettings)
6564
.build();
6665
} catch (Exception e) {
67-
throw new SettingsClientException(e);
66+
return SettingsResponse.builder().exception(e).build();
6867
}
6968
}
7069
}

src/main/java/com/exceptionless/exceptionlessclient/settings/SettingsManager.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.exceptionless.exceptionlessclient.settings;
22

3-
import com.exceptionless.exceptionlessclient.exceptions.SettingsClientException;
43
import com.exceptionless.exceptionlessclient.models.storage.StorageItem;
54
import com.exceptionless.exceptionlessclient.storage.StorageProviderIF;
65
import lombok.Builder;
@@ -80,8 +79,6 @@ public void updateSettings() {
8079
storageProvider.getSettings().save(response.getSettings());
8180
propertyChangeSupport.firePropertyChange(
8281
Property.SETTINGS, prevValue, response.getSettings());
83-
} catch (SettingsClientException e) {
84-
log.error(String.format("Error retrieving settings for v%s", getVersion()), e);
8582
} finally {
8683
synchronized (this) {
8784
updatingSettings = false;
@@ -90,6 +87,12 @@ public void updateSettings() {
9087
}
9188

9289
private boolean shouldNotUpdate(SettingsResponse response) {
90+
if (response.hasException()) {
91+
log.error(
92+
String.format("Error retrieving settings for v%s", getVersion()),
93+
response.getException());
94+
return true;
95+
}
9396
if (response.isNotModified()) {
9497
log.debug("No need to update, settings are not modified");
9598
return true;

src/main/java/com/exceptionless/exceptionlessclient/settings/SettingsResponse.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public class SettingsResponse {
99
int code;
1010
String body;
1111
ServerSettings settings;
12+
Exception exception;
1213

1314
public boolean isSuccess() {
1415
return code >= 200 && code <= 299;
@@ -17,4 +18,8 @@ public boolean isSuccess() {
1718
public boolean isNotModified() {
1819
return code == 304;
1920
}
21+
22+
public boolean hasException() {
23+
return exception != null;
24+
}
2025
}

src/test/java/com/exceptionless/exceptionlessclient/settings/DefaultSettingsClientTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.exceptionless.exceptionlessclient.TestFixtures;
44
import com.exceptionless.exceptionlessclient.configuration.Configuration;
5-
import com.exceptionless.exceptionlessclient.exceptions.SettingsClientException;
65
import okhttp3.*;
76
import org.junit.jupiter.api.BeforeEach;
87
import org.junit.jupiter.api.Test;
@@ -14,7 +13,6 @@
1413
import java.util.Map;
1514

1615
import static org.assertj.core.api.Assertions.assertThat;
17-
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1816
import static org.mockito.ArgumentMatchers.any;
1917
import static org.mockito.ArgumentMatchers.argThat;
2018
import static org.mockito.Mockito.doReturn;
@@ -101,12 +99,13 @@ public void itCanHandleNullSettingsReturnedByTheServer() throws IOException {
10199
}
102100

103101
@Test
104-
public void itCanMapAnyExceptionToSettingsClientException() {
105-
RuntimeException e = new RuntimeException("test");
102+
public void itCanHandleAllExceptions() {
103+
Exception e = new RuntimeException("test");
106104
doThrow(e).when(httpClient).newCall(any());
107105

108-
assertThatThrownBy(() -> settingsClient.getSettings(1))
109-
.isInstanceOf(SettingsClientException.class)
110-
.hasMessage("java.lang.RuntimeException: test");
106+
SettingsResponse response = settingsClient.getSettings(1);
107+
108+
assertThat(response.hasException()).isTrue();
109+
assertThat(response.getException()).isSameAs(e);
111110
}
112111
}

src/test/java/com/exceptionless/exceptionlessclient/settings/SettingsManagerTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.exceptionless.exceptionlessclient.settings;
22

3-
import com.exceptionless.exceptionlessclient.exceptions.SettingsClientException;
43
import com.exceptionless.exceptionlessclient.storage.InMemoryStorage;
54
import com.exceptionless.exceptionlessclient.storage.InMemoryStorageProvider;
65
import org.junit.jupiter.api.BeforeEach;
@@ -152,7 +151,9 @@ public void itWillNotSaveSettingsIfNoSettingsReturnedByTheServer() {
152151

153152
@Test
154153
public void itCanHandleSettingsClientException() {
155-
doThrow(new SettingsClientException("test")).when(settingsClient).getSettings(anyLong());
154+
doReturn(SettingsResponse.builder().exception(new RuntimeException("test")).build())
155+
.when(settingsClient)
156+
.getSettings(anyLong());
156157

157158
settingsManager.updateSettings();
158159
}

0 commit comments

Comments
 (0)