view src/main/java/de/mpiwg/web/jsp/JSPProxy.java @ 40:35ed4e650a53

bug fixed: full text search when section not found in section_index table. add paginator
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Mon, 07 Dec 2015 17:06:57 +0100
parents 37840afb7b80
children ba9515f22897
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, 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, "loginBean")){
				getSessionBean().loadParameters(request, response);
				
				if(StringUtils.equals(action, "login")){
					getSessionBean().login();
				}else if(StringUtils.equals(action, "logout")){
					getSessionBean().logout();
				}
				
				return "pages/home.jsp";
				
			}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, "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);
				
				
				//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, 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 HomePage.page;
		}
		
	
		//Default Page:
		//return BooksPage.page;
		return HomePage.page;
		//return "pages/search.jsp";
	}


	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;
	}
}