package com.ttdev.wicketpagetest.sample.cdi;
import javax.inject.Inject;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.AbstractReadOnlyModel;
import com.ttdev.wicketpagetest.MockableCDIBeanInjector;
public class GreetingPage extends WebPage {
private static final long serialVersionUID = 1L;
@Inject
private GreetingService greetingService;
@Inject
private PeopleService peopleService;
class LowerCaseModel extends AbstractReadOnlyModel<String> {
private static final long serialVersionUID = 1L;
@Inject
private LowerCaseService lowerCaseService;
public LowerCaseModel() {
MockableCDIBeanInjector.injectBeans(this);
}
@Override
public String getObject() {
return lowerCaseService.lowerCase(greetingService.getSubject());
}
}
class UpperCaseModel extends AbstractReadOnlyModel<String> {
private static final long serialVersionUID = 1L;
@Inject
private UpperCaseService upperCaseService;
public UpperCaseModel() {
MockableCDIBeanInjector.injectBeans(this);
}
@Override
public String getObject() {
return upperCaseService.upperCase(peopleService.getName());
}
}
public GreetingPage() {
add(new Label("subject", new LowerCaseModel()));
add(new Label("name", new UpperCaseModel()));
}
}