package org.wahlzeit.agents;
import org.wahlzeit.model.Photo;
import org.wahlzeit.model.PhotoManager;
import org.wahlzeit.services.LogBuilder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.logging.Logger;
/**
* Servlet to persist Photos that are only in the Cache.
* As it has nothing to do with <code>UserSession</code> or UI, it
* is not implemented as a Handler or a child of <code>AbstractServlet</code>.
*
* @review
*/
public class PersistPhotoAgent extends HttpServlet {
private static final Logger log = Logger.getLogger(PersistPhotoAgent.class.getName());
/**
* @methodtype command
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter(Photo.ID);
log.config(LogBuilder.createSystemMessage().addParameter("Try to persist PhotoId", id).toString());
if (id != null && !"".equals(id)) {
Photo photo = PhotoManager.getInstance().getPhoto(id);
if (photo != null) {
PhotoManager.getInstance().savePhoto(photo);
log.config(LogBuilder.createSystemMessage().addMessage("Photo saved.").toString());
} else {
response.setStatus(299);
throw new IllegalArgumentException("Could not find Photo with ID " + id);
}
}
response.setStatus(200);
}
}