view src/main/java/de/mpiwg/web/jsp/BooksPage.java @ 12:d57fe2179f61

Improvement of book page
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Tue, 26 May 2015 18:02:03 +0200
parents f15b0214cc1c
children 9c6e74761f60
line wrap: on
line source

package de.mpiwg.web.jsp;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

import de.mpiwg.gazetteer.db.DBBook;
import de.mpiwg.gazetteer.db.DBSectionVersion;
import de.mpiwg.gazetteer.utils.DBService;

public class BooksPage extends AbstractJSPPage{

	private static Logger logger = Logger.getLogger(BooksPage.class);
	
	public static String bean = "booksBean";
	public static String page = "pages/books.jsp";
	private List<DBBook> completeBookList;
	private Map<String, DBSectionVersion> sectionVersionMap = null;

	
	public void loadParameters(HttpServletRequest request, HttpServletResponse response){
		this.request = request;
		this.response = response;
		
	}
	
	public List<DBBook> getCompleteBookList() {
		return completeBookList;
	}

	public void loadBooks(){
		if(this.completeBookList == null){
			this.forceLoadBooks();
		}
	}
	
	public void forceLoadBooks(){
		logger.debug("loadBooks");

		this.loadSectionsVersion();
		
		logger.debug("loading book list");
		this.completeBookList = new ArrayList<DBBook>();
		if(getSessionBean().getUser() != null){
			// === load book table from db ==
			for(DBBook book : DBService.getInstance().getBooks()){		
				// TODO: get editor and date by book id
					
				book.setCurrentSectionVersion(sectionVersionMap.get(book.getId()));
				
				this.completeBookList.add(book);
			}	
		}
		
	}
	
	private void loadSectionsVersion(){
		this.sectionVersionMap = new HashMap<String, DBSectionVersion>();
		
		try {
			for(DBSectionVersion sv : DBService.getInstance().getSectionVersionList()){
				this.sectionVersionMap.put(sv.getBooks_id(), sv);
			}	
		} catch (Exception e) {
			addMsg("There is an internal error: " + e.getLocalizedMessage());
			e.printStackTrace();
		}
		
		
	}

	

	

}