package fr.openwide.core.wicket.more.notification.service; import java.util.Locale; import java.util.concurrent.Callable; import org.apache.wicket.Component; import org.springframework.beans.factory.annotation.Autowired; import com.google.common.base.Supplier; import fr.openwide.core.context.IContextualService; import fr.openwide.core.jpa.security.service.ISecurityService; @SuppressWarnings("deprecation") public abstract class AbstractWicketRendererServiceImpl extends AbstractNotificationPanelRendererServiceImpl implements IContextualService { @Autowired private ISecurityService securityService; public AbstractWicketRendererServiceImpl(IWicketContextProvider wicketContextProvider) { super(wicketContextProvider); } protected String renderComponent(final Supplier<Component> componentSupplier, final String variation) { return securityService.runAsSystem( new Callable<String>() { @Override public String call() throws Exception { return AbstractWicketRendererServiceImpl.super.renderComponent(componentSupplier, null, variation); } } ); } @Override protected String renderComponent(final Supplier<Component> componentSupplier, final Locale locale, final String variation) { return securityService.runAsSystem( new Callable<String>() { @Override public String call() throws Exception { return AbstractWicketRendererServiceImpl.super.renderComponent(componentSupplier, locale, variation); } } ); } @Override protected String renderString(final String messageKey, final Locale locale, final Object parameter, final Object... positionalParameters) { return securityService.runAsSystem( new Callable<String>() { @Override public String call() throws Exception { return AbstractWicketRendererServiceImpl.super.renderString(messageKey, locale, parameter, positionalParameters); } } ); } }