package org.devgateway.toolkit.forms.wicket.page.reports; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.request.Url; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.devgateway.toolkit.forms.security.SecurityConstants; import org.devgateway.toolkit.forms.wicket.page.Homepage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.wicketstuff.annotation.mount.MountPath; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import java.util.Map; /** * @author idobre * @since 10/13/16 */ @MountPath(value = "reports/testReport") @AuthorizeInstantiation(SecurityConstants.Roles.ROLE_USER) public class TestReport extends AbstractFilteredReportPage { protected final Logger logger = LoggerFactory.getLogger(TestReport.class); public static final String HOST = "host"; public TestReport(final PageParameters pageParameters) { super("reports/testReport.prpt", pageParameters); this.caching = false; } @Override public void onInitialize() { super.onInitialize(); addOrReplace(new Label("pageTitle", "Test Report")); } @Override protected void onFilterSubmit(final AjaxRequestTarget target, final Form form) { final PageParameters params = new PageParameters(); setResponsePage(this.getClass(), params); } @Override public Map<String, Object> getReportParameters() { final Map<String, Object> params = new HashMap<>(); params.put(HOST, host()); return params; } private String host() { String host = ""; try { URL url = new URL(getRequestCycle().getUrlRenderer().renderFullUrl( Url.parse(urlFor(Homepage.class, null).toString()))); host = url.getProtocol() + "://" + url.getAuthority(); } catch (MalformedURLException e) { logger.error("Wrong URL", e); } return host; } }