view src/main/java/de/mpiwg/web/jsp/JSPProxy.java @ 98:62be8de89560

add new columns : book year and edition year in Topic page.
author Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
date Fri, 29 Sep 2017 15:52:11 +0200
parents d0dcbe8254f5
children
line wrap: on
line source

package de.mpiwg.web.jsp;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

public class JSPProxy extends AbstractJSPPage {

	private static Logger logger = Logger.getLogger(JSPProxy.class);

	private String action;
	private String bean;

	public void init(){
		/*
		Map<String, String[]> parameters = request.getParameterMap();
		for(String parameter : parameters.keySet()) {
		    if(parameter.toLowerCase().startsWith("token")) {
		        String[] values = parameters.get(parameter);
		        System.out.println(parameter + "= " + values);
		    }
		}*/
	}


	public String processRequest(){

		logger.info("processRequest [bean= " + bean + ", action=" + action +"]");

		try{


			if(StringUtils.equals(bean, "loginBean")){
				getSessionBean().loadParameters(request, response);

				if(StringUtils.equals(action, "login")){
					getSessionBean().login();
				}else if(StringUtils.equals(action, "logout")){
					getSessionBean().logout();
				}
				//return TopicListPage.page;	// the new home page?
				// return "pages/home.jsp";
				return BooksPage.page;

			} else if (getSessionBean() == null || getSessionBean().getUser() == null) {
				// return to home page where will ask user to login.

				// alert session timeout
				getSessionBean().addMsg("Timeout or Logout at another page! Please login again.");

				//return TopicListPage.page;	// the new home page?
				//return "pages/home.jsp";
				return BooksPage.page;
			}


			if(StringUtils.equals(bean, BranchPage.bean)){

				getSessionBean().getBranchPage().loadParameters(request, response);

				if(StringUtils.equals(action, "addContributor")){
					getSessionBean().getBranchPage().addContributor();
				}else if(StringUtils.equals(action, "removeContributor")){
					getSessionBean().getBranchPage().removeContributor();
				}else if(StringUtils.equals(action, "deleteFile")){
					getSessionBean().getBranchPage().deleteFile();
				}else if(StringUtils.equals(action, "publishFile")){
					getSessionBean().getBranchPage().publishFile();
				}else if(StringUtils.equals(action, "updateLabel")){
					getSessionBean().getBranchPage().updateLabel();
				}else if (StringUtils.equals(action, "forceReloadBranch")) {
					getSessionBean().getBranchPage().forceReloadBranch();
				}


				return BranchPage.page;


			} else if(StringUtils.equals(bean, CreateFilePage.bean)){

				getSessionBean().getCreateFilePage().loadParameters(request, response);

				if(StringUtils.equals(action, "loadSection")){
					getSessionBean().getCreateFilePage().loadSection();
				}else if(StringUtils.equals(action, "reset")){
					getSessionBean().getCreateFilePage().reset();
				}

				return CreateFilePage.page;

			} else if(StringUtils.equals(bean, HomePage.bean)){

				getSessionBean().getHomePage().loadParameters(request, response);

				if(StringUtils.equals(action, "deleteBranch")){
					getSessionBean().getHomePage().deleteBranch();
				} else if(StringUtils.equals(action, "reloadBranches")){
					getSessionBean().getHomePage().reloadBranches();
				}
				// zoe add for sorting in home page, which shows user's branches
				else if (StringUtils.equals(action, "forceReloadBranches")) {
					getSessionBean().getHomePage().forceLoadBranches();;
				} else if(StringUtils.equals(action, "filter")){
					getSessionBean().getHomePage().filter();
				}
				 else if(StringUtils.equals(action, "sortByBranchIdUp")) {
					getSessionBean().getHomePage().sortByBranchIdUp();
				} else if(StringUtils.equals(action, "sortByBranchIdDown")) {
					getSessionBean().getHomePage().sortByBranchIdDown();
				} else if(StringUtils.equals(action, "sortByBookNameUp")) {
					getSessionBean().getHomePage().sortByBookNameUp();
				} else if(StringUtils.equals(action, "sortByBookNameDown")) {
					getSessionBean().getHomePage().sortByBookNameDown();
				} else if(StringUtils.equals(action, "sortByBookIdUp")) {
					getSessionBean().getHomePage().sortByBookIdUp();
				} else if(StringUtils.equals(action, "sortByBookIdDown")) {
					getSessionBean().getHomePage().sortByBookIdDown();

				} else if(StringUtils.equals(action, "sortByLevel1Up")) {
					getSessionBean().getHomePage().sortByLevel1Up();
				} else if(StringUtils.equals(action, "sortByLevel1Down")) {
					getSessionBean().getHomePage().sortByLevel1Down();
				} else if(StringUtils.equals(action, "sortByLevel2Up")) {
					getSessionBean().getHomePage().sortByLevel2Up();
				} else if(StringUtils.equals(action, "sortByLevel2Down")) {
					getSessionBean().getHomePage().sortByLevel2Down();

				} else if(StringUtils.equals(action, "sortByAdminTypeUp")) {
					getSessionBean().getHomePage().sortByAdminTypeUp();
				} else if(StringUtils.equals(action, "sortByAdminTypeDown")) {
					getSessionBean().getHomePage().sortByAdminTypeDown();
				} else if(StringUtils.equals(action, "sortByDynastyUp")) {
					getSessionBean().getHomePage().sortByDynastyUp();
				} else if(StringUtils.equals(action, "sortByDynastyDown")) {
					getSessionBean().getHomePage().sortByDynastyDown();
				} else if(StringUtils.equals(action, "sortBySectionStartPageUp")) {
					getSessionBean().getHomePage().sortBySectionStartPageUp();
				} else if(StringUtils.equals(action, "sortBySectionStartPageDown")) {
					getSessionBean().getHomePage().sortBySectionStartPageDown();
				} else if(StringUtils.equals(action, "sortByPeriodUp")) {
					getSessionBean().getHomePage().sortByPeriodUp();
				} else if(StringUtils.equals(action, "sortByPeriodDown")) {
					getSessionBean().getHomePage().sortByPeriodDown();
                } else if(StringUtils.equals(action, "sortByBookYearUp")) {
                    getSessionBean().getHomePage().sortByBookYearUp();
                } else if(StringUtils.equals(action, "sortByBookYearDown")) {
                    getSessionBean().getHomePage().sortByBookYearDown();
                } else if(StringUtils.equals(action, "sortByEditionYearUp")) {
                    getSessionBean().getHomePage().sortByEditionYearUp();
                } else if(StringUtils.equals(action, "sortByEditionYearDown")) {
                    getSessionBean().getHomePage().sortByEditionYearDown();
				} else if(StringUtils.equals(action, "sortBySectionNameUp")) {
					getSessionBean().getHomePage().sortBySectionNameUp();
				} else if(StringUtils.equals(action, "sortBySectionNameDown")) {
					getSessionBean().getHomePage().sortBySectionNameDown();
				} else if(StringUtils.equals(action, "sortByLabelUp")) {
					getSessionBean().getHomePage().sortByLabelUp();
				} else if(StringUtils.equals(action, "sortByLabelDown")) {
					getSessionBean().getHomePage().sortByLabelDown();
				} else if(StringUtils.equals(action, "sortByLastModifiedUp")) {
					getSessionBean().getHomePage().sortByLastModifiedUp();
				} else if(StringUtils.equals(action, "sortByLastModifiedDown")) {
					getSessionBean().getHomePage().sortByLastModifiedDown();
				} else if(StringUtils.equals(action, "sortByPublishedInDataverseUp")) {
					getSessionBean().getHomePage().sortByPublishedInDataverseUp();
				} else if(StringUtils.equals(action, "sortByPublishedInDataverseDown")) {
					getSessionBean().getHomePage().sortByPublishedInDataverseDown();

				//PAGINATOR
				} else if(StringUtils.equals(action, "firstPage")){
					getSessionBean().getHomePage().firstPage();
				} else if(StringUtils.equals(action, "fastRewind")){
					getSessionBean().getHomePage().fastRewind();
				} else if(StringUtils.equals(action, "previousPage")){
					getSessionBean().getHomePage().previousPage();
				} else if(StringUtils.equals(action, "nextPage")){
					getSessionBean().getHomePage().nextPage();
				} else if(StringUtils.equals(action, "fastForward")){
					getSessionBean().getHomePage().fastForward();
				} else if(StringUtils.equals(action, "lastPage")){
					getSessionBean().getHomePage().lastPage();
        }
				return HomePage.page;


			}else if(StringUtils.equals(bean, SearchPage.bean)){
				getSessionBean().getSearchPage().loadParameters(request, response);

				if(StringUtils.equals(action, "search")){
					getSessionBean().getSearchPage().search();
				} else if(StringUtils.equals(action, "filter")){
					getSessionBean().getSearchPage().filter();


				//PAGINATOR
				} else if(StringUtils.equals(action, "firstPage")){
					getSessionBean().getSearchPage().firstPage();
				} else if(StringUtils.equals(action, "fastRewind")){
					getSessionBean().getSearchPage().fastRewind();
				} else if(StringUtils.equals(action, "previousPage")){
					getSessionBean().getSearchPage().previousPage();
				} else if(StringUtils.equals(action, "nextPage")){
					getSessionBean().getSearchPage().nextPage();
				} else if(StringUtils.equals(action, "fastForward")){
					getSessionBean().getSearchPage().fastForward();
				} else if(StringUtils.equals(action, "lastPage")){
					getSessionBean().getSearchPage().lastPage();

				//SORTING
				} else if(StringUtils.equals(action, "sortByBookIdUp")){
					getSessionBean().getSearchPage().sortByBookIdUp();
				} else if(StringUtils.equals(action, "sortByBookIdDown")){
					getSessionBean().getSearchPage().sortByBookIdDown();
				} else if(StringUtils.equals(action, "sortByBookNameUp")){
					getSessionBean().getSearchPage().sortByBookNameUp();
				} else if(StringUtils.equals(action, "sortByBookNameDown")){
					getSessionBean().getSearchPage().sortByBookNameDown();
				} else if(StringUtils.equals(action, "sortByDynastyUp")){
					getSessionBean().getSearchPage().sortByDynastyUp();
				} else if(StringUtils.equals(action, "sortByDynastyDown")){
					getSessionBean().getSearchPage().sortByDynastyDown();
				} else if(StringUtils.equals(action, "sortByPeriodUp")){
					getSessionBean().getSearchPage().sortByPeriodUp();
				} else if(StringUtils.equals(action, "sortByPeriodDown")){
					getSessionBean().getSearchPage().sortByPeriodDown();
				} else if(StringUtils.equals(action, "sortByVolumeUp")){
					getSessionBean().getSearchPage().sortByVolumeUp();
				} else if(StringUtils.equals(action, "sortByVolumeDown")){
					getSessionBean().getSearchPage().sortByVolumeDown();
				} else if(StringUtils.equals(action, "sortBySectionNameUp")){
					getSessionBean().getSearchPage().sortBySectionNameUp();
				} else if(StringUtils.equals(action, "sortBySectionNameDown")){
					getSessionBean().getSearchPage().sortBySectionNameDown();

				} else if(StringUtils.equals(action, "sortByLevel1Up")){
					getSessionBean().getSearchPage().sortByLevel1Up();
				} else if(StringUtils.equals(action, "sortByLevel1Down")){
					getSessionBean().getSearchPage().sortByLevel1Down();
				} else if(StringUtils.equals(action, "sortByLevel2Up")){
					getSessionBean().getSearchPage().sortByLevel2Up();
				} else if(StringUtils.equals(action, "sortByLevel2Down")){
					getSessionBean().getSearchPage().sortByLevel2Down();

				} else if(StringUtils.equals(action, "sortByAdminTypeUp")){
					getSessionBean().getSearchPage().sortByAdminTypeUp();
				} else if(StringUtils.equals(action, "sortByAdminTypeDown")){
					getSessionBean().getSearchPage().sortByAdminTypeDown();

				} else if(StringUtils.equals(action, "sortByStartPageUp")){
					getSessionBean().getSearchPage().sortByStartPageUp();
				} else if(StringUtils.equals(action, "sortByStartPageDown")){
					getSessionBean().getSearchPage().sortByStartPageDown();
				} else if(StringUtils.equals(action, "sortByBookYearUp")){
                    getSessionBean().getSearchPage().sortByBookYearUp();
                } else if(StringUtils.equals(action, "sortByBookYearDown")){
                    getSessionBean().getSearchPage().sortByBookYearDown();
                } else if(StringUtils.equals(action, "sortByEditionYearUp")){
                    getSessionBean().getSearchPage().sortByEditionYearUp();
                } else if(StringUtils.equals(action, "sortByEditionYearDown")){
                    getSessionBean().getSearchPage().sortByEditionYearDown();
                } else if(StringUtils.equals(action, "sortBySourceUp")){
					getSessionBean().getSearchPage().sortBySourceUp();
				} else if(StringUtils.equals(action, "sortBySourceDown")){
					getSessionBean().getSearchPage().sortBySourceDown();
				}

				return SearchPage.page;

			} else if(StringUtils.equals(bean, FullTextSearchPage.bean)){
				getSessionBean().getFullTextSearchPage().loadParameters(request, response);

				if(StringUtils.equals(action, "search")){
					getSessionBean().getFullTextSearchPage().search();
				} else if(StringUtils.equals(action, "filter")){
					getSessionBean().getFullTextSearchPage().filter();
				} else if(StringUtils.equals(action, "save")){
					getSessionBean().getFullTextSearchPage().save();


				} else if(StringUtils.equals(action, "saveFiltered")){
					getSessionBean().getFullTextSearchPage().saveFilteredList();;


				} else if(StringUtils.equals(action, "removeFocusedContent")){
					getSessionBean().getFullTextSearchPage().removeFocusedContent(true);
				} else if(StringUtils.equals(action, "recoverFocusedContent")){
					getSessionBean().getFullTextSearchPage().removeFocusedContent(false);

				// for searching in batch keywords
				} else if(StringUtils.equals(action, "searchBatch")){
					getSessionBean().getFullTextSearchPage().searchBatch();

				// load existing searching result
				} else if(StringUtils.equals(action, "loadFile")) {
					getSessionBean().getFullTextSearchPage().loadFile();

				// delete existing searching result
				} else if(StringUtils.equals(action, "deleteFile")) {
					getSessionBean().getFullTextSearchPage().deleteFile();

				//PAGINATOR
				} else if(StringUtils.equals(action, "firstPage")){
					getSessionBean().getFullTextSearchPage().firstPage();
				} else if(StringUtils.equals(action, "fastRewind")){
					getSessionBean().getFullTextSearchPage().fastRewind();
				} else if(StringUtils.equals(action, "previousPage")){
					getSessionBean().getFullTextSearchPage().previousPage();
				} else if(StringUtils.equals(action, "nextPage")){
					getSessionBean().getFullTextSearchPage().nextPage();
				} else if(StringUtils.equals(action, "fastForward")){
					getSessionBean().getFullTextSearchPage().fastForward();
				} else if(StringUtils.equals(action, "lastPage")){
					getSessionBean().getFullTextSearchPage().lastPage();

				//SORTING
				} else if(StringUtils.equals(action, "sortByInxUp")){
					getSessionBean().getFullTextSearchPage().sortByInxUp();
				} else if(StringUtils.equals(action, "sortByInxDown")){
					getSessionBean().getFullTextSearchPage().sortByInxDown();
				} else if(StringUtils.equals(action, "sortByBookIdUp")){
					getSessionBean().getFullTextSearchPage().sortByBookIdUp();
				} else if(StringUtils.equals(action, "sortByBookIdDown")){
					getSessionBean().getFullTextSearchPage().sortByBookIdDown();
				} else if(StringUtils.equals(action, "sortByBookNameUp")){
					getSessionBean().getFullTextSearchPage().sortByBookNameUp();
				} else if(StringUtils.equals(action, "sortByBookNameDown")){
					getSessionBean().getFullTextSearchPage().sortByBookNameDown();
				} else if(StringUtils.equals(action, "sortByDynastyUp")){
					getSessionBean().getFullTextSearchPage().sortByDynastyUp();
				} else if(StringUtils.equals(action, "sortByDynastyDown")){
					getSessionBean().getFullTextSearchPage().sortByDynastyDown();
				} else if(StringUtils.equals(action, "sortByPeriodUp")){
					getSessionBean().getFullTextSearchPage().sortByPeriodUp();
				} else if(StringUtils.equals(action, "sortByPeriodDown")){
					getSessionBean().getFullTextSearchPage().sortByPeriodDown();
				} else if(StringUtils.equals(action, "sortBySectionNameUp")){
					getSessionBean().getFullTextSearchPage().sortBySectionNameUp();
				} else if(StringUtils.equals(action, "sortBySectionNameDown")){
					getSessionBean().getFullTextSearchPage().sortBySectionNameDown();

				} else if(StringUtils.equals(action, "sortByLevel1Up")){
					getSessionBean().getFullTextSearchPage().sortByLevel1Up();
				} else if(StringUtils.equals(action, "sortByLevel1Down")){
					getSessionBean().getFullTextSearchPage().sortByLevel1Down();
				} else if(StringUtils.equals(action, "sortByLevel2Up")){
					getSessionBean().getFullTextSearchPage().sortByLevel2Up();
				} else if(StringUtils.equals(action, "sortByLevel2Down")){
					getSessionBean().getFullTextSearchPage().sortByLevel2Down();
				} else if(StringUtils.equals(action, "sortByAdminTypeUp")){
					getSessionBean().getFullTextSearchPage().sortByAdminTypeUp();
				} else if(StringUtils.equals(action, "sortByAdminTypeDown")){
					getSessionBean().getFullTextSearchPage().sortByAdminTypeDown();

				} else if(StringUtils.equals(action, "sortByStartPageUp")){
					getSessionBean().getFullTextSearchPage().sortByStartPageUp();
				} else if(StringUtils.equals(action, "sortByStartPageDown")){
					getSessionBean().getFullTextSearchPage().sortByStartPageDown();
				}


				return FullTextSearchPage.page;


			} else if(StringUtils.equals(bean, TopicListPage.bean)){
				getSessionBean().getTopicListPage().loadParameters(request, response);

				if(StringUtils.equals(action, "forceLoadTopics")){
					getSessionBean().getTopicListPage().forceLoadTopics();

				} else if(StringUtils.equals(action, "deleteTopic")){
					getSessionBean().getTopicListPage().deleteTopic();
				} else if(StringUtils.equals(action, "createTopic")){
					Long userId = getSessionBean().getUser().getId();
					getSessionBean().getTopicListPage().createTopic(userId);

				} else if(StringUtils.equals(action, "sortByTopicIdUp")) {
					getSessionBean().getTopicListPage().sortByTopicIdUp();
				} else if(StringUtils.equals(action, "sortByTopicIdDown")) {
					getSessionBean().getTopicListPage().sortByTopicIdDown();
				} else if(StringUtils.equals(action, "sortByNameEnUp")) {
					getSessionBean().getTopicListPage().sortByNameEnUp();
				} else if(StringUtils.equals(action, "sortByNameEnDown")) {
					getSessionBean().getTopicListPage().sortByNameEnDown();
				} else if(StringUtils.equals(action, "sortByNameChUp")) {
					getSessionBean().getTopicListPage().sortByNameChUp();
				} else if(StringUtils.equals(action, "sortByNameChDown")) {
					getSessionBean().getTopicListPage().sortByNameChDown();
				} else if(StringUtils.equals(action, "sortByNamePinyinUp")) {
					getSessionBean().getTopicListPage().sortByNamePinyinUp();
				} else if(StringUtils.equals(action, "sortByNamePinyinDown")) {
					getSessionBean().getTopicListPage().sortByNamePinyinDown();
				} else if(StringUtils.equals(action, "sortByDescriptionUp")) {
					getSessionBean().getTopicListPage().sortByDescriptionUp();
				} else if(StringUtils.equals(action, "sortByDescriptionDown")) {
					getSessionBean().getTopicListPage().sortByDescriptionDown();
				} else if(StringUtils.equals(action, "sortByLastModifiedUp")) {
					getSessionBean().getTopicListPage().sortByLastModifiedUp();
				} else if(StringUtils.equals(action, "sortByLastModifiedDown")) {
					getSessionBean().getTopicListPage().sortByLastModifiedDown();
				}


				return TopicListPage.page;


			} else if(StringUtils.equals(bean, TopicPage.bean)){
				getSessionBean().getTopicPage().loadParameters(request, response);

				if(StringUtils.equals(action, "forceLoadTopicSectionRelation")){
					getSessionBean().getTopicPage().forceLoadTopicSectionRelation();

				} else if(StringUtils.equals(action, "filter")){
					getSessionBean().getTopicPage().filter();

				} else

				/* ====
				 *  topic information, which are relevant to topicListPage
				 * can improved by not always calling getTopicListPage().forceLoadTopics() but rather updating the changed/modified topic in topicList.
				 * */
				if(StringUtils.equals(action, "addContributor")){
					getSessionBean().getTopicPage().addContributor();
					//getSessionBean().getTopicListPage().forceLoadTopics();

				} else if(StringUtils.equals(action, "removeContributor")){
					getSessionBean().getTopicPage().removeContributor();
					//getSessionBean().getTopicListPage().forceLoadTopics();

				} else if( StringUtils.equals(action ,"updateDescription")) {
					getSessionBean().getTopicPage().updateDescription();
					//getSessionBean().getTopicListPage().forceLoadTopics();

				} else if( StringUtils.equals(action ,"updateKeywords")) {
					getSessionBean().getTopicPage().updateKeywords();
					//getSessionBean().getTopicListPage().forceLoadTopics();


				/* ====== */


				} else if( StringUtils.equals(action ,"deleteSection")) {
					getSessionBean().getTopicPage().deleteSection(getLongParameter("sectionId"));


				} else if(StringUtils.equals(action, "addSection")) {
					Long selectedSectionId = getLongParameter("selectedSectionId");
					Long selectedTopicId = getLongParameter("selectedTopicId");
					getSessionBean().getTopicPage().addSectionToTopic(selectedSectionId, selectedTopicId);

					// TODO it's possible to add a section into a topic in the task page, so need to modify here...

					getSessionBean().getSearchPage().updateTopicSectionRelation();

					String sourceBean = getParameter("sourceBean");
					if (StringUtils.equals(sourceBean, "home")) {
						return HomePage.page;
					} else if (StringUtils.equals(sourceBean, "search")) {
						return SearchPage.page;
					}

					return SearchPage.page;

				} else if(StringUtils.equals(action, "addAllSections")) {
					Long selectedTopicId = getLongParameter("selectedTopicId");
					getSessionBean().getTopicPage().addAllSectionsToTopic(getSessionBean().getSearchPage().getFilteredSectionList(), selectedTopicId);
					getSessionBean().getSearchPage().updateTopicSectionRelation();

					return SearchPage.page;


				//SORTING
				} else if(StringUtils.equals(action, "sortByBookIdUp")){
					getSessionBean().getTopicPage().sortByBookIdUp();
				} else if(StringUtils.equals(action, "sortByBookIdDown")){
					getSessionBean().getTopicPage().sortByBookIdDown();
				} else if(StringUtils.equals(action, "sortByBookNameUp")){
					getSessionBean().getTopicPage().sortByBookNameUp();
				} else if(StringUtils.equals(action, "sortByBookNameDown")){
					getSessionBean().getTopicPage().sortByBookNameDown();
				} else if(StringUtils.equals(action, "sortByDynastyUp")){
					getSessionBean().getTopicPage().sortByDynastyUp();
				} else if(StringUtils.equals(action, "sortByDynastyDown")){
					getSessionBean().getTopicPage().sortByDynastyDown();
				} else if(StringUtils.equals(action, "sortByPeriodUp")){
					getSessionBean().getTopicPage().sortByPeriodUp();
				} else if(StringUtils.equals(action, "sortByPeriodDown")){
					getSessionBean().getTopicPage().sortByPeriodDown();
				} else if(StringUtils.equals(action, "sortBySectionNameUp")){
					getSessionBean().getTopicPage().sortBySectionNameUp();
				} else if(StringUtils.equals(action, "sortBySectionNameDown")){
					getSessionBean().getTopicPage().sortBySectionNameDown();

				} else if(StringUtils.equals(action, "sortByLevel1Up")){
					getSessionBean().getTopicPage().sortByLevel1Up();
				} else if(StringUtils.equals(action, "sortByLevel1Down")){
					getSessionBean().getTopicPage().sortByLevel1Down();
				} else if(StringUtils.equals(action, "sortByLevel2Up")){
					getSessionBean().getTopicPage().sortByLevel2Up();
				} else if(StringUtils.equals(action, "sortByLevel2Down")){
					getSessionBean().getTopicPage().sortByLevel2Down();


				} else if(StringUtils.equals(action, "sortByAdminTypeUp")){
					getSessionBean().getTopicPage().sortByAdminTypeUp();
				} else if(StringUtils.equals(action, "sortByAdminTypeDown")){
					getSessionBean().getTopicPage().sortByAdminTypeDown();

				} else if(StringUtils.equals(action, "sortByStartPageUp")){
					getSessionBean().getTopicPage().sortByStartPageUp();
				} else if(StringUtils.equals(action, "sortByStartPageDown")){
					getSessionBean().getTopicPage().sortByStartPageDown();
				}

				return TopicPage.page;


			} else if(StringUtils.equals(bean, BooksPage.bean)){
				getSessionBean().getBooksPage().loadParameters(request, response);

				if(StringUtils.equals(action, "setTocCorrection")){
					getSessionBean().getBooksPage().setTocCorrection();
				} else if (StringUtils.equals(action, "unSetTocCorrection")){
					getSessionBean().getBooksPage().unSetTocCorrection();

				} else if(StringUtils.equals(action, "saveComment")){
					getSessionBean().getBooksPage().saveComment();

				} else if (StringUtils.equals(action, "forceReloadBooks")) {
					getSessionBean().getBooksPage().forceLoadBooks();
				} else if(StringUtils.equals(action, "filter")){
					getSessionBean().getBooksPage().filter();


				//PAGINATOR
				} else if(StringUtils.equals(action, "firstPage")){
					getSessionBean().getBooksPage().firstPage();
				} else if(StringUtils.equals(action, "fastRewind")){
					getSessionBean().getBooksPage().fastRewind();
				} else if(StringUtils.equals(action, "previousPage")){
					getSessionBean().getBooksPage().previousPage();
				} else if(StringUtils.equals(action, "nextPage")){
					getSessionBean().getBooksPage().nextPage();
				} else if(StringUtils.equals(action, "fastForward")){
					getSessionBean().getBooksPage().fastForward();
				} else if(StringUtils.equals(action, "lastPage")){
					getSessionBean().getBooksPage().lastPage();

				// Sorting
				} else if(StringUtils.equals(action, "sortByBookIdUp")){
					getSessionBean().getBooksPage().sortByBookIdUp();
				} else if(StringUtils.equals(action, "sortByBookIdDown")){
					getSessionBean().getBooksPage().sortByBookIdDown();

				} else if(StringUtils.equals(action, "sortByBookNameUp")){
					getSessionBean().getBooksPage().sortByBookNameUp();
				} else if(StringUtils.equals(action, "sortByBookNameDown")){
					getSessionBean().getBooksPage().sortByBookNameDown();

				} else if(StringUtils.equals(action, "sortByLevel1Up")){
					getSessionBean().getBooksPage().sortByLevel1Up();
				} else if(StringUtils.equals(action, "sortByLevel1Down")){
					getSessionBean().getBooksPage().sortByLevel1Down();

				} else if(StringUtils.equals(action, "sortByLevel2Up")){
					getSessionBean().getBooksPage().sortByLevel2Up();
				} else if(StringUtils.equals(action, "sortByLevel2Down")){
					getSessionBean().getBooksPage().sortByLevel2Down();

				} else if(StringUtils.equals(action, "sortByPeriodUp")){
					getSessionBean().getBooksPage().sortByPeriodUp();
				} else if(StringUtils.equals(action, "sortByPeriodDown")){
					getSessionBean().getBooksPage().sortByPeriodDown();

				} else if(StringUtils.equals(action, "sortByDynastyUp")){
					getSessionBean().getBooksPage().sortByDynastyUp();
				} else if(StringUtils.equals(action, "sortByDynastyDown")){
					getSessionBean().getBooksPage().sortByDynastyDown();

				} else if(StringUtils.equals(action, "sortByAdminTypeUp")){
					getSessionBean().getBooksPage().sortByAdminTypeUp();
				} else if(StringUtils.equals(action, "sortByAdminTypeDown")){
					getSessionBean().getBooksPage().sortByAdminTypeDown();

				} else if(StringUtils.equals(action, "sortByStartYearUp")){
					getSessionBean().getBooksPage().sortByStartYearUp();
				} else if(StringUtils.equals(action, "sortByStartYearDown")){
					getSessionBean().getBooksPage().sortByStartYearDown();

				} else if(StringUtils.equals(action, "sortByEditionUp")){
					getSessionBean().getBooksPage().sortByEditionUp();
				} else if(StringUtils.equals(action, "sortByEditionDown")){
					getSessionBean().getBooksPage().sortByEditionDown();

				} else if(StringUtils.equals(action, "sortByTocCorrectionUp")){
					getSessionBean().getBooksPage().sortByTocCorrectionUp();
				} else if(StringUtils.equals(action, "sortByTocCorrectionDown")){
					getSessionBean().getBooksPage().sortByTocCorrectionDown();

				} else if(StringUtils.equals(action, "sortByEditorUp")){
					getSessionBean().getBooksPage().sortByEditorUp();
				} else if(StringUtils.equals(action, "sortByEditorDown")){
					getSessionBean().getBooksPage().sortByEditorDown();

				} else if(StringUtils.equals(action, "sortByDateUp")){
					getSessionBean().getBooksPage().sortByDateUp();
				} else if(StringUtils.equals(action, "sortByDateDown")){
					getSessionBean().getBooksPage().sortByDateDown();
				} else if(StringUtils.equals(action, "sortByBookYearUp")){
					getSessionBean().getBooksPage().sortByBookYearUp();
				} else if(StringUtils.equals(action, "sortByBookYearDown")){
					getSessionBean().getBooksPage().sortByBookYearDown();
				} else if(StringUtils.equals(action, "sortByEditionYearUp")){
					getSessionBean().getBooksPage().sortByEditionYearUp();
				} else if(StringUtils.equals(action, "sortByEditionYearDown")){
					getSessionBean().getBooksPage().sortByEditionYearDown();
				} else if(StringUtils.equals(action, "sortBySourceUp")){
					getSessionBean().getBooksPage().sortBySourceUp();
				} else if(StringUtils.equals(action, "sortBySourceDown")){
					getSessionBean().getBooksPage().sortBySourceDown();
				}
				
				return BooksPage.page;
			}

		}catch(Exception e){
			e.printStackTrace();
			addMsg("There is an internal error: " + e.getLocalizedMessage());

			//return TopicListPage.page;
			return HomePage.page;
		}


		//Default Page:
		//return TopicListPage.page;	// will be the new home page?
		return HomePage.page;
	}


	public String getAction() {
		return action;
	}


	public void setAction(String action) {
		this.action = action;
	}


	public String getBean() {
		return bean;
	}


	public void setBean(String bean) {
		this.bean = bean;
	}
}