Author: ktlili
Date: Thu Oct 18 18:24:42 2007
New Revision: 18942

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18942&repname=
=3Djahia
Log:
- optimization: add "Purge all logs" methods and "remove purge only last lo=
gs"

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/audit/Manage=
Logs.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aAuditLogDAO.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaAuditLogManager.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/audit/Jah=
iaAuditLogManagerService.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/audit/Jah=
iaDBAuditLogManagerService.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/audit/=
ManageLogs.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/admin/audit/ManageLogs.java&rev=3D18942&rep=
name=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/audit/Manage=
Logs.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/audit/Manage=
Logs.java Thu Oct 18 18:24:42 2007
@@ -364,8 +364,11 @@
                 // if needed, delete superfluous log entries
 =

                 if (lMgr !=3Dnull) {
-
-                    int result =3D lMgr.enforceMaxLogs(maxLogsInt);
+                    //logger.debug("Enforce max logs: "+maxLogsInt);
+                    //int result =3D lMgr.enforceMaxLogs(maxLogsInt);
+                    // for performance reason, it's better to delete all r=
ows
+                    logger.debug("Delete all logs entries");
+                    int result =3D lMgr.deleteAllLogs();
                     jahiaDisplayMessage =3D JahiaResourceBundle.getAdminRe=
source("org.jahia.admin.JahiaDisplayMessage.logEntriesDeleted.label",
                                                        jParams, jParams.ge=
tLocale());
                     jahiaDisplayMessage =3D  result + " " + jahiaDisplayMe=
ssage;

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/da=
o/JahiaAuditLogDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/dao/JahiaAuditLogDAO.java&rev=3D1=
8942&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aAuditLogDAO.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/dao/Jahi=
aAuditLogDAO.java Thu Oct 18 18:24:42 2007
@@ -66,7 +66,7 @@
         template.setCacheQueries(true);
         if (objectType !=3D null && objectID !=3D null) {
             StringBuffer buffer =3D new StringBuffer("from JahiaAuditLog l=
 where " +
-                                                   "l.objecttype=3D" + obj=
ectType + " and l.objectid=3D" + objectID);
+                    "l.objecttype=3D" + objectType + " and l.objectid=3D" =
+ objectID);
             for (int i =3D 0; i < childrenObjectList.size(); i++) {
                 Integer[] integers =3D (Integer[]) childrenObjectList.get(=
i);
                 buffer.append(" or (l.objecttype =3D").append(integers[0]);
@@ -96,7 +96,7 @@
         template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
         if (objectType !=3D null && objectID !=3D null) {
             final StringBuffer buffer =3D new StringBuffer("from JahiaAudi=
tLog l where " +
-                                                         "l.objecttype=3D"=
 + objectType + " and l.objectid=3D" + objectID);
+                    "l.objecttype=3D" + objectType + " and l.objectid=3D" =
+ objectID);
             for (int i =3D 0; i < childrenObjectList.size(); i++) {
                 Integer[] integers =3D (Integer[]) childrenObjectList.get(=
i);
                 buffer.append(" or (l.objecttype =3D").append(integers[0]);
@@ -151,7 +151,9 @@
                 return null;
             }
         });
+
     }
+
     private void deletAllWithCriteria(HibernateTemplate template, final St=
ring s, final String value) {
         template.execute(new HibernateCallback() {
             public Object doInHibernate(Session session) throws HibernateE=
xception, SQLException {
@@ -171,6 +173,7 @@
             }
         });
     }
+
     public void flushSiteLogs(String siteKey) {
         HibernateTemplate template =3D getHibernateTemplate();
         template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
@@ -192,11 +195,38 @@
         return numDeletes;
     }
 =

+    public int deleteAllLogs() {
+        HibernateTemplate template =3D getHibernateTemplate();
+        Object o =3D template.execute(new HibernateCallback() {
+            public Object doInHibernate(Session session) throws HibernateE=
xception, SQLException {
+                Transaction transaction =3D session.beginTransaction();
+                try {
+                    String hqlDelete =3D "delete JahiaAuditLog";
+                    Query deleteQuery =3D session.createQuery( hqlDelete );
+                    int deletedEntities =3D deleteQuery.executeUpdate();
+                    logger.debug("delete all logs entries: "+deletedEntiti=
es);
+                    transaction.commit();
+                    return new Integer(deletedEntities);
+                } catch (Throwable t) {
+                    transaction.rollback();
+                }
+                return null;
+            }
+        });
+
+        // return nb deleted objects
+        if(o =3D=3D null){
+           return 0;
+       }else{
+           return ((Integer)o).intValue();
+       }
+    }
+
     private void deleteOldestRow(HibernateTemplate template) {
         List ret =3D template.find("select min(l.id) from JahiaAuditLog l"=
);
-        if(ret.size()>0) {
+        if (ret.size() > 0) {
             int numRows =3D ((Integer) ret.get(0)).intValue();
-            deleteAll(template, "from JahiaAuditLog l where l.id=3D"+numRo=
ws);
+            deleteAll(template, "from JahiaAuditLog l where l.id=3D" + num=
Rows);
         }
     }
 =


Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaAuditLogManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaAuditLogManager.java=
&rev=3D18942&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaAuditLogManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaAuditLogManager.java Thu Oct 18 18:24:42 2007
@@ -283,6 +283,10 @@
         return dao.enforceMaxLogs(maxLogs);
     }
 =

+    public int deleteAllLogs(){
+        return dao.deleteAllLogs();
+    }
+
     public void deleteOldestRow() {
         dao.deleteOldestRow();
     }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/aud=
it/JahiaAuditLogManagerService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/audit/JahiaAuditLogManagerService.=
java&rev=3D18942&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/audit/Jah=
iaAuditLogManagerService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/audit/Jah=
iaAuditLogManagerService.java Thu Oct 18 18:24:42 2007
@@ -117,16 +117,22 @@
      * value than the current number of entries
      *
      * @param   maxLogs     the new maximal value for the number of log en=
tries
-     * @param   maxlogsdays the number of days to keep existing log entrie=
s for
      * @return  the number of rows deleted
      */
-    public abstract int enforceMaxLogs (int MaxLogs);
+    public abstract int enforceMaxLogs (int maxLogs);
+
+
+     /**
+     * delete all rows in the db
+     *
+     */
+    public abstract int deleteAllLogs();
 =

     //--------------------------------------------------------------------=
------
     /**
      * return a DOM document of all logs of a site
      *
-     * @param String the site key
+     * @param siteKey the site key
      *
      * @return JahiaDOMObject a DOM representation of this object
      *

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/aud=
it/JahiaDBAuditLogManagerService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/audit/JahiaDBAuditLogManagerServic=
e.java&rev=3D18942&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/audit/Jah=
iaDBAuditLogManagerService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/audit/Jah=
iaDBAuditLogManagerService.java Thu Oct 18 18:24:42 2007
@@ -452,6 +452,14 @@
 =

 =

     /**
+     * delete all rows in the db
+     *
+     */
+    public int deleteAllLogs(){
+        return logManager.deleteAllLogs();
+    }
+
+    /**
      * delete the oldest row in the table
      *
      */

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to