⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatereservationservlet.java

📁 hotel management system
💻 JAVA
字号:
/*
 * Copyright 2005-2007 Kevin A. Lee
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
package net.sourceforge.hoteldj.web;

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

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sourceforge.hoteldj.ejb.HotelManagerFacadeLocal;
import net.sourceforge.hoteldj.ejb.HotelManagerFacadeLocalHome;
import net.sourceforge.hoteldj.ejb.ReservationLocal;

/**
 * Servlet implementation class for Servlet: UpdateReservationSelrvlet
 * 
 * @author Kevin A. Lee
 * @email kevin.lee@buildmeister.com
 * 
 */
public class UpdateReservationServlet extends javax.servlet.http.HttpServlet
		implements javax.servlet.Servlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 3369284978503530139L;

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public UpdateReservationServlet() {
		super();
	}

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
	 *      HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		if (request.getParameter("action").equals("Cancel Reservation")) {
			cancelReservation(request, response);
		} else {
			updateReservation(request, response);
		}
	}

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
	 *      HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * Update an existing reservation
	 * 
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void updateReservation(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		Context context = null;
		String path = "/error.jsp";

		ReservationIDHelper ridHelper = new ReservationIDHelper();

		try {
			Integer resID = ridHelper.formattedtoId(request
					.getParameter("resID"));
			Date arrivalDate = new SimpleDateFormat("yyyy-MM-dd").parse(request
					.getParameter("arrivalDate"));
			Integer numNights = new Integer(request.getParameter("numNights"));
			Integer numGuests = new Integer(request.getParameter("numGuests"));

			context = new InitialContext();
			HotelManagerFacadeLocalHome bmHome = (HotelManagerFacadeLocalHome) context
					.lookup(HotelManagerFacadeLocalHome.JNDI_NAME);
			HotelManagerFacadeLocal bm = bmHome.create();

			ReservationLocal res = bm.updateReservation(resID, arrivalDate,
					numNights, numGuests);

			if (res != null) {
				request.setAttribute("resID", ridHelper.idToFormatted(res.getId()));
				request.setAttribute("resArrival", res.getArrival_date());
				request.setAttribute("resNights", res.getNum_nights());
				request.setAttribute("resGuests", res.getNum_guests());
				path = "/updated_reservation.jsp";
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				context.close();
			} catch (NamingException e) {
				e.printStackTrace();
			}
		}

		getServletContext().getRequestDispatcher(path).forward(request,
				response);
	}
	
	/**
	 * Cancel an existing reservation
	 * 
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void cancelReservation(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		Context context = null;
		String path = "/error.jsp";

		ReservationIDHelper ridHelper = new ReservationIDHelper();

		try {
			Integer resID = ridHelper.formattedtoId(request
					.getParameter("resID"));
	
			context = new InitialContext();
			HotelManagerFacadeLocalHome bmHome = (HotelManagerFacadeLocalHome) context
					.lookup(HotelManagerFacadeLocalHome.JNDI_NAME);
			HotelManagerFacadeLocal bm = bmHome.create();

			request.setAttribute("resID", request.getParameter("resID"));
			if (bm.deleteReservation(resID)) {
				path = "/cancelled_reservation.jsp";;
			} else {
				// TODO: change to unable to cancel reservation
				path = "/error.jsp";
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				context.close();
			} catch (NamingException e) {
				e.printStackTrace();
			}
		}

		getServletContext().getRequestDispatcher(path).forward(request,
				response);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -