1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.ken.service.impl;
17
18 import org.kuali.rice.core.framework.persistence.dao.GenericDao;
19 import org.kuali.rice.ken.bo.NotificationChannel;
20 import org.kuali.rice.ken.service.NotificationChannelService;
21
22 import java.util.Collection;
23 import java.util.HashMap;
24 import java.util.Map;
25
26
27
28
29
30 public class NotificationChannelServiceImpl implements NotificationChannelService {
31 private GenericDao businessObjectDao;
32
33
34
35
36
37 public NotificationChannelServiceImpl(GenericDao businessObjectDao) {
38 this.businessObjectDao = businessObjectDao;
39 }
40
41
42
43
44 public NotificationChannel getNotificationChannel(String id) {
45 Map<String, String> primaryKeys = new HashMap<String, String>();
46 primaryKeys.put("id", id);
47 return (NotificationChannel) businessObjectDao.findByPrimaryKey(NotificationChannel.class, primaryKeys);
48 }
49
50
51
52
53 public NotificationChannel getNotificationChannelByName(String name) {
54 Map<String, String> fields = new HashMap<String, String>();
55 fields.put("name", name);
56 Collection<NotificationChannel> found = businessObjectDao.findMatching(NotificationChannel.class, fields);
57 assert(found.size() <= 1);
58 if (found.size() == 0) return null;
59 return found.iterator().next();
60 }
61
62
63
64
65 public Collection getSubscribableChannels() {
66 Map<String, Boolean> fieldValues = new HashMap<String, Boolean>();
67 String sortField = new String("name");
68 fieldValues.put("subscribable", true);
69 return businessObjectDao.findMatchingOrderBy(NotificationChannel.class, fieldValues, sortField, true);
70 }
71
72
73
74
75 public Collection getAllNotificationChannels() {
76 String sortField = new String("name");
77 return businessObjectDao.findAllOrderBy(NotificationChannel.class, sortField, true);
78 }
79 }