/*
* $Id$
*
* Copyright 2006 University of Dundee. All rights reserved.
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.services.blitz.fire;
import java.util.concurrent.atomic.AtomicBoolean;
import ome.logic.HardWiredInterceptor;
import ome.system.Principal;
import ome.system.ServiceFactory;
import org.aopalliance.intercept.MethodInvocation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public final class AopContextInitializer extends HardWiredInterceptor {
private final static Logger log = LoggerFactory.getLogger(AopContextInitializer.class);
final ServiceFactory sf;
final Principal pr;
/**
* Whether or not the current session was created via password-based (or
* similar) login, or whether a session id was used to login (i.e. it's
* "reused")
*/
final AtomicBoolean reusedSession;
public AopContextInitializer(ServiceFactory sf, Principal p, AtomicBoolean reusedSession) {
this.sf = sf;
this.pr = p;
this.reusedSession = reusedSession;
}
public Object invoke(MethodInvocation mi) throws Throwable {
HardWiredInterceptor.initializeUserAttributes(mi, sf, pr, reusedSession);
return mi.proceed();
}
}