generatejsp.java

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

JAVA
609
字号
        fpath = concatenatePath (jspDirectoryPath , fileName);
        
        jspGenerator.setPath(fpath);
        jspGenerator.setPrefix(prefix);    
        
        jspGenerator.setFormName(formName);
        
        if (key0 != null)
            jspGenerator.setKey(key0);
        
        if (keys != null && (keys.size() > 0)) {
            jspGenerator.setKeys(keys);
        }       
        
        //jspGenerator.setClassName(classname); // check
        
        //if (readonly == true)
        //    jspGenerator.setReadonly(true);
        
        msg.setMsgContent(operation);
        factory.sendMessage(jspGenerator, msg);
        
        propagateException (jspGenerator);
        
    }
    
    private boolean checkExtension (String name) 
    {
        if (name == null)
            return false;
        
        return (name.endsWith(".xml"));
       
    }
    
    
    private void generateJSPs (FileForm form) {
        String Prefix;
        //String filename;
        FormFile theFile;
        InputStream inputStream = null;
        
        if (form == null)
            return;
        /*
        filename = (String) form.getFilename();
        
        if (filename == null) {
            handleError ("Invalid filename");
            return;
        }   
        */
        
        theFile = form.getTheFile();
        
        if (theFile == null || !checkExtension (theFile.getFileName())) {
            handleUIError ("File must be a DAO mapping file (.xml)");
            return;
        }
        
        try {
            inputStream = theFile.getInputStream();
        } catch (Exception e) {
            handleException (e);
        }
        
        if (inputStream == null) {
            return;
        }   
        
        
        if (retrieveDAODefinition (inputStream) == null)
            return;
        
        
        if (prefix == null) {
            handleError ("Attribute prefix needs to be set.");
            return;           
        }
        
        Prefix = capFirstLetter (prefix);
        
        createJSPDirectory ();
        
        if (this.getObjException() != null)
            return;
        
        if (copyTemplate ("CRUDTemplates/Create.jsp", "Create" + Prefix + ".jsp"))       
            updateJsp ("Create" + Prefix + ".jsp", form.getFormName(), JtObject.JtCREATE);

        
        if (copyTemplate ("CRUDTemplates/Update.jsp", "Update" + Prefix + ".jsp"))
            updateJsp ("Update" + Prefix + ".jsp", form.getFormName(), JtObject.JtUPDATE);
        
        if (copyTemplate ("CRUDTemplates/Read.jsp", Prefix + ".jsp"))
            updateJsp (Prefix + ".jsp", form.getFormName(), JtObject.JtREAD);
        
        if (copyTemplate ("CRUDTemplates/Query.jsp", "Query" + Prefix + ".jsp"))
            updateQueryJsp ("Query" + Prefix + ".jsp", form.getFormName());
        
        if (copyTemplate ("CRUDTemplates/ConfirmDelete.jsp", "ConfirmDelete" + Prefix + ".jsp"))
            updateJsp ("ConfirmDelete" + Prefix + ".jsp", form.getFormName(), JtObject.JtDELETE);
        
        if (copyTemplate ("CRUDTemplates/index.jsp", "index.jsp"))
            updateIndexJsp ("index.jsp");
               
    }
    
    // Initialize 
    
    private boolean initialized () {
        
        config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
        
        if (config == null) {
            handleError ("Unable to create instance of configuration class (WizardConfig).");
            return (false);
        }
        
        factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));

        
        //webAppPath = config.getWebAppPath();
        
        
        return (true);
        
    }
 
    /*
    private void compute () {
        JtMessage msg = new JtMessage (JtFile.JtCONVERT_TO_STRING);
        JtFile src = new JtFile ();
        JtFile target = new JtFile ();
        String tmp, str;
        
        
        // Read source file
        src.setName("");
        
        tmp = (String) factory.sendMessage (src, msg);
        
       // Chech exceptions
        
        
        // Transform
        
        target.setName ("");
        
        msg.setMsgId(JtFile.JtSAVE_STRING);
        msg.setMsgContent (tmp);
                
        
    }
    */
    
    private String retrieveClassname (String qclassname) {
        int index;
        
        if (qclassname == null)
            return (null);
        
        index = qclassname.lastIndexOf('.');
        
        if (index < 0)
            return (qclassname);
        
        return (qclassname.substring(index+1));
        
        
    }   
    private DAODefinitionForm retrieveDAODefinition (InputStream inputStream) {
        JtMessage msg = new JtMessage (DAODefinition.READ_STREAM);
        DAODefinitionForm form = new DAODefinitionForm ();
        DAODefinitionForm oform;
        String keysA[];
        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 || classname.equals("")) {
            handleError ("Invalid classname");
            return (null);
        }
        
        
        this.setClassname(classname);
        prefix = retrieveClassname (classname);
        
        if (prefix != null)
            this.setPrefix (prefix.toLowerCase());
        
        keysA = oform.getDbkeys();
        
        keys = new LinkedList ();
        
        for (i = 0; i < keysA.length ; i++)
          keys.add(keysA[i]);  
                
        if (keysA != null && keysA.length > 0)
            key0 = keysA[0];
        
        return (oform);        
                                
    }
    
    /**
     * Process object messages.
     * <ul>
     * <li> JtACTIVATE
     * </ul>
     * @param message message
     */

    public Object processMessage (Object message) {
        Object data;
        //String content;

        JtMessage e = (JtMessage) message;
        JtContext context;
        ActionForm form = null;

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

        try { // check

            if (!init) {
                init = initialized ();
                
                if (init == false)
                    return (null);
            }    
            
            if (e.getMsgId().equals(JtObject.JtACTIVATE)) {
                //data = e.getMsgData ();
                generateJSPs ((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 ();
        GenerateJSP generator = new GenerateJSP ();
        JtMessage msg;
        //WizardConfig config = new WizardConfig ();
        CrudForm form = new CrudForm ();
  
        
        msg = new JtMessage (JtObject.JtACTIVATE);
        form.setFilename("c:/home/projects/Jt1/src/java/Jt/examples/hibernate/Member.hbm.xml");
        msg.setMsgData(form);

        factory.sendMessage (generator, msg);

    }
}

⌨️ 快捷键说明

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