View Javadoc

1   /*
2    * Copyright 2007-2008 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.ken.service.impl;
17  
18  import java.util.ArrayList;
19  import java.util.Collection;
20  
21  import org.kuali.rice.ken.bo.NotificationChannel;
22  import org.kuali.rice.ken.service.KENAPIService;
23  import org.kuali.rice.ken.service.NotificationChannelService;
24  import org.kuali.rice.ken.service.UserPreferenceService;
25  import org.springframework.beans.factory.annotation.Required;
26  
27  /**
28   * KEN API service implementation 
29   * 
30   * @author Kuali Rice Team (rice.collab@kuali.org)
31   */
32  public class KENAPIServiceImpl implements KENAPIService {
33      private NotificationChannelService channelService;
34      private UserPreferenceService prefsService;
35  
36      /**
37       * Sets the NotificationChannelService
38       * @param ncs the NotificationChannelService
39       */
40      @Required
41      public void setNotificationChannelService(NotificationChannelService ncs) {
42          this.channelService = ncs;
43      }
44      
45      /**
46       * Sets the UserPreferenceService
47       * @param ups the UserPreferenceService
48       */
49      @Required
50      public void setUserPreferenceService(UserPreferenceService ups) {
51          this.prefsService = ups;
52      }
53  
54      /**
55       * @see org.kuali.rice.ken.service.KENAPIService#getAllChannels()
56       */
57      public Collection<String> getAllChannelNames() {
58          Collection<NotificationChannel> chans = channelService.getAllNotificationChannels();
59          Collection<String> chanNames = new ArrayList<String>(chans.size());
60          for (NotificationChannel c: chans) {
61              chanNames.add(c.getName());
62          }
63          return chanNames;
64      }
65  
66      /**
67       * @see org.kuali.rice.ken.service.KENAPIService#getDeliverersForRecipientAndChannel(java.lang.String, java.lang.String)
68       */
69      public Collection<String> getDeliverersForRecipientAndChannel(String recipient, String channel) {
70          /*NotificationChannel nc = channelService.getNotificationChannelByName(channel);
71          if (nc == null) {
72              throw new RuntimeException("Invalid channel: '" + channel + "'");
73          }
74          Collection<UserDelivererConfig> configs = prefsService.getMessageDelivererConfigurationsForUserAndChannel(recipient, nc);
75          Collection<String> deliverers = new ArrayList<String>(configs.size());
76          for (UserDelivererConfig cfg: configs) {
77              deliverers.add(cfg.getDelivererName());
78          }
79          return deliverers;*/
80          return null;
81      }
82  
83      /**
84       * @see org.kuali.rice.ken.service.KENAPIService#getRecipientPreference(java.lang.String, java.lang.String)
85       */
86      public String getRecipientPreference(String recipient, String prefKey) {
87          /*RecipientPreference rp = prefsService.getUserRecipientPreferences(recipient, prefKey);
88          if (rp == null) return null;
89          return rp.getValue();
90          */
91          return null;
92      }
93  }