1 /*****************************************************************************
5 * Creation date 19.10.2012
8 * @copyright OPEN CASCADE 2012
9 *****************************************************************************/
11 package org.splat.service;
13 import java.util.List;
15 import org.hibernate.criterion.Order;
16 import org.hibernate.criterion.Restrictions;
17 import org.splat.dal.bo.som.KnowledgeElementType;
18 import org.splat.dal.bo.som.ProgressState;
19 import org.splat.dal.dao.som.KnowledgeElementTypeDAO;
22 * KnowledgeElementTypeService implementation for working with knowledge types.
24 * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
26 public class KnowledgeElementTypeServiceImpl implements
27 KnowledgeElementTypeService {
30 * Injected knowledge element type DAO.
32 private KnowledgeElementTypeDAO _knowledgeElementTypeDAO;
35 * Create a knowledge element type with the given name.
39 * @return the created knowledge type
41 public KnowledgeElementType createType(String name) {
42 // TODO: Check for duplicate definition
43 KnowledgeElementType kelt = new KnowledgeElementType(name);
44 getKnowledgeElementTypeDAO().create(kelt);
49 * Get all knowledge types from the database.
51 * @return the list of all knowledge types
53 public List<KnowledgeElementType> selectAllTypes() {
54 return getKnowledgeElementTypeDAO().getAll(Order.asc("rid"));
58 * Get knowledge types which have the given progress state.
62 * @return the list of found knowledge types
64 public List<KnowledgeElementType> selectTypesWhere(ProgressState state) {
65 return getKnowledgeElementTypeDAO().getFilteredList(
66 Restrictions.eq("state", state), Order.asc("rid"));
70 * Find a knowledge type by its name.
73 * the knowledge type name
74 * @return the found knowledge type
76 public KnowledgeElementType selectType(String name) {
77 return getKnowledgeElementTypeDAO().findByCriteria(
78 Restrictions.eq("name", name));
82 * Get a knowledge type by its id.
85 * the id of a knowledge type
86 * @return the found knowledge type
88 public KnowledgeElementType selectType(long index) {
89 return getKnowledgeElementTypeDAO().get(index);
93 * Get the knowledgeElementTypeDAO.
95 * @return the knowledgeElementTypeDAO
97 public KnowledgeElementTypeDAO getKnowledgeElementTypeDAO() {
98 return _knowledgeElementTypeDAO;
102 * Set the knowledgeElementTypeDAO.
104 * @param knowledgeElementTypeDAO
105 * the knowledgeElementTypeDAO to set
107 public void setKnowledgeElementTypeDAO(
108 KnowledgeElementTypeDAO knowledgeElementTypeDAO) {
109 _knowledgeElementTypeDAO = knowledgeElementTypeDAO;