You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2006/11/27 16:10:12 UTC
svn commit: r479650 -
/incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRefererManagerImpl.java
Author: snoopdave
Date: Mon Nov 27 07:10:11 2006
New Revision: 479650
URL: http://svn.apache.org/viewvc?view=rev&rev=479650
Log:
Added weblogHandle to StatCount, remove unncessary CLOB comparison w/excerpt from applyReferrersFilter
Modified:
incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRefererManagerImpl.java
Modified: incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRefererManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRefererManagerImpl.java?view=diff&rev=479650&r1=479649&r2=479650
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRefererManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRefererManagerImpl.java Mon Nov 27 07:10:11 2006
@@ -51,9 +51,9 @@
import org.apache.roller.business.UserManager;
import org.apache.roller.business.WeblogManager;
import org.apache.roller.pojos.StatCount;
-import org.apache.roller.util.DateUtil;
import org.apache.roller.util.LinkbackExtractor;
import org.apache.roller.util.Utilities;
+import org.hibernate.dialect.DerbyDialect;
/**
@@ -103,7 +103,10 @@
String reset = "update RefererData set dayHits=0";
session.createQuery(reset).executeUpdate();
String delete = null;
- if ( currentDialect instanceof SQLServerDialect || currentDialect instanceof OracleDialect ){
+ // Some databases can't handle comparing CLOBs, use like as a workaround
+ if ( currentDialect instanceof SQLServerDialect
+ || currentDialect instanceof OracleDialect
+ || currentDialect instanceof DerbyDialect) {
delete = "delete RefererData where excerpt is null or excerpt like ''";
} else {
delete = "delete RefererData where excerpt is null or excerpt=''";
@@ -162,10 +165,7 @@
//log.debug("including ignore word - "+ignoreWord);
or.add(Expression.ilike("refererUrl","%"+ignoreWord+"%"));
}
- criteria.add(Expression.conjunction()
- .add(Expression.disjunction().add(Expression.isNull("excerpt")).add(Expression.eq("excerpt", "")))
- .add(or)
- );
+ criteria.add(or);
log.debug("removing spam referers - "+criteria.list().size());
@@ -200,11 +200,7 @@
String ignoreWord = blacklist[i].trim();
or.add(Expression.ilike("refererUrl","%"+ignoreWord+"%"));
}
- criteria.add(Expression.conjunction()
- .add(Expression.disjunction().add(Expression.isNull("excerpt")).add(Expression.eq("excerpt", "")))
- .add(Expression.eq("website",website))
- .add(or)
- );
+ criteria.add(Expression.eq("website",website)).add(or);
Iterator referer = criteria.list().iterator();
while (referer.hasNext()) {
@@ -214,7 +210,7 @@
} catch (HibernateException e) {
throw new RollerException(e);
}
- }
+ }
/**
* Use Hibernate directly because Roller's Query API does too much allocation.
@@ -291,16 +287,18 @@
Iterator rawResults = query.list().iterator();
for (Iterator it = query.list().iterator(); it.hasNext();) {
Object[] row = (Object[])it.next();
- Integer hits = (Integer)row[0];
- String websiteId = (String)row[1];
- String websiteName = (String)row[2];
+ Integer hits = (Integer)row[0];
+ String websiteId = (String)row[1];
+ String websiteName = (String)row[2];
String websiteHandle = (String)row[3];
- result.add(new StatCount(
+ StatCount statCount = new StatCount(
websiteId,
websiteHandle,
websiteName,
"statCount.weblogDayHits",
- hits.longValue()));
+ hits.longValue());
+ statCount.setWeblogHandle(websiteHandle);
+ result.add(statCount);
}
return result;