From 3bb96c8fd076dc84a9ae3fa9e405c86b1e38b4bc Mon Sep 17 00:00:00 2001
From: gmantele <gmantele@ari.uni-heidelberg.de>
Date: Fri, 8 Aug 2014 10:27:08 +0200
Subject: [PATCH] [TAP] Come back on the v1.0 definition of TAPLog and fix a
 bug (missing DB table name in logs for CREATE, INSERT, DROP TABLE ; name
 missing in getFullDBName(TAPTable))

---
 src/tap/log/DefaultTAPLog.java | 51 ++++++++++++++++++++++++++++++++--
 src/tap/log/TAPLog.java        | 21 ++++++++++++--
 2 files changed, 67 insertions(+), 5 deletions(-)

diff --git a/src/tap/log/DefaultTAPLog.java b/src/tap/log/DefaultTAPLog.java
index 10b22de..ec5b35a 100644
--- a/src/tap/log/DefaultTAPLog.java
+++ b/src/tap/log/DefaultTAPLog.java
@@ -34,7 +34,7 @@ import uws.service.log.DefaultUWSLog;
  * Default implementation of the {@link TAPLog} interface which lets logging any message about a TAP service.
  * 
  * @author Gr&eacute;gory Mantelet (CDS;ARI)
- * @version 2.0 (07/2014)
+ * @version 2.0 (08/2014)
  * 
  * @see DefaultUWSLog
  */
@@ -94,13 +94,58 @@ public class DefaultTAPLog extends DefaultUWSLog implements TAPLog {
 		dbActivity("TAP metadata loaded into the database !");
 	}
 
+	@Override
+	public void connectionOpened(DBConnection connection, String dbName){
+		dbActivity("A connection has been opened to the database \"" + dbName + "\" !");
+	}
+
 	@Override
 	public void connectionClosed(DBConnection connection){
-		//dbActivity("A database connection has been closed !");
+		dbActivity("A database connection has been closed !");
+	}
+
+	@Override
+	public void transactionStarted(final DBConnection connection){
+		dbActivity("A transaction has been started !");
+	}
+
+	@Override
+	public void transactionCancelled(final DBConnection connection){
+		dbActivity("A transaction has been cancelled !");
+	}
+
+	@Override
+	public void transactionEnded(final DBConnection connection){
+		dbActivity("A transaction has been ended/commited !");
+	}
+
+	@Override
+	public void schemaCreated(final DBConnection connection, String schema){
+		dbActivity("CREATE SCHEMA \"" + schema + "\"\t" + connection.getID());
+	}
+
+	@Override
+	public void schemaDropped(final DBConnection connection, String schema){
+		dbActivity("DROP SCHEMA \"" + schema + "\"\t" + connection.getID());
 	}
 
 	protected final String getFullDBName(final TAPTable table){
-		return (table.getSchema() != null) ? (table.getSchema().getDBName() + ".") : "";
+		return ((table.getSchema() != null) ? (table.getSchema().getDBName() + ".") : "") + table.getDBName();
+	}
+
+	@Override
+	public void tableCreated(final DBConnection connection, TAPTable table){
+		dbActivity("CREATE TABLE \"" + getFullDBName(table) + "\" (ADQL name: \"" + table.getFullName() + "\")\t" + connection.getID());
+	}
+
+	@Override
+	public void tableDropped(final DBConnection connection, TAPTable table){
+		dbActivity("DROP TABLE \"" + getFullDBName(table) + "\" (ADQL name: \"" + table.getFullName() + "\")\t" + connection.getID());
+	}
+
+	@Override
+	public void rowsInserted(final DBConnection connection, TAPTable table, int nbInsertedRows){
+		dbActivity("INSERT ROWS (" + ((nbInsertedRows > 0) ? nbInsertedRows : "???") + ") into \"" + getFullDBName(table) + "\" (ADQL name: \"" + table.getFullName() + "\")\t" + connection.getID());
 	}
 
 	@Override
diff --git a/src/tap/log/TAPLog.java b/src/tap/log/TAPLog.java
index 33e6a62..84604a4 100644
--- a/src/tap/log/TAPLog.java
+++ b/src/tap/log/TAPLog.java
@@ -23,13 +23,14 @@ package tap.log;
 import tap.TAPExecutionReport;
 import tap.db.DBConnection;
 import tap.metadata.TAPMetadata;
+import tap.metadata.TAPTable;
 import uws.service.log.UWSLog;
 
 /**
  * Lets logging any kind of message about a TAP service.
  * 
  * @author Gr&eacute;gory Mantelet (CDS;ARI)
- * @version 2.0 (07/2014)
+ * @version 2.0 (08/2014)
  */
 public interface TAPLog extends UWSLog {
 
@@ -43,10 +44,26 @@ public interface TAPLog extends UWSLog {
 
 	public void tapMetadataLoaded(final TAPMetadata metadata);
 
-	public void connectionOpened(final DBConnection connection);
+	public void connectionOpened(final DBConnection connection, final String dbName);
 
 	public void connectionClosed(final DBConnection connection);
 
+	public void transactionStarted(final DBConnection connection);
+
+	public void transactionCancelled(final DBConnection connection);
+
+	public void transactionEnded(final DBConnection connection);
+
+	public void schemaCreated(final DBConnection connection, final String schema);
+
+	public void schemaDropped(final DBConnection connection, final String schema);
+
+	public void tableCreated(final DBConnection connection, final TAPTable table);
+
+	public void tableDropped(final DBConnection connection, final TAPTable table);
+
+	public void rowsInserted(final DBConnection connection, final TAPTable table, final int nbInsertedRows);
+
 	public void sqlQueryExecuting(final DBConnection connection, final String sql);
 
 	public void sqlQueryError(final DBConnection connection, final String sql, final Throwable t);
-- 
GitLab