dynaformbean.java

来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 632 行 · 第 1/2 页

JAVA
632
字号
        msg2.setMsgContent(newElem);
        newElem.detach ();
        factory.sendMessage (adapter, msg2);

        factory.sendMessage (adapter, msg1);
        return (null);               

    }   

 
    private Object updateFormBean (DynaDefinitionForm form) {
        JDOMAdapter adapter = new JDOMAdapter ();
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
        JtMessage msg2 = new JtMessage (JDOMAdapter.ADD_ELEMENT);
        JtFactory factory = new JtFactory ();
        Element elem, newElem;

        List children;
        int i;
        String tmp;
        String name;
                
        if (form == null)
            return null;
        
        name = form.getName();
        
        if (name == null)
            return null;
        
        config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
        
        if (config == null) {
            handleError ("Unable to create configuration class");
            return (null);
        }
        factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));

        
        adapter.setPath(config.getConfigPath());
        
        msg.setMsgContent("struts-config/form-beans");
        //adapter.setPath("c:/tmp/test.xml");
               
        factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
        
        if (adapter.getObjException() != null) {
            this.setObjException(adapter.getObjException());
            return (null);
        } 
        
        children = (List) factory.sendMessage (adapter, msg);
        if (children == null)
            return (null);
        
        
        for (i = 0; i < children.size(); i++) {
            elem = (Element) children.get(i);
            
            tmp = elem.getAttributeValue("name");
            
            if (name.equals(tmp)) {

                newElem = (Element) buildFormBean (form);
                
                if (newElem == null) {
                    handleError ("Unable to create the Form Bean.");
                    return (null);
                }
                msg2.setMsgData("struts-config/form-beans");
                msg2.setMsgContent(newElem);
                newElem.detach ();
                factory.sendMessage (adapter, msg2);
                
                elem.getParentElement();
                elem.detach ();
                
                
                factory.sendMessage (adapter, msg1);
                return (null);               
                
            }
        }        
       
        return (null);
    } 
    
     
    private Object getFormBean (String name) {
        JDOMAdapter adapter = new JDOMAdapter ();
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtMessage msg1 = new JtMessage (JDOMAdapter.ELEMENT_TO_BEAN);
        JtFactory factory = new JtFactory ();
        Element elem;
        DynaDefinitionForm actionMappingForm = new DynaDefinitionForm ();
        Object obj;
        List children;
        int i;
        String tmp;
        
        
        if (name == null)
            return null;
        
        config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
        
        if (config == null) {
            handleError ("Unable to create configuration class");
            return (null);
        }
        factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));

        
        adapter.setPath(config.getConfigPath());
        
        msg.setMsgContent("struts-config/form-beans");
        //adapter.setPath("c:/tmp/test.xml");
               
        factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
        
        if (adapter.getObjException() != null) {
            this.setObjException(adapter.getObjException());
            return (null);
        } 
        
        children = (List) factory.sendMessage (adapter, msg);
        if (children == null)
            return (null);
        
        
        for (i = 0; i < children.size(); i++) {
            elem = (Element) children.get(i);
            
            tmp = elem.getAttributeValue("name");
            
            if (name.equals(tmp)) {

                msg1.setMsgContent(elem);
                msg1.setMsgData(actionMappingForm);
                obj = adapter.processMessage(msg1);
                
                //updateForm ((ActionMappingForm) obj, elem);
                
                return (obj);
            }
        }        
       
        return (null);
    }
    
    
    private Object getFormBeans () {
        JDOMAdapter adapter = new JDOMAdapter ();
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtMessage msg1 = new JtMessage (JDOMAdapter.ELEMENT_TO_BEAN);
        JtFactory factory = new JtFactory ();
        List children;
        Element elem;
        DynaFormBean formBean = new DynaFormBean ();
        List list = new LinkedList ();
        Object obj;
        String type;
        
        int i;
        
        config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
        
        if (config == null) {
            handleError ("Unable to create configuration class");
            return (null);
        }
        
        factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));

        adapter.setPath(config.getConfigPath());
        
        msg.setMsgContent("struts-config/form-beans");
        //adapter.setPath("c:/tmp/test.xml");
        
        factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
        
        if (adapter.getObjException() != null) {
            this.setObjException(adapter.getObjException());
            return (null);
        } 
        
        children = (List) factory.sendMessage (adapter, msg);
        if (children == null)
            return (null);
        
        
        for (i = 0; i < children.size(); i++) {
            elem = (Element) children.get(i);
            
            type = elem.getAttributeValue("type");
            if (!"org.apache.struts.action.DynaActionForm".equals(type))
                continue;
            
            msg1.setMsgContent(elem);
            msg1.setMsgData(formBean);
            obj = adapter.processMessage(msg1);
            //updateBean ((FormBean) obj, elem);
            if (obj != null)
                list.add(obj);
        }
        
        return (list);
    }
    
    
    private DynaDefinitionForm newDynaForm() {
        DynaDefinitionForm form = new DynaDefinitionForm ();
        DynaMapping mappings[];
        
        form.setName("hello");
        
        mappings = form.getMappings();
        
        if (mappings != null && (mappings.length > 0)) {
                mappings[0] = new DynaMapping();
                mappings[0].setName("name");
        }        

        return (form);
        
        

        
    }
    
    /**
     * Process object messages.
     * <ul>
     * <li> JtACTIVATE
     * </ul>
     * @param message message
     */

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

        JtMessage e = (JtMessage) message;

        if (e == null ||  (e.getMsgId() == null))
            return (null);
        
        context = (JtContext) e.getMsgContext();
        if (context != null)
            form = (ActionForm) context.getActionForm();  


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

            // pass the form information   
            //data = e.getMsgData ();
            //return ( getFormBeans ());
            return (newDynaForm ());
        }
        
        
        if (e.getMsgId().equals(DynaFormBean.READ)) {
 
            content = (String) e.getMsgContent ();
            return ( getFormBean (content));
        }
        
        if (e.getMsgId().equals(DynaFormBean.DELETE)) {
            
            //content = (String) e.getMsgContent ();
            //data = e.getMsgData ();
            return ( deleteFormBean ((DynaDefinitionForm) form));
        }
        
        if (e.getMsgId().equals(DynaFormBean.UPDATE)) {
            
            //content = (String) e.getMsgContent ();
            //data = e.getMsgData ();
            return ( updateFormBean ((DynaDefinitionForm) form));
        }
        
        
        if (e.getMsgId().equals(DynaFormBean.CREATE)) {
            
            //content = (String) e.getMsgContent ();
            //data = e.getMsgData ();
            return ( createFormBean ((DynaDefinitionForm) form));
        }

        return (super.processMessage(message));

    }
    /**
     * Demonstrates the messages processed by this class
     */

    public static void main(String[] args) {

        JtObject factory = new JtFactory ();
        DynaFormBean actionMapping = new DynaFormBean ();
        JtMessage msg;
        List list;


        msg = new JtMessage (JtObject.JtACTIVATE);          
        
        list = (List) factory.sendMessage (actionMapping, msg);
        System.out.println ("List=" + list);


    }
}

⌨️ 快捷键说明

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