Example usage for org.apache.wicket.request.handler TextRequestHandler TextRequestHandler

List of usage examples for org.apache.wicket.request.handler TextRequestHandler TextRequestHandler

Introduction

In this page you can find the example usage for org.apache.wicket.request.handler TextRequestHandler TextRequestHandler.

Prototype

public TextRequestHandler(final String contentType, final String encoding, final String string) 

Source Link

Document

Constructor

Usage

From source file:com.googlecode.wicket.jquery.core.behavior.AjaxCallbackBehavior.java

License:Apache License

/**
 * {@inheritDoc}<br>//from w w  w  . java 2  s  .  c o m
 * <br>
 * <b>Warning:</b> Overridden methods should call {@code super.onRequest()}
 */
@Override
public void onRequest() {
    RequestCycle requestCycle = RequestCycle.get();
    requestCycle.scheduleRequestHandlerAfterCurrent(new TextRequestHandler(this.mimetype, this.encoding,
            this.getResponse(requestCycle.getRequest().getQueryParameters())));
}

From source file:com.rex.crm.TemplatePage.java

License:Apache License

/**
 * Constructor//from   w w  w. j  av a2  s. c  o  m
 */
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:com.wicketinaction.HandlebarsButton.java

License:Apache License

/**
 * Serializes the form's model object to JSON and delivers it to the browser.
 *
 * @param target the Ajax request handler. Since we work with JSON we just ignore it.
 * @param form the form that contains this button. Keeps the POJO as a model object.
 *///from  w  w w  . ja v a  2 s.c o  m
@Override
protected final void onSubmit(AjaxRequestTarget target, Form<?> form) {
    T object = ((Form<T>) form).getModelObject();

    String json = asJson(object).toString();

    // schedule a request handler that will serve the JSON response
    TextRequestHandler jsonHandler = new TextRequestHandler("application/json", "UTF-8", json);

    // replace AjaxRequestHandler with the JSON one
    getRequestCycle().replaceAllRequestHandlers(jsonHandler);

}

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);//  w w  w  .  j a  v  a2 s  .co 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);// ww  w. j av  a  2s. 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 ww .  j a  v  a 2 s  .  c  om*/
        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:net.ftlines.wicket.fullcalendar.callback.GetEventsCallback.java

License:Apache License

@Override
protected void respond() {
    Request r = getCalendar().getRequest();

    String sid = r.getRequestParameters().getParameterValue(SOURCE_ID).toString();
    DateTime start = new DateTime(r.getRequestParameters().getParameterValue("start").toLong());
    DateTime end = new DateTime(r.getRequestParameters().getParameterValue("end").toLong());

    if (getCalendar().getConfig().isIgnoreTimezone()) {
        // Convert to same DateTime in local time zone.
        int remoteOffset = -r.getRequestParameters().getParameterValue("timezoneOffset").toInt();
        int localOffset = DateTimeZone.getDefault().getOffset(null) / 60000;
        int minutesAdjustment = remoteOffset - localOffset;
        start = start.plusMinutes(minutesAdjustment);
        end = end.plusMinutes(minutesAdjustment);
    }// w  ww.  ja  v a2s  . com
    EventSource source = getCalendar().getEventManager().getEventSource(sid);
    EventProvider provider = source.getEventProvider();
    String response = getCalendar().toJson(provider.getEvents(start, end));

    getCalendar().getRequestCycle()
            .scheduleRequestHandlerAfterCurrent(new TextRequestHandler("application/json", "UTF-8", response));

}

From source file:org.apache.openmeetings.web.components.user.calendar.CalendarPanel.java

License:Apache License

public CalendarPanel(String id) {
    super(id);//from ww  w  . j  a v  a  2  s. co  m
    WebMarkupContainer calendar = new WebMarkupContainer("calendar");
    calendar.setOutputMarkupId(true);
    calendar.setMarkupId("calendar");
    add(calendar);

    final CalendarForm form = new CalendarForm("appointment",
            new CompoundPropertyModel<Appointment>(new Appointment()));
    add(form);

    //fetchEvents
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 6880514947331946407L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.setDataType("json");
            attributes.setWicketAjaxResponse(false);
            attributes.getAjaxCallListeners().add(new AjaxCallListener().onSuccess("callback(data);"));
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(
                    JavaScriptHeaderItem.forScript("var fetchEventsFunc = "
                            + this.getCallbackFunction(context("start"), context("end"), context("callback"),
                                    resolved("_start", "start.getTime()"), resolved("_end", "end.getTime()"))
                            + ";", "fetchEventsFunc"));
        }

        @Override
        protected void respond(AjaxRequestTarget target) {
            Calendar start = WebSession.getCalendar();
            start.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_start").toLong());
            Calendar end = WebSession.getCalendar();
            end.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_end").toLong());
            JSONArray events = new JSONArray();
            for (Appointment a : Application.getBean(AppointmentDao.class)
                    .getAppointmentsByRange(WebSession.getUserId(), start.getTime(), end.getTime())) {
                try {
                    events.put(new JSONObject().put("id", a.getAppointmentId())
                            .put("title", a.getAppointmentName())
                            .put("description", a.getAppointmentDescription())
                            .put("start", WebSession.getDateFormat().format(a.getAppointmentStarttime()))
                            .put("end", WebSession.getDateFormat().format(a.getAppointmentEndtime()))
                            .put("allDay", false));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            getRequestCycle().scheduleRequestHandlerAfterCurrent(
                    new TextRequestHandler("application/json", "UTF-8", events.toString()));
        }
    });
    //dropEvent
    add(new DropResizeBehavior(true, "dropEventFunc"));
    //resizeEvent
    add(new DropResizeBehavior(false, "resizeEventFunc"));
    //create on click-and-drag
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 6880514947331946407L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.getAjaxCallListeners()
                    .add(new AjaxCallListener().onSuccess("$('#appointment').dialog('open');"));
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(JavaScriptHeaderItem.forScript(
                    "var selectFunc = " + this.getCallbackFunction(context("start"), context("end"),
                            context("allDay"), context("jsEvent"), context("view"),
                            resolved("_start", "start.getTime()"), resolved("_end", "end.getTime()")) + ";",
                    "selectFunc"));
        }

        @Override
        protected void respond(AjaxRequestTarget target) {
            Calendar start = WebSession.getCalendar();
            start.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_start").toLong());
            Calendar end = WebSession.getCalendar();
            end.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_end").toLong());

            if (start.equals(end)) {
                end.add(Calendar.HOUR_OF_DAY, 1);
            }
            Appointment a = new Appointment();
            a.setAppointmentStarttime(start.getTime());
            a.setAppointmentEndtime(end.getTime());
            form.setModelObject(a);

            target.add(form);
        }
    });
    //eventClick
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 6880514947331946407L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.getAjaxCallListeners()
                    .add(new AjaxCallListener().onSuccess("$('#appointment').dialog('open');"));
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(
                    JavaScriptHeaderItem.forScript(
                            "var eventClickFunc = " + this.getCallbackFunction(context("event"),
                                    context("jsEvent"), context("view"), resolved("_id", "event.id")) + ";",
                            "eventClickFunc"));
        }

        @Override
        protected void respond(AjaxRequestTarget target) {
            Appointment a = Application.getBean(AppointmentDao.class).getAppointmentById(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_id").toLong());
            form.setModelObject(a);

            target.add(form);
        }
    });
}

From source file:org.cast.cwm.data.behavior.AudioUploadBehavior.java

License:Open Source License

private void sendResponse(boolean success) {
    RequestCycle.get().scheduleRequestHandlerAfterCurrent(
            new TextRequestHandler("text/plain", "UTF-8", success ? "OK" : "ERROR"));
}

From source file:org.hippoecm.frontend.plugins.jquery.upload.behaviors.AjaxFileUploadBehavior.java

License:Apache License

private void setResponse(final ServletWebRequest request, final String responseContent) {
    final Application app = Application.get();
    final String encoding = app.getRequestCycleSettings().getResponseRequestEncoding();

    final String contentType;
    if (wantsHtml(request)) {
        contentType = "text/html; charset=" + encoding;
    } else {/* w  ww.  ja va 2  s  .co m*/
        contentType = APPLICATION_JSON;
    }
    TextRequestHandler textRequestHandler = new TextRequestHandler(contentType, encoding, responseContent);
    RequestCycle.get().scheduleRequestHandlerAfterCurrent(textRequestHandler);
}