formbean.java

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

JAVA
2,094
字号
            fieldElement.addContent(elem);     
        }
        
        //if ("String".equals(type) || "boolean".equals(type)) {
        if ("boolean".equals(type)) {
            elem = new Element ("var");
            tmp = new Element ("var-name");
            tmp.setText ("type");
            elem.addContent(tmp);
            
            tmp = new Element ("var-value");
            tmp.setText (type);
            elem.addContent(tmp);
            fieldElement.addContent(elem);             
        }
        
        /*
        if (buffer.length() == 0) {
            arg0Elem = new Element ("arg");
            arg0Elem.setAttribute("key", "Jt." + formName + "." + fieldName);
            arg0Elem.setAttribute("position", "0");
            updateResourceFile ("Jt." + formName + "." + fieldName, fieldName,
                    operation);
            fieldElement.addContent(arg0Elem);           
        }
        */
        
        fieldElement.setAttribute("depends", buffer.toString());
        
        return (fieldElement);        
        
    }
     
    private boolean updateValidatorElement (FormBeanForm form, Element element,
            String operation) {
        //Element element;
        DynaMapping mappings[];
        int i;
        Element fieldElement;
        String tmp;
        
        if (form == null || element == null) {
            return false;            
        }  
        
        /*
        tmp = form.getName();
        
        if (tmp == null || tmp.equals ("")) {
            return;
        }        
        element = new Element ("form");   
        
        
        element.setAttribute("name", tmp);
        */
        
        mappings = form.getMappings();
        
        
        if (mappings != null) {
            
            element.removeContent(); // check

            for (i = 0; i < mappings.length; i++) {

                if (mappings[i] == null)
                    continue;
                tmp = mappings[i].getName();

                if (tmp == null || tmp.equals(""))
                    continue;


                fieldElement = buildFieldElement (form.getName(), mappings[i],
                        operation);
                if (fieldElement != null)
                    element.addContent(fieldElement);
            }
            return true;
        } else
            return false;
    }
    
    
    private Element formToValidatorElement (FormBeanForm form, String operation) {
        Element element;
        DynaMapping mappings[];
        int i;
        Element fieldElement;
        String tmp;
        boolean isEmpty = true;
        
        if (form == null) {
            return (null);            
        }  
        
        tmp = form.getName();
        
        if (tmp == null || tmp.equals ("")) {
            return (null);
        }        
        element = new Element ("form");   
        
        
        element.setAttribute("name", tmp);
        
        mappings = form.getMappings();
        
        
        if (mappings != null) {
            //handleTrace ("mappings != null");
            for (i = 0; i < mappings.length; i++) {
                //fieldElement = new Element ("field");
                
                if (mappings[i] == null)
                    continue;
                tmp = mappings[i].getName();
                
                if (tmp == null || tmp.equals(""))
                    continue;
                         
                
                fieldElement = buildFieldElement (form.getName(), mappings[i],
                        operation);
                if (fieldElement != null) {
                    element.addContent(fieldElement);
                    isEmpty = false;
                }    
            }     
        }
        if (isEmpty)
            return null;
        else
            return (element);
    }
    
    
    private String mapValidatorType (String type) {
        
        if (type == null)
            return null;
        
        if (type.equals("boolean")) {
            return ("java.lang.Boolean"); 
        } else if (type.equals("short"))
            return ("java.lang.Short");            
        else if (type.equals("byte"))
            return ("java.lang.Byte");
        else if (type.equals("double"))
            return ("java.lang.Double");
        else if (type.equals("float"))
            return ("java.lang.Float");
        else if (type.equals("integer"))
            return ("java.lang.Integer");
        else if (type.equals("long"))
            return ("java.lang.Long");
        else if (type.equals("date"))
            return ("java.sql.Date");
        else                 
            return ("java.lang.String");              
        
        
    }
    
    
    private Object buildFormBean (FormBeanForm form) {

        //JDOMAdapter adapter;
        Element element, actionElem, propertyElement;
        //JtMessage msg = new JtMessage (JDOMAdapter.ADD_ELEMENT);
        JtFactory factory = new JtFactory ();
        DynaMapping mappings[];
        int i;
        String name;
        String type;
        
        handleTrace ("buildFormBean", 0);

        if (form == null) {
            return (null);            
        } 

        type = (String) form.getType ();      
        if (type == null || type.equals ("")) {
            handleUIError ("Please enter a type.");
        }    

        name = (String) form.getName ();      
        if (name == null || name.equals ("")) {
            handleUIError ("Please enter the name of the form bean.");
        } 

        mappings = form.getMappings();
        
        if (mappings == null || mappings.length < 1) {
            handleUIError ("Please enter one form field or more.");          
        }
        
        if (mappings[0].getName() == null || mappings[0].getName().equals("")) {
            handleUIError ("Please enter one form field or more.");              
        }
        
        if (getObjErrors() != null) {
            return (null);
        }
            
        
        //adapter = (JDOMAdapter) factory.createObject (JDOMAdapter.JtCLASS_NAME);

        element = new Element ("form-bean");
        actionElem = element;

        element.setAttribute("name", name);
        element.setAttribute("type", type);
        //msg.setMsgContent (element);   
        
        if ("org.apache.struts.action.DynaActionForm".equals(type)) {
            form.setDynaActionForm(true);
        } else {
            form.setDynaActionForm(false);
            return (actionElem);            
        }
        //mappings = form.getMappings();
        
        // Update - DynaForm

        
        if (mappings != null) {
            //handleTrace ("mappings != null");
            for (i = 0; i < mappings.length; i++) {
                propertyElement = new Element ("form-property");
                
                if (mappings[i] == null)
                    continue;
                name = mappings[i].getName();
                
                if (name == null || name.equals(""))
                    continue;
                
                handleTrace ("buildFormBean.name:" + mappings[i].getName(), 0);              
                propertyElement.setAttribute("name", mappings[i].getName());
                propertyElement.setAttribute("type", mapValidatorType (mappings[i].getFieldType())); 
                if (mappings[i].getInitial() == null)
                    mappings[i].setInitial ("");
                propertyElement.setAttribute("initial", mappings[i].getInitial());                
                element.addContent(propertyElement);
            }     
        }                
        
        
        //factory.sendMessage(adapter, msg);  

        return (actionElem);
    }

    
    private Object findFormBean (String name) {
        JDOMAdapter adapter = new JDOMAdapter ();
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtFactory factory = new JtFactory ();
        Element elem;
        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));
        
        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 Object deleteFormBean (FormBeanForm form) {
        //JDOMAdapter adapter = new JDOMAdapter ();
        JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
        JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
        JtFactory factory = new JtFactory ();
        Element elem;
        List children;
        int i;
        String tmp;
        String name;
        String path;
        ValidatorlConfigFile confFile = new ValidatorlConfigFile ();
                
        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));

        
        jdomAdapter.setPath(config.getConfigPath());
        
        msg.setMsgContent("struts-config/form-beans");
        //adapter.setPath("c:/tmp/test.xml");
               
        factory.sendMessage (jdomAdapter, new JtMessage (JDOMAdapter.READ_FILE));
        
        if (jdomAdapter.getObjException() != null) {
            this.setObjException(jdomAdapter.getObjException());
            return (null);
        } 
        
        children = (List) factory.sendMessage (jdomAdapter, msg);
        
        path = retrieveValidatorConfPath ();
        //handleTrace ("deleteFormBean (validator config path):" + path, 0);
        
        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 (jdomAdapter, msg1);
                break;               

            }
        }        
    
        
        if (path == null)
            return null;
        
        
        path = concatenatePath (config.getWebAppPath(), path);
        handleTrace ("deleteFormBean (validator config path):" + path, 0);
        
        if (path == null)
            return (null);
        
        confFile.setPath(path);
        
        // Validator form
        
        if (!deleteValidatorForm (confFile, form))
            return (null);
 
        // Resource file
        
        initializeResourceFile ();
        deleteResources (form.getName());
        
        return (null);
    }
    
    
    private String convertClassToPath (String c) {
        if (c == null)
            return (null);
        
        return (c.replaceAll("\\.", "" + File.separatorChar));
        
    }
   
    private String retrieveResourcePath () {
        JtMessage msg = new JtMessage (JDOMAdapter.FIND_ELEMENT);
        Element elem;
        String parameter;
        String path;
        String fileName;
        

⌨️ 快捷键说明

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