package controllers; // Servlet Imports import models.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // Framework Imports import miso.DispatchedRequest; import miso.Controller; // Utility Imports import java.util.HashMap; // [[ModelNameCapitalized]] Controller Actions public class [[ModelNameCapitalized]]Controller extends Controller { static [[ModelNameCapitalized]]Model model = new [[ModelNameCapitalized]]Model(); public void show(DispatchedRequest req) { [[ModelNameCapitalized]] [[ModelNameLowercase]] = model.get(req.getID()); req.setAttribute("[[ModelNameLowercase]]", [[ModelNameLowercase]]); if (req.getFormat().equals("json")) { renderString(model.toJSON([[ModelNameLowercase]]).toString(), req); } else { render("show", req); } } public void index(DispatchedRequest req) { [[ModelNameCapitalized]][] [[ModelNameLowercase]]s = model.list(); req.setAttribute("[[ModelNameLowercase]]s", [[ModelNameLowercase]]s); if (req.getFormat().equals("json")) { renderString(model.listToJSON([[ModelNameLowercase]]s).toString(), req); } else { render("index", req); } } public void edit(DispatchedRequest req) { [[ModelNameCapitalized]] [[ModelNameLowercase]] = model.get(req.getID()); req.setAttribute("[[ModelNameLowercase]]", [[ModelNameLowercase]]); render("edit", req); } public void add(DispatchedRequest req) { render("add", req); } public void create(DispatchedRequest req) { if (!req.isPost()) redirect(req, "/[[APPNAME]]/app?controller=[[ModelNameLowercase]]&action=index"); [[ModelNameCapitalized]] [[ModelNameLowercase]] = model.create(req.getParams()); req.setAttribute("[[ModelNameLowercase]]", [[ModelNameLowercase]]); redirect(req, "/[[APPNAME]]/app?controller=[[ModelNameLowercase]]&action=show&id=" + [[ModelNameLowercase]].getID()); } public void update(DispatchedRequest req) { String redirectTo = "/[[APPNAME]]/app?controller=[[ModelNameLowercase]]&action=show&id=" + Integer.toString(req.getID()); req.setAttribute("redirectTo", redirectTo); if (!req.isPost()) redirect(req, redirectTo); [[ModelNameCapitalized]] [[ModelNameLowercase]] = model.update(req.getID(), req.getParams()); redirect(req, redirectTo); } public void destroy(DispatchedRequest req) { String redirectTo = "/[[APPNAME]]/app?controller=[[ModelNameLowercase]]&action=index"; if (!req.isPost()) redirect(req, redirectTo); model.destroy(req.getID()); req.setAttribute("[[ModelNameLowercase]]s", model.list()); redirect(req, redirectTo); } }