package hu.sch.web.wicket.util; import hu.sch.domain.user.User; import hu.sch.services.UserManagerLocal; import javax.inject.Inject; import org.apache.wicket.model.LoadableDetachableModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author aldaris */ public class LoadableDetachableUserModel extends LoadableDetachableModel<User> { private static final long serialVersionUID = 1L; private static Logger logger = LoggerFactory.getLogger(LoadableDetachableUserModel.class); @Inject private UserManagerLocal userManager; private transient User user = null; private String screenName; public LoadableDetachableUserModel(User u) { user = u; screenName = u.getScreenName(); } @Override protected User load() { if (user != null) { return user; } user = userManager.findUserByScreenName(screenName); return user; } }