package com.buglabs.app.bugdash2.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.buglabs.app.bugdash2.WebAdminSettings; import com.buglabs.app.bugdash2.controller.AdminControllerFactory; import com.buglabs.app.bugdash2.controller.bugnet.BUGnetController; import com.buglabs.app.bugdash2.controller.software.PackageNewUpdateController; import com.buglabs.app.bugdash2.controller.software.PackageUpgradeController; import com.buglabs.osgi.sewing.pub.SewingController; import com.buglabs.osgi.sewing.pub.SewingHttpServlet; import com.buglabs.osgi.sewing.pub.util.ControllerMap; import com.buglabs.osgi.sewing.pub.util.RequestParameters; import freemarker.template.SimpleHash; import freemarker.template.SimpleScalar; import freemarker.template.TemplateModelRoot; public class BUGwebAdminSoftwareServlet extends SewingHttpServlet { private static final long serialVersionUID = 981347371186050050L; public BUGwebAdminSoftwareServlet() {} public ControllerMap getControllerMap() { ControllerMap controllers = new ControllerMap(); /* View installed packages */ controllers.put("index", new index()); controllers.put("display_installed_packages", AdminControllerFactory.getInstance().getPackageViewerController()); controllers.put("introduce_package_update", new introducePackageUpdate()); /* Upgrade packages */ SewingController package_controller = AdminControllerFactory.getInstance().getUpgradePackagesController(); controllers.put("update_packages", package_controller); controllers.put("read_update_package", AdminControllerFactory.getInstance().getReadPackageUpgradeBufferController( (PackageUpgradeController)package_controller)); /* View new updates */ controllers.put("check_new_updates", new displayNewUpdates()); SewingController update_controller = AdminControllerFactory.getInstance().getPackageNewUpdateController(); controllers.put("start_checking_new_updates", update_controller); controllers.put("read_new_updates", AdminControllerFactory.getInstance().getReadPackageNewUpdateBufferController( (PackageNewUpdateController)update_controller)); /* Install package */ controllers.put("install_package", AdminControllerFactory.getInstance().getPackageInstallController()); /* Manage BUG apps */ /* - display a placeholder for two iframes - display a list from BUGnet - display a list of installed apps */ controllers.put("apps", new displayApps()); controllers.put("apps_from_bugnet", AdminControllerFactory.getInstance().getAppsBrowserController() ); controllers.put("apps_installed", AdminControllerFactory.getInstance().getAppsManagerController() ); controllers.put("app_viewer", AdminControllerFactory.getInstance().getAppViewerController() ); controllers.put("apps_recommended", AdminControllerFactory.getInstance().getAppsRecommendedController() ); return controllers; } public class index extends SewingController { public TemplateModelRoot get(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { SimpleHash root = new SimpleHash(); root.put("message", new SimpleScalar("index page")); return root; } } public class introducePackageUpdate extends SewingController { public String getTemplateName() { return "software_package_upgrade.fml"; } public TemplateModelRoot get(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { SimpleHash root = new SimpleHash(); root.put("message", new SimpleScalar("index page")); return root; } } public class displayApps extends SewingController { public String getTemplateName() { return "software_apps.fml"; } public TemplateModelRoot get(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { SimpleHash root = new SimpleHash(); root.put("logged_in", WebAdminSettings.isLoggedIn()); root.put("username", WebAdminSettings.bugnetLogin); return root; } public TemplateModelRoot post(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { String logout = params.get("btn_logout"); if(logout != null && WebAdminSettings.isLoggedIn()) { BUGnetController.logout(resp); } TemplateModelRoot root = get(params, req, resp); return root; } } public class displayNewUpdates extends SewingController { public String getTemplateName() { return "software_packages_new_updates.fml"; } public TemplateModelRoot get(RequestParameters params, HttpServletRequest req, HttpServletResponse resp) { return null; } } }