rendered paste body/**
*
*/
package wicket.webapp.service;
import java.util.List;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import wicket.webapp.dao.ArticlesDAO;
/**
* @author victori
*
*/
public class PersistanceServiceImpl implements PersistanceService {
private ArticlesDAO articlesdao = null;
final private CacheManager cacheManager = new CacheManager();
public PersistanceServiceImpl () {
try {
BeanFactory factory = new XmlBeanFactory(
new ClassPathResource("wicket/webapp/dao/beans.xml"));
this.articlesdao = (ArticlesDAO) factory.getBean("articlesDAO");
this.cacheManager.addCache("main_cache");
} catch (Exception e) {
System.out.println(e.toString());
}
}
public List getArticles() {
try {
return (List)cacheManager.getCache("main_cache").get("articles_all").getObjectValue();
} catch(Exception e) {
Cache cache = cacheManager.getCache("main_cache");
this.articlesdao.open();
List articles = this.articlesdao.getArticles();
this.articlesdao.close();
cache.put(new Element("articles_all",articles));
return (List)cache.get("articles_all").getObjectValue();
}
}
public List getArticles(int limit) {
this.articlesdao.open();
List articles = this.articlesdao.getArticles(limit);
this.articlesdao.close();
return articles;
}
}