List of usage examples for org.apache.wicket Component urlFor
public final CharSequence urlFor(final ResourceReference resourceReference, PageParameters parameters)
From source file:com.pushinginertia.wicket.core.util.ComponentUtils.java
License:Open Source License
/** * Constructs the full URL to redirect to for a given target page and its parameters, with the option to override * the host name./*from w ww.j a v a 2 s . co m*/ * @param component component the call is being made from (used to obtain the container request) * @param hostName host name to use in the constructed URL * @param targetPage target page * @param pageParameters parameters for the target page (may be null) * @return full URL * @see org.apache.wicket.request.UrlRenderer#renderFullUrl(org.apache.wicket.request.Url) */ public static String constructRedirectUrl(final Component component, final String hostName, final Class<? extends Page> targetPage, final PageParameters pageParameters) { ValidateAs.notNull(component, "component"); ValidateAs.notNull(targetPage, "targetPage"); final HttpServletRequest req = (HttpServletRequest) component.getRequest().getContainerRequest(); final String relativePath = component.urlFor(targetPage, pageParameters).toString(); final String requestURI = req.getRequestURI(); String absolutePath; try { absolutePath = RequestUtils.toAbsolutePath(requestURI, relativePath); } catch (final StringIndexOutOfBoundsException e) { // sometimes the wicket method throws an exception when the input is something like: // requestPath="/404", relativePagePath="../../../page-name" // strip all leading occurrences of "../" from the relativePath final StringBuilder sb = new StringBuilder(relativePath); while (sb.indexOf("../") == 0) { sb.delete(0, 3); } absolutePath = sb.toString(); } catch (final RuntimeException e) { // this call can throw StringIndexOutOfBoundsException: String index out of range: -1 // it seems to be a wicket bug but I need to log the input to figure out how to reproduce it LOG.error("Error constructing absolute path for inputs requestPath=[" + requestURI + "], relativePagePath=[" + relativePath + "]", e); throw e; } return constructUrl(component, hostName, absolutePath); }
From source file:com.userweave.components.MailMessageProviderImpl.java
License:Open Source License
public String getUrl(Component component, String token, Locale locale, Class<? extends WebPage> page) { PageParameters parameters = new PageParameters(); parameters.set(0, token);//from ww w.jav a 2 s . c o m parameters.set(1, LocalizationUtils.getLocaleShort(locale)); //return component.urlFor(SigninPage.class, parameters).toString(); return RequestCycle.get().getUrlRenderer() .renderFullUrl(Url.parse(component.urlFor(page, parameters).toString())); }
From source file:com.userweave.dao.impl.ProjectInvitationDaoImpl.java
License:Open Source License
@Override public void sendInvitation(String recipantEmail, User addresser, Project project, Role role, Locale locale, final Component localeStringProvider) { ProjectInvitation invitation = new ProjectInvitation(); invitation.setAddressee(null);//from w w w. j av a 2 s . co m invitation.setEmail(recipantEmail); invitation.setAddresser(addresser); invitation.setProject(project); invitation.setRole(role); this.save(invitation); userService.sendInvitationMail(UserWeaveSession.get().getUser(), recipantEmail, locale, new MailMessageProviderImpl(localeStringProvider) { @Override public String getUrl(Component component, String token, Locale locale, Class<? extends WebPage> page) { PageParameters parameters = new PageParameters(); parameters.set(0, token); parameters.set(1, LocalizationUtils.getLocaleShort(locale)); String url = RequestCycle.get().getUrlRenderer().renderFullUrl( Url.parse(component.urlFor(RegisterUser.class, parameters).toString())); return url; // return component.urlFor(RegisterUser.class, parameters).toString(); } @Override public String getMailSubject() { User user = UserWeaveSession.get().getUser(); return new StringResourceModel("subject_invite", localeStringProvider, null, new Object[] { user.getForename(), user.getSurname() }).getString(); } @Override public String getMailMessage(String urlStr) { User user = UserWeaveSession.get().getUser(); return new StringResourceModel("mail_invite", localeStringProvider, null, new Object[] { user.getForename(), user.getSurname(), urlStr }).getString(); } }); }
From source file:com.userweave.pages.user.invitation.InviteUserPanel.java
License:Open Source License
public void invite(AjaxRequestTarget target) { if (email != null) { email = email.toLowerCase();/*from w w w.j av a 2 s. c om*/ } if (!RegisterUser.checkMail(email)) { // FIXME: I18N error("email_incorrect_pattern"); return; } else { final User userx = userService.findByEmail(email); if (userx != null) { // FIXME: I18N error("user_already_exists"); return; } } userService.sendInvitationMail(UserWeaveSession.get().getUser(), email, locale, new MailMessageProviderImpl(this) { @Override public String getUrl(Component component, String token, Locale locale, Class<? extends WebPage> page) { PageParameters parameters = new PageParameters(); parameters.set(0, token); parameters.set(1, LocalizationUtils.getLocaleShort(locale)); //return component.urlFor(Session.get().getDefaultPageMap(), RegisterUser.class, parameters).toString(); return component.urlFor(RegisterUser.class, parameters).toString(); } @Override public String getMailSubject() { User user = UserWeaveSession.get().getUser(); return new StringResourceModel("subject_invite", InviteUserPanel.this, null, new Object[] { user.getForename(), user.getSurname() }).getString(); } @Override public String getMailMessage(String urlStr) { User user = UserWeaveSession.get().getUser(); return new StringResourceModel("mail_invite", InviteUserPanel.this, null, new Object[] { user.getForename(), user.getSurname(), urlStr }).getString(); } }); onInvite(target); }
From source file:org.apache.openmeetings.web.pages.auth.SignInPage.java
License:Apache License
public static String getRedirectUri(OAuthServer server, Component component) { String result = ""; if (server.getId() != null) { try {//from w w w .j a v a2 s . c om String base = getBean(ConfigurationDao.class).getBaseUrl(); URI uri = new URI(base + component.urlFor(SignInPage.class, new PageParameters().add("oauthid", server.getId()))); result = uri.normalize().toString(); } catch (URISyntaxException e) { log.error("Unexpected error while getting redirect URL", e); } } return result; }
From source file:org.efaps.ui.wicket.behaviors.dojo.LazyIframeBehavior.java
License:Apache License
/** * Render the links for the head.//from w w w .j ava2s . c om * * @param _component component the header will be rendered for * @param _response resonse to add */ @Override public void renderHead(final Component _component, final IHeaderResponse _response) { super.renderHead(_component, _response); final StringBuilder js = new StringBuilder() .append("require([\"dojo/ready\",\"dijit/registry\",\"dojo/dom-construct\"],") .append(" function(ready, registry, domConstruct) {").append("ready(function() {") .append("registry.byId(\"").append(_component.getMarkupId()) .append("\").set(\"content\", domConstruct.create(\"iframe\", {"); if (this.frameMarkupId != null) { js.append("\"id\": \"").append(this.frameMarkupId).append("\","); } js.append("\"src\": \"").append(_component.urlFor(ILinkListener.INTERFACE, new PageParameters())) .append("\",\"style\": \"border: 0; width: 100%; height: 99%\", \"nodeId\": \"jan\"").append("}));") .append("});});"); _response.render(JavaScriptHeaderItem.forScript(js, _component.getMarkupId())); }
From source file:org.sakaiproject.scorm.ui.player.util.Utils.java
License:Educational Community License
public final static String generateUrl(IBehavior behavior, RequestListenerInterface rlix, Component component, boolean isRelative) { if (component == null) throw new IllegalArgumentException("Behavior must be bound to a component to create the URL"); final RequestListenerInterface rli = IBehaviorListener.INTERFACE; String relativePagePath = component.urlFor(behavior, rli).toString(); String url = null;//from w w w . jav a 2s. co m if (!isRelative) { WebRequest webRequest = (WebRequest) component.getRequest(); HttpServletRequest servletRequest = webRequest.getHttpServletRequest(); //url.append(servletRequest.getContextPath()).append("/"); //String requestUrl = servletRequest.getRequestURL().toString(); //url = RequestUtils.toAbsolutePath(requestUrl, relativePagePath); String contextPath = servletRequest.getContextPath(); String relativePath = relativePagePath.replaceAll("\\.\\.\\/", ""); url = new StringBuilder(contextPath).append("/").append(relativePath).toString(); } else { url = relativePagePath; } return url; }
From source file:org.wicketTutorial.ajaxlistener.behavior.DisableComponentListener.java
License:Apache License
protected CharSequence getIndicatorUrl(Component component) { return component.urlFor(indicatorReference, null); }