Author: nextgens
Date: 2007-09-13 14:45:55 +0000 (Thu, 13 Sep 2007)
New Revision: 15141

Modified:
   trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java
Log:
Thaw: Fix/finish last commit

Modified: trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java 2007-09-13 
14:13:51 UTC (rev 15140)
+++ trunk/apps/Thaw/src/thaw/plugins/transferLogs/Transfer.java 2007-09-13 
14:45:55 UTC (rev 15141)
@@ -143,6 +143,7 @@

                                if (entryFound) { /* we check if we must update 
the entry */
                                        boolean mustUpdateKey = false;
+                                       boolean mustUpdateDateStart = false;
                                        boolean mustUpdateDateEnd = false;
                                        boolean mustUpdateSize = false;

@@ -156,6 +157,9 @@
                                            && !qKey.equals(this.key)) /* the 
key has changed ? can it happen ? */
                                                mustUpdateKey = true;

+                                       if((query.getStartupTime() != 
dateStart.getTime()) && (query.getStartupTime() != -1))
+                                               mustUpdateDateStart = true;
+                                       
                                        if (query.isFinished() && this.dateEnd 
== null)
                                                mustUpdateDateEnd = true;

@@ -163,14 +167,16 @@
                                            && query.getFileSize() >= size)
                                                mustUpdateSize = true;

-
                                        if (mustUpdateKey) {
                                                updateKey(qKey);
                                        }

-
+                                       if (mustUpdateDateStart) {
+                                               updateDateStart();
+                                       }
+                               
                                        if (mustUpdateDateEnd) {
-                                               
updateDateEnd(query.isSuccessful());
+                                               updateDateEnd();
                                        }

                                        if (mustUpdateSize) {
@@ -197,12 +203,8 @@
                                                                                
 "VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
                                        st.setTimestamp(1, now);

-                                       long tstamp = query.getStartupTime();
-                                       if(tstamp != -1)
-                                               st.setTimestamp(1, new 
Timestamp(tstamp));
-                                       tstamp = query.getCompletionTime();
-                                       if (tstamp != -1)
-                                               st.setTimestamp(2, new 
Timestamp(tstamp));
+                                       if (query.isFinished())
+                                               st.setTimestamp(2, now);
                                        else
                                                st.setNull(2, Types.TIMESTAMP);

@@ -268,23 +270,39 @@
        }


-       private void updateDateEnd(boolean success) {
+       private void updateDateEnd() {
                Logger.info(this, "Updating end date in logs");

                try {
                        PreparedStatement st = 
db.getConnection().prepareStatement("UPDATE transferLogs SET "+
-                                                                               
   "dateEnd = ?, isSuccess = ? "+
+                                                                               
   "dateEnd = ?"+
                                                                                
   "WHERE id = ?");
-                       st.setTimestamp(1, TransferLogs.getNow());
-                       st.setBoolean(2, success);
-                       st.setInt(3, this.id);
+                       dateEnd = new Timestamp(query.getCompletionTime());
+                       st.setTimestamp(1, dateEnd);
+                       st.setInt(2, this.id);
                        st.execute();
                } catch(SQLException e) {
                        Logger.error(this, "Unable to update dateEnd in 
transfer logs because : "+e.toString());
                }
        }
+       
+       private void updateDateStart() {
+               Logger.info(this, "Updating start date in logs");

+               try {
+                       PreparedStatement st = 
db.getConnection().prepareStatement("UPDATE transferLogs SET "+
+                                                                               
   "dateStart = ?"+
+                                                                               
   "WHERE id = ?");
+                       dateStart = new Timestamp(query.getStartupTime());
+                       st.setTimestamp(1, dateStart);
+                       st.setInt(2, this.id);
+                       st.execute();
+               } catch(SQLException e) {
+                       Logger.error(this, "Unable to update dateEnd in 
transfer logs because : "+e.toString());
+               }
+       }

+
        public Transfer(Hsqldb db,
                        int id,
                        Timestamp dateStart, Timestamp dateEnd,
@@ -405,7 +423,7 @@

                if (query.isFinished()) {
                        o.deleteObserver(this);
-                       updateDateEnd(query.isSuccessful());
+                       updateDateEnd();
                        hasChanged = true;
                }



Reply via email to