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 + -
显示快捷键?