Source code for /src/java/com/coolshare/springapp/web/BambooListController.java

// =====================================================================//
// Author: Mark Qian <markqian@hotmail.com>                             //
// WWW: http://www.coolshare.com/                                       //
// Copyright (c) 2006, Mark Qian                                        //
//                                                                      //
// You must contact Mark Qian to get a permission of use                //
// in case you want to make any use of the codes except viewing it     //
// on Mark's site.                                                      //
//======================================================================//
package com.coolshare.springapp.web;

import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Query;
import org.hibernate.Session;

import com.coolshare.springapp.bus.Bamboo;
import com.coolshare.springapp.bus.BambooManager;
import com.coolshare.springapp.hibernate.HibernateUtil;

public class BambooListController implements Controller {

	/** Logger for this class and subclasses */
	protected final Log logger = LogFactory.getLog(getClass());

	private BambooManager booMan;

	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		HttpSession session = request.getSession(false);

		Map myModel = new HashMap();
		List booList = getBambooManager().getBamboos();
		myModel.put("bamboo", booList);
		doQuery();

		return new ModelAndView("price", "model", myModel);
	}

	public void setBambooManager(BambooManager pm) {
		booMan = pm;
	}

	public BambooManager getBambooManager() {
		return booMan;
	}

	private List doQuery() {
		System.out.println("In doQuery");
		List res = new ArrayList();
		try {
			// This step will read hibernate.cfg.xml and prepare hibernate for
			// use
			Session session = HibernateUtil.getSessionFactory().openSession();
			session.beginTransaction();

			String SQL_QUERY = "from Bamboo bamboo";
			Query query = session.createQuery(SQL_QUERY);
			for (Iterator it = query.iterate(); it.hasNext();) {
				Bamboo bamboo = (Bamboo) it.next();
				res.add(bamboo);
				// Set carsOwned = (Set)driver.getCarsOwned();
				// for (Iterator itOwned = carsOwned.iterator();
				// itOwned.hasNext(); ) {
				// Car carOwned = (Car)itOwned.next();

				// }
			}
			session.getTransaction().commit(); // Automatically closes session
			return res;
		} catch (Exception e) {
			System.out.println(e.getMessage());
		} finally {
		}
		return null;
	}

}