Implementerade IThemeableApplication

git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@98 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
dan-kjel 2011-02-11 08:09:36 +00:00
parent 746c80fa02
commit fdeee2e5dd

@ -2,20 +2,28 @@ package se.su.dsv.scipro;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.wicket.Application;
import org.apache.wicket.Page;
import org.apache.wicket.Request;
import org.apache.wicket.ResourceReference;
import org.apache.wicket.Response;
import org.apache.wicket.Session;
import org.apache.wicket.authorization.strategies.CompoundAuthorizationStrategy;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.target.coding.HybridUrlCodingStrategy;
import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
import org.odlabs.wiquery.core.commons.WiQueryInstantiationListener;
import org.odlabs.wiquery.core.commons.WiQueryResourceManager;
import org.odlabs.wiquery.ui.themes.IThemableApplication;
import se.su.dsv.scipro.loginlogout.pages.LoginPage;
import se.su.dsv.scipro.loginlogout.pages.LogoutPage;
import se.su.dsv.scipro.pages.EventPage;
import se.su.dsv.scipro.schedule.pages.SchedulePage;
import se.su.dsv.scipro.security.auth.ComponentSecurityLogger;
import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
import se.su.dsv.scipro.security.auth.RoleBasedAuthorizationStrategy;
import se.su.dsv.scipro.wiquery.themes.ThemeResourceReference;
/**
* Application object for your web application. If you want to run this application without deploying, run the Start class.
@ -25,7 +33,7 @@ import se.su.dsv.scipro.security.auth.RoleBasedAuthorizationStrategy;
* @author Martin Peters - mpeters@dsv.su.se
*
*/
public class SciProApplication extends WebApplication {
public class SciProApplication extends WebApplication implements IThemableApplication {
/*
* These strings points to the location of the kerberos configuration files
@ -61,6 +69,7 @@ public class SciProApplication extends WebApplication {
mountBookmarkablePage("event", EventPage.class);
mountBookmarkablePage("login", LoginPage.class);
mountBookmarkablePage("logout", LogoutPage.class);
mount(new HybridUrlCodingStrategy("schedule", SchedulePage.class));
addComponentInstantiationListener(getSpringInjector());
@ -70,7 +79,6 @@ public class SciProApplication extends WebApplication {
getSecuritySettings().setAuthorizationStrategy(cas);
getSecuritySettings().setUnauthorizedComponentInstantiationListener(new ComponentSecurityLogger());
}
@SuppressWarnings("unchecked")
@ -104,4 +112,9 @@ public class SciProApplication extends WebApplication {
public Session newSession(Request request, Response response) {
return new SciProSession(request);
}
@Override
public ResourceReference getTheme(Session session) {
return new ThemeResourceReference();
}
}