Clover Coverage Report - kew-test 2.0.0-SNAPSHOT
Coverage timestamp: Wed Dec 31 1969 19:00:00 EST
../img/srcFileCovDistChart0.png 0% of files have more coverage
40   164   24   2.5
14   108   0.6   16
16     1.5  
1    
 
  MockEmailNotificationServiceImpl       Line # 34 40 0% 24 70 0% 0.0
 
No Tests
 
1    /*
2    * Copyright 2006-2011 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 mocks;
17   
18    import org.apache.log4j.Logger;
19    import org.kuali.rice.core.mail.Mailer;
20    import org.kuali.rice.kew.actionitem.ActionItem;
21    import org.kuali.rice.kew.mail.service.EmailContentService;
22    import org.kuali.rice.kim.bo.Person;
23    import org.kuali.rice.kim.bo.entity.KimPrincipal;
24    import org.kuali.rice.kim.service.KIMServiceLocator;
25   
26    import java.util.ArrayList;
27    import java.util.Collection;
28    import java.util.HashMap;
29    import java.util.Iterator;
30    import java.util.List;
31    import java.util.Map;
32   
33   
 
34    public class MockEmailNotificationServiceImpl /*extends CustomizableActionListEmailServiceImpl*/ implements MockEmailNotificationService {
35    private static final Logger LOG = Logger.getLogger(MockEmailNotificationServiceImpl.class);
36   
37    private static Map<String,List> immediateReminders = new HashMap<String,List>();
38    private static Map<String,Integer> aggregateReminderCount = new HashMap<String,Integer>();
39    public static boolean SEND_DAILY_REMINDER_CALLED = false;
40    public static boolean SEND_WEEKLY_REMINDER_CALLED = false;
41   
42    private EmailContentService contentService;
43    private String deploymentEnvironment;
44   
45    private Mailer mailer;
46   
47    /**
48    * Resets the reminder counts
49    */
 
50  0 toggle public void resetReminderCounts() {
51  0 aggregateReminderCount.clear();
52  0 immediateReminders.clear();
53    }
54   
55    /**
56    * This overridden method will perform the standard operations from org.kuali.rice.kew.mail.ActionListEmailServiceImpl but will also keep track of action
57    * items processed
58    */
 
59  0 toggle @Override
60    public void sendImmediateReminder(Person user, ActionItem actionItem) {
61    //super.sendImmediateReminder(user, actionItem);
62  0 List actionItemsSentUser = (List)immediateReminders.get(user.getPrincipalId());
63  0 if (actionItemsSentUser == null) {
64  0 actionItemsSentUser = new ArrayList();
65  0 immediateReminders.put(user.getPrincipalId(), actionItemsSentUser);
66    }
67  0 actionItemsSentUser.add(actionItem);
68    }
69   
70    /**
71    * This overridden method returns a value of true always
72    */
73    //@Override
 
74  0 toggle protected boolean sendActionListEmailNotification() {
75   
76  0 return true;
77    }
78   
 
79  0 toggle @Override
80    public void sendDailyReminder() {
81  0 resetStyleService();
82    //super.sendDailyReminder();
83  0 SEND_DAILY_REMINDER_CALLED = true;
84    }
85   
 
86  0 toggle @Override
87    public void sendWeeklyReminder() {
88  0 resetStyleService();
89    //super.sendWeeklyReminder();
90  0 SEND_WEEKLY_REMINDER_CALLED = true;
91    }
92   
 
93  0 toggle @Override
94    public void scheduleBatchEmailReminders() throws Exception {
95    //do nothing
96    }
97   
98    //@Override
 
99  0 toggle protected void sendPeriodicReminder(Person user, Collection<ActionItem> actionItems, String emailSetting) {
100    //super.sendPeriodicReminder(user, actionItems, emailSetting);
101  0 if (!aggregateReminderCount.containsKey(emailSetting)) {
102  0 aggregateReminderCount.put(emailSetting, actionItems.size());
103    } else {
104  0 aggregateReminderCount.put(emailSetting, aggregateReminderCount.get(emailSetting) + actionItems.size());
105    }
106    }
107   
 
108  0 toggle public Integer getTotalPeriodicRemindersSent(String emailReminderConstant) {
109  0 Integer returnVal = aggregateReminderCount.get(emailReminderConstant);
110  0 if (returnVal == null) {
111  0 returnVal = Integer.valueOf(0);
112    }
113  0 return returnVal;
114    }
115   
 
116  0 toggle public Integer getTotalPeriodicRemindersSent() {
117  0 int total = 0;
118  0 for (Map.Entry<String, Integer> mapEntry : aggregateReminderCount.entrySet()) {
119  0 Integer value = mapEntry.getValue();
120  0 total += (value == null) ? 0 : value.intValue();
121    }
122  0 return Integer.valueOf(total);
123    }
124   
 
125  0 toggle public boolean wasStyleServiceAccessed() {
126  0 return getEmailContentGenerator().wasServiceAccessed();
127    }
128   
 
129  0 toggle private void resetStyleService() {
130  0 getEmailContentGenerator().resetServiceAccessed();
131    }
132   
 
133  0 toggle public int immediateReminderEmailsSent(String networkId, Long documentId, String actionRequestCd) {
134  0 KimPrincipal principal = KIMServiceLocator.getIdentityManagementService().getPrincipalByPrincipalName(networkId);
135  0 List actionItemsSentUser = immediateReminders.get(principal.getPrincipalId());
136  0 if (actionItemsSentUser == null) {
137  0 return 0;
138    }
139  0 int emailsSent = 0;
140  0 for (Iterator iter = actionItemsSentUser.iterator(); iter.hasNext();) {
141  0 ActionItem actionItem = (ActionItem) iter.next();
142  0 if (actionItem.getRouteHeaderId().equals(documentId) && actionItem.getActionRequestCd().equals(actionRequestCd)) {
143  0 emailsSent++;
144    }
145    }
146  0 return emailsSent;
147    }
148   
 
149  0 toggle public void setEmailContentGenerator(EmailContentService contentService) {
150  0 this.contentService = contentService;
151    }
152   
 
153  0 toggle protected MockStyleableEmailContentService getEmailContentGenerator() {
154  0 return (MockStyleableEmailContentService) contentService;
155    }
156   
 
157  0 toggle public void setMailer(Mailer mailer){
158  0 this.mailer = mailer;
159    }
160   
 
161  0 toggle public void setDeploymentEnvironment(String deploymentEnvironment) {
162  0 this.deploymentEnvironment = deploymentEnvironment;
163    }
164    }