requestevaluator.java
来自「JAVA平台下优秀的CHART开源代码,可以实现类似EXCEL中的二维或三维的饼」· Java 代码 · 共 381 行 · 第 1/2 页
JAVA
381 行
}
} catch (Exception e) {
Server.debug ("RequestEvaluator.evaluate: Catched exception on statequery", e, Server.MSG_ERROR, Server.LVL_MAJOR);
c.setTemplate ("not_found");
}
} else {
if (ts == null) ts = Server.srv.templatemanager.getTemplateSet("default");
String tname = action.substring (1).toLowerCase ();
if (tname != null && tname.length () > 1) {
c.setTemplate (tname);
} else {
c.setTemplate ("not_found");
}
}
} else if (method.equals("POST")) {
req.currPosition=RequestReader.EVAL_POST;
if (cookie != null && action.equals ("/LOGIN")) { // LOGIN *********
req.currPosition=RequestReader.EVAL_POST_LOGIN;
Connection conn = cReq.getConnectionObject();
SocketChannel sc = (SocketChannel) key.channel ();
InetAddress ia = sc.socket ().getInetAddress ();
String user = cReq.getProperty ("value_user");
if (user == null)
user = cReq.getProperty ("value_username");
String pwd = cReq.getProperty ("value_password");
String grp = cReq.getProperty("value_group").toLowerCase ();
StringBuffer sb = new StringBuffer ("logIN - ");
if (Server.srv.isBanned (cookie) || Server.srv.isBanned (user) || Server.srv.isBanned(conn)) {
// USER IS BANNED
sb.append ("user banned: ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MAJOR);
c.setTemplate ("user_banned");
} else {
short result = UserManager.mgr.tryLogin (user, pwd, grp, ts, cookie, req);
req.currPosition=RequestReader.EVAL_POST_LOGIN_RESULT;
if (result == UserManager.TECHNICAL_ERROR) {
sb.append ("technical errors! Consult error-log.");
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MAJOR);
c.setTemplate ("techerror");
} else if (result == UserManager.LOGIN_GROUP_LOCK) {
sb.append ("authentication failed: login-group locked");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MINOR);
c.setTemplate ("login_group_locked");
} else if (result == UserManager.LOGIN_GROUP_BAN) {
sb.append ("authentication failed: user was banned from startgroup '");
sb.append (grp);
sb.append ("' ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MINOR);
c.setTemplate ("login_group_banned");
} else if (result == UserManager.LOGIN_OK) {
sb.append ("authentication suceeded: ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MINOR);
c.setTemplate ("frameset");
} else if (result == UserManager.LOGIN_MISSING) {
sb.append ("login missing ");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_VERBOSE);
c.setTemplate ("login_missing");
} else if (result == UserManager.MAX_USERS) {
sb.append ("max users reached: ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MAJOR);
c.setTemplate ("too_many_users");
} else if (result == UserManager.LOGIN_COOKIE_MISSING) {
sb.append ("no cookie: ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString ());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_VERBOSE);
c.setTemplate ("no_cookie");
} else if (result == UserManager.LOGIN_GROUP_MISSING) {
sb.append ("no group-name given for login: ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_VERBOSE);
c.setTemplate ("login_failed");
} else if (result == UserManager.LOGIN_GROUP_NOSTART) {
sb.append ("invalid group '");
sb.append (grp);
sb.append ("': ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString ());
Server.log (sb.toString (), Server.MSG_AUTH, Server.LVL_MAJOR);
c.setTemplate ("login_failed");
} else if (result == UserManager.LOGIN_COOKIE_DUPLICATE) {
sb.append ("cookie is present for another user ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_VERBOSE);
c.setTemplate ("login_failed");
} else if (result == UserManager.LOGIN_PRESENT) {
sb.append ("user is already logged in ");
sb.append (user);
sb.append (conn.toString());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MAJOR);
c.setTemplate ("user_present");
} else if (result == UserManager.LOGIN_RELOAD) {
sb.append ("user hit reload ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString());
Group g = u.getGroup ();
u.setHTTP11 (isHTTP11);
if (g != null) {
g.addUser (u);
c.setTemplate ("frameset");
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_VERBOSE);
if (ts != null)
u.setTemplateSet (ts);
} else {
sb.append (" but group was null");
g = GroupManager.mgr.getStartingGroup (grp);
if (g == null) {
sb.append (" and ");
sb.append (grp);
sb.append (" is not a starting-group");
c.setTemplate ("login_failed");
} else {
sb.append (" - joins group ");
sb.append (g.getName());
c.setTemplate ("start");
g.addUser (u);
c.setTemplate ("frameset");
if (ts != null)
u.setTemplateSet (ts);
}
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MAJOR);
}
} else /* if (result == umgr.LOGIN_FAILED) */ {
sb.append ("authentication failed: ");
sb.append (user);
sb.append ("@");
sb.append (conn.toString ());
Server.log (sb.toString(), Server.MSG_AUTH, Server.LVL_MINOR);
c.setTemplate ("login_failed");
}
}
} else c.setTemplate ("not_found");
} else c.setTemplate ("not_found");
req.currPosition=RequestReader.EVAL_PREP4SEND;
if (c.prepareForSending ()) {
if (rb == null) {
Server.log ("ConnectionBuffer for connection was null!", Server.MSG_ERROR, Server.LVL_MAJOR);
CentralSelector.dropKey (key);
return;
} else if (!rb.isValid()) {
rb.logError("ConnectionBuffer was invalidated");
CentralSelector.dropKey (key);
return;
}
req.currPosition=RequestReader.EVAL_SENDFINAL;
rb.addToWrite (c);
} else Server.log ("RequestEvaluator.evaluate: prepareForSending failed", Server.MSG_STATE, Server.LVL_VERY_VERBOSE);
} catch (Exception e) {
CentralSelector.dropKey (key);
Server.debug ("RequestEvaluator.evaluate: drop key", e, Server.MSG_ERROR, Server.LVL_MAJOR);
if (rb != null)
rb.logError(e.getMessage());
}
}
public String toString () {
StringBuffer tsb = new StringBuffer ("[RequestEvaluator ").append (parserID).append ("]");
return (tsb.toString ());
}
public int hashCode () { return (int) parserID; }
public short getID () { return (short) parserID; }
public boolean equals (RequestEvaluator rp) { return (parserID == rp.getID ()); }
/* public void finalize () {
Server.log ("************ RequestEvaluator finalized ************", Server.MSG_STATE, Server.LVL_MINOR);
} */
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?