001    /*
002     * Copyright 2010 The Kuali Foundation
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package mocks;
017    
018    import java.util.Properties;
019    
020    import javax.mail.Address;
021    import javax.mail.Authenticator;
022    import javax.mail.MessagingException;
023    import javax.mail.NoSuchProviderException;
024    import javax.mail.Session;
025    import javax.mail.internet.AddressException;
026    import javax.mail.internet.InternetAddress;
027    
028    import org.kuali.rice.kew.mail.Mailer;
029    
030    public class MockMailer extends Mailer{
031    
032            public MockMailer(Properties configProperties) {
033                    super(null);
034            }       
035            public MockMailer(Properties configProperties, Authenticator authenticator) {
036                    super(null,null);
037            }                          
038            public MockMailer(Properties configProperties, String username, String password) {
039                    super(null,null,null);
040            }
041            
042            /* (non-Javadoc)
043             * @see org.kuali.rice.kew.mail.Mailer#sendMessage(java.lang.String, javax.mail.Address[], java.lang.String, java.lang.String, javax.mail.Address[], javax.mail.Address[], boolean)
044             */
045            @Override
046            public void sendMessage(String sender, Address[] recipients,
047                            String subject, String messageBody, Address[] ccRecipients,
048                            Address[] bccRecipients, boolean htmlMessage)
049                            throws AddressException, MessagingException {
050                    
051                    String toValue = "";
052                    for(Address a: recipients){
053                            toValue += a.toString();
054                    }
055                    //String toValue = (recipients == null) ? "" : recipients.toString();
056            String fromValue = (sender == null) ? "" : sender;
057            String subjectValue = (subject == null) ? "" : subject;
058            String bodyValue = (messageBody == null) ? "" : messageBody;
059            LOG.info("\nWILL NOT send e-mail message with to '" + toValue + "'... \nfrom '" + fromValue + "'... \nsubject '" + subjectValue + "'... and \nbody '" + bodyValue);
060            }
061    
062            /* (non-Javadoc)
063             * @see org.kuali.rice.kew.mail.Mailer#sendMessage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)
064             */
065            @Override
066            public void sendMessage(String sender, String recipient, String subject, String messageBody, boolean htmlMessage) throws AddressException, MessagingException {
067            final Address[] NO_RECIPIENTS = null;
068            Address[] recipients = { new InternetAddress(recipient) };
069            sendMessage(sender, recipients, subject, messageBody, NO_RECIPIENTS, NO_RECIPIENTS, htmlMessage);
070        }
071            
072            /* (non-Javadoc)
073             * @see org.kuali.rice.kew.mail.Mailer#getAuthenticator()
074             */
075            @Override
076            public Authenticator getAuthenticator() {
077                    // TODO Auto-generated method stub
078                    return null;
079            }
080    
081            /* (non-Javadoc)
082             * @see org.kuali.rice.kew.mail.Mailer#getConfig()
083             */
084            @Override
085            public Properties getConfig() {
086    
087                    return null;
088            }
089    
090            /* (non-Javadoc)
091             * @see org.kuali.rice.kew.mail.Mailer#getCurrentSession()
092             */
093            @Override
094            public Session getCurrentSession() throws NoSuchProviderException {
095                    // TODO Auto-generated method stub
096                    return null;
097            }       
098    
099            /* (non-Javadoc)
100             * @see org.kuali.rice.kew.mail.Mailer#setConfig(java.util.Properties)
101             */
102            @Override
103            public void setConfig(Properties configProperties) {
104                    // TODO Auto-generated method stub
105                    super.setConfig(configProperties);
106            }
107    
108    }