Example usage for org.apache.wicket.request.http WebResponse write

List of usage examples for org.apache.wicket.request.http WebResponse write

Introduction

In this page you can find the example usage for org.apache.wicket.request.http WebResponse write.

Prototype

public abstract void write(CharSequence sequence);

Source Link

Document

Writes the CharSequence to output.

Usage

From source file:com.comcast.cdn.traffic_control.traffic_monitor.publish.JsonPage.java

License:Apache License

/**
 * Send out the json!!!!//from w  w w . ja va2s . co m
 */
@Override
public final void renderPage() {
    final MonitorConfig config = ConfigHandler.getConfig();
    final WebResponse response = (WebResponse) super.getResponse();
    response.setHeader("Access-Control-Allow-Origin", config.getAccessControlAllowOrigin());
    try {
        final JSONObject jo = getJson(getPageParameters());
        if (jo == null) {
            response.sendError(503, "Not ready");
            return;
        }
        response.write(jo.toString(2));
    } catch (JSONException e) {
        LOGGER.warn(e, e);
    }
}

From source file:com.googlecode.wicket.jquery.ui.calendar.CalendarModelBehavior.java

License:Apache License

/**
 * Gets the new {@link IRequestHandler} that will respond the list of {@link CalendarEvent} in a json format
 *
 * @return the {@link IRequestHandler}//from   ww  w  . j  a  v  a  2s . com
 */
private IRequestHandler newRequestHandler() {
    return new IRequestHandler() {
        @Override
        public void respond(final IRequestCycle requestCycle) {
            WebResponse response = (WebResponse) requestCycle.getResponse();

            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            response.setContentType("text/json; charset=" + encoding);
            response.disableCaching();

            if (model != null) {
                List<? extends CalendarEvent> list = model.getObject(); // calls load()

                if (list != null) {
                    StringBuilder builder = new StringBuilder("[ ");

                    int count = 0;
                    for (CalendarEvent event : list) {
                        if (model instanceof ICalendarVisitor) {
                            event.accept((ICalendarVisitor) model); //last chance to set options
                        }

                        if (count++ > 0) {
                            builder.append(", ");
                        }
                        builder.append(event.toString());
                    }

                    builder.append(" ]");

                    LOG.debug(builder.toString());
                    response.write(builder);
                }
            }
        }

        @Override
        public void detach(final IRequestCycle requestCycle) {
        }
    };
}

From source file:com.googlecode.wicket.jquery.ui.form.autocomplete.AutoCompleteSourceBehavior.java

License:Apache License

/**
 * Gets a new {@link IRequestHandler} that will call {@link #getChoices(String)} and will build be JSON response corresponding to the specified 'input' argument.
 * @param input user input//from  w w  w  .  j  av a  2  s. com
 * @return a new {@link IRequestHandler}
 */
private IRequestHandler newRequestHandler(final String input) {
    return new IRequestHandler() {
        @Override
        public void respond(final IRequestCycle requestCycle) {
            WebResponse response = (WebResponse) requestCycle.getResponse();

            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            response.setContentType("text/json; charset=" + encoding);
            response.disableCaching();

            List<T> choices = AutoCompleteSourceBehavior.this.getChoices(input);
            List<String> properties = AutoCompleteSourceBehavior.this.getProperties();

            if (choices != null) {
                StringBuilder builder = new StringBuilder("[ ");

                int index = 0;
                for (T choice : choices) {
                    if (index++ > 0) {
                        builder.append(", ");
                    }

                    builder.append("{ ");
                    builder.append(Options.QUOTE).append("id").append(Options.QUOTE).append(": ")
                            .append(Options.QUOTE).append(Integer.toString(index))
                            .append(Options.QUOTE); /* id is a reserved word */
                    builder.append(", ");
                    builder.append(Options.QUOTE).append("value").append(Options.QUOTE).append(": ")
                            .append(Options.QUOTE).append(renderer.getText(choice))
                            .append(Options.QUOTE); /* value is a reserved word */

                    if (properties != null) {
                        for (String property : properties) {
                            builder.append(", ");
                            builder.append(Options.QUOTE).append(property).append(Options.QUOTE).append(": ")
                                    .append(Options.QUOTE).append(renderer.getText(choice, property))
                                    .append(Options.QUOTE);
                        }
                    }

                    builder.append(" }");
                }

                builder.append(" ]");

                response.write(builder);
            }
        }

        @Override
        public void detach(final IRequestCycle requestCycle) {
        }
    };
}

From source file:com.googlecode.wicket.jquery.ui.kendo.datatable.DataSourceBehavior.java

License:Apache License

/**
 * Gets the new {@link IRequestHandler} that will respond the data in a json format
 *
 * @param first the first row number/*from   ww w  . j  a v a 2s . co m*/
 * @param count the count of rows
 * @return a new {@link IRequestHandler}
 */
private IRequestHandler newRequestHandler(final int first, final int count) {
    return new IRequestHandler() {
        @Override
        public void respond(final IRequestCycle requestCycle) {
            WebResponse response = (WebResponse) requestCycle.getResponse();

            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            response.setContentType("text/json; charset=" + encoding);
            response.disableCaching();

            final long size = provider.size();
            final Iterator<? extends T> iterator = provider.iterator(first, count);

            // builds JSON result //
            StringBuilder builder = new StringBuilder();

            builder.append("{ ");
            builder.append(Options.QUOTE).append("__count").append(Options.QUOTE).append(": ").append(size)
                    .append(", ");
            builder.append(Options.QUOTE).append("results").append(Options.QUOTE).append(": ");
            builder.append("[ ");

            for (int index = 0; iterator.hasNext(); index++) {
                if (index > 0) {
                    builder.append(", ");
                }

                builder.append(DataSourceBehavior.this.newJsonRow(iterator.next()));
            }

            builder.append(" ] }");

            response.write(builder);
        }

        @Override
        public void detach(final IRequestCycle requestCycle) {
        }
    };
}

From source file:com.googlecode.wicket.kendo.ui.behavior.ChoiceModelBehavior.java

License:Apache License

/**
 * Get a new {@link IRequestHandler}//from  w  w w.j  av  a2s .c o m
 * @return a new {@link IRequestHandler}
 */
protected IRequestHandler newRequestHandler() {
    return new IRequestHandler() {

        @Override
        public void respond(final IRequestCycle requestCycle) {
            WebResponse response = (WebResponse) requestCycle.getResponse();

            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            response.setContentType("application/json; charset=" + encoding);
            response.disableCaching();

            List<T> list = ChoiceModelBehavior.this.getChoices();

            if (list != null) {
                int count = 0;
                StringBuilder builder = new StringBuilder("[");

                for (T object : list) {
                    if (count++ > 0) {
                        builder.append(",");
                    }

                    builder.append(ChoiceModelBehavior.this.renderer.toJson(object));
                }

                builder.append("]");

                response.write(builder);
            }
        }

        @Override
        public void detach(final IRequestCycle requestCycle) {
            // noop
        }
    };
}

From source file:com.googlecode.wicket.kendo.ui.datatable.DataProviderBehavior.java

License:Apache License

/**
 * Gets the new {@link IRequestHandler} that will respond the data in a json format
 *
 * @param first the first row number/*w  ww . j  a v a 2  s .  c om*/
 * @param count the count of rows
 * @return a new {@code IRequestHandler}
 */
private IRequestHandler newRequestHandler(final int first, final int count) {
    return new IRequestHandler() {

        @Override
        public void respond(final IRequestCycle requestCycle) {
            WebResponse response = (WebResponse) requestCycle.getResponse();

            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            response.setContentType("application/json; charset=" + encoding);
            response.disableCaching();

            final long size = provider.size();
            final Iterator<? extends T> iterator = provider.iterator(first, count);

            // builds JSON result //
            StringBuilder builder = new StringBuilder();

            builder.append("{ ");
            BuilderUtils.append(builder, "__count", size);
            builder.append(", ");
            builder.append(Options.QUOTE).append("results").append(Options.QUOTE).append(": ");
            builder.append("[ ");

            if (iterator != null) {
                for (int index = 0; iterator.hasNext(); index++) {
                    if (index > 0) {
                        builder.append(", ");
                    }

                    builder.append(DataProviderBehavior.this.newJsonRow(iterator.next()));
                }
            }

            builder.append(" ] }");

            response.write(builder);
        }

        @Override
        public void detach(final IRequestCycle requestCycle) {
            provider.detach();
        }
    };
}

From source file:com.googlecode.wicket.kendo.ui.datatable.DataSourceBehavior.java

License:Apache License

/**
 * Gets the new {@link IRequestHandler} that will respond the data in a json format
 *
 * @param first the first row number/* w w w  .  j a  v  a  2s .c o m*/
 * @param count the count of rows
 * @return a new {@link IRequestHandler}
 */
private IRequestHandler newRequestHandler(final int first, final int count) {
    return new IRequestHandler() {

        @Override
        public void respond(final IRequestCycle requestCycle) {
            WebResponse response = (WebResponse) requestCycle.getResponse();

            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            response.setContentType("text/json; charset=" + encoding);
            response.disableCaching();

            final long size = provider.size();
            final Iterator<? extends T> iterator = provider.iterator(first, count);

            // builds JSON result //
            StringBuilder builder = new StringBuilder();

            builder.append("{ ");
            builder.append(Options.QUOTE).append("__count").append(Options.QUOTE).append(": ").append(size)
                    .append(", ");
            builder.append(Options.QUOTE).append("results").append(Options.QUOTE).append(": ");
            builder.append("[ ");

            for (int index = 0; iterator.hasNext(); index++) {
                if (index > 0) {
                    builder.append(", ");
                }

                builder.append(DataSourceBehavior.this.newJsonRow(iterator.next()));
            }

            builder.append(" ] }");

            response.write(builder);
        }

        @Override
        public void detach(final IRequestCycle requestCycle) {
            provider.detach();
        }
    };
}

From source file:name.martingeisse.wicket.util.json.AbstractJsonRequestHandler.java

License:Open Source License

@Override
public void respond(IRequestCycle requestCycle) {
    WebRequest request = (WebRequest) requestCycle.getRequest();
    WebResponse response = (WebResponse) requestCycle.getResponse();

    JavascriptAssembler assembler = new JavascriptAssembler();
    generateJson(assembler, request);/*from   w  ww  .  jav  a2  s  .c  o  m*/

    response.setHeader("Cache-Control", "no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setContentType(getContentType());
    ((HttpServletResponse) response.getContainerResponse()).setCharacterEncoding("utf-8");
    response.write(assembler.getAssembledCode());
}

From source file:org.hippoecm.frontend.dialog.NodeInfo.java

License:Apache License

/**
 * @see org.apache.wicket.request.IRequestHandler#respond(org.apache.wicket.request.IRequestCycle)
 *//*www.  j ava 2 s . com*/
public void respond(IRequestCycle requestCycle) {
    final Application app = Application.get();

    // Determine encoding
    final String encoding = app.getRequestCycleSettings().getResponseRequestEncoding();

    // Set content type based on markup type for page
    final WebResponse response = (WebResponse) requestCycle.getResponse();
    response.setContentType("text/xml; charset=" + encoding);

    // Make sure it is not cached by a client
    response.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
    response.setHeader("Cache-Control", "no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setLastModifiedTime(Time.now());

    // set filename
    response.setAttachmentHeader(FILE_NAME);

    UserSession session = UserSession.get();

    try {

        ByteArrayOutputStream fos = new ByteArrayOutputStream();
        try {
            PrintStream ps = new PrintStream(fos);

            ps.println("Hippo CMS Error report");
            ps.println("========================================");

            ps.print("version : ");
            ps.print(getCMSVersion());
            ps.println();

            ps.print("time    : ");
            ps.print(Time.now().toString());
            ps.println();

            javax.jcr.Session jcrSession = session.getJcrSession();
            if (jcrSession != null) {
                ps.print("user    : ");
                ps.print(session.getJcrSession().getUserID());
                ps.println();
            }

            HttpServletRequest hsr = (HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest();
            ps.print("server  : ");
            ps.print(hsr.getServerName());
            ps.println();

            String node = System.getProperty("org.apache.jackrabbit.core.cluster.node_id");
            if (node != null) {
                ps.print("node    : ");
                ps.print(hsr.getServerName());
                ps.println();
            }

            ps.print("java    : ");
            ps.print(System.getProperty("java.version"));
            ps.println();

            ps.println();

            ps.println("error   :");
            ps.print(ex.getClass().getName());
            ps.print(": ");
            ps.print(ex.getLocalizedMessage());
            ps.println();

            ex.printStackTrace(ps);
            ps.println();

            if (jcrSession != null) {
                ps.println("session :");

                Map<NodePath, NodeInfo> modificationTree = getModificationTree(jcrSession);
                int widths[] = new int[Column.values().length];
                for (Map.Entry<NodePath, NodeInfo> entry : modificationTree.entrySet()) {
                    NodeInfo info = entry.getValue();
                    for (Column col : Column.values()) {
                        int width = col.getWidth(info);
                        if (width > widths[col.ordinal()]) {
                            widths[col.ordinal()] = width;
                        }
                    }
                }
                int row = 0;
                for (Map.Entry<NodePath, NodeInfo> entry : modificationTree.entrySet()) {
                    NodeInfo info = entry.getValue();
                    if (row % 5 == 0 && row != 0) {
                        ps.println();
                    }
                    ps.print("  ");
                    for (Column col : Column.values()) {
                        String val = col.render(info);
                        ps.print(val);
                        int fill = widths[col.ordinal()] - val.length();
                        for (int i = 0; i < fill; i++) {
                            ps.print(' ');
                        }
                        ps.print("   ");
                    }
                    ps.println();
                    row++;
                }
            }
            ps.println();

            ps.println("========================================");

        } finally {
            fos.close();
        }
        response.write(fos.toByteArray());
    } catch (FileNotFoundException e) {
        log.error("Tempfile missing during export", e);
    } catch (IOException e) {
        log.error("IOException during export", e);
    }
}

From source file:org.hippoecm.frontend.translation.components.document.NodeNameCodecBehavior.java

License:Apache License

@Override
public void onRequest() {
    final RequestCycle requestCycle = RequestCycle.get();
    StringValue name = requestCycle.getRequest().getRequestParameters().getParameterValue("name");
    final JSONObject response = new JSONObject();
    try {// w w w. j av  a 2 s.  c  om
        if (name != null) {
            response.put("data", codec.getObject().encode(name.toString()));
            response.put("success", true);
        } else {
            response.put("success", false);
        }
    } catch (JSONException e) {
        log.error(e.getMessage());
    }
    IRequestHandler requestHandler = new IRequestHandler() {

        public void respond(IRequestCycle requestCycle) {
            WebResponse webResponse = (WebResponse) requestCycle.getResponse();

            // Determine encoding
            final String encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
            webResponse.setContentType("application/json;charset=" + encoding);

            // Make sure it is not cached
            webResponse.setHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT");
            webResponse.setHeader("Cache-Control", "no-cache, must-revalidate");
            webResponse.setHeader("Pragma", "no-cache");

            webResponse.write(response.toString());
        }

        public void detach(IRequestCycle requestCycle) {
        }

    };
    requestCycle.scheduleRequestHandlerAfterCurrent(requestHandler);
}