⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ejbclient.java

📁 Java Pattern Oriented Framework (Jt) 是为了实现Java快速开发的面向模式的框架。
💻 JAVA
字号:
package Jt.ejb.examples;

import Jt.*;
import Jt.DAO.*;
import Jt.ejb.*;


//This class demonstrates the use of most J2EE design patterns.
//It also uses an Entity bean (cmp) and the Jt DAO pattern.
//A Jt remote business object is used to interface with the entity bean (local
//home interfaces). The application itself manipulates a set of customer records. 
//The usual operations are demonstrated: find, create, modify, delete, etc.

public class EJBClient extends JtObject {


    private JtBusinessDelegate businessDelegate;
    private JtKeyboard keyboard;
    private static final long serialVersionUID = 1L;
    public static final String JtCLASS_NAME = EJBClient.class.getName(); 
    public static final String FIND = "FIND"; 
    public static final String MODIFY = "MODIFY";   
    public static final String DELETE = "DELETE";
    public static final String DISABLE = "DISABLE";
    public static final String CREATE = "CREATE";
    
    private JtProxy proxy;
    private JtFactory factory = new JtFactory ();

    private Object findMember (String email) {

        JtMessage msg = new JtMessage (EJBClient.FIND);

        if (businessDelegate == null) {
            handleError ("findMember: invalid parameters");
            return (null);
        }

        //adapter = (JtEJBAdapter) factory.createObject (JtEJBAdapter.JtCLASS_NAME);

        msg.setMsgContent (email);  

        return (factory.sendMessage (proxy, msg));
        //return (businessDelegate.sendMessage ("remoteBusinessObject", msg));


    }


    public Object processMessage (Object message) {

        String msgid = null;
        JtMessage e = (JtMessage) message;
        //Object content;
        //Object data;


        if (e == null)
            return null;

        msgid = (String) e.getMsgId ();

        if (msgid == null)
            return null;

        //content = e.getMsgContent();
        //data = e.getMsgData ();

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

        if (msgid.equals (JtObject.JtACTIVATE)) {
            test ();
            return (null);     
        }

        return (super.processMessage(message));
        //handleError ("processMessage: invalid message id:" + msgid);
        //return (null);

    }



    private void modifyMember (String email, JtValueObject valueObject) {
        JtIterator jit;
        String str;
        JtValueObject outValueObject = null;
        Object value;
        String input;
        String svalue = null;
        JtMessage msg;
        int num;

        if (email == null || valueObject == null)
            return;

        jit = (JtIterator) sendMessage (valueObject, new JtMessage (JtValueObject.JtGET_KEYS));

        if (jit == null)
            return;

        System.out.println  
        ("Please enter a new value or press <enter> to leave the current value ...");

        for (;;) {
            str = (String) jit.processMessage (new JtMessage (JtIterator.JtNEXT));
            if (str == null)
                break;

            msg = new JtMessage (JtHashTable.JtGET);
            msg.setMsgData (str);
            value = valueObject.processMessage (msg);       
            //value = getValue (valueObject, str);

            //if (value instanceof java.sql.Date)
            //  continue;

            if (str.equals ("email") || str.equals ("mdate") || str.equals ("tstamp")
                    || str.equals ("dirty"))
                continue;

            System.out.print (str + "(" + value + "):");

            input = (String) sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

            if (input == null)
                continue;

            input = input.trim ();
            if (input.equals (""))
                continue;
            if (value == null)
                svalue = null;
            else
                svalue = value.toString ();


            if (input.equals (svalue))
                continue;

            if (outValueObject == null)
                outValueObject = new JtValueObject ();     

            msg = new JtMessage (JtHashTable.JtPUT); 
            msg.setMsgData (str);
                        
            
            if (str.equals ("status") || str.equals ("email_flag")) {
                try {
                    num = Integer.parseInt(input);
                } catch (Exception ex) {
                    System.err.print("Invalid number:" + input);
                    return;
                }
                msg.setMsgContent (new Integer (num));
            } else    
                msg.setMsgContent (input);    
            outValueObject.processMessage (msg);

        }   


        if (outValueObject == null)
            return;

        msg = new JtMessage (EJBClient.MODIFY);
        msg.setMsgContent (email);
        msg.setMsgData (outValueObject);


        factory.sendMessage (proxy, msg);

    }


    // Test program

    public static void main(String[] args) {
        JtFactory factory = new JtFactory ();  // Jt Factory

        EJBClient main;


        main = (EJBClient) factory.createObject (EJBClient.JtCLASS_NAME, 
        "EJBClient");

        factory.sendMessage (main, new JtMessage (JtObject.JtACTIVATE));   

    }


    private void test () {

        //JtFactory factory = new JtFactory ();  // Jt Factory
        String reply;
        JtMessage msg, msg1;
        JtValueObject member;
        String input, email, firstName = null, lastName = null;
        JtValueObject valueObject = new JtValueObject ();
        

        // Create an instance of JtBusinessDelegate (Jt implementation of
        // the J2EE business delegate pattern)

        businessDelegate = (JtBusinessDelegate) factory.createObject (JtBusinessDelegate.JtCLASS_NAME, 
        "businessDelegate");

        keyboard = (JtKeyboard) factory.createObject (JtKeyboard.JtCLASS_NAME, "keyboard");

        // Create a remote business object 

        //businessDelegate.createObject ("Jt.ejb.examples.RemoteBusinessObject", "remoteBusinessObject");
        
        msg = new JtMessage (JtEJBAdapter.JtCREATE_PROXY);
        msg.setMsgContent("Jt.apps.RemoteBusinessObject");
        //msg.setMsgContent("Jt.ejb.examples.RemoteBusinessObject");

        proxy = (JtProxy) factory.sendMessage (businessDelegate, msg);

        factory.setValue (proxy, "logLevel", "0");
        factory.setValue (proxy, "logging", "true");
               
        for (;;) {
            
            //System.out.println("logLevel:" + factory.getValue (proxy, "logLevel"));
            //System.out.println("logging:" + factory.getValue (proxy, "logging"));
            //System.out.println("logFile:" + factory.getValue (proxy, "logFile"));

            System.out.println  ("Please  select an operation ...");
            System.out.println  ("1. Find ...");
            System.out.println  ("2. Create ...");
            System.out.println  ("3. Modify ...");
            System.out.println  ("4. Delete ...");
            System.out.println  ("5. Disable ...");
            System.out.println  ("6. Exit ...");



            input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));


            if (input == null)
                continue;

            input = input.trim ();

            if (input.equals ("1")) {

                System.out.println  ("Please enter an email address ...");

                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));
                //msg = new JtMessage (EJBClient.FIND);

                if (input == null)
                    continue;

                input = input.trim ();

                if (input.equals (""))
                    continue;

                //msg.setMsgContent (input);
                member = (JtValueObject) findMember (input);
                //member = (JtValueObject) businessDelegate.sendMessage ("remoteBusinessObject", msg);

                if (member == null) {
                    System.out.println ("Record not found:" + input);
                    continue;
                }


                //msg = new JtMessage ("JtENCODE_OBJECT");
                //msg.setMsgContent (member);

                // Print the content of the ValueObject

                System.out.println (member);

            }   

            if (input.equals ("2")) {

                System.out.println  ("Please enter an email address ...");

                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input == null)
                    continue;

                input = input.trim ();

                if (input.equals (""))
                    continue;

                msg = new JtMessage ("CREATE");
                msg.setMsgContent (input);


                System.out.print  ("Name:");
                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input != null)
                    firstName = input.trim ();

                //factory.setValue (proxy, "firstname", input);

                System.out.print  ("Last Name:");
                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input != null)
                    lastName = input.trim ();

                valueObject = new JtValueObject ();
                msg1 = new JtMessage (JtValueObject.JtPUT);
                msg1.setMsgData("firstname");   
                msg1.setMsgContent(firstName);
                valueObject.processMessage(msg1);  
                msg1.setMsgData("lastname");   
                msg1.setMsgContent(lastName);
                valueObject.processMessage(msg1);  
                
                msg1 = new JtMessage (JtObject.JtSET_VALUES);   
                msg1.setMsgContent(valueObject);
                factory.sendMessage (proxy, msg1);
                
                //factory.setValue (proxy, "lastname", input);
                reply = (String) factory.sendMessage (proxy, msg);

                if (reply == null)
                    System.out.println ("Error: unable to create record.");

            }     

            if (input.equals ("4")) {

                System.out.println  ("Please enter an email address ...");

                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input == null)
                    continue;

                input = input.trim ();

                if (input.equals (""))
                    continue;

                email = input;
                valueObject = (JtValueObject) findMember (input);

                if (valueObject == null) {
                    System.out.println ("Record doesn't exist:" + input);
                    continue;
                }

                System.out.print ("Do you want to delete this record(Y/N) ?");

                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input != null)
                    input = input.trim ();

                if (!("y".equals(input) || "Y".equals (input)))
                    continue;

                msg = new JtMessage (EJBClient.DELETE);

                msg.setMsgContent (email);
                reply = (String) factory.sendMessage (proxy, msg);

                if (reply == null)
                    System.out.println ("Unable to delete record.");        
            }  

            if (input.equals ("3")) {

                System.out.println  ("Please enter an email address ...");

                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input == null)
                    continue;

                input = input.trim ();

                if (input.equals (""))
                    continue;


                valueObject = (JtValueObject) findMember (input);

                if (valueObject == null) {
                    System.out.println ("Record doesn't exist:" + input);
                    continue;
                }

                modifyMember (input, valueObject);

                //if (reply == null)
                //System.out.println ("Unable to modify record.");

            }  

            if (input.equals ("5")) {

                System.out.println  ("Please enter an email address ...");

                input = (String) factory.sendMessage (keyboard, new JtMessage (JtObject.JtACTIVATE));

                if (input == null)
                    continue;

                input = input.trim ();

                if (input.equals (""))
                    continue;

                msg = new JtMessage (EJBClient.DISABLE);
                msg.setMsgContent (input);

                factory.sendMessage (proxy, msg);

            }  

            if (input.equals ("6")) {
                break;
            }  

        }

        // Remove objects

        factory.removeObject (proxy);

        factory.removeObject ("businessDelegate");

    }

}



⌨️ 快捷键说明

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