diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java index 6d85122..e2b85e2 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java @@ -23,6 +23,7 @@ if ("save".equals(request.getParameter("action"))) { String nrq = request.getParameter("queries"); String pq = request.getParameter("formattedQueries"); + String rs = request.getParameter("recordingStacktraces"); if (nrq != null) { settings.setNumberOfQueries(Integer.parseInt(nrq)); @@ -34,9 +35,12 @@ settings.setFormattedQueries(false); } - JdbcLogger.get().setNumberOfQueries(settings.getNumberOfQueries()); - JdbcLogger.get().setFormattedQueries(settings.isFormattedQueries()); - + if (rs != null) { + settings.setRecordingStacktraces(true); + } else { + settings.setRecordingStacktraces(false); + } + Warnings.get(request).addMessage(Warnings.Message.Type.SUCCESS, "Success!", "Settings are successfully saved."); } @@ -57,6 +61,7 @@ result.put("q25000", nrq == 25000); result.put("formattedQueries", settings.isFormattedQueries()); + result.put("recordingStacktraces", settings.isRecordingStacktraces()); return result; } diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java index 6d85122..e2b85e2 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java @@ -23,6 +23,7 @@ if ("save".equals(request.getParameter("action"))) { String nrq = request.getParameter("queries"); String pq = request.getParameter("formattedQueries"); + String rs = request.getParameter("recordingStacktraces"); if (nrq != null) { settings.setNumberOfQueries(Integer.parseInt(nrq)); @@ -34,9 +35,12 @@ settings.setFormattedQueries(false); } - JdbcLogger.get().setNumberOfQueries(settings.getNumberOfQueries()); - JdbcLogger.get().setFormattedQueries(settings.isFormattedQueries()); - + if (rs != null) { + settings.setRecordingStacktraces(true); + } else { + settings.setRecordingStacktraces(false); + } + Warnings.get(request).addMessage(Warnings.Message.Type.SUCCESS, "Success!", "Settings are successfully saved."); } @@ -57,6 +61,7 @@ result.put("q25000", nrq == 25000); result.put("formattedQueries", settings.isFormattedQueries()); + result.put("recordingStacktraces", settings.isRecordingStacktraces()); return result; } diff --git a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html index 5f28fa2..a02cf9a 100644 --- a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html +++ b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html @@ -10,9 +10,7 @@
- {escape(none)} -

{sql}

- {/escape} +

{!sql}

diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java index 6d85122..e2b85e2 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java @@ -23,6 +23,7 @@ if ("save".equals(request.getParameter("action"))) { String nrq = request.getParameter("queries"); String pq = request.getParameter("formattedQueries"); + String rs = request.getParameter("recordingStacktraces"); if (nrq != null) { settings.setNumberOfQueries(Integer.parseInt(nrq)); @@ -34,9 +35,12 @@ settings.setFormattedQueries(false); } - JdbcLogger.get().setNumberOfQueries(settings.getNumberOfQueries()); - JdbcLogger.get().setFormattedQueries(settings.isFormattedQueries()); - + if (rs != null) { + settings.setRecordingStacktraces(true); + } else { + settings.setRecordingStacktraces(false); + } + Warnings.get(request).addMessage(Warnings.Message.Type.SUCCESS, "Success!", "Settings are successfully saved."); } @@ -57,6 +61,7 @@ result.put("q25000", nrq == 25000); result.put("formattedQueries", settings.isFormattedQueries()); + result.put("recordingStacktraces", settings.isRecordingStacktraces()); return result; } diff --git a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html index 5f28fa2..a02cf9a 100644 --- a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html +++ b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html @@ -10,9 +10,7 @@
- {escape(none)} -

{sql}

- {/escape} +

{!sql}

diff --git a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html index af4b5be..46ce9f9 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html @@ -46,9 +46,7 @@ {q.type} {q.formattedTimestamp} {q.formattedNano} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java index 6d85122..e2b85e2 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java @@ -23,6 +23,7 @@ if ("save".equals(request.getParameter("action"))) { String nrq = request.getParameter("queries"); String pq = request.getParameter("formattedQueries"); + String rs = request.getParameter("recordingStacktraces"); if (nrq != null) { settings.setNumberOfQueries(Integer.parseInt(nrq)); @@ -34,9 +35,12 @@ settings.setFormattedQueries(false); } - JdbcLogger.get().setNumberOfQueries(settings.getNumberOfQueries()); - JdbcLogger.get().setFormattedQueries(settings.isFormattedQueries()); - + if (rs != null) { + settings.setRecordingStacktraces(true); + } else { + settings.setRecordingStacktraces(false); + } + Warnings.get(request).addMessage(Warnings.Message.Type.SUCCESS, "Success!", "Settings are successfully saved."); } @@ -57,6 +61,7 @@ result.put("q25000", nrq == 25000); result.put("formattedQueries", settings.isFormattedQueries()); + result.put("recordingStacktraces", settings.isRecordingStacktraces()); return result; } diff --git a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html index 5f28fa2..a02cf9a 100644 --- a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html +++ b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html @@ -10,9 +10,7 @@
- {escape(none)} -

{sql}

- {/escape} +

{!sql}

diff --git a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html index af4b5be..46ce9f9 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html @@ -46,9 +46,7 @@ {q.type} {q.formattedTimestamp} {q.formattedNano} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/TransactionOverview.html b/src/nl/astraeus/jdbc/web/page/TransactionOverview.html index 08873a9..521d77f 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionOverview.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -43,9 +40,7 @@ {t.formattedQueryTime} {t.formattedAvgTime} {t.count} - {escape(none)} -
{t.sql}
- {/escape} +
{!t.sql}
{/each} diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java index 6d85122..e2b85e2 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java @@ -23,6 +23,7 @@ if ("save".equals(request.getParameter("action"))) { String nrq = request.getParameter("queries"); String pq = request.getParameter("formattedQueries"); + String rs = request.getParameter("recordingStacktraces"); if (nrq != null) { settings.setNumberOfQueries(Integer.parseInt(nrq)); @@ -34,9 +35,12 @@ settings.setFormattedQueries(false); } - JdbcLogger.get().setNumberOfQueries(settings.getNumberOfQueries()); - JdbcLogger.get().setFormattedQueries(settings.isFormattedQueries()); - + if (rs != null) { + settings.setRecordingStacktraces(true); + } else { + settings.setRecordingStacktraces(false); + } + Warnings.get(request).addMessage(Warnings.Message.Type.SUCCESS, "Success!", "Settings are successfully saved."); } @@ -57,6 +61,7 @@ result.put("q25000", nrq == 25000); result.put("formattedQueries", settings.isFormattedQueries()); + result.put("recordingStacktraces", settings.isRecordingStacktraces()); return result; } diff --git a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html index 5f28fa2..a02cf9a 100644 --- a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html +++ b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html @@ -10,9 +10,7 @@
- {escape(none)} -

{sql}

- {/escape} +

{!sql}

diff --git a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html index af4b5be..46ce9f9 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html @@ -46,9 +46,7 @@ {q.type} {q.formattedTimestamp} {q.formattedNano} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/TransactionOverview.html b/src/nl/astraeus/jdbc/web/page/TransactionOverview.html index 08873a9..521d77f 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionOverview.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -43,9 +40,7 @@ {t.formattedQueryTime} {t.formattedAvgTime} {t.count} - {escape(none)} -
{t.sql}
- {/escape} +
{!t.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/TransactionOverview.java b/src/nl/astraeus/jdbc/web/page/TransactionOverview.java index fa7b6b6..d579609 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionOverview.java +++ b/src/nl/astraeus/jdbc/web/page/TransactionOverview.java @@ -48,8 +48,6 @@ sortAvgTime = false; sortTotalTime = false; sortQueryTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -191,9 +189,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - - return result; } diff --git a/script/build.xml b/script/build.xml index 52b620d..bc3119a 100644 --- a/script/build.xml +++ b/script/build.xml @@ -123,6 +123,7 @@ + @@ -403,6 +404,13 @@ + + + + + + + diff --git a/script/default.properties b/script/default.properties index ead315a..5e22f7b 100644 --- a/script/default.properties +++ b/script/default.properties @@ -20,3 +20,4 @@ config.dir=${project.dir}/conf jar.dir=${build.dir}/jar +jarnodeb.dir=${build.dir}/jarnodeb \ No newline at end of file diff --git a/src/nl/astraeus/jdbc/JdbcLogger.java b/src/nl/astraeus/jdbc/JdbcLogger.java index e9cc338..f419cf5 100644 --- a/src/nl/astraeus/jdbc/JdbcLogger.java +++ b/src/nl/astraeus/jdbc/JdbcLogger.java @@ -112,7 +112,7 @@ } public String getSql() { - if (JdbcLogger.get().isFormattedQueries()) { + if (Settings.get().isFormattedQueries()) { return SqlFormatter.getHTMLFormattedSQL(sql); } else { return sql; @@ -152,24 +152,12 @@ private final List queries; private long startTime; - private boolean recording = false; - - private int numberOfQueries = 2500; - private boolean formattedQueries = true; public JdbcLogger() { queries = new LinkedList(); startTime = System.currentTimeMillis(); } - public boolean isRecording() { - return recording; - } - - public void switchRecording() { - recording = !recording; - } - public void clear() { queries.clear(); } @@ -179,7 +167,7 @@ LogEntry entry = new LogEntry(hash, type, sql, milli, nano, isAutoCommit); - if (recording) { + if (Settings.get().isRecordingStacktraces()) { try { throw new IllegalStateException(); } catch (IllegalStateException e) { @@ -190,7 +178,7 @@ synchronized (queries) { queries.add(entry); - while (queries.size() > getNumberOfQueries()) { + while (queries.size() > Settings.get().getNumberOfQueries()) { entry = queries.remove(0); startTime = entry.getMilli(); } @@ -206,20 +194,4 @@ return new LinkedList(queries); } } - - public int getNumberOfQueries() { - return numberOfQueries; - } - - public void setNumberOfQueries(int numberOfQueries) { - this.numberOfQueries = numberOfQueries; - } - - public boolean isFormattedQueries() { - return formattedQueries; - } - - public void setFormattedQueries(boolean formattedQueries) { - this.formattedQueries = formattedQueries; - } } diff --git a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java index 553477d..f46e513 100644 --- a/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java +++ b/src/nl/astraeus/jdbc/web/JdbcStatisticsServlet.java @@ -119,10 +119,12 @@ } resp.getWriter().print(menu.render(req)); + + resp.getWriter().println("
"); + resp.getWriter().print(Warnings.get(req).render(req)); long time = System.nanoTime(); - resp.getWriter().println("
"); resp.getWriter().print(page.render(req)); resp.getWriter().println("
"); diff --git a/src/nl/astraeus/jdbc/web/model/Settings.java b/src/nl/astraeus/jdbc/web/model/Settings.java index d5db041..9af22a2 100644 --- a/src/nl/astraeus/jdbc/web/model/Settings.java +++ b/src/nl/astraeus/jdbc/web/model/Settings.java @@ -31,12 +31,16 @@ if (c.getName().equals("SJS-formatted-queries")) { setFormattedQueries("true".equals(c.getValue())); } + if (c.getName().equals("SJS-recording-stacktraces")) { + setRecordingStacktraces("true".equals(c.getValue())); + } } } public void saveSettings(HttpServletResponse response) { response.addCookie(createLongLivedCookie("SJS-number-of-queries", String.valueOf(getNumberOfQueries()))); response.addCookie(createLongLivedCookie("SJS-formatted-queries", String.valueOf(isFormattedQueries()))); + response.addCookie(createLongLivedCookie("SJS-recording-stacktraces", String.valueOf(isRecordingStacktraces()))); } private Cookie createLongLivedCookie(String name, String value) { @@ -50,6 +54,7 @@ private int numberOfQueries = 2500; private boolean formattedQueries = false; + private boolean recordingStacktraces = false; private boolean secure = true; private String user = null; private int passwordHash = 0; @@ -90,4 +95,11 @@ return (user != null && password != null && user.equals(this.user) && password.hashCode() == passwordHash); } + public boolean isRecordingStacktraces() { + return recordingStacktraces; + } + + public void setRecordingStacktraces(boolean recordingStacktraces) { + this.recordingStacktraces = recordingStacktraces; + } } diff --git a/src/nl/astraeus/jdbc/web/page/LiveOverview.java b/src/nl/astraeus/jdbc/web/page/LiveOverview.java index 5133e39..32661c8 100644 --- a/src/nl/astraeus/jdbc/web/page/LiveOverview.java +++ b/src/nl/astraeus/jdbc/web/page/LiveOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - result.put("test", getTest()); return result; diff --git a/src/nl/astraeus/jdbc/web/page/QueryDetail.html b/src/nl/astraeus/jdbc/web/page/QueryDetail.html index 8614435..224850d 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryDetail.html +++ b/src/nl/astraeus/jdbc/web/page/QueryDetail.html @@ -21,9 +21,7 @@
- {escape(none)} -

{if(sql)}{sql}{/if}

- {/escape} +

{if(sql)}{!sql}{/if}

diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.html b/src/nl/astraeus/jdbc/web/page/QueryOverview.html index bbe93b6..0874dac 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.html +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -40,9 +37,7 @@ {q.total} {q.formattedNano} {q.count} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/QueryOverview.java b/src/nl/astraeus/jdbc/web/page/QueryOverview.java index 317eb97..3649527 100644 --- a/src/nl/astraeus/jdbc/web/page/QueryOverview.java +++ b/src/nl/astraeus/jdbc/web/page/QueryOverview.java @@ -47,8 +47,6 @@ sortTotalCalls = false; sortAvgTime = false; sortTotalTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -147,8 +145,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - return result; } } diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html index 4c1a56a..4cbeb61 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.html +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.html @@ -1,34 +1,42 @@ - + -
-
-
- -
- +
+
+
+ +
+ +
-
-
- -
- +
+ +
+ +
-
-
-
-
-
- Save +
+ +
+ +
+
+ +
+ +
+
+ Save +
diff --git a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java index 6d85122..e2b85e2 100644 --- a/src/nl/astraeus/jdbc/web/page/SettingsOverview.java +++ b/src/nl/astraeus/jdbc/web/page/SettingsOverview.java @@ -23,6 +23,7 @@ if ("save".equals(request.getParameter("action"))) { String nrq = request.getParameter("queries"); String pq = request.getParameter("formattedQueries"); + String rs = request.getParameter("recordingStacktraces"); if (nrq != null) { settings.setNumberOfQueries(Integer.parseInt(nrq)); @@ -34,9 +35,12 @@ settings.setFormattedQueries(false); } - JdbcLogger.get().setNumberOfQueries(settings.getNumberOfQueries()); - JdbcLogger.get().setFormattedQueries(settings.isFormattedQueries()); - + if (rs != null) { + settings.setRecordingStacktraces(true); + } else { + settings.setRecordingStacktraces(false); + } + Warnings.get(request).addMessage(Warnings.Message.Type.SUCCESS, "Success!", "Settings are successfully saved."); } @@ -57,6 +61,7 @@ result.put("q25000", nrq == 25000); result.put("formattedQueries", settings.isFormattedQueries()); + result.put("recordingStacktraces", settings.isRecordingStacktraces()); return result; } diff --git a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html index 5f28fa2..a02cf9a 100644 --- a/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html +++ b/src/nl/astraeus/jdbc/web/page/ShowStacktrace.html @@ -10,9 +10,7 @@
- {escape(none)} -

{sql}

- {/escape} +

{!sql}

diff --git a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html index af4b5be..46ce9f9 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionDetail.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionDetail.html @@ -46,9 +46,7 @@ {q.type} {q.formattedTimestamp} {q.formattedNano} - {escape(none)} -
{q.sql}
- {/escape} +
{!q.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/TransactionOverview.html b/src/nl/astraeus/jdbc/web/page/TransactionOverview.html index 08873a9..521d77f 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionOverview.html +++ b/src/nl/astraeus/jdbc/web/page/TransactionOverview.html @@ -9,11 +9,8 @@
Time span: {deltaTime} ({fromTime} - {toTime})
Avg. time/query: {avgTime}
- - @@ -43,9 +40,7 @@ {t.formattedQueryTime} {t.formattedAvgTime} {t.count} - {escape(none)} -
{t.sql}
- {/escape} +
{!t.sql}
{/each} diff --git a/src/nl/astraeus/jdbc/web/page/TransactionOverview.java b/src/nl/astraeus/jdbc/web/page/TransactionOverview.java index fa7b6b6..d579609 100644 --- a/src/nl/astraeus/jdbc/web/page/TransactionOverview.java +++ b/src/nl/astraeus/jdbc/web/page/TransactionOverview.java @@ -48,8 +48,6 @@ sortAvgTime = false; sortTotalTime = false; sortQueryTime = true; - } else if ("record".equals(request.getParameter("action"))) { - JdbcLogger.get().switchRecording(); } else if ("clear".equals(request.getParameter("action"))) { JdbcLogger.get().clear(); } else if ("select".equals(request.getParameter("action"))) { @@ -191,9 +189,6 @@ result.put("deltaTime", dateFormatter.format(new Date(toTime-fromTime))); result.put("avgTime", Util.formatNano(avgTime)); - result.put("recording", JdbcLogger.get().isRecording()); - - return result; } diff --git a/src/nl/astraeus/jdbc/web/page/Warnings.html b/src/nl/astraeus/jdbc/web/page/Warnings.html index 6b10618..260379d 100644 --- a/src/nl/astraeus/jdbc/web/page/Warnings.html +++ b/src/nl/astraeus/jdbc/web/page/Warnings.html @@ -1,11 +1,11 @@ {foreach(messages as message)} -
- × - {if(message.header)}{message.header}{/if} - {if(message.body)}{message.body}{/if} -
+
+ × + {if(message.header)}{message.header}{/if} + {if(message.body)}{message.body}{/if} +
{/each}