mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-15 16:51:07 +00:00
bug4371 Added abstraction hierarchy AbstractDataImportResultDialogs
This commit is contained in:
1 parent
60306e6989
commit
ef08782408
3 files changed
+94
-60
No files matched your search
+62
@@ -0,0 +1,62 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole.resulthandling;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.DialogBox;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.resulthandling.AbstractDataImportResponse.ErrorMessage;
|
||||
|
||||
public class AbstractDataImportResultDialog {
|
||||
|
||||
protected static final String DIV_BOLD = "<div style='font-weight:bold;'>", DIV_END = "</div>";
|
||||
protected static final String DIV_MARGIN = "<div style='margin:40px;'>", UL = "<ul>", UL_END = "</ul>";
|
||||
protected static final String LI = "<li>", LI_END = "</liv>", P = "<p>", P_END = "</p>";
|
||||
|
||||
protected static void appendErrorMessagesIfPresent(SafeHtmlBuilder builder, AbstractDataImportResponse response) {
|
||||
if (response.hasErrors()) {
|
||||
appendParagraph(builder, "Error messages");
|
||||
response.getErrors().forEach(errorMessage -> appendErrorMessage(builder, errorMessage));
|
||||
}
|
||||
}
|
||||
|
||||
protected static void appendErrorMessage(SafeHtmlBuilder builder, ErrorMessage errorMessage) {
|
||||
builder.appendHtmlConstant(DIV_BOLD).appendEscaped(errorMessage.getMessage()).appendHtmlConstant(DIV_END);
|
||||
builder.appendHtmlConstant(UL);
|
||||
appendLineItemIfValueNotNull(builder, "ServerLog UUID", errorMessage.getExUUID());
|
||||
appendLineItemIfValueNotNull(builder, "Exception Classname", errorMessage.getClassName());
|
||||
appendLineItemIfValueNotNull(builder, "Filename", errorMessage.getFilename());
|
||||
appendLineItemIfValueNotNull(builder, "Requested Importer", errorMessage.getRequestedImporter());
|
||||
builder.appendHtmlConstant(UL_END);
|
||||
}
|
||||
|
||||
protected static void appendParagraph(SafeHtmlBuilder builder, String text) {
|
||||
builder.appendHtmlConstant(P).appendEscaped(text).appendHtmlConstant(P_END);
|
||||
}
|
||||
|
||||
protected static void appendLineItem(SafeHtmlBuilder builder, String text) {
|
||||
builder.appendHtmlConstant(LI).appendEscaped(text).appendHtmlConstant(LI_END);
|
||||
}
|
||||
|
||||
protected static void appendLineItemIfValueNotNull(SafeHtmlBuilder builder, String label, String value) {
|
||||
if (value != null && !value.isEmpty()) {
|
||||
builder.appendHtmlConstant(LI);
|
||||
builder.appendEscaped(label).appendEscaped(": ").appendEscaped(value);
|
||||
builder.appendHtmlConstant(LI_END);
|
||||
}
|
||||
}
|
||||
|
||||
protected static void show(SafeHtmlBuilder builder) {
|
||||
final DialogBox errorBox = new DialogBox(false, true);
|
||||
final VerticalPanel content = new VerticalPanel();
|
||||
content.add(new HTML(builder.toSafeHtml()));
|
||||
final Button close = new Button("Close", (ClickHandler) e -> errorBox.hide());
|
||||
content.add(close);
|
||||
content.setSpacing(10);
|
||||
errorBox.setGlassEnabled(true);
|
||||
errorBox.setWidget(content);
|
||||
errorBox.center();
|
||||
}
|
||||
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole.resulthandling;
|
||||
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
|
||||
public class ExpeditionDataImportResultsDialog extends AbstractDataImportResultDialog {
|
||||
|
||||
public static void showResults(ExpeditionDataImportResponse response) {
|
||||
if (response.hasErrors()) {
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
builder.appendHtmlConstant(DIV_MARGIN);
|
||||
appendErrorMessagesIfPresent(builder, response);
|
||||
builder.appendHtmlConstant(DIV_END);
|
||||
show(builder);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+15
-60
@@ -1,71 +1,26 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole.resulthandling;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.DialogBox;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.resulthandling.AbstractDataImportResponse.ErrorMessage;
|
||||
|
||||
public class SensorDataImportResultsDialog {
|
||||
public class SensorDataImportResultsDialog extends AbstractDataImportResultDialog {
|
||||
|
||||
public static void showResults(SensorDataImportResponse response) {
|
||||
if (!response.hasErrors()) {
|
||||
return;
|
||||
}
|
||||
List<ErrorMessage> errorMessages = response.getErrors();
|
||||
SafeHtmlBuilder shb = new SafeHtmlBuilder();
|
||||
shb.appendHtmlConstant("<div style='margin:40px;'>");
|
||||
if (response.didSucceedImportingAnyFile()) {
|
||||
shb.appendHtmlConstant("<p>Succesful uploads</p>");
|
||||
shb.appendHtmlConstant("<ul>");
|
||||
for (String uuid : response.getUploads()) {
|
||||
shb.appendHtmlConstant(" <li >").appendEscaped(uuid).appendHtmlConstant("</li>");
|
||||
}
|
||||
shb.appendHtmlConstant("</ul>");
|
||||
} else {
|
||||
shb.appendHtmlConstant("<p>No succesful upload</p>");
|
||||
}
|
||||
if (response.hasErrors()) {
|
||||
shb.appendHtmlConstant("<p>Error messages</p>");
|
||||
for (ErrorMessage errorMsg : errorMessages) {
|
||||
shb.appendHtmlConstant("<div style='font-weight:bold;'>").appendEscaped(errorMsg.getMessage())
|
||||
.appendHtmlConstant("</div>");
|
||||
shb.appendHtmlConstant("<ul>");
|
||||
if (!isNullOrEmpty(errorMsg.getExUUID())) {
|
||||
shb.appendHtmlConstant(" <li>ServerLog UUID: ").appendEscaped(errorMsg.getExUUID())
|
||||
.appendHtmlConstant("</li>");
|
||||
}
|
||||
if (!isNullOrEmpty(errorMsg.getClassName())) {
|
||||
shb.appendHtmlConstant(" <li>Exception Classname: ").appendEscaped(errorMsg.getClassName())
|
||||
.appendHtmlConstant("</li>");
|
||||
}
|
||||
if (!isNullOrEmpty(errorMsg.getFilename())) {
|
||||
shb.appendHtmlConstant(" <li>Filename: ").appendEscaped(errorMsg.getFilename())
|
||||
.appendHtmlConstant("</li>");
|
||||
}
|
||||
if (!isNullOrEmpty(errorMsg.getRequestedImporter())) {
|
||||
shb.appendHtmlConstant(" <li>Requested Importer: ").appendEscaped(errorMsg.getRequestedImporter())
|
||||
.appendHtmlConstant("</li>");
|
||||
}
|
||||
shb.appendHtmlConstant("</ul>");
|
||||
final SafeHtmlBuilder builder = new SafeHtmlBuilder();
|
||||
builder.appendHtmlConstant(DIV_MARGIN);
|
||||
if (response.didSucceedImportingAnyFile()) {
|
||||
appendParagraph(builder, "Succesful uploads");
|
||||
builder.appendHtmlConstant(UL);
|
||||
response.getUploads().forEach(uuid -> appendLineItem(builder, uuid));
|
||||
builder.appendHtmlConstant(UL_END);
|
||||
} else {
|
||||
appendParagraph(builder, "No succesful upload!");
|
||||
}
|
||||
appendErrorMessagesIfPresent(builder, response);
|
||||
|
||||
builder.appendHtmlConstant(DIV_END);
|
||||
show(builder);
|
||||
}
|
||||
shb.appendHtmlConstant("</div>");
|
||||
final DialogBox errorBox = new DialogBox(false, true);
|
||||
VerticalPanel vp = new VerticalPanel();
|
||||
vp.add(new HTML(shb.toSafeHtml()));
|
||||
Button close = new Button("Close");
|
||||
close.addClickHandler(e -> errorBox.hide());
|
||||
vp.add(close);
|
||||
vp.setSpacing(10);
|
||||
errorBox.setGlassEnabled(true);
|
||||
errorBox.setWidget(vp);
|
||||
errorBox.center();
|
||||
}
|
||||
|
||||
private static boolean isNullOrEmpty(String text) {
|
||||
return text == null || text.isEmpty();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user