1   /*
2    * This file is part of Domingo
3    * an Open Source Java-API to Lotus Notes/Domino
4    * hosted at http://domingo.sourceforge.net
5    *
6    * Copyright (c) 2003-2007 Beck et al. projects GmbH München (http://www.bea.de)
7    *
8    * This library is free software; you can redistribute it and/or
9    * modify it under the terms of the GNU Lesser General Public
10   * License as published by the Free Software Foundation; either
11   * version 2.1 of the License, or (at your option) any later version.
12   *
13   * This library is distributed in the hope that it will be useful,
14   * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16   * Lesser General Public License for more details.
17   *
18   * You should have received a copy of the GNU Lesser General Public
19   * License along with this library; if not, write to the Free Software
20   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21   */
22  
23  package de.bea.domingo.samples;
24  
25  import de.bea.domingo.DDatabase;
26  import de.bea.domingo.DDocument;
27  import de.bea.domingo.DNotesException;
28  import de.bea.domingo.DNotesFactory;
29  import de.bea.domingo.DSession;
30  import de.bea.domingo.monitor.AbstractMonitor;
31  import de.bea.domingo.monitor.ConsoleMonitor;
32  
33  /***
34   * A simple example accessing a Lotus Domino server via XML over Http.
35   *
36   * @author <a href=mailto:kriede@users.sourceforge.net>Kurt Riede</a>
37   */
38  public final class HttpMail {
39  
40      /***
41       * Main method of sample.
42       *
43       * @param args arguments
44       * @throws DNotesException if the sample fails
45       */
46      public static void main(String[] args) throws DNotesException {
47  
48          // create a console monitor
49          ConsoleMonitor monitor = new ConsoleMonitor();
50          monitor.setLevel(AbstractMonitor.DEBUG);
51  
52          // get an instance of the domingo factory
53          DNotesFactory factory = DNotesFactory.getInstance("de.bea.domingo.http.NotesHttpFactory", monitor);
54  
55          // create a Http session to the Lotus Domino server
56          DSession session = factory.getSession("http://plato.acme", "kriede", "password");
57  
58          // get the mail database
59  //        DDatabase database = session.getDatabase("", "mail/kriede.nsf");
60          DDatabase database = session.getDatabase("", "mail/administ.nsf");
61  
62          // create a new memo in the mail database and save it
63          DDocument document = database.createDocument();
64          document.replaceItemValue("Form", "Memo");
65          document.replaceItemValue("From", "kriede@acme");
66          document.replaceItemValue("Subject", "Domingo Test with XML over Http");
67          document.replaceItemValue("Body", "Domingo Test with XML over Http");
68          boolean b = document.save();
69          if (b) {
70              System.out.println("Mail saved");
71          } else {
72              System.out.println("error saving mail");
73          }
74      }
75  }