|
13 | 13 | import com.fasterxml.jackson.databind.JsonNode; |
14 | 14 | import com.fasterxml.jackson.databind.node.ObjectNode; |
15 | 15 | import java.io.StringWriter; |
| 16 | +import java.util.logging.Level; |
| 17 | +import java.util.logging.Logger; |
16 | 18 | import schemacrawler.schemacrawler.SchemaCrawlerOptions; |
17 | 19 | import schemacrawler.tools.ai.functions.JsonFunctionReturn; |
18 | 20 | import schemacrawler.tools.ai.functions.TextFunctionReturn; |
|
24 | 26 | import us.fatehi.utility.datasource.DatabaseConnectionSource; |
25 | 27 | import us.fatehi.utility.datasource.DatabaseConnectionSources; |
26 | 28 | import us.fatehi.utility.property.PropertyName; |
| 29 | +import us.fatehi.utility.string.StringFormat; |
27 | 30 |
|
28 | 31 | public abstract class AbstractExecutableFunctionExecutor<P extends FunctionParameters> |
29 | 32 | extends AbstractSchemaCrawlerFunctionExecutor<P> { |
30 | 33 |
|
| 34 | + private static final Logger LOGGER = |
| 35 | + Logger.getLogger(AbstractExecutableFunctionExecutor.class.getCanonicalName()); |
| 36 | + |
31 | 37 | protected AbstractExecutableFunctionExecutor(final PropertyName functionName) { |
32 | 38 | super(functionName); |
33 | 39 | } |
@@ -63,18 +69,23 @@ public final FunctionReturn call() { |
63 | 69 | } |
64 | 70 | } |
65 | 71 |
|
| 72 | + final String results = writer.toString(); |
66 | 73 | switch (functionReturnType) { |
67 | 74 | case JSON: |
68 | | - final String results = writer.toString(); |
69 | 75 | try { |
70 | 76 | final JsonNode node = mapper.readTree(results); |
71 | 77 | return new JsonFunctionReturn(node); |
72 | 78 | } catch (final Exception e) { |
73 | | - return () -> results; |
| 79 | + LOGGER.log( |
| 80 | + Level.WARNING, |
| 81 | + e, |
| 82 | + new StringFormat( |
| 83 | + "Could not convert results from <%s> to JSON", getCommandName().getName())); |
| 84 | + return new TextFunctionReturn(results); |
74 | 85 | } |
75 | 86 | case TEXT: |
76 | 87 | default: |
77 | | - return () -> writer.toString(); |
| 88 | + return new TextFunctionReturn(results); |
78 | 89 | } |
79 | 90 | } |
80 | 91 |
|
|
0 commit comments