List of usage examples for org.apache.wicket.behavior AbstractAjaxBehavior AbstractAjaxBehavior
public AbstractAjaxBehavior()
From source file:com.evolveum.midpoint.web.page.admin.resources.PageResourceVisualizationCytoscape.java
License:Apache License
private void initLayout(PrismObject<ResourceType> resourceObject) { retrievalBehavior = new AbstractAjaxBehavior() { @Override/*from www .j a va2 s . c om*/ public void onRequest() { System.out.println("retrieve CS data: starting"); RequestCycle requestCycle = getRequestCycle(); requestCycle.scheduleRequestHandlerAfterCurrent(null); MidPointApplication app = (MidPointApplication) MidPointApplication.get(); TaskManager taskManager = app.getTaskManager(); Task task = taskManager.createTaskInstance(PageResourceVisualizationCytoscape.class + ".onRequest"); String jsonData; try { jsonData = app.getModelDiagnosticService().exportDataModel(resourceObject.asObjectable(), DataModelVisualizer.Target.CYTOSCAPE, task, task.getResult()); System.out.println("JSON Cytoscape Data:\n" + jsonData); } catch (CommonException | RuntimeException e) { LoggingUtils.logUnexpectedException(LOGGER, "Couldn't visualize resource {}", e, resourceObject); jsonData = "{\"nodes\":[], \"edges\":[]}"; // TODO better error handling } IResource jsonResource = new ByteArrayResource("application/json", jsonData.getBytes()); IRequestHandler requestHandler = new ResourceRequestHandler(jsonResource, null); requestHandler.respond(requestCycle); System.out.println("retrieve CS data: response written"); } }; add(retrievalBehavior); deletionBehavior = new AbstractAjaxBehavior() { @Override public void onRequest() { System.out.println("deleteAttribute: starting"); RequestCycle requestCycle = getRequestCycle(); requestCycle.scheduleRequestHandlerAfterCurrent(null); MidPointApplication app = (MidPointApplication) MidPointApplication.get(); TaskManager taskManager = app.getTaskManager(); Task task = taskManager.createTaskInstance(PageResourceVisualizationCytoscape.class + ".onRequest"); try { IRequestParameters parameters = requestCycle.getRequest().getQueryParameters(); String resourceOid = parameters.getParameterValue("resourceOid").toString(); String kind = parameters.getParameterValue("kind").toString(); String intent = parameters.getParameterValue("intent").toString(); String objectClass = parameters.getParameterValue("objectClass").toString(); String attributeName = parameters.getParameterValue("attributeName").toString(); System.out.println("ResourceOid: " + resourceOid + ", kind: " + kind + ", intent: " + intent + ", objectClass: " + objectClass + ", attributeName: " + attributeName); } catch (RuntimeException e) { LoggingUtils.logUnexpectedException(LOGGER, "Couldn't delete attribute", e); } IResource resource = new ByteArrayResource("text/plain", "OK".getBytes()); IRequestHandler requestHandler = new ResourceRequestHandler(resource, null); requestHandler.respond(requestCycle); System.out.println("deleteAttribute: finished"); } }; add(deletionBehavior); }
From source file:com.google.code.jqwicket.ui.validationengine.AjaxValidationRule.java
License:Apache License
protected AbstractAjaxBehavior newAjaxBehavior() { return new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; public void onRequest() { WebRequest req = (WebRequest) RequestCycle.get().getRequest(); String validateError = req.getRequestParameters().getParameterValue("validateError").toString(); String validateId = req.getRequestParameters().getParameterValue("validateId").toString(); boolean result = execute(new ExecutionContext(validateError, validateId, req.getRequestParameters().getParameterValue("validateValue").toString(), req.getRequestParameters().getParameterValue("extraData").toString())); StringBuffer buf = new StringBuffer("{'jsonValidateReturn':"); buf.append("[").append(Utils.quote(validateId)); buf.append(",").append(Utils.quote(validateError)); buf.append(",").append(Utils.quote(String.valueOf(result))); buf.append("]}"); RequestCycle.get().scheduleRequestHandlerAfterCurrent(new TextRequestHandler(buf.toString())); }//from w w w . ja va 2 s . c o m }; }
From source file:com.rex.crm.TemplatePage.java
License:Apache License
/** * Constructor/*from ww w.j a v a2 s .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); }
From source file:de.tudarmstadt.ukp.clarin.webanno.brat.annotation.BratVisualizer.java
License:Apache License
public BratVisualizer(String id, IModel<?> aModel) { super(id, aModel); vis = new WebMarkupContainer("vis"); vis.setOutputMarkupId(true);//from w w w .j a v a 2 s. c o m // Provides collection-level information like type definitions, styles, etc. collProvider = new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; @Override public void onRequest() { getRequestCycle().scheduleRequestHandlerAfterCurrent( new TextRequestHandler("application/json", "UTF-8", getCollectionData())); } }; // Provides the actual document contents docProvider = new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; @Override public void onRequest() { getRequestCycle().scheduleRequestHandlerAfterCurrent( new TextRequestHandler("application/json", "UTF-8", getDocumentData())); } }; add(vis); add(collProvider, docProvider); }
From source file:de.tudarmstadt.ukp.dkpro.uby.vis.webapp.tryUby.AnalyzePanel.java
License:Apache License
public AnalyzePanel(String id) { super(id);/*from w ww . ja v a 2 s . co m*/ controller = new AbstractAjaxBehavior() { private static final long serialVersionUID = -4779657570720954212L; @Override public void onRequest() { // Convert model to JSON StringWriter out = new StringWriter(); try { Object model = senseItemModel.getObject(); jsonConverter.getObjectMapper().getJsonFactory().createJsonGenerator(out).writeObject(model); } catch (IOException e) { System.out.println("Could not create json."); e.printStackTrace(); } // Send JSON result String result = out.toString(); RequestCycle requestCycle = RequestCycle.get(); requestCycle.scheduleRequestHandlerAfterCurrent( new TextRequestHandler("application/json", "utf-8", result)); } }; add(controller); setOutputMarkupId(true); }
From source file:de.tudarmstadt.ukp.dkpro.uby.vis.webapp.tryUby.SenseAlign.java
License:Apache License
public void initialize() { controller = new AbstractAjaxBehavior() { private static final long serialVersionUID = -4779657570720954212L; @Override/*from w w w .ja va 2s . c o m*/ public void onRequest() { // Convert model to JSON StringWriter out = new StringWriter(); try { Object model = senseItemModel.getObject(); jsonConverter.getObjectMapper().getJsonFactory().createJsonGenerator(out).writeObject(model); } catch (IOException e) { // FIXME handle errors somehow!!! e.printStackTrace(); } // Send JSON result String result = out.toString(); RequestCycle requestCycle = RequestCycle.get(); requestCycle.scheduleRequestHandlerAfterCurrent( new TextRequestHandler("application/json", "utf-8", result)); } }; add(controller); final AbstractDefaultAjaxBehavior behave = new AbstractDefaultAjaxBehavior() { @Override public void renderHead(Component component, IHeaderResponse aResponse) { super.renderHead(component, aResponse); aResponse.render(JavaScriptReferenceHeaderItem.forReference(D3Reference.D3_JS)); aResponse.render(JavaScriptReferenceHeaderItem.forReference(JqueryReference.jQuery_JS)); aResponse.render(JavaScriptReferenceHeaderItem.forReference(SENSE_ALIGN_JS)); aResponse.render(CssReferenceHeaderItem.forReference(SENSE_ALIGN_CSS)); String callbackUrl = getCallbackUrl().toString(); // Tell D3 to initiate the AJAX request String[] annotatorScript1 = new String[] { "d3.json(\"" + controller.getCallbackUrl() + "\", function(json) {", " draw(\"" + getMarkupId() + "\", json,\"" + getLemma() + "\",\"" + getOrder() + "\",\"" + callbackUrl + "\");", "});" }; if (getLemma() != "") { aResponse.render(OnDomReadyHeaderItem.forScript(StringUtils.join(annotatorScript1, "\n"))); } } @Override protected void respond(AjaxRequestTarget target) { IRequestParameters request = RequestCycle.get().getRequest().getRequestParameters(); onClicked(request, target); } }; add(behave); setOutputMarkupId(true); }
From source file:jp.javelindev.wicket.behavior.BehaviorPage.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); add(new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; @Override/* ww w.j av a 2s . c o m*/ public void onRequest() { RequestCycle.get().getResponse().write("test"); } @Override public void renderHead(Component component, IHeaderResponse response) { super.renderHead(component, response); response.renderJavaScript("var callback = '" + getCallbackUrl() + "';", "behavior"); } }); add(new AjaxLink("link") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { } }); add(new Link<Void>("link2") { private static final long serialVersionUID = 1L; @Override protected CharSequence getOnClickScript(CharSequence url) { return "wicketAjaxGet(callback, function(value) { Wicket.$('test').innerHTML = value; }, function() { alert('error'); }, null, null); return false;"; } @Override public void onClick() { } }); }
From source file:org.hippoecm.frontend.translation.components.folder.service.SiblingLocator.java
License:Apache License
public SiblingLocator(IModel<T9Tree> data) { this.data = data; this.behavior = new AbstractAjaxBehavior() { private static final long serialVersionUID = 1L; @Override/*from ww w . j a v a 2s . c o m*/ public void onRequest() { final RequestCycle requestCycle = RequestCycle.get(); StringValue t9Id = requestCycle.getRequest().getRequestParameters().getParameterValue(T9ID_ID); if (!t9Id.isNull()) { try { JSONObject siblingsAsJson = getSiblingsAsJSON(t9Id.toString()); requestCycle.scheduleRequestHandlerAfterCurrent(new ExtJsonRequestTarget(siblingsAsJson)); } catch (JSONException e) { throw new WicketRuntimeException("Could not build map of siblings"); } } else { throw new WicketRuntimeException("No node id provided"); } } }; }
From source file:org.sakaiproject.dash.tool.pages.DashboardMobilePage.java
License:Educational Community License
public DashboardMobilePage() { dashboardCommonLogic.recordDashboardActivity(DashboardCommonLogic.EVENT_DASH_VISIT, "/dashboard/page/" + sakaiProxy.getCurrentSiteId()); final WebMarkupContainer dashboardPage = new WebMarkupContainer("dashboard-page"); dashboardPage.setOutputMarkupId(true); add(dashboardPage);/*w w w . j ava 2s.c o m*/ MOTDPanel motdPanel = new MOTDPanel("motdPanel"); motdPanel.setOutputMarkupId(true); dashboardPage.add(motdPanel); CalendarLinksPanel calendarPanel = new CalendarLinksPanel("calendarPanel"); calendarPanel.setOutputMarkupId(true); dashboardPage.add(calendarPanel); NewsLinksPanel newsPanel = new NewsLinksPanel("newsPanel"); newsPanel.setOutputMarkupId(true); dashboardPage.add(newsPanel); AbstractAjaxBehavior entityDetailRequest = new AbstractAjaxBehavior() { public void onRequest() { logger.debug("entityDetailRequest.onClick() "); //get parameters final RequestCycle requestCycle = RequestCycle.get(); WebRequest wr = (WebRequest) requestCycle.getRequest(); HttpServletRequest hsr = wr.getHttpServletRequest(); String entityReference = null; String entityType = null; int itemCount = 0; int offset = -1; String dashEvent = null; try { BufferedReader br = hsr.getReader(); String jsonString = br.readLine(); if ((jsonString == null) || jsonString.isEmpty()) { logger.error(" no json found for entityReference: " + entityReference); } else { if (logger.isDebugEnabled()) { logger.debug(" json is :" + jsonString); } JSONObject jsonObject = JSONObject.fromObject(jsonString); entityReference = jsonObject.optString("entityReference", ""); entityType = jsonObject.optString("entityType", ""); itemCount = jsonObject.optInt("itemCount", 1); dashEvent = jsonObject.optString("dashEvent", ""); offset = jsonObject.optInt("offset", -1); } } catch (IOException ex) { logger.error(ex); } Locale locale = hsr.getLocale(); if (entityReference != null && !entityReference.trim().equals("") && entityType != null && !entityType.trim().equals("")) { if (itemCount > 1) { ResourceLoader rl = new ResourceLoader("dash_entity"); int limit = dashboardConfig.getConfigValue(DashboardConfig.PROP_DEFAULT_ITEMS_IN_DISCLOSURE, 20); if (offset < 0) { offset = 0; } String sakaiUserId = sakaiProxy.getCurrentUserId(); int totalItems = dashboardCommonLogic.countNewsLinksByGroupId(sakaiUserId, entityReference); Map<String, Object> results = new HashMap<String, Object>(); results.put("totalCount", totalItems); if (offset > totalItems) { results.put("items", new ArrayList<NewsLink>()); results.put("count", 0); } else { List<NewsLink> items = dashboardCommonLogic.getNewsLinksByGroupId(sakaiUserId, entityReference, limit, offset); results.put("items", items); results.put("count", items.size()); } results.put("details", rl.getString("dash.details")); results.put("offset", offset); results.put("more-link", rl.getString("dash.grouped.more.link", "[[ Show more ... ]]")); results.put("more-status", rl.getString("dash.grouped.more.status", "[[ Showing {0} of {1} items ]]")); results.put("more-status-last", rl.getString("dash.news.linksCount2", "[[ Showing item {0} of {1} items ]]")); results.put("more-status-range", rl.getString("dash.news.linksCount3", "[[ Showing {0} to {1} of {2} items ]]")); JsonHelper jsonHelper = new JsonHelper(dashboardCommonLogic, dashboardConfig); String jsonString = jsonHelper.getJsonObjectFromMap(results).toString(); if (logger.isDebugEnabled()) { logger.debug("Returning JSON:\n" + jsonString); } IRequestTarget t = new StringRequestTarget("application/json", "UTF-8", jsonString); getRequestCycle().setRequestTarget(t); dashboardCommonLogic.recordDashboardActivity(DashboardCommonLogic.EVENT_DASH_VIEW_GROUP, "/dashboard/news/current/" + entityReference); } else if (itemCount == 1) { Map<String, Object> entityMap = dashboardCommonLogic.getEntityMapping(entityType, entityReference, locale); String jsonString = getJsonStringFromMap(entityMap); if (logger.isDebugEnabled()) { logger.debug("Returning JSON:\n" + jsonString); } IRequestTarget t = new StringRequestTarget("application/json", "UTF-8", jsonString); getRequestCycle().setRequestTarget(t); dashboardCommonLogic.recordDashboardActivity(DashboardCommonLogic.EVENT_DASH_ITEM_DETAILS, "/dashboard/?/?/" + entityReference); } else if (dashEvent != null && !dashEvent.trim().equals("")) { // report the event dashboardCommonLogic.recordDashboardActivity(dashEvent, entityReference); } } } }; dashboardPage.add(entityDetailRequest); dashboardPage.add(new Label("callbackUrl", entityDetailRequest.getCallbackUrl().toString())); AbstractAjaxBehavior starHandler = new AbstractAjaxBehavior() { public void onRequest() { logger.debug("starHandler.onRequest() "); String message = null; boolean success = true; ResourceLoader rl = new ResourceLoader("dash_entity"); //get parameters final RequestCycle requestCycle = RequestCycle.get(); WebRequest wr = (WebRequest) requestCycle.getRequest(); HttpServletRequest hsr = wr.getHttpServletRequest(); long itemId = -1L; String action = null; try { BufferedReader br = hsr.getReader(); String jsonString = br.readLine(); if ((jsonString == null) || jsonString.isEmpty()) { logger.error(" no json found "); message = rl.getString("dash.ajax.failed"); success = false; } else { if (logger.isDebugEnabled()) { logger.debug(" json is :" + jsonString); } JSONObject jsonObject = JSONObject.fromObject(jsonString); itemId = jsonObject.optLong("itemId", Long.MIN_VALUE); action = jsonObject.optString("dashAction"); } } catch (IOException ex) { logger.error(ex); message = rl.getString("dash.ajax.failed"); success = false; } String newIcon = null; if (itemId < 1 || action == null || action.trim().equals("")) { logger.error("invalid values found " + action + " " + itemId); message = rl.getString(""); } else if (success) { if ("star".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.keepNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to star news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.star.success"); newIcon = dashboardConfig.getActionIcon(DashboardConfig.ACTION_UNSTAR); } else { message = rl.getString("dash.ajax.star.failed"); } } else if ("unstar".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.unkeepNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to unstar news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.unstar.success"); newIcon = dashboardConfig.getActionIcon(DashboardConfig.ACTION_STAR); } else { message = rl.getString("dash.ajax.unstar.failed"); } } else if ("hide".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.hideNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to hide news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.hide.success"); } else { message = rl.getString("dash.ajax.hide.failed"); success = false; } } else if ("show".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.unhideNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to show news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.show.success"); } else { message = rl.getString("dash.ajax.show.failed"); success = false; } } } Map<String, Object> results = new HashMap<String, Object>(); results.put("message", message); results.put("success", Boolean.valueOf(success)); if (newIcon != null) { results.put("newIcon", newIcon); } String jsonString = getJsonStringFromMap(results); if (logger.isDebugEnabled()) { logger.debug("Returning JSON:\n" + jsonString); } IRequestTarget t = new StringRequestTarget("application/json", "UTF-8", jsonString); getRequestCycle().setRequestTarget(t); } }; dashboardPage.add(starHandler); dashboardPage.add(new Label("dashActionHandler", starHandler.getCallbackUrl().toString())); ResourceLoader rl = new ResourceLoader("dash_entity"); dashboardPage.add(new Label("genericErrorMessage", rl.getString("dash.generic.error"))); }
From source file:org.sakaiproject.dash.tool.pages.DashboardPage.java
License:Educational Community License
public DashboardPage() { dashboardCommonLogic.recordDashboardActivity(DashboardCommonLogic.EVENT_DASH_VISIT, "/dashboard/page/" + sakaiProxy.getCurrentSiteId()); final WebMarkupContainer dashboardPage = new WebMarkupContainer("dashboard-page"); dashboardPage.setOutputMarkupId(true); add(dashboardPage);/*w w w .j ava 2 s .c o m*/ MOTDPanel motdPanel = new MOTDPanel("motdPanel"); motdPanel.setOutputMarkupId(true); dashboardPage.add(motdPanel); CalendarLinksPanel calendarPanel = new CalendarLinksPanel("calendarPanel"); calendarPanel.setOutputMarkupId(true); dashboardPage.add(calendarPanel); NewsLinksPanel newsPanel = new NewsLinksPanel("newsPanel"); newsPanel.setOutputMarkupId(true); dashboardPage.add(newsPanel); AbstractAjaxBehavior entityDetailRequest = new AbstractAjaxBehavior() { public void onRequest() { logger.debug("entityDetailRequest.onClick() "); //get parameters final RequestCycle requestCycle = RequestCycle.get(); WebRequest wr = (WebRequest) requestCycle.getRequest(); HttpServletRequest hsr = wr.getHttpServletRequest(); String entityReference = null; String entityType = null; int itemCount = 0; int offset = -1; String dashEvent = null; try { BufferedReader br = hsr.getReader(); String jsonString = br.readLine(); if ((jsonString == null) || jsonString.isEmpty()) { logger.error(" no json found for entityReference: " + entityReference); } else { if (logger.isDebugEnabled()) { logger.debug(" json is :" + jsonString); } JSONObject jsonObject = JSONObject.fromObject(jsonString); entityReference = jsonObject.optString("entityReference", ""); entityType = jsonObject.optString("entityType", ""); itemCount = jsonObject.optInt("itemCount", 1); dashEvent = jsonObject.optString("dashEvent", ""); offset = jsonObject.optInt("offset", -1); } } catch (IOException ex) { logger.error(ex); } Locale locale = hsr.getLocale(); if (entityReference != null && !entityReference.trim().equals("") && entityType != null && !entityType.trim().equals("")) { if (itemCount > 1) { ResourceLoader rl = new ResourceLoader("dash_entity"); int limit = dashboardConfig.getConfigValue(DashboardConfig.PROP_DEFAULT_ITEMS_IN_DISCLOSURE, 20); if (offset < 0) { offset = 0; } String sakaiUserId = sakaiProxy.getCurrentUserId(); int totalItems = dashboardCommonLogic.countNewsLinksByGroupId(sakaiUserId, entityReference); Map<String, Object> results = new HashMap<String, Object>(); results.put("totalCount", totalItems); if (offset > totalItems) { results.put("items", new ArrayList<NewsLink>()); results.put("count", 0); } else { List<NewsLink> items = dashboardCommonLogic.getNewsLinksByGroupId(sakaiUserId, entityReference, limit, offset); results.put("items", items); results.put("count", items.size()); } results.put("details", rl.getString("dash.details")); results.put("offset", offset); results.put("more-link", rl.getString("dash.grouped.more.link", "[[ Show more ... ]]")); results.put("more-status", rl.getString("dash.grouped.more.status", "[[ Showing {0} of {1} items ]]")); results.put("more-status-last", rl.getString("dash.news.linksCount2", "[[ Showing item {0} of {1} items ]]")); results.put("more-status-range", rl.getString("dash.news.linksCount3", "[[ Showing {0} to {1} of {2} items ]]")); JsonHelper jsonHelper = new JsonHelper(dashboardCommonLogic, dashboardConfig); String jsonString = jsonHelper.getJsonObjectFromMap(results).toString(); if (logger.isDebugEnabled()) { logger.debug("Returning JSON:\n" + jsonString); } IRequestTarget t = new StringRequestTarget("application/json", "UTF-8", jsonString); getRequestCycle().setRequestTarget(t); dashboardCommonLogic.recordDashboardActivity(DashboardCommonLogic.EVENT_DASH_VIEW_GROUP, "/dashboard/news/current/" + entityReference); } else if (itemCount == 1) { Map<String, Object> entityMap = dashboardCommonLogic.getEntityMapping(entityType, entityReference, locale); String jsonString = getJsonStringFromMap(entityMap); if (logger.isDebugEnabled()) { logger.debug("Returning JSON:\n" + jsonString); } IRequestTarget t = new StringRequestTarget("application/json", "UTF-8", jsonString); getRequestCycle().setRequestTarget(t); dashboardCommonLogic.recordDashboardActivity(DashboardCommonLogic.EVENT_DASH_ITEM_DETAILS, "/dashboard/?/?/" + entityReference); } else if (dashEvent != null && !dashEvent.trim().equals("")) { // report the event dashboardCommonLogic.recordDashboardActivity(dashEvent, entityReference); } } } }; dashboardPage.add(entityDetailRequest); dashboardPage.add(new Label("callbackUrl", entityDetailRequest.getCallbackUrl().toString())); AbstractAjaxBehavior starHandler = new AbstractAjaxBehavior() { public void onRequest() { logger.debug("starHandler.onRequest() "); String message = null; boolean success = true; ResourceLoader rl = new ResourceLoader("dash_entity"); //get parameters final RequestCycle requestCycle = RequestCycle.get(); WebRequest wr = (WebRequest) requestCycle.getRequest(); HttpServletRequest hsr = wr.getHttpServletRequest(); long itemId = -1L; String action = null; try { BufferedReader br = hsr.getReader(); String jsonString = br.readLine(); if ((jsonString == null) || jsonString.isEmpty()) { logger.error(" no json found "); message = rl.getString("dash.ajax.failed"); success = false; } else { if (logger.isDebugEnabled()) { logger.debug(" json is :" + jsonString); } JSONObject jsonObject = JSONObject.fromObject(jsonString); itemId = jsonObject.optLong("itemId", Long.MIN_VALUE); action = jsonObject.optString("dashAction"); } } catch (IOException ex) { logger.error(ex); message = rl.getString("dash.ajax.failed"); success = false; } String newIcon = null; if (itemId < 1 || action == null || action.trim().equals("")) { logger.error("invalid values found " + action + " " + itemId); message = rl.getString(""); } else if (success) { if ("star".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.keepNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to star news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.star.success"); newIcon = dashboardConfig.getActionIcon(DashboardConfig.ACTION_UNSTAR); } else { message = rl.getString("dash.ajax.star.failed"); } } else if ("unstar".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.unkeepNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to unstar news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.unstar.success"); newIcon = dashboardConfig.getActionIcon(DashboardConfig.ACTION_STAR); } else { message = rl.getString("dash.ajax.unstar.failed"); } } else if ("hide".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.hideNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to hide news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.hide.success"); } else { message = rl.getString("dash.ajax.hide.failed"); success = false; } } else if ("show".equalsIgnoreCase(action)) { try { success = dashboardCommonLogic.unhideNewsItem(sakaiProxy.getCurrentUserId(), itemId); } catch (Exception e) { logger.warn("Error trying to show news-link for user " + sakaiProxy.getCurrentUserId() + ", newsLinkId == " + itemId); success = false; } if (success) { message = rl.getString("dash.ajax.show.success"); } else { message = rl.getString("dash.ajax.show.failed"); success = false; } } } Map<String, Object> results = new HashMap<String, Object>(); results.put("message", message); results.put("success", Boolean.valueOf(success)); if (newIcon != null) { results.put("newIcon", newIcon); } String jsonString = getJsonStringFromMap(results); if (logger.isDebugEnabled()) { logger.debug("Returning JSON:\n" + jsonString); } IRequestTarget t = new StringRequestTarget("application/json", "UTF-8", jsonString); getRequestCycle().setRequestTarget(t); } }; dashboardPage.add(starHandler); dashboardPage.add(new Label("dashActionHandler", starHandler.getCallbackUrl().toString())); ResourceLoader rl = new ResourceLoader("dash_entity"); dashboardPage.add(new Label("genericErrorMessage", rl.getString("dash.generic.error"))); }