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 java.util.Iterator;
26  
27  import de.bea.domingo.DDatabase;
28  import de.bea.domingo.DNotesException;
29  import de.bea.domingo.DNotesFactory;
30  import de.bea.domingo.DSession;
31  import de.bea.domingo.DView;
32  import de.bea.domingo.DViewEntry;
33  
34  /***
35   * A simple example accessing the NAB on a server using Http/XML.
36   *
37   * @author <a href=mailto:kriede@users.sourceforge.net>Kurt Riede</a>
38   */
39  public final class HttpNAB {
40  
41      /***
42       * Main method of sample.
43       *
44       * @param args arguments
45       * @throws DNotesException if the sample fails
46       */
47      public static void main(String[] args) throws DNotesException {
48  
49          // get an instance of the domingo factory
50          DNotesFactory factory = DNotesFactory.getInstance("de.bea.domingo.http.NotesHttpFactory");
51  
52          // create a Http session to a Lotus Domino server
53          DSession session = factory.getSession("http://plato.acme", "Administrator", "password");
54  
55          // get the local database names.nsf
56          DDatabase database = session.getDatabase("", "names.nsf");
57  
58          // print the view ($Users) to the console
59          DView view = database.getView("($Users)");
60          Iterator allEntries = view.getAllEntries();
61          System.out.println("Content of view ($Users)");
62          while (allEntries.hasNext()) {
63              DViewEntry entry = (DViewEntry) allEntries.next();
64              for (int i = 0; i < entry.getColumnValues().size(); i++) {
65                  System.out.print(entry.getColumnValues().get(i) + ", ");
66              }
67              System.out.println();
68          }
69      }
70  }