Small tweaks, use more friendly content type
[zxing.git] / zxingorg / src / com / google / zxing / web / DecodeEmailListener.java
1 /*
2  * Copyright 2008 ZXing authors
3  *
4  * Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0
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
17 package com.google.zxing.web;
18
19 import javax.mail.Authenticator;
20 import javax.servlet.ServletContext;
21 import javax.servlet.ServletContextEvent;
22 import javax.servlet.ServletContextListener;
23 import java.util.Timer;
24
25 /**
26  * @author Sean Owen
27  */
28 public final class DecodeEmailListener implements ServletContextListener {
29
30   private static final long EMAIL_CHECK_INTERVAL = 5L * 60 * 1000;
31
32   private Timer emailTimer;
33
34   public void contextInitialized(ServletContextEvent event) {
35     ServletContext context = event.getServletContext();
36     String emailAddress = context.getInitParameter("emailAddress");
37     String emailPassword = context.getInitParameter("emailPassword");
38     if (emailAddress == null || emailPassword == null) {
39       throw new IllegalArgumentException("emailAddress or emailPassword not specified");
40     }
41     Authenticator emailAuthenticator = new EmailAuthenticator(emailAddress, emailPassword);
42     emailTimer = new Timer("Email decoder timer", true);
43     emailTimer.schedule(new DecodeEmailTask(emailAddress, emailAuthenticator), 0L, EMAIL_CHECK_INTERVAL);
44   }
45
46   public void contextDestroyed(ServletContextEvent event) {
47     emailTimer.cancel();
48   }
49
50 }