X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FRequestChangeFilter.java;h=45d6ba781b0399828edb3cf30396c3e0507cd47a;hp=d9c453ee3787e003e3b66d50e3d9e84b89934d33;hb=a47643aed43d118ca68044f95451bb5374cdb332;hpb=8c8acd50782b5d64b2a5a57fe8f9a4c2385203fd diff --git a/src/main/java/net/pterodactylus/sone/template/RequestChangeFilter.java b/src/main/java/net/pterodactylus/sone/template/RequestChangeFilter.java index d9c453e..45d6ba7 100644 --- a/src/main/java/net/pterodactylus/sone/template/RequestChangeFilter.java +++ b/src/main/java/net/pterodactylus/sone/template/RequestChangeFilter.java @@ -1,5 +1,5 @@ /* - * Sone - RequestChangeFilter.java - Copyright © 2010 David Roden + * Sone - RequestChangeFilter.java - Copyright © 2010–2012 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,15 +26,15 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; -import net.pterodactylus.sone.web.page.Page.Request; -import net.pterodactylus.util.template.DataProvider; +import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.template.Filter; +import net.pterodactylus.util.template.TemplateContext; /** - * This filter expects a {@link Request} as input and outputs a {@link URI} that - * is modified by the parameters. The name of the parameter is handed in as - * “name”, the value may either be stored in “value”, or in a template variable - * whose key is stored in “key”. + * This filter expects a {@link FreenetRequest} as input and outputs a + * {@link URI} that is modified by the parameters. The name of the parameter is + * handed in as “name”, the value may either be stored in “value”, or in a + * template variable whose key is stored in “key”. * * @author David ‘Bombe’ Roden */ @@ -44,13 +44,17 @@ public class RequestChangeFilter implements Filter { * {@inheritDoc} */ @Override - public Object format(DataProvider dataProvider, Object data, Map parameters) { - Request request = (Request) data; + public Object format(TemplateContext templateContext, Object data, Map parameters) { + FreenetRequest request = (FreenetRequest) data; String name = parameters.get("name"); + String nameKey = parameters.get("nameKey"); + if (nameKey != null) { + name = String.valueOf(templateContext.get(nameKey)); + } String key = parameters.get("key"); String value = null; if (key != null) { - value = String.valueOf(dataProvider.getData(key)); + value = String.valueOf(templateContext.get(key)); } if (value == null) { value = parameters.get("value"); @@ -80,7 +84,6 @@ public class RequestChangeFilter implements Filter { questionMark = oldUri.length(); } URI u = new URI(oldUri.substring(0, questionMark) + query.toString()); - System.out.println("u: " + u); return u; } catch (UnsupportedEncodingException uee1) { /* UTF-8 not supported? I don’t think so. */