package de.skuzzle.polly.sdk.httpv2.html; import java.util.Map; import org.apache.commons.lang.StringEscapeUtils; import org.apache.velocity.app.FieldMethodizer; import de.skuzzle.polly.core.moduleloader.AbstractProvider; import de.skuzzle.polly.core.moduleloader.ModuleLoader; import de.skuzzle.polly.core.moduleloader.SetupException; import de.skuzzle.polly.core.moduleloader.annotations.Module; @Module public class EscapeProvider extends AbstractProvider { public EscapeProvider(ModuleLoader loader) { super("ESCAPE_PROVIDER", loader, false); //$NON-NLS-1$ } @Override public void setup() throws SetupException { // HACK: this is a hack to expose html escaping from apache // commons to all plugins with avoiding a new dependency HTMLTools.UTIL = new HTMLTools.HTMLToolsUtil() { @Override public String escape(String s) { return StringEscapeUtils.escapeHtml(s); } @Override public String unsecape(String s) { return StringEscapeUtils.unescapeHtml(s); } @Override public void gainFieldAccess(Map<String, Object> targetContext, Class<?> container, String key) { targetContext.put(key, new FieldMethodizer(container.getName())); } }; } }