diff options
author | Kjetil Orbekk <Kjetil Ørbekk orbekk@pvv.ntnu.no> | 2010-09-03 12:48:57 -0400 |
---|---|---|
committer | Kjetil Orbekk <Kjetil Ørbekk orbekk@pvv.ntnu.no> | 2010-09-03 12:48:57 -0400 |
commit | c3e8e1ba1ce93706ef8d8e9f97ce18fe8575c220 (patch) | |
tree | f16c1568c3dfb040201cbad9fed03d99ed9ee1ce /src/lq | |
parent | ef389445a475d3f96993e58dfd1a3fa82eb09ffb (diff) |
Add quote submission
Based on submit.jsp and submitted.jsp from the old application.
Diffstat (limited to 'src/lq')
-rw-r--r-- | src/lq/AddQuote.java | 69 | ||||
-rw-r--r-- | src/lq/Strings.java | 3 |
2 files changed, 72 insertions, 0 deletions
diff --git a/src/lq/AddQuote.java b/src/lq/AddQuote.java new file mode 100644 index 0000000..3174ac9 --- /dev/null +++ b/src/lq/AddQuote.java @@ -0,0 +1,69 @@ +package lq; + +import java.io.IOException; +import java.text.ParseException; +import java.util.Date; +import javax.jdo.PersistenceManager; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public class AddQuote extends HttpServlet { + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + String nick = req.getParameter("nick"); + String text = req.getParameter("quote"); + String date = req.getParameter("date"); + String forward = req.getHeader("X-Forwarded-For"); + String ip = req.getRemoteAddr(); + + resp.setContentType("text/html"); + + boolean validInput = true; + Date quoteDate = new Date(); + + if (Strings.nullOrEmpty(nick)) { + nick = "Anonym"; + } + if (Strings.nullOrEmpty(text)) { + validInput = false; + } + if (!Strings.nullOrEmpty(date)) { + try { + quoteDate = DateUtil.dateFormat.parse(date); + } + catch (ParseException exception) { + resp.getWriter().println("Dato må være på formatet YYYY-MM-DD"); + validInput = false; + } + } + if (!Strings.nullOrEmpty(forward)) { + ip = ip + " (" + forward + ")"; + } + + if (!validInput) { + resp.getWriter().println("Eskje du lidt kniben nå"); + return; + } + + Quote newQuote = new Quote(quoteDate, nick, text, ip); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + pm.makePersistent(newQuote); + } + finally { + pm.close(); + } + + resp.getWriter().println(successString); + } + + public final String successString = + "<center>\n" + + "<img src=\"roflcopter.gif\" /><p />\n" + + "<pre> Takk, quoten venter nå på godkjenning.</pre>\n" + + "<pre> <a href=\"/quotes.jsp\">Tilbake til quotes</a> </pre>\n" + + "</center>\n"; +} diff --git a/src/lq/Strings.java b/src/lq/Strings.java index f3604f0..42d23e5 100644 --- a/src/lq/Strings.java +++ b/src/lq/Strings.java @@ -7,6 +7,9 @@ public class Strings { .replaceAll("<","<") .replaceAll(">",">") .replaceAll(" "," "); + } + public static final boolean nullOrEmpty(String str) { + return str == null || str.isEmpty(); } } |