strutsconfigfile.java

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

JAVA
867
字号
        if (index < 0)
            return (qclassname);
        
        return (qclassname.substring(index+1));
        
        
    }
    
    //private DAODefinitionForm retrieveDAODefinition (String filename) {
    private DAODefinitionForm retrieveDAODefinition (InputStream inputStream) {
        JtMessage msg = new JtMessage (DAODefinition.READ_STREAM);
        //DAODefinitionForm form = new DAODefinitionForm ();
        DAODefinitionForm oform;
        //String keys[];
        String classname;
        String prefix;
        int i;
        
        //if (filename == null)
        //    return (null);
        
        if (inputStream == null)
            return null;
        
        DAODefinition daoDef = new DAODefinition ();
        
        //form.setFileName(filename);
        
        //msg.setMsgData(form);
        msg.setMsgData(inputStream);
        oform = (DAODefinitionForm) factory.sendMessage(daoDef, msg);
        
        if (daoDef.getObjException() != null) {
            this.setObjException(daoDef.getObjException());
            return null;
        }    
        
        
        if (oform == null) {
            handleError ("Unable to retrieve DAO configuration file.");
            return (null);
        }    
        
        classname = oform.getName();
        if (classname == null) {
            handleError ("Invalid classname (null)");
            return (null);
        }
        
        
        this.setClassname(classname);
        prefix = retrieveClassname (classname);
        
        if (prefix != null)
            this.setPrefix (prefix.toLowerCase());
        
        keys = oform.getDbkeys();
        
        //if (keys != null && keys.length == 1)
        //    key = keys[0];
        
        if (keys != null) {
            for (i=0; i < keys.length; i++) {
                handleTrace ("retrieveDAODefinition (key[" + i + "]):" + keys[i]);
            }
        } else
            handleTrace ("retrieveDAODefinition(warning): no keys");
        
        
        return (oform);        
                                
    }
    
    
    private boolean checkExtension (String name) 
    {
        if (name == null)
            return false;
        
        return (name.endsWith(".xml"));
       
    }
    
    
    // Update struts-config.xml
    
    
    private void updateConfigFile (FileForm form) {
        //String filename;
        InputStream inputStream = null;
        FormFile theFile;
        
        
        if (form == null)
            return;
        
        
        theFile = form.getTheFile();
        
        if (theFile == null || !checkExtension (theFile.getFileName())) {
            handleUIError ("File must be a DAO mapping file (.xml)");
            return;
        }
        
        if (form.getFormName() == null || "".equals(form.getFormName())) {
            handleUIError ("Form name is required.");
            return;
        }       
        
        try {
            inputStream = theFile.getInputStream();
        } catch (Exception e) {
            handleException (e);
        }
        
        if (inputStream == null) {
            return;
        }   
        
        
        
  /*      
        //filename = (String) form.get ("filename");
        filename = (String) form.getFilename();
        
        if (filename == null) {
            handleError ("Invalid filename");
            return;
        }   
*/
        
        if ((defForm = retrieveDAODefinition (inputStream)) == null)
            return;
        
        updateAction ("/Create#name", form);
        updateAction ("/Read#name", form);
        updateAction ("/Edit#name", form);
        updateAction ("/Delete#name", form);
        updateAction ("/ConfirmDelete#name", form);
        updateAction ("/Query#name", form);       
        updateAction ("/Update#name", form);   
        //updateActionForm ("#nameForm");    
    }

    private Element findForm (JDOMAdapter adapter, String name) {
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtFactory factory = new JtFactory ();
        Element elem;
        List children;
        int i;
        String tmp;
                
        if (adapter == null || name == null)
            return null;
        
        msg.setMsgContent("struts-config/form-beans");
        
        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)) {

                //elem.getParentElement();
                //elem.detach ();
                //factory.sendMessage (adapter, msg1);
                return (elem);               
                
            }
        }        
       
        return (null);
    }
    
    
    private Element findActionMapping (JDOMAdapter adapter, String name) {
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtFactory factory = new JtFactory ();
        Element elem;
        List children;
        int i;
        String tmp;
                
        if (adapter == null || name == null)
            return null;
 
        
        msg.setMsgContent("struts-config/action-mappings");
        
        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("path");
            
            if (name.equals(tmp)) {

                //elem.getParentElement();
                //elem.detach ();
                //factory.sendMessage (adapter, msg1);
                return (elem);               
                
            }
        }        
       
        return (null);
    }
 

    
    private Object createActionMapping (Element newElem) {

        JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
        JtMessage msg2 = new JtMessage (JDOMAdapter.ADD_ELEMENT);
        JtFactory factory = new JtFactory ();
        
        if (adapter == null || newElem == null)
            return null;
                    
        
        msg2.setMsgData("struts-config/action-mappings");
        msg2.setMsgContent(newElem);
        newElem.detach ();
        factory.sendMessage (adapter, msg2);

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

    }   

    private Object createForm (Element newElem) {
        JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
        JtMessage msg2 = new JtMessage (JDOMAdapter.ADD_ELEMENT);
        JtFactory factory = new JtFactory ();
        //String actionPath;
        
        if (adapter == null || newElem == null)
            return null;
            
        
        msg2.setMsgData("struts-config/form-beans");
        msg2.setMsgContent(newElem);
        newElem.detach ();
        factory.sendMessage (adapter, msg2);

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

    }  
    
 
    private Object updateActionMapping (String actionPath, Element newElem) {

        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;
        List children;
        int i;
        String tmp;
        
        if (actionPath == null || newElem == null)
            return null;
              
        msg.setMsgContent("struts-config/action-mappings");
        
        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("path");
            
            if (actionPath.equals(tmp)) {

                //newElem = (Element) buildActionMapping (form);
                
                //if (newElem == null) {
                //    handleError ("Unable to create the Action Mapping.");
                //    return (null);
                //}
                msg2.setMsgData("struts-config/action-mappings");
                msg2.setMsgContent(newElem);
                newElem.detach ();
                factory.sendMessage (adapter, msg2);
                
                elem.getParentElement();
                elem.detach ();
                
                
                factory.sendMessage (adapter, msg1);
                return (null);               
                
            }
        }        
       
        return (null);
    } 
    
    private Object updateForm (String name, Element newElem) {

        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;

        List children;
        int i;
        String tmp;
        
        if (name == null || newElem == null)
            return null;
               
        msg.setMsgContent("struts-config/form-beans");
        
        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)) {

                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);
    } 
    
 
    
    /**
     * 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();  

        try {
            if (!init) {
                init = initialized ();
            }    

            if (e.getMsgId().equals(JtObject.JtACTIVATE)) {
                //data = e.getMsgData ();
                //generateActionsAndForm ((DynaActionForm) data));
                //updateConfigFile ((CrudForm) data);
                updateConfigFile ((FileForm) form);               
                return (null);
            }
        } catch (Exception ex) {
            handleException (ex);
            return (null);
        }
        
        return (super.processMessage(message));

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

    public static void main(String[] args) {

        JtFactory factory = new JtFactory ();
        StrutsConfigFile configFile = new StrutsConfigFile ();
        JtMessage msg;
        String temp = "Create#name";
        //DynaActionForm form = new DynaActionForm ();
        //FileForm form = new FileForm ();

        
        msg = new JtMessage (JtObject.JtACTIVATE);
        //form.setFilename("c:/home/projects/Jt1/src/java/Jt/examples/hibernate/Member.hbm.xml");
        //form.setFilename("c:/home/projects/Jt1/src/java/Jt/examples/hibernate/History.hbm.xml");
        //msg.setMsgData(form);
        //configFile.setPrefix("member");
        //configFile.setClassname("Jt.examples.Member");
        
        //System.out.print(temp.replaceFirst("#name", "Hello"));
        factory.sendMessage (configFile, msg);
        
        

    }
}

⌨️ 快捷键说明

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