KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > forum > actions > area > SignGuestbook


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar.forum.actions.area;
27
28 public class SignGuestbook extends WriteMessage
29 {
30   // Attributes -----------------------------------------------------
31
String JavaDoc name;
32     String JavaDoc email;
33     String JavaDoc homepage = "http://";
34     String JavaDoc main;
35
36   // Types ----------------------------------------------------------
37

38   // Setters --------------------------------------------------------
39
public void setName(String JavaDoc inName) { name = inName; }
40     public void setEmail(String JavaDoc inEmail) { email = inEmail; }
41     public void setHomepage(String JavaDoc inHomepage) { homepage = inHomepage; }
42     public void setMain(String JavaDoc inMain) { main = inMain; }
43
44   // Getters --------------------------------------------------------
45
public String JavaDoc getName() { return name; }
46     public String JavaDoc getEmail() { return email; }
47     public String JavaDoc getHomepage() { return homepage; }
48     public String JavaDoc getMain() { return main; }
49
50   // Implementation -------------------------------------------------
51
protected String JavaDoc doExecute()
52   {
53         String JavaDoc s;
54
55         try
56     {
57             boolean logout = !manager.isLoggedIn();
58             if (logout)
59                 manager.login("SK Guestbook Robot", "a4mnc-a834n;zos;gwon5r23l");
60
61             if (name != null && email != null && homepage != null && main != null && !"".equals(name) && !"".equals(main))
62             {
63                 subject = "Guestbook Entry";
64
65                 body = "name:\n"+escape(name);
66                 if (!email.equals(""))
67                     body += "\nemail:\n"+escape(email);
68                 if (!homepage.equals("") && !homepage.equals("http://"))
69                     body += "\nhomepage:\n"+escape(homepage);
70                 body += "\nmain:\n"+escape(main);
71         }
72
73             if (body == null || "".equals(body))
74             {
75                 System.err.println("reverting to preview...");
76                 command = "preview";
77             }
78
79             s = super.doExecute();
80
81             if (logout)
82                 manager.logout();
83     }
84     catch (Exception JavaDoc exception)
85     {
86             exception.printStackTrace();
87       addErrorMessage("error signing area (" + exception.toString() + ")");
88       s = ERROR;
89     }
90
91     return s;
92   }
93
94     static String JavaDoc escape(String JavaDoc s)
95     {
96         return s.replaceAll(":\n", ": \n");
97     }
98 }
Popular Tags