package fr.openwide.maven.artifact.notifier.web.application.console.notification.page;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.Session;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.collect.Iterables;
import fr.openwide.maven.artifact.notifier.core.business.user.model.EmailAddress;
import fr.openwide.maven.artifact.notifier.core.business.user.model.User;
import fr.openwide.maven.artifact.notifier.core.business.user.service.IUserService;
import fr.openwide.maven.artifact.notifier.web.application.console.notification.template.NotificationRendererTemplate;
import fr.openwide.maven.artifact.notifier.web.application.notification.component.DeleteEmailHtmlNotificationPanel;
public class DeleteEmailHtmlNotificationDemoPage extends NotificationRendererTemplate {
private static final long serialVersionUID = -6767518941118385548L;
private static final Logger LOGGER = LoggerFactory.getLogger(ConfirmRegistrationHtmlNotificationDemoPage.class);
@SpringBean
private IUserService userService;
public DeleteEmailHtmlNotificationDemoPage(PageParameters parameters) {
super(parameters);
User user = userService.getByUserName(ConsoleNotificationIndexPage.DEFAULT_USERNAME);
EmailAddress emailAddress = null;
if (user != null) {
emailAddress = Iterables.getFirst(user.getAdditionalEmails(), null);
}
if (user == null || emailAddress == null) {
LOGGER.error("There is no user or email address available");
Session.get().error(getString("console.notifications.noDataAvailable"));
throw new RestartResponseException(ConsoleNotificationIndexPage.class);
}
if (emailAddress.getEmailHash() == null) {
emailAddress.setEmailHash(userService.getHash(user, emailAddress.getEmail()));
}
add(new DeleteEmailHtmlNotificationPanel("htmlPanel", Model.of(emailAddress)));
}
}