List of usage examples for org.apache.wicket.request.cycle RequestCycle replaceAllRequestHandlers
public void replaceAllRequestHandlers(final IRequestHandler handler)
From source file:com.rex.crm.TemplatePage.java
License:Apache License
/** * Constructor/*from www . j a v a2s .c om*/ */ public TemplatePage() { final int roleId = ((SignIn2Session) getSession()).getRoleId(); add(new Label("title", new PropertyModel<String>(this, "pageTitle"))); UserInfo user = DAOImpl.getUserInfoById(Integer.parseInt(((SignIn2Session) getSession()).getUserId())); //TODO get function work with real id List<String> menulist = DAOImpl.getMenuByRole(roleId); //populate menu items. TODO componentize it. pass arg: menuList ArrayList<MenuItem> menu = Lists.newArrayList(); for (String key : menulist) { menu.add(pageMenuMap.get(key)); } //@SuppressWarnings("unchecked") ListView lv = new ListView("menu", menu) { @Override protected void populateItem(ListItem item) { MenuItem menuitem = (MenuItem) item.getModelObject(); BookmarkablePageLink link = new BookmarkablePageLink("link", menuitem.getDestination()); link.add(new Label("caption", menuitem.getCaption()).setEscapeModelStrings(false)); item.add(link); item.add(new AttributeAppender("id", Model.of(menuitem.getId()))); // item.add(new SimpleAttributeModifier("class", "my-css-class")); } }; add(lv); add(new Link("signout_link") { @Override public void onClick() { SignIn2Session session = (SignIn2Session) getSession(); LogInOut loginout = new LogInOut(); loginout.setLoginName(session.getUser()); loginout.setLogints(System.currentTimeMillis()); loginout.setSessionId(session.getId()); CRMUtility.printStat(CRMUtility.STAT_LOG_IN_OUT, loginout, LogInOut.class); session.invalidate(); this.setResponsePage(SignIn.class); } }); BookmarkablePageLink user_settings_link = new BookmarkablePageLink("user_settings_link", UserDeatialInfo.class); add(user_settings_link); user_settings_link.add(new Label("loginName", user.getName())); WebMarkupContainer admin_menu = new WebMarkupContainer("admin_menu"); add(admin_menu); BookmarkablePageLink adminTreePage = new BookmarkablePageLink("adminTreePage", AdminTreePage.class); admin_menu.add(adminTreePage); // BookmarkablePageLink positionTreePage = new BookmarkablePageLink("positionTreePage",PositionTreePage.class ); // admin_menu.add(positionTreePage); BookmarkablePageLink productTreePage = new BookmarkablePageLink("productTreePage", ProductTreePage.class); admin_menu.add(productTreePage); BookmarkablePageLink positionPage = new BookmarkablePageLink("positionPage", PositionPage.class); admin_menu.add(positionPage); // BookmarkablePageLink reportPage = new BookmarkablePageLink("reportPage",ReportPage.class ); // admin_menu.add(reportPage); // BookmarkablePageLink downloadPage = new BookmarkablePageLink("downloadPage",DownloadPage.class ); // admin_menu.add(downloadPage); BookmarkablePageLink userPage = new BookmarkablePageLink("userPage", UserPage.class); admin_menu.add(userPage); BookmarkablePageLink userPositionPage = new BookmarkablePageLink("userPositionPage", UserPositionPage.class); admin_menu.add(userPositionPage); // BookmarkablePageLink productPage = new BookmarkablePageLink("productPage",ProductPage.class ); // admin_menu.add(productPage); BookmarkablePageLink dataImportPage = new BookmarkablePageLink("dataImportPage", DataImportPage.class); admin_menu.add(dataImportPage); BookmarkablePageLink alertPage = new BookmarkablePageLink("alertPage", AlertPage.class); admin_menu.add(alertPage); BookmarkablePageLink areaPage = new BookmarkablePageLink("areaPage", AreaPage.class); admin_menu.add(areaPage); // // BookmarkablePageLink applicationPage = new BookmarkablePageLink("applicationPage",AreaPage.class ); // admin_menu.add(applicationPage); // // BookmarkablePageLink flowPage = new BookmarkablePageLink("flowPage",AreaPage.class ); // admin_menu.add(flowPage); // // BookmarkablePageLink jurisdictionPage = new BookmarkablePageLink("jurisdictionPage",AreaPage.class ); // admin_menu.add(jurisdictionPage); // // BookmarkablePageLink contentPage = new BookmarkablePageLink("contentPage",AreaPage.class ); // admin_menu.add(contentPage); // // BookmarkablePageLink integrationPage = new BookmarkablePageLink("integrationPage",AreaPage.class ); // admin_menu.add(integrationPage); BookmarkablePageLink importLogPage = new BookmarkablePageLink("importLog", ImportLogPage.class); admin_menu.add(importLogPage); // BookmarkablePageLink merge_data = new BookmarkablePageLink("merge_data",MergePage.class ); // admin_menu.add(merge_data); admin_menu.setVisible(false); if (roleId == 1) admin_menu.setVisible(true); //end of populate menu items AbstractAjaxBehavior ajaxBehaviour = new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; @Override public void onRequest() { RequestCycle requestCycle = RequestCycle.get(); readRequestData(requestCycle); } private void readRequestData(final RequestCycle requestCycle) { WebRequest wr = (WebRequest) requestCycle.getRequest(); HttpServletRequest hsr = (HttpServletRequest) wr.getContainerRequest(); String response = "{}"; try { BufferedReader br = hsr.getReader(); String jsonString = br.readLine(); if ((jsonString == null) || jsonString.isEmpty()) { logger.debug(" no json found"); } else { logger.debug(" json is :" + jsonString); } FunctionClass method = new Gson().fromJson(jsonString, FunctionClass.class); FunctionInvoker invoker = new FunctionInvoker(DataProvider.class); System.out.println(" method:" + method); response = (String) invoker.invoke(method.getF(), method.getP()); System.out.println("response:" + response); br.close(); } catch (Exception e) { e.printStackTrace(); } requestCycle .replaceAllRequestHandlers(new TextRequestHandler("application/json", "UTF-8", response)); } @Override public void renderHead(Component component, IHeaderResponse response) { super.renderHead(component, response); final String posId = ((SignIn2Session) getSession()).getPositionId(); String callbackUrl = getCallbackUrl().toString(); Map<String, Object> map = new HashMap<>(); map.put("userInfo", DataProvider.getCRMUserInfoById(new String[] { posId })); map.put("ajaxURL", callbackUrl); //map.put("allUsers", DataProvider.getAllCRMUsers(new String[0])); //map.put("allAccounts", DataProvider.getAllAccounts(new String[0])); map.put("context_name", getRootContext()); PackageTextTemplate ptt = new PackageTextTemplate(getClass(), "template.js"); //System.out.println(ptt.asString(map)); response.render(JavaScriptHeaderItem.forScript(ptt.asString(map), null)); try { ptt.close(); } catch (IOException e) { e.printStackTrace(); } } }; add(ajaxBehaviour); }