Skip to content

Commit 497fe80

Browse files
Michael Kniggejavier-godoy
andcommitted
fix: check if production mode is enabled from ErrorWindow constructors
Make ErrorWindow query the current value of production mode through the ErrorManager, which exposes the ErrorWindowFactory. Close #18 Co-authored-by: Javier Godoy <[email protected]>
1 parent b60cfae commit 497fe80

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

src/main/java/com/flowingcode/vaadin/addons/errorwindow/DefaultErrorWindowFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class DefaultErrorWindowFactory implements ErrorWindowFactory {
2323

2424
@Override
2525
public void showError(ErrorDetails details) {
26-
ErrorWindow w = new ErrorWindow(details, isProductionMode());
26+
ErrorWindow w = new ErrorWindow(details);
2727
w.open();
2828
}
2929

src/main/java/com/flowingcode/vaadin/addons/errorwindow/ErrorManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,9 @@ public static void showError(Throwable throwable, String cause) {
3939
public static void setErrorWindowFactory(ErrorWindowFactory errorWindowFactory) {
4040
ErrorManager.errorWindowFactory = errorWindowFactory;
4141
}
42+
43+
public static ErrorWindowFactory getErrorWindowFactory() {
44+
return errorWindowFactory;
45+
}
4246

4347
}

src/main/java/com/flowingcode/vaadin/addons/errorwindow/ErrorWindow.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ public class ErrorWindow extends Dialog {
6363
private boolean productionMode;
6464

6565
public ErrorWindow(final Throwable cause) {
66-
this(cause, null, false);
66+
this(cause, null, isProductionMode());
6767
}
6868

6969
public ErrorWindow(final Throwable cause, final String errorMessage) {
70-
this(cause, errorMessage, false);
70+
this(cause, errorMessage, isProductionMode());
7171
}
7272

7373
public ErrorWindow(final Throwable cause, final String errorMessage, boolean productionMode) {
@@ -80,8 +80,16 @@ public ErrorWindow(final Throwable cause, final String errorMessage, boolean pro
8080
initWindow();
8181
}
8282

83+
public ErrorWindow(ErrorDetails errorDetails) {
84+
this(errorDetails.getThrowable(), errorDetails.getCause());
85+
}
86+
8387
public ErrorWindow(ErrorDetails errorDetails, boolean productionMode) {
84-
this(errorDetails.getThrowable(),errorDetails.getCause(),productionMode);
88+
this(errorDetails.getThrowable(), errorDetails.getCause(), productionMode);
89+
}
90+
91+
private static boolean isProductionMode() {
92+
return ErrorManager.getErrorWindowFactory().isProductionMode();
8593
}
8694

8795
private void initWindow() {
@@ -101,7 +109,7 @@ private VerticalLayout createMainLayout() {
101109
mainLayout.setSpacing(false);
102110
mainLayout.setPadding(false);
103111
mainLayout.setMargin(false);
104-
112+
105113
final Html title = new Html(DEFAULT_CAPTION);
106114
title.getElement().getStyle().set("width", "100%");
107115
mainLayout.add(title);

0 commit comments

Comments
 (0)