package frame.role;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpSession;
|
|
import frame.config.Loader;
|
import frame.expression.GlobalVariant;
|
import frame.expression.IVariantRequestListener;
|
import frame.expression.VariantExistsException;
|
import frame.expression.VariantRequestParams;
|
|
public class UserVariantProvider extends Loader implements IVariantRequestListener {
|
|
private static UserVariantProvider instance;
|
private List<String> variantNames;
|
|
|
public UserVariantProvider() {
|
variantNames = new ArrayList<String>();
|
initVariantNames();
|
}
|
|
public static synchronized UserVariantProvider getInstance() throws VariantExistsException {
|
if (instance == null) {
|
instance = new UserVariantProvider();
|
}
|
|
return instance;
|
}
|
|
@Override
|
public String getStringValue(String name, VariantRequestParams params) {
|
HttpServletRequest request = params.getRequest();
|
|
if (request == null) {
|
return null;
|
}
|
|
HttpSession session = request.getSession();
|
OnlineUser onlineUser = (OnlineUser) session.getAttribute(OnlineUser.class.getSimpleName());
|
|
if ("user.id".equals(name)) {
|
return onlineUser.getId();
|
}
|
else if ("userid".equals(name)) {
|
return onlineUser.getId();
|
}
|
else if ("username".equals(name)) {
|
return onlineUser.getName();
|
}
|
else if ("user.name".equals(name)) {
|
return onlineUser.getName();
|
}
|
else if ("user.emp_name".equals(name)) {
|
return onlineUser.getEmp_name();
|
}
|
|
return null;
|
}
|
|
@Override
|
public List<String> getVariantNames() {
|
return variantNames;
|
}
|
|
public void initVariantNames() {
|
variantNames.add("user.id");
|
variantNames.add("userid");
|
variantNames.add("user.emp_name");
|
}
|
|
@Override
|
public void load() throws Exception {
|
GlobalVariant.regist(instance);
|
}
|
|
|
}
|