public class InvoiceServlet extends ReflexServlet {
// MODELのPackage名を指定
private static final String MODEL_PACKAGE = "jp.reflexworks.invoice.model";
public void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {
boolean toXml = true;
if (req.getParameter("xml") != null) {
toXml = false; // toJSON
}
try {
// パラメータからの値を取得
Invoice
param = new Invoice();
(new RequestMapper()).setValue(req, param);
// delete
JdoUtils jdoUtils = new JdoUtils();
// 削除対象が存在しない場合
if (jdoUtils.getInvoiceByKey(param)
== null) {
Status
status = new Status();
status.code = HttpStatus.SC_NO_CONTENT;
status.message = "No content.";
doResponse(resp, status, toXml, MODEL_PACKAGE);
}
else {
jdoUtils.delete(param);
Status
status = new Status();
status.code = HttpStatus.SC_OK;
status.message = "Deleted.";
doResponse(resp, status, toXml, MODEL_PACKAGE);
}
// エラー発生時
}
catch (Exception e) {
e.printStackTrace();
Status
status = new Status();
status.code = HttpStatus.SC_INTERNAL_SERVER_ERROR;
status.message = e.getMessage() + "\n";
try {
doResponse(resp, status, toXml, MODEL_PACKAGE);
}
catch (Exception ee) {
ee.printStackTrace();
}
}
}
}