knguyen 2005/07/21 15:39:28 CEST
Modified files:
core/src/java/org/jahia/hibernate/dao JahiaContainerDAO.java
Log:
update dao
Revision Changes Path
1.4 +30 -1
jahia/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java.diff?r1=1.3&r2=1.4&f=h
Index: JahiaContainerDAO.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JahiaContainerDAO.java 12 Jul 2005 13:52:52 -0000 1.3
+++ JahiaContainerDAO.java 21 Jul 2005 13:39:28 -0000 1.4
@@ -4,6 +4,9 @@
package org.jahia.hibernate.dao;
import org.hibernate.HibernateException;
+import org.hibernate.Session;
+import org.hibernate.Criteria;
+import org.hibernate.criterion.*;
import org.hibernate.type.Type;
import org.hibernate.type.TypeFactory;
import org.apache.commons.collections.FastArrayList;
@@ -16,12 +19,14 @@
import org.jahia.hibernate.model.JahiaCtnEntryPK;
import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.orm.hibernate3.HibernateTemplate;
+import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.sql.SQLException;
/**
* Created by IntelliJ IDEA.
@@ -264,6 +269,30 @@
return retVal;
}
+ public List getDeletedContainerIdsBySiteAndCtnDef(final Integer siteId,
+ final String
ctnDefName) {
+ final HibernateTemplate template = getHibernateTemplate();
+ template.setCacheQueries(true);
+ return (List) template.execute(new HibernateCallback() {
+ public Object doInHibernate(Session session) throws
+ HibernateException, SQLException {
+ Criteria crit = session.createCriteria(JahiaContainer.class);
+ crit.createAlias("site", "site");
+ crit.createAlias("ctndef", "ctndef");
+ if (siteId != null && siteId.intValue() != -1) {
+ crit.add(Expression.eq("site.id", siteId));
+ }
+ if (ctnDefName != null && !"".equals(ctnDefName.trim())) {
+ crit.add(Expression.eq("ctndef.name", ctnDefName));
+ }
+ crit.add(Expression.gt("comp_id.workflowState", new
Integer(1)));
+ crit.add(Expression.eq("comp_id.versionId", new Long( -1)));
+ crit.setProjection(Projections.distinct(Property.forName(
+ "ctnId")));
+ return crit.list();
+ }});
+ }
+
public List getAllContainerIdsInListSortedByFieldValue(Integer listId,
String fieldName, boolean ascendantSort) {
List retVal = null;
StringBuffer hql;
@@ -488,7 +517,7 @@
queryString.append("where c.comp_id.id=? ");
queryString.append("and c.comp_id.workflowState>1");
final HibernateTemplate template = getHibernateTemplate();
- template.setCacheQueries(true);
+ template.setCacheQueries(true);
return template.find(queryString.toString(), containerId);
}