package com.rectang.xsm.pages; import com.rectang.xsm.UserData; import com.rectang.xsm.XSM; import com.rectang.xsm.site.Site; import org.apache.wicket.protocol.http.WebSession; import org.apache.wicket.Request; /** * Created by IntelliJ IDEA. * * @author Andrew Williams * @version $Id: XSMSession.java 827 2011-09-25 12:18:02Z andy $ * @since 2.0 */ public class XSMSession extends WebSession { private UserData user; private Site fallback; private String requestedSite; public XSMSession( Request request ) { super( request ); if ( XSM.getConfig().isDedicated() ) { fallback = new Site( XSM.getConfig().getDedicatedSitename() ); } } public UserData getUser() { return user; } public void setUser( UserData user ) { this.user = user; } public void reset() { user = null; } public boolean isUserLoggedIn() { return user != null; } public Site getSite() { if ( user == null ) { if ( requestedSite != null && !XSM.getConfig().isDedicated() ) { Site site = new Site( requestedSite ); if ( site.exists() ) { return site; } } return fallback; } return user.getSite(); } public void setSite( Site another ) { if ( !XSM.getConfig().isDedicated() ) { fallback = another; } } public String getRequestedSite() { return requestedSite; } public void setRequestedSite( String requestedSite ) { this.requestedSite = requestedSite; } }