package de.flower.rmt.ui.site;
import de.flower.common.util.geo.LatLng;
import de.flower.rmt.service.IUrlProvider;
import de.flower.rmt.ui.page.blog.ArticlePage;
import de.flower.rmt.ui.page.event.player.EventPage;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.cycle.RequestCycle;
import org.springframework.stereotype.Component;
/**
* @author flowerrrr
*/
@Component
@Deprecated // should use LinkProvider instead
public class WicketUrlProvider implements IUrlProvider {
@Override
public String deepLinkEvent(final Long eventId) {
String relativeUrl = urlForEvent(eventId).toString();
return renderFullUrl(relativeUrl);
}
@Override
public String deepLinkBlog(final Long articleId) {
String relativeUrl = urlForArticle(articleId).toString();
return renderFullUrl(relativeUrl);
}
@Override
public String getDirectionsUrl(final LatLng latLng) {
throw new UnsupportedOperationException("Use LinkProvider to get URL!");
}
private String renderFullUrl(String relativeUrl) {
String url = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(relativeUrl));
return url;
}
private static CharSequence urlForEvent(Long eventId) {
return RequestCycle.get().urlFor(EventPage.class, EventPage.getPageParams(eventId));
}
private static CharSequence urlForArticle(Long articleId) {
return RequestCycle.get().urlFor(ArticlePage.class, ArticlePage.getPageParams(articleId));
}
}