1 package com.panogenesis.dao.hibernate;
2
3 import java.util.List;
4
5 import com.panogenesis.model.Component;
6 import com.panogenesis.dao.ComponentDAO;
7
8 import org.springframework.orm.ObjectRetrievalFailureException;
9
10 public class ComponentDAOHibernate extends BaseDAOHibernate implements ComponentDAO {
11
12 /***
13 * @see com.panogenesis.dao.ComponentDAO#getComponents(com.panogenesis.model.Component)
14 */
15 public List getComponents(Component component) {
16
17 return getHibernateTemplate().find("from Component");
18 }
19
20 /***
21 * @see com.panogenesis.dao.ComponentDAO#getComponent(final Integer id)
22 */
23 public Component getComponent(final Integer id) {
24 Component component = (Component) getHibernateTemplate().get(Component.class, id);
25 if (component == null) {
26 log.warn("uh oh, component with id '" + id + "' not found...");
27 throw new ObjectRetrievalFailureException(Component.class, id);
28 }
29
30 return component;
31 }
32
33 /***
34 * @see com.panogenesis.dao.ComponentDAO#saveComponent(Component component)
35 */
36 public void saveComponent(final Component component) {
37 getHibernateTemplate().saveOrUpdate(component);
38 }
39
40 /***
41 * @see com.panogenesis.dao.ComponentDAO#removeComponent(final Integer id)
42 */
43 public void removeComponent(final Integer id) {
44 getHibernateTemplate().delete(getComponent(id));
45 }
46 }