view src/main/java/de/mpiwg/web/jsp/JSPProxy.java @ 60:90d5e86c157d

new: auto refresh page when there's new version saved from Ext-Interface
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Wed, 25 May 2016 11:11:32 +0200
parents b8ad346e39a0
children fc5116de601f
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";
				
			} 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";
			}
		
			
			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, "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, "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();
				}
				
				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();
				} 
					
				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, "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();
				}
				
				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;
	}
}