欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于ssh架構(gòu)的代碼生成器及方法

文檔序號(hào):6443647閱讀:217來源:國(guó)知局
專利名稱:一種基于ssh架構(gòu)的代碼生成器及方法
技術(shù)領(lǐng)域
本發(fā)明屬于代碼自動(dòng)生成技術(shù)領(lǐng)域,具體涉及一種基于SSH架構(gòu)的代碼生成器及方法。
背景技術(shù)
在實(shí)際項(xiàng)目開發(fā)中,經(jīng)常會(huì)遇到因?yàn)楣て谂c成本的因素造成項(xiàng)目預(yù)算的超支。這其中有一部分原因是在開發(fā)業(yè)務(wù)代碼的同時(shí)可能還會(huì)存在一些輔助的功能模塊的開發(fā),并且在業(yè)務(wù)模塊代碼的開發(fā)工作量也占用了較大的比重,而目前市場(chǎng)上的一些代碼生成工具往往存在眾多缺點(diǎn),如不適用各個(gè)公司的框架、業(yè)務(wù)代碼無法生成等等,所以在代碼生成插件的功能拓展上也是勢(shì)在必行的。從目前的每個(gè)公司項(xiàng)目情況來看,系統(tǒng)開發(fā)的輔助功能在項(xiàng)目的開發(fā)中也占用了開發(fā)人員很大一部分時(shí)間。而在業(yè)務(wù)代碼模塊的開發(fā)上占用了更大的比重,并且由于項(xiàng)目時(shí)間進(jìn)度上的壓力,項(xiàng)目組開發(fā)人員更多注重程序的編碼速度,卻忽略其實(shí)用性與維護(hù)性, 加上程序多人共同參與開發(fā),組內(nèi)成員都有各自的編碼風(fēng)格,容易造成因差異性帶來的閱讀困難,隨著系統(tǒng)規(guī)模越來越大,這將造成系統(tǒng)完成后在測(cè)試及維護(hù)上沉重的負(fù)擔(dān)。對(duì)系統(tǒng)的可用性、可靠性、安全性、及其質(zhì)量方面造成嚴(yán)重影響。根據(jù)市場(chǎng)調(diào)查,在實(shí)際的項(xiàng)目中,專注于業(yè)務(wù)邏輯處理的時(shí)間占用了工時(shí)的40%, 而有50%的時(shí)間用來處理一些針對(duì)業(yè)務(wù)邏輯的輔助功能如查詢、新增等功能的開發(fā)。而剩下的10%作為處理BUG,但在這10%的BUG處理中近7成是在輔助功能上的bug處理(如查詢條件查不出數(shù)據(jù)、基本查詢條件驗(yàn)證腳本出錯(cuò)等)。以上數(shù)據(jù)也在客觀上表示在系統(tǒng)開發(fā)的過程中,人力資源成本的浪費(fèi)往往是浪費(fèi)在因代碼不規(guī)范的因素上面。那么,將開發(fā)人員的精力抽離到在規(guī)范的業(yè)務(wù)及代碼模板上進(jìn)行開發(fā)與處理是目前勢(shì)在必行的任務(wù),因而以工廠模式的軟件開發(fā)模式應(yīng)融入到系統(tǒng)平臺(tái)。將業(yè)務(wù)模塊與基礎(chǔ)查詢等功能模塊抽象為模板式的開發(fā)更能提高開發(fā)人員的工作效率。采用工廠模式的生成,利用有針對(duì)性的代碼生成插件處理這些功能,生成代碼開發(fā)的模板,降低代碼的出錯(cuò)率,減少開發(fā)人員在實(shí)際開發(fā)中復(fù)制、粘貼帶來的錯(cuò)誤,這在系統(tǒng)的復(fù)用性也得到了大幅度的提聞。目前市場(chǎng)上流行的SSH(SecUre Shell)框架代碼生成工具大多可生成基本的增刪改查等內(nèi)容,而無法針對(duì)業(yè)務(wù)代碼的生成。而且在代碼生成的操作性上也比較復(fù)雜。在針對(duì)于業(yè)務(wù)邏輯變更后的代碼修改,往往需要手工更改業(yè)務(wù)代碼。在現(xiàn)有的解決方案中,有部分公司采用規(guī)則引擎進(jìn)行業(yè)務(wù)變更的控制。但是,現(xiàn)有市場(chǎng)上的規(guī)則引擎往往配置與學(xué)習(xí)起來比較復(fù)雜?,F(xiàn)有的代碼生成插件的缺點(diǎn)是無法針對(duì)業(yè)務(wù)代碼的生成,只能處理簡(jiǎn)單的輔助功能的代碼進(jìn)行生成,并且在操作簡(jiǎn)便性及效率上存在嚴(yán)重的不足
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種效率高的基于SSH架構(gòu)的代碼生成器及方法。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下一種基于SSH架構(gòu)的代碼生成器,其特征在于包括用于將流程圖導(dǎo)入代碼生成器的流程圖導(dǎo)入模塊;用于讀取流程圖定義的業(yè)務(wù)規(guī)則的流程圖讀取模塊;用于存儲(chǔ)預(yù)先確定的引擎規(guī)則模板,并由代碼生成模塊進(jìn)行調(diào)用的規(guī)則模板存儲(chǔ)模塊;用于按流程圖角色的定義結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼的代碼生成模塊。如上所述的代碼生成器,優(yōu)選的,還包括用于驗(yàn)證流程圖是否正確的驗(yàn)證模塊。如上所述的代碼生成器,優(yōu)選的,還包括用于對(duì)流程圖的節(jié)點(diǎn)角色的處理權(quán)限和處理內(nèi)容進(jìn)行配置的節(jié)點(diǎn)角色配置模塊。一種基于SSH架構(gòu)的代碼生成方法,包括以下步驟(I)流程圖導(dǎo)入模塊將預(yù)先定義的流程圖導(dǎo)入到代碼生成器;(2)流程圖讀取模塊讀取流程圖定義的業(yè)務(wù)規(guī)則;(3)規(guī)則模板存儲(chǔ)模塊存儲(chǔ)預(yù)先確定的引擎規(guī)則模板;(4)代碼生成模塊按照流程圖角色的定義,并結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼。如上所述的代碼生成方法,優(yōu)選的,還包括對(duì)流程圖的節(jié)點(diǎn)角色的處理權(quán)限和處理內(nèi)容進(jìn)行配置的步驟。如上所述的代碼生成方法,優(yōu)選的,在將流程圖導(dǎo)入代碼生成器后還包括驗(yàn)證該流程圖是否正確的步驟。如上所述的代碼生成方法,優(yōu)選的,所述驗(yàn)證流程圖的方法包括以下步驟①將流程圖對(duì)應(yīng)的xml模板導(dǎo)入代碼生成器;②驗(yàn)證模塊對(duì)應(yīng)讀取該流程并驗(yàn)證該流程定義文件,通過xml讀取,獲取所有流程定義節(jié)點(diǎn),讀入緩存;③驗(yàn)證針對(duì)流程文件獲取開始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn),確定該流程為完整流程,根據(jù)任務(wù)節(jié)點(diǎn)獲取該流程定義4個(gè)節(jié)點(diǎn)參與流程的處理,根據(jù)decision節(jié)點(diǎn)確定流程存在分支條件;④根據(jù)以上初步確定該流程參與者與對(duì)應(yīng)節(jié)點(diǎn)數(shù)量,根據(jù)不同節(jié)點(diǎn)驗(yàn)證節(jié)點(diǎn)中對(duì)應(yīng)的屬性及屬性值,獲取節(jié)點(diǎn)的完整定義,并同時(shí)找到本節(jié)點(diǎn)下的流程令牌Token的指向 transition,根據(jù)to屬性找到Token應(yīng)傳遞的節(jié)點(diǎn)。如上所述的代碼生成方法,優(yōu)選的,步驟(4)的具體實(shí)現(xiàn)方法如下①根據(jù)預(yù)先定義的引擎規(guī)則生成頁(yè)面代碼;②通過讀取緩存將驗(yàn)證通過的流程規(guī)則讀取,首先處理start節(jié)點(diǎn)下的流程令牌 Token的指向transition的to屬性,根據(jù)to屬性值找到對(duì)應(yīng)的name屬性相同的任務(wù)節(jié)點(diǎn),生成對(duì)應(yīng)的后臺(tái)處理方法,寫入對(duì)應(yīng)的方法內(nèi);③通過步驟①和②生成流程的啟動(dòng)方法的后臺(tái)程序與頁(yè)面文件,該方法將繼續(xù)讀取緩存中的流程規(guī)則,找到對(duì)應(yīng)Token指向,根據(jù)db對(duì)應(yīng)字段修改、讀取模板,生成對(duì)應(yīng)第2個(gè)任務(wù)處理的Model、Control與View層文件;④循環(huán)獲取任務(wù)節(jié)點(diǎn)及對(duì)應(yīng)指向下個(gè)節(jié)點(diǎn)并生成文件,直至遇到結(jié)束節(jié)點(diǎn),流程讀取與代碼生成處理完畢;如遇到任務(wù)存在流程分支時(shí),讀取第一個(gè)分支并處理完畢后回到該任務(wù)繼續(xù)處理下個(gè)流程分支。本發(fā)明的優(yōu)點(diǎn)在于無論在操作性還是在代碼質(zhì)量及效率上都得到了很大程度的提高,并且在針對(duì)業(yè)務(wù)邏輯代碼生成方面實(shí)現(xiàn)了創(chuàng)新,開發(fā)人員只需要在一個(gè)界面進(jìn)行相關(guān)的配置,畫相關(guān)業(yè)務(wù)流程圖,數(shù)據(jù)庫(kù)配置,讀取內(nèi)容,生成代碼格式進(jìn)行相應(yīng)的提示操作進(jìn)行配置,直接生成符合相關(guān)業(yè)務(wù)邏輯的代碼。在生成效率上采用模板引擎模式,并且所有代碼的生成都基于模板,開發(fā)人員可根據(jù)每個(gè)公司的不同規(guī)范進(jìn)行模板的配置,配置完模板后便可實(shí)現(xiàn)根據(jù)模板進(jìn)行生成。


圖I是具體實(shí)施方式
中代碼生成器的結(jié)構(gòu)框圖;圖2是具體實(shí)施方式
中生成代碼的方法流程圖;圖3是具體實(shí)施方式
中所舉實(shí)例的流程圖。
具體實(shí)施例方式本發(fā)明的構(gòu)思來源于在實(shí)際項(xiàng)目開發(fā)中,往往將精力集中于下列2個(gè)方面一是業(yè)務(wù)流程模塊的編碼,一個(gè)是編碼后的BUG處理與變更后的修改。在實(shí)際項(xiàng)目中,需求的變更是不可規(guī)避的,所以在需求變更后需要對(duì)代碼進(jìn)行相應(yīng)的修改,而重新編碼后產(chǎn)生的BUG 及測(cè)試又要占用一部分時(shí)間,所以本發(fā)明針對(duì)以上實(shí)際中遇到的問題進(jìn)行了代碼生成及規(guī)范的處理。在簡(jiǎn)單的代碼生成方面采用基于模板引擎模式,用戶可根據(jù)不同的公司架構(gòu)進(jìn)行相應(yīng)的模板引擎設(shè)計(jì)。針對(duì)于模板引擎并行讀取元數(shù)據(jù),生成單表與多表的增刪改查。而本發(fā)明所述代碼生成器不同于其他同類產(chǎn)品的另一特色是對(duì)業(yè)務(wù)流程代碼生成的處理,在業(yè)務(wù)流程代碼生成方面,用戶首先需根據(jù)業(yè)務(wù)流程畫流程圖,采用jbpm4. 4的工作流引擎, 用戶只需額外學(xué)習(xí)jbpm流程圖的定義方法。根據(jù)定義好的流程圖,導(dǎo)入到代碼生成器,代碼生成器按流程圖讀取業(yè)務(wù)規(guī)則,完全按流程圖角色的定義生成相關(guān)代碼,每個(gè)角色的代碼根據(jù)流程的定義可生成對(duì)應(yīng)的回退與處理操作。下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行詳細(xì)描述。如圖I所示,本實(shí)施方式中基于SSH架構(gòu)的代碼生成器包括流程圖導(dǎo)入模塊11、驗(yàn)證模塊12、節(jié)點(diǎn)角色配置模塊13、流程圖讀取模塊14、規(guī)則模板存儲(chǔ)模塊15和代碼生成模塊16。流程圖導(dǎo)入模塊11用于將流程圖導(dǎo)入代碼生成器。驗(yàn)證模塊12用于驗(yàn)證流程圖是否正確。節(jié)點(diǎn)角色配置模塊13用于對(duì)流程圖的節(jié)點(diǎn)角色的處理權(quán)限和處理內(nèi)容進(jìn)行配置。流程圖讀取模塊14用于讀取流程圖定義的業(yè)務(wù)規(guī)則。規(guī)則模板存儲(chǔ)模塊15用于存儲(chǔ)預(yù)先確定的引擎規(guī)則模板,并由代碼生成模塊進(jìn)行調(diào)用。代碼生成模塊16用于按流程圖角色的定義結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼。如圖2所示,采用上述代碼生成器自動(dòng)生成代碼的方法包括以下步驟(I)流程圖導(dǎo)入模塊11將預(yù)先定義的流程圖導(dǎo)入到代碼生成器。
流程圖定義可以采用第三方工作流產(chǎn)品定義,通過JBPM4. 4定義流程,產(chǎn)生對(duì)應(yīng)的xml流程定義文件。例如,如圖3所示的流程對(duì)應(yīng)的流程配置文件如下
< xml version=" 1.0" encoding="UTF-8" >
〈process name="loan" xmlns="http://jbpm.org/4.4/jpdl">
〈start g="64,124,48,48" name="start 1">
〈transition g="-27,-17" name="申請(qǐng)電腦” to="填寫電腦申請(qǐng)"/> 〈/start〉
〈task assignee="#{csrAgentTd}" g="187,117,109,56" name="填寫電腦申
請(qǐng)
〈transition g="-23,-19" name=”提交申請(qǐng)” to=”總監(jiān)審批”/>
</task>〈task assignee="manager" g="366,120,114,52" name=”總監(jiān)審批”> 〈transition g="-53,-8" name="總監(jiān)駁回"to="cance1"/>
〈transition g="-35,-18" name="總監(jiān)審批通過” to="金額判斷"/> </task>
〈decision expr="#{money&gt;=5000 '&gt;=5000 元':'&lt;5000 元 g="568,122,48,48" name=',金額判斷”〉
〈transition g="-18,-7" name="&gt;=5000 元"to="CEO 審批"/> 〈transition g="-18,-18" name="&lt;5000 元” to="財(cái)務(wù)撥款"/> 〈/decision〉
<end g="929,122,48,48" name="end7>
<end-cancel g="758,385,48,48" name="cancer7>
〈task assignee="ceo" g="728,239,100,52" name="CEO 審批”〉
〈transition g="-30,-6" name="CEO 審批通過” to=”財(cái)務(wù)撥款”/> 〈transition g="-17,-12" name="CEO 駁回"to="cancer/>
</task>
〈task assignee="finance" g="729,121,92,52" name=”財(cái)務(wù)撥款”〉 〈transition g="-26,-19" name=”冗成撥款” to=”end"/>
</task>
〈/process〉在流程圖定義過程中,節(jié)點(diǎn)角色配置模塊13可以對(duì)流程圖的節(jié)點(diǎn)角色的處理權(quán)限和處理內(nèi)容進(jìn)行配置。優(yōu)選的,導(dǎo)入流程圖后,驗(yàn)證模塊對(duì)該流程圖進(jìn)行驗(yàn)證,具體驗(yàn)證方法包括以下步驟①將本流程對(duì)應(yīng)如上的xml模板導(dǎo)入生成器。②生成器對(duì)應(yīng)讀取該流程并驗(yàn)證此流程定義文件,通過xml讀取,獲取所有流程定義節(jié)點(diǎn),讀入緩存。③驗(yàn)證針對(duì)流程文件獲取start與end節(jié)點(diǎn)。確定流程為完整流程,根據(jù)task節(jié)點(diǎn)獲取該流程定義4個(gè)節(jié)點(diǎn)參與流程的處理,根據(jù)decision節(jié)點(diǎn)確定流程存在分支條件。④根據(jù)以上初步確定該流程參與者與對(duì)應(yīng)節(jié)點(diǎn)數(shù)量,根據(jù)不同節(jié)點(diǎn)驗(yàn)證節(jié)點(diǎn)中對(duì)應(yīng)的屬性及屬性值,獲取節(jié)點(diǎn)的完整定義,并同時(shí)找到本節(jié)點(diǎn)下的流程令牌Token的指向 transition,根據(jù)to屬性找到Token應(yīng)傳遞的節(jié)點(diǎn)。⑤通過以上方法,驗(yàn)證流程定義的完整性與正確性,驗(yàn)證通過后該方法將自動(dòng)轉(zhuǎn)到下個(gè)根據(jù)規(guī)則引擎模塊。通過以上方法,實(shí)現(xiàn)了完整流程定義的讀取與驗(yàn)證,驗(yàn)證通過后該流程定義規(guī)則將緩存至該生成器中。(2)流程圖讀取模塊讀取流程圖定義的業(yè)務(wù)規(guī)則。(3)規(guī)則模板存儲(chǔ)模塊存儲(chǔ)預(yù)先確定的引擎規(guī)則模板。(4)代碼生成模塊按照流程圖角色的定義,并結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼。代碼生成器讀取預(yù)先定義好的引擎規(guī)則,根據(jù)流程圖角色的定義并結(jié)合相應(yīng)的引擎規(guī)則模板生成相關(guān)代碼,具體實(shí)現(xiàn)過程如下①該引擎規(guī)則為預(yù)先定義,主要用于生成頁(yè)面代碼,采用velocity或FreeMarker 定義頁(yè)面生成引擎,通過讀取數(shù)據(jù)庫(kù)該流程對(duì)應(yīng)業(yè)務(wù)表及字段生成struts的form及對(duì)應(yīng) hibernate的實(shí)體類與對(duì)應(yīng)配置文件,采用io形式動(dòng)態(tài)修改模板引擎所需模板,根據(jù)用戶選擇的字段,由freeMarker處理對(duì)應(yīng)所選字段生成對(duì)應(yīng)頁(yè)面。②通過讀取緩存將驗(yàn)證通過的流程規(guī)則讀取,首先處理start節(jié)點(diǎn)下的流程令牌 Token的指向transition的to屬性,根據(jù)to屬性值找到對(duì)應(yīng)的name屬性相同的task節(jié)點(diǎn)。生成對(duì)應(yīng)的后臺(tái)處理方法,根據(jù)jbpm的內(nèi)置接口寫入對(duì)應(yīng)的方法內(nèi)。(流程啟動(dòng),節(jié)點(diǎn)跳轉(zhuǎn)為jbpm的內(nèi)置方法)③通過步驟①和②生成流程的啟動(dòng)方法的后臺(tái)程序與頁(yè)面文件,該方法將繼續(xù)讀取緩存中的流程規(guī)則,同步驟②方法,找到對(duì)應(yīng)Token的指向,根據(jù)db對(duì)應(yīng)字段修改、讀取模板,生成對(duì)應(yīng)第2個(gè)task處理的Model、Control與View層文件。④循環(huán)獲取task節(jié)點(diǎn)及對(duì)應(yīng)指向下個(gè)節(jié)點(diǎn)并生成文件,直至遇到end節(jié)點(diǎn),流程讀取與代碼生成處理完畢。如遇到task存在分支transition時(shí)(即流程分支),讀取第一個(gè)分支并處理完畢后回到該task繼續(xù)下個(gè)分支。本實(shí)施方式的思路主要來源于工作中對(duì)xml文件的處理,而通常工作流引擎在流程定義后都會(huì)存在一個(gè)流程定義文件。針對(duì)此流程定義的文件進(jìn)行分析處理,可以方便的針對(duì)該流程定義文件進(jìn)行解析并生成對(duì)應(yīng)業(yè)務(wù)流程處理代碼。例如,銀行業(yè)務(wù)處理,在開銀行卡時(shí),實(shí)際在計(jì)算機(jī)中銀行人員錄入的信息都是以字節(jié)流的形式進(jìn)行傳輸,該數(shù)據(jù)發(fā)往銀行主機(jī)后主機(jī)將數(shù)據(jù)按規(guī)則進(jìn)行解析處理并將不同的內(nèi)容存入不同的數(shù)據(jù)庫(kù)表中。而該代碼生成器原理類似。該工具面向的為開發(fā)人員,將圖形界面面向開發(fā)人員,開發(fā)人員將數(shù)據(jù)按要求填寫錄入,由該工具方法處理解析數(shù)據(jù),并將數(shù)據(jù)生成、保存成實(shí)際需要的數(shù)據(jù)。該工具方法的核心為對(duì)流程數(shù)據(jù)解析處理的過程(相當(dāng)于銀行數(shù)據(jù)發(fā)送到服務(wù)器主機(jī)解析處理)。首先讀取流程定義的頭與尾,如果驗(yàn)證通過則進(jìn)行下一步解析,讀取任務(wù)節(jié)點(diǎn)(task)并找到該任務(wù)要流向下個(gè)節(jié)點(diǎn)是什么然后生成該節(jié)點(diǎn)對(duì)應(yīng)的代碼,根據(jù)下個(gè)節(jié)點(diǎn)在找到下個(gè)節(jié)點(diǎn)如遇到任務(wù)節(jié)點(diǎn)在生成代碼。本實(shí)施方式所述代碼生成器可以采用目前較流行的基于常見的開發(fā)工具eclipse 的插件形式進(jìn)行安裝部署,用戶只需要把插件復(fù)制到對(duì)應(yīng)開發(fā)工具的目錄,重啟開發(fā)工具即可,在對(duì)應(yīng)的項(xiàng)目中選中進(jìn)行代碼的輔助生成,方便用戶的操作。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種基于SSH架構(gòu)的代碼生成器,其特征在于包括用于將流程圖導(dǎo)入代碼生成器的流程圖導(dǎo)入模塊(11);用于讀取流程圖定義的業(yè)務(wù)規(guī)則的流程圖讀取模塊(12);用于存儲(chǔ)預(yù)先確定的引擎規(guī)則模板,并由代碼生成模塊進(jìn)行調(diào)用的規(guī)則模板存儲(chǔ)模塊 (13);用于按流程圖角色的定義結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼的代碼生成模塊(14)。
2.如權(quán)利要求I所述的代碼生成器,其特征在于還包括用于驗(yàn)證流程圖是否正確的驗(yàn)證模塊(15)。
3.如權(quán)利要求I所述的代碼生成器,其特征在于還包括用于對(duì)流程圖的節(jié)點(diǎn)角色的處理權(quán)限和處理內(nèi)容進(jìn)行配置的節(jié)點(diǎn)角色配置模塊(16)。
4.一種基于SSH架構(gòu)的代碼生成方法,其特征在于,包括以下步驟(1)流程圖導(dǎo)入模塊將預(yù)先定義的流程圖導(dǎo)入到代碼生成器;(2)流程圖讀取模塊讀取流程圖定義的業(yè)務(wù)規(guī)則;(3)規(guī)則模板存儲(chǔ)模塊存儲(chǔ)預(yù)先確定的引擎規(guī)則模板;(4)代碼生成模塊按照流程圖角色的定義,并結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼。
5.如權(quán)利要求4所述的代碼生成方法,其特征在于所述方法還包括對(duì)流程圖的節(jié)點(diǎn)角色的處理權(quán)限和處理內(nèi)容進(jìn)行配置的步驟。
6.如權(quán)利要求4所述的代碼生成方法,其特征在于所述方法在將流程圖導(dǎo)入代碼生成器后還包括驗(yàn)證該流程圖是否正確的步驟。
7.如權(quán)利要求6所述的代碼生成方法,其特征在于,所述驗(yàn)證流程圖的方法包括以下步驟①將流程圖對(duì)應(yīng)的xml模板導(dǎo)入代碼生成器;②驗(yàn)證模塊對(duì)應(yīng)讀取該流程并驗(yàn)證該流程定義文件,通過xml讀取,獲取所有流程定義節(jié)點(diǎn),讀入緩存;③驗(yàn)證針對(duì)流程文件獲取開始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn),確定該流程為完整流程,根據(jù)任務(wù)節(jié)點(diǎn)獲取該流程定義4個(gè)節(jié)點(diǎn)參與流程的處理,根據(jù)decision節(jié)點(diǎn)確定流程存在分支條件;④根據(jù)以上初步確定該流程參與者與對(duì)應(yīng)節(jié)點(diǎn)數(shù)量,根據(jù)不同節(jié)點(diǎn)驗(yàn)證節(jié)點(diǎn)中對(duì)應(yīng)的屬性及屬性值,獲取節(jié)點(diǎn)的完整定義,并同時(shí)找到本節(jié)點(diǎn)下的流程令牌Token的指向 transition,根據(jù)to屬性找到Token應(yīng)傳遞的節(jié)點(diǎn)。
8.如權(quán)利要求7所述的代碼生成方法,其特征在于,步驟(4)的具體實(shí)現(xiàn)方法如下①根據(jù)預(yù)先定義的引擎規(guī)則生成頁(yè)面代碼;②通過讀取緩存將驗(yàn)證通過的流程規(guī)則讀取,首先處理start節(jié)點(diǎn)下的流程令牌 Token的指向transition的to屬性,根據(jù)to屬性值找到對(duì)應(yīng)的name屬性相同的任務(wù)節(jié)點(diǎn),生成對(duì)應(yīng)的后臺(tái)處理方法,寫入對(duì)應(yīng)的方法內(nèi);③通過步驟①和②生成流程的啟動(dòng)方法的后臺(tái)程序與頁(yè)面文件,該方法將繼續(xù)讀取緩存中的流程規(guī)則,找到對(duì)應(yīng)Token指向,根據(jù)db對(duì)應(yīng)字段修改、讀取模板,生成對(duì)應(yīng)第2個(gè)任務(wù)處理的Model、Control與View層文件;④循環(huán)獲取任務(wù)節(jié)點(diǎn)及對(duì)應(yīng)指向下個(gè)節(jié)點(diǎn)并生成文件,直至遇到結(jié)束節(jié)點(diǎn),流程讀取與代碼生成處理完畢;如遇到任務(wù)存在流程分支時(shí),讀取第一個(gè)分支并處理完畢后回到該任務(wù)繼續(xù)處理下個(gè)流程分支。
全文摘要
本發(fā)明涉及一種基于SSH架構(gòu)的代碼生成器,包括用于將流程圖導(dǎo)入代碼生成器的流程圖導(dǎo)入模塊(11);用于讀取流程圖定義的業(yè)務(wù)規(guī)則的流程圖讀取模塊(12);用于存儲(chǔ)預(yù)先確定的引擎規(guī)則模板,并由代碼生成模塊進(jìn)行調(diào)用的規(guī)則模板存儲(chǔ)模塊(13);用于按流程圖角色的定義結(jié)合相應(yīng)引擎規(guī)則模板生成相關(guān)代碼的代碼生成模塊(14)。本發(fā)明還涉及一種基于SSH架構(gòu)的代碼生成方法。本發(fā)明無論在操作性還是在代碼質(zhì)量及效率上都得到了很大程度的提高。
文檔編號(hào)G06F9/44GK102591654SQ20111044661
公開日2012年7月18日 申請(qǐng)日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者任海瑞 申請(qǐng)人:方正國(guó)際軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宽甸| 渝中区| 神木县| 西贡区| 驻马店市| 韶关市| 扎鲁特旗| 来宾市| 宜兰市| 淄博市| 吴川市| 梁山县| 浙江省| 西乡县| 新平| 紫云| 友谊县| 宜君县| 延津县| 香河县| 定安县| 汶川县| 巴彦县| 仁化县| 永寿县| 刚察县| 婺源县| 益阳市| 水富县| 绩溪县| 河源市| 旅游| 麟游县| 宜丰县| 洪江市| 封丘县| 阿勒泰市| 三门峡市| 河北区| 咸丰县| 安塞县|