@@ -72,12 +72,23 @@ public boolean isSupported() {
72
72
.normalizedUtPlsqlVersionNumber () >= RealtimeReporterDao .FIRST_VERSION_WITH_REALTIME_REPORTER ;
73
73
}
74
74
75
- public void produceReport (final String reporterId , final List <String > pathList ) {
75
+ // used for execution via PL/SQL Debugger
76
+ public String getProduceReportPlsql (final String reporterId , final List <String > pathList ) {
77
+ return getProduceReportPlsql (reporterId , pathList , false );
78
+ }
79
+
80
+ private String getProduceReportPlsql (final String reporterId , final List <String > pathList , boolean useBindVariable ) {
76
81
StringBuilder sb = new StringBuilder ();
77
82
sb .append ("DECLARE\n " );
78
83
sb .append (" l_reporter ut_realtime_reporter := ut_realtime_reporter();\n " );
79
84
sb .append ("BEGIN\n " );
80
- sb .append (" l_reporter.set_reporter_id(?);\n " );
85
+ if (useBindVariable ) {
86
+ sb .append (" l_reporter.set_reporter_id(?);\n " );
87
+ } else {
88
+ sb .append (" l_reporter.set_reporter_id('" );
89
+ sb .append (reporterId );
90
+ sb .append ("');\n " );
91
+ }
81
92
sb .append (" l_reporter.output_buffer.init();\n " );
82
93
sb .append (" sys.dbms_output.enable(NULL);\n " );
83
94
sb .append (" ut_runner.run(\n " );
@@ -88,7 +99,11 @@ public void produceReport(final String reporterId, final List<String> pathList)
88
99
sb .append (" );\n " );
89
100
sb .append (" sys.dbms_output.disable;\n " );
90
101
sb .append ("END;" );
91
- final String plsql = sb .toString ();
102
+ return sb .toString ();
103
+ }
104
+
105
+ public void produceReport (final String reporterId , final List <String > pathList ) {
106
+ final String plsql = getProduceReportPlsql (reporterId , pathList , true );
92
107
final Object [] binds = { reporterId };
93
108
jdbcTemplate .update (plsql , binds );
94
109
}
0 commit comments