Package de.paulwein.notes

Source Code of de.paulwein.notes.CreateNoteServlet

package de.paulwein.notes;

import java.io.IOException;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;

import de.paulwein.notes.dao.DAOException;
import de.paulwein.notes.dao.DAOFactory;
import de.paulwein.notes.dao.NotesDAO;
import de.paulwein.notes.pojo.Note;

/**
* CreateNoteServlet
* fills JSP Page with Notes data in edit mode
* creates or updates notes
* corresponding to create.jsp
* @author Paul
*
*/
@SuppressWarnings("serial")
public class CreateNoteServlet extends NotesAppServlet {
 
  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    super.doGet(req, resp);
   
    String keyString = req.getParameter("key");
   
    String action = req.getParameter("action");
    // Edit Note
    // fill textareas with old entries
    if(action != null && action.equals("edit")){
      req.setAttribute("edit", "edit");
      Key noteKey = KeyFactory.stringToKey(keyString);
      try {
        DAOFactory df = DAOFactory.getInstance();
        NotesDAO notesDAO = df.getDAO(Note.class, NotesDAO.class);
        Note note = notesDAO.loadNote(noteKey);
        req.setAttribute("note",note);
      } catch (DAOException e) {
        errorOccured(resp);
      }
    }
   
    req.setAttribute("key", keyString);
    RequestDispatcher requestDispatcher = req.getRequestDispatcher(CREATE_NOTE_SERVLET + ".jsp");
    try {
      requestDispatcher.forward(req, resp);
    } catch (ServletException e) {
      errorOccured(resp);
    }   
  }
 
 
  public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    super.doPost(req, resp);
   
    String subject = req.getParameter("subject");
    String note = req.getParameter("note");
    String keyString = req.getParameter("key");
    Key listKey = KeyFactory.stringToKey(keyString);
   
    Note n = new Note();
    n.setDate(new Date());
    n.setSubject(subject);
    n.setNote(note);
    n.setUserId(user.getUserId());
    String action = req.getParameter("action");
   
    try {
      DAOFactory df = DAOFactory.getInstance();
      NotesDAO notesDAO = df.getDAO(Note.class, NotesDAO.class);
      // update Note
      if(action != null && action.equals("edit")){
        n.setKey(listKey);
        notesDAO.updateNote(n);
        keyString = KeyFactory.keyToString(listKey.getParent());
      }
      else // create new note and persist it
        notesDAO.addNote(listKey, n);
    } catch (DAOException e) {
      errorOccured(resp);
    }
    resp.sendRedirect(NOTELIST_SERVLET + "?key=" + keyString);
  }
}
TOP

Related Classes of de.paulwein.notes.CreateNoteServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.