emailer/src/main/scala/cz/xelfi/quoridor/emailer/Notify.scala
author Jaroslav Tulach <jtulach@netbeans.org>
Wed, 17 Feb 2010 22:21:43 +0100
changeset 229 a11db9324580
parent 228 3ea04696a115
child 240 29287b0a1a0b
permissions -rw-r--r--
Don't show the whole email address, just the part before @
jtulach@228
     1
/*
jtulach@228
     2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
jtulach@228
     3
 *
jtulach@228
     4
 * The contents of this file are subject to the terms of either the GNU
jtulach@228
     5
 * General Public License Version 2 only ("GPL") or the Common
jtulach@228
     6
 * Development and Distribution License("CDDL") (collectively, the
jtulach@228
     7
 * "License"). You may not use this file except in compliance with the
jtulach@228
     8
 * License. You can obtain a copy of the License at
jtulach@228
     9
 * http://www.netbeans.org/cddl-gplv2.html
jtulach@228
    10
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
jtulach@228
    11
 * specific language governing permissions and limitations under the
jtulach@228
    12
 * License.  When distributing the software, include this License Header
jtulach@228
    13
 * Notice in each file and include the License file at
jtulach@228
    14
 * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
jtulach@228
    15
 * particular file as subject to the "Classpath" exception as provided
jtulach@228
    16
 * by Sun in the GPL Version 2 section of the License file that
jtulach@228
    17
 * accompanied this code. If applicable, add the following below the
jtulach@228
    18
 * License Header, with the fields enclosed by brackets [] replaced by
jtulach@228
    19
 * your own identifying information:
jtulach@228
    20
 * "Portions Copyrighted [year] [name of copyright owner]"
jtulach@228
    21
 *
jtulach@228
    22
 * Contributor(s):
jtulach@228
    23
 *
jtulach@228
    24
 * Portions Copyrighted 2009 Jaroslav Tulach
jtulach@228
    25
 */
jtulach@228
    26
jtulach@228
    27
package cz.xelfi.quoridor.emailer
jtulach@228
    28
jtulach@228
    29
import scala.xml._
jtulach@228
    30
import java.net.URL
jtulach@228
    31
import scala.io._
jtulach@228
    32
import scala.collection.Map
jtulach@228
    33
import scala.collection.mutable.HashMap
jtulach@228
    34
import javax.mail.internet._
jtulach@228
    35
import javax.mail.Message
jtulach@228
    36
import javax.mail.Transport
jtulach@228
    37
jtulach@228
    38
abstract class Notify {
jtulach@228
    39
  protected def allPlayers(): Map[String,List[Node]]
jtulach@228
    40
  protected def emails(ids : Collection[String]): List[String]
jtulach@228
    41
  protected def sendEmail(address : String, subject : String, text : String) : Unit
jtulach@228
    42
jtulach@228
    43
  def process() {
jtulach@228
    44
    val ret = allPlayers()
jtulach@228
    45
jtulach@228
    46
    for (val address <- emails(ret.keySet)) {
jtulach@229
    47
        Console.println("Sending message to " + address.split('@')(0))
jtulach@228
    48
jtulach@228
    49
        sendEmail(
jtulach@228
    50
          "quoridor@xelfi.cz",
jtulach@228
    51
          "Play Quoridor!",
jtulach@228
    52
          "Visit http://quoridor.xelfi.cz"
jtulach@228
    53
        )
jtulach@228
    54
    }
jtulach@228
    55
  }
jtulach@228
    56
}