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