findrecords.java

来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 120 行

JAVA
120
字号
package Jt.examples.struts;

import Jt.JtCollection;
import Jt.JtContext;
import Jt.JtMessage;
import Jt.JtObject;
import Jt.examples.DAOMember;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.DynaActionForm;

public class FindRecords extends JtObject {
    private static final long serialVersionUID = 1L;
    public final static String JtFIND_RECORDS = "JtFIND_RECORDS";   
    
    
    public String getEmailDomain (String email) {
        int index;
          if (email == null)
            return (null);
          if ((index = email.indexOf("@")) < 0)
            return (null);
          return (email.substring (index));
        }   
     
        public Object findRecords (DynaActionForm form) {
            String query = null;
            String domain = null;
            String email;
            
            DAOMember member;
            JtMessage msg = new JtMessage (FindRecords.JtFIND_RECORDS);
            JtCollection collection;
            Object jtReply;
 /*           
            if (jtMessage == null) {
                handleError ("Invalid message");
                return (null);
            }
            
            form = (DynaActionForm) jtMessage.getMsgData();
*/            
            if (form == null) {
                return (null);            
            }
            
            //email = (String) getValue (form, "email");
            // Retrieve the email field from the ActionForm
            email = (String) form.get ("email");
            
            if (email == null) {
                handleError ("Invalid email");
                return (null);
            }    
            
            domain = getEmailDomain (email);
            
            if (domain == null)
                return (null);
            
            query = "select * from member where email like " + "'%"+domain+"';";
            
            member = (DAOMember) createObject (DAOMember.JtCLASS_NAME, "member");
            setValue (member, "key", "email");
            setValue (member, "table", "member");
            
            msg.setMsgContent(query);
            
            collection = (JtCollection) sendMessage (member, msg);
            
            // Propagate the exception
            if (member.getObjException() != null)
                this.setObjException(member.getObjException());
            
            jtReply = (collection == null)?null:collection.getCollection();
            
            sendMessage (member, new JtMessage(JtObject.JtREMOVE));
            return (jtReply);
        }
        
        /**
         * Process object messages.
         * <ul>
         * <li> JtACTIVATE
         * </ul>
         * @param message message
         */

        public Object processMessage (Object message) {
            Object data;
            ActionForm form = null;
            JtContext context;

            JtMessage e = (JtMessage) message;

            if (e == null ||  (e.getMsgId() == null))
                return (null);

            // Remove this object
            if (e.getMsgId().equals (JtObject.JtREMOVE)) {
                return (null);     
            }


            if (e.getMsgId().equals(JtObject.JtACTIVATE)) {

                // pass the form information   
                //data = e.getMsgData ();
                context = (JtContext) e.getMsgContext();
                if (context != null)
                    form = (ActionForm) context.getActionForm();  
                //form = (DynaActionForm) JtObject.getObjContext().getActionForm();  
                return ( findRecords ((DynaActionForm) form));
            }

            handleError ("invalid message id:"+ e.getMsgId());
            return (null);
        }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?