Rev 156 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.domain.dao.impl;
import pt.estgp.estgweb.domain.BlogImpl;
import pt.estgp.estgweb.domain.BlogPostImpl;
import java.util.List;
import java.util.Calendar;
import java.util.Iterator;
import static org.
hibernate.
criterion.
Restrictions.
*;
import org.hibernate.criterion.Order;
import org.hibernate.Query;
import jomm.utils.MyCalendar;
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class BlogPostDaoImpl
extends BlogPostDao
{
public static BlogPostDaoImpl getInstance
()
{
if (myInstance ==
null)
myInstance =
new BlogPostDaoImpl
();
return (BlogPostDaoImpl
) myInstance
;
}
public List
<BlogPostImpl
> loadOwnedBlogPosts
(long ownerId
)
{
return createCriteria
().
add(eq
("owner.id", ownerId
)).
list();
}
public List
<BlogPostImpl
> loadOwnedBlogPosts
(long ownerId,
long blogId
)
{
return createCriteria
().
add(eq
("owner.id", ownerId
)).
add(eq
("blog.id",blogId
)).
list();
}
public List
<BlogPostImpl
> loadBlogPosts
(long blogId,
int month,
int year
)
{
1.5.0/docs/api/java/util/Calendar.html">Calendar bottom =
new MyCalendar
(year,month,1
);
int topMonth
;
int topYear = year
;
if(month == 12
)
{
topMonth =
1;
topYear++
;
}
else
{
topMonth = month +
1;
}
1.5.0/docs/api/java/util/Calendar.html">Calendar top =
new MyCalendar
(topYear,topMonth,1,0,0,0
);
return createCriteria
()
.
add(eq
("blog.id", blogId
))
.
add(gt
("saveDate",bottom.
getTime()))
.
add(lt
("saveDate",top.
getTime()))
.
addOrder(Order.
desc("saveDate"))
.
list();
}
public List
<BlogPostImpl
> loadLastPosts
(long blogId,
int max
)
{
return createCriteria
()
.
add(eq
("blog.id", blogId
))
.
setMaxResults(max
)
.
addOrder(Order.
desc("saveDate"))
.
list();
}
public List
<Object
[]> loadMonths
(long blogId
)
{
1.5.0/docs/api/javax/management/Query.html">Query q = createQuery
("select p.monthId, count(p.monthId) from p in class " + getReferenceClass
().
getName() +
" where p.blog.id = " + blogId +
" group by p.monthId");
List
<Object
[]> l = q.
list();
return l
;
}
}