Skip to content

Instantly share code, notes, and snippets.

@jesuino
Created February 23, 2023 03:06
Show Gist options
  • Save jesuino/efbf7f993f1036bd16d7733ecface422 to your computer and use it in GitHub Desktop.
Save jesuino/efbf7f993f1036bd16d7733ecface422 to your computer and use it in GitHub Desktop.
diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/external/ExternalDataSetClientProvider.java b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/external/ExternalDataSetClientProvider.java
index de98a704cc..f8a542f6bc 100644
--- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/external/ExternalDataSetClientProvider.java
+++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/external/ExternalDataSetClientProvider.java
@@ -162,13 +162,28 @@ public class ExternalDataSetClientProvider {
if (response.status == HttpResponseCodes.SC_OK) {
return register(def, callback, responseText, mimeType);
} else {
- return notAbleToRetrieveDataSet(def, callback);
+ var exception = buildExceptionForResponse(responseText, response);
+ return notAbleToRetrieveDataSet(def, callback, exception);
}
}, error -> notAbleToRetrieveDataSet(def, callback));
}).catch_(e -> notAbleToRetrieveDataSet(def, callback));
}
+ private Throwable buildExceptionForResponse(String responseText, Response response) {
+ var sb = new StringBuffer("The dataset URL is unreachable with status ");
+ sb.append(response.status);
+ sb.append(" - ");
+ sb.append(response.statusText);
+
+ if (responseText != null && !responseText.trim().isEmpty()) {
+ sb.append("\n");
+ sb.append("Response Text: ");
+ sb.append(responseText);
+ }
+ return new RuntimeException(sb.toString());
+ }
+
private IThenable<Object> register(ExternalDataSetDef def,
final DataSetReadyCallback callback,
final String responseText,
diff --git a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/services/RuntimeDataSetClientServices.java b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/services/RuntimeDataSetClientServices.java
index b6c9843083..a5f4345a43 100644
--- a/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/services/RuntimeDataSetClientServices.java
+++ b/packages/dashbuilder/dashbuilder-runtime-parent/dashbuilder-runtime-client/src/main/java/org/dashbuilder/client/services/RuntimeDataSetClientServices.java
@@ -151,7 +151,7 @@ public class RuntimeDataSetClientServices implements DataSetClientServices {
@Override
public boolean onError(ClientRuntimeError error) {
- if (loader.isEditor()) {
+ if (loader.isEditor() || loader.isClient()) {
listener.onError(error);
} else {
DomGlobal.console.debug("Error retrieving dataset from client, trying from backend");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment