package fr.openwide.core.basicapp.web.application.notification.service; import java.util.concurrent.Callable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import fr.openwide.core.basicapp.core.business.notification.service.INotificationUrlBuilderService; import fr.openwide.core.basicapp.core.business.user.model.User; import fr.openwide.core.basicapp.web.application.administration.template.AdministrationUserDescriptionTemplate; import fr.openwide.core.wicket.more.link.descriptor.generator.IPageLinkGenerator; import fr.openwide.core.wicket.more.model.GenericEntityModel; import fr.openwide.core.wicket.more.notification.service.AbstractNotificationUrlBuilderServiceImpl; import fr.openwide.core.wicket.more.notification.service.IWicketContextProvider; /** * This service is used to generate the URL used in the text version of the notification emails. * * It shouldn't be used for other purposes. */ @Service("basicApplicationNotificationUrlBuilderService") public class BasicApplicationNotificationUrlBuilderServiceImpl extends AbstractNotificationUrlBuilderServiceImpl implements INotificationUrlBuilderService { @Autowired public BasicApplicationNotificationUrlBuilderServiceImpl(IWicketContextProvider contextProvider) { super(contextProvider); } @Override public String getUserDescriptionUrl(final User user) { Callable<IPageLinkGenerator> pageLinkGeneratorTask = new Callable<IPageLinkGenerator>() { @Override public IPageLinkGenerator call() { return AdministrationUserDescriptionTemplate.mapper().ignoreParameter2().map(GenericEntityModel.of(user)); } }; return buildUrl(pageLinkGeneratorTask); } }