Example usage for org.apache.wicket.request.mapper.info PageInfo toString

List of usage examples for org.apache.wicket.request.mapper.info PageInfo toString

Introduction

In this page you can find the example usage for org.apache.wicket.request.mapper.info PageInfo toString.

Prototype

@Override
public String toString() 

Source Link

Document

The #pageId as string

Usage

From source file:org.brixcms.web.BrixRequestMapper.java

License:Apache License

private Url encode(String nodeURL, PageParameters parameters, PageInfo info) {
    StringBuilder builder = new StringBuilder();

    if (nodeURL.startsWith("/")) {
        nodeURL = nodeURL.substring(1);//w  ww.java 2 s .co  m
    }

    builder.append(urlEncodePath(new Path(nodeURL, false)));

    boolean skipFirstSlash = builder.charAt(builder.length() - 1) == '/';

    for (int i = 0; i < parameters.getIndexedCount(); ++i) {
        if (!skipFirstSlash) {
            builder.append('/');
        } else {
            skipFirstSlash = false;
        }

        final StringValue value = parameters.get(i);
        final String s = value.toString();

        if (s != null) {
            builder.append(urlEncode(s));
        }
    }

    Set<String> keys = parameters.getNamedKeys();
    if (info != null || !keys.isEmpty()) {
        builder.append("?");
    }

    if (info != null) {
        builder.append(info.toString());
    }

    boolean first = (info == null);

    for (String key : keys) {
        List<StringValue> values = parameters.getValues(key);
        for (StringValue value : values) {
            if (first) {
                first = false;
            } else {
                builder.append("&");
            }
            builder.append(urlEncode(key));
            builder.append("=");
            builder.append(urlEncode(value.toString()));
        }
    }

    return Url.parse(builder.toString());
}