package org.xadoop;
import java.util.HashMap;
import javax.servlet.ServletContext;
import org.xadoop.servlet.actions.AbstractAction;
import org.xadoop.servlet.actions.LoginAction;
import org.xadoop.servlet.actions.LogoutAction;
import org.xadoop.servlet.actions.XQueryMRAction;
import org.xadoop.servlet.pages.AbstractPage;
import org.xadoop.servlet.pages.ErrorPage;
import org.xadoop.servlet.pages.HomePage;
import org.xadoop.servlet.pages.LoginPage;
import org.xadoop.servlet.pages.XQueryMROriginalPage;
import org.xadoop.servlet.pages.XQueryMRSaxonPage;
import org.xadoop.servlet.pages.XQueryMRZorbaPage;
/**
* Xadoop initialization.
*
* @author Lukas Blunschi
*
*/
public class XadoopInit {
public static void init(ServletContext context, String pathConfigDir, String pathUploadDir) {
// config
XadoopConfig config = new XadoopConfig(pathConfigDir + XadoopConstants.FILENAME_XADOOPPROPS);
context.setAttribute(XadoopConstants.CTX_CONFIG, config);
// upload path
context.setAttribute(XadoopConstants.CTX_PATHUPLOADDIR, pathUploadDir);
// action map
HashMap<String, AbstractAction> actionMap = new HashMap<String, AbstractAction>();
actionMap.put(LoginAction.ACTIONNAME, new LoginAction());
actionMap.put(LogoutAction.ACTIONNAME, new LogoutAction());
actionMap.put(XQueryMRAction.ACTIONNAME, new XQueryMRAction());
context.setAttribute(XadoopConstants.CTX_ACTIONMAP, actionMap);
// page map
AbstractPage errorPage = new ErrorPage("");
AbstractPage homePage = new HomePage();
AbstractPage loginPage = new LoginPage();
AbstractPage xquerymroriginalPage = new XQueryMROriginalPage();
AbstractPage xquerymrsaxonPage = new XQueryMRSaxonPage();
AbstractPage xquerymrzorbaPage = new XQueryMRZorbaPage();
HashMap<String, AbstractPage> pageMap = new HashMap<String, AbstractPage>();
pageMap.put(errorPage.name, errorPage);
pageMap.put(homePage.name, homePage);
pageMap.put(loginPage.name, loginPage);
pageMap.put(xquerymroriginalPage.name, xquerymroriginalPage);
pageMap.put(xquerymrsaxonPage.name, xquerymrsaxonPage);
pageMap.put(xquerymrzorbaPage.name, xquerymrzorbaPage);
context.setAttribute(XadoopConstants.CTX_PAGEMAP, pageMap);
}
}