如果您需將本地的模型上報到平臺上,可通過QuickFix快速修復的方式上報或修改某個field/method
,也可上報整個模型,或進行多個模型的上報。但您需注意需要上報的模型是否依賴于別的模型,別的模型是否也需要上報。本文介紹如何在Tool Window中掃描上報和合并代碼模型。
背景信息
BizWorks Toolkit插件可以直接查看掃描后的結果和查看Diff,故不需要在掃描代碼模型后到平臺上確認掃描結果再合并到平臺模型。本文提到的上報即為直接將本地代碼反映的模型信息上報到平臺,使平臺模型和本地模型一致。
版本變更掃描規則說明
0.17.0版本及以后版本的Bizworks Toolkit其代碼掃描規則有以下變化:
領域層引用到的未標注對象掃描為值對象。
引用情況包含以下幾種:
領域服務方法的出入參。
領域對象的字段、繼承的類,以及領域行為的出入參。
值對象字段、繼承的類。
被引用的其他未標注對象的字段、父類(不包括應該忽略的一些包下的類型,比如java.lang.Object,java.io.File等)。
以上類型表達中包含泛型類型的類型參數上界。
應用層引用到的未標注對象掃描為結構對象。
引用情況詳情,請參見領域層。
同一個未標注的對象被領域層和應用層同時引用,會被掃描為一個結構對象和一個領域對象。
已標注為領域對象或結構對象的類,會按照標注類型嚴格掃描。
如果您希望使用以前的掃描規則,您可通過配置Registry,修改Registry Key為bizworks.scan.domain.dep.strategy
的值為NONE
,即可修改為以前的掃描規則。以前版本的掃描規則與新規則的不同點如下:
領域層引用到的未標注對象掃描為結構對象。
同一個未標注的對象被領域層和應用層同時引用,僅會被掃描為結構對象。
需擁有BizWorks注解,例如@DomainObject、@Field、@Method、@Param等才會有檢查與修復、上報等操作入口。對于非全量上報的操作,被依賴到的類型只會在操作明確包含依賴的時候才會被同時上報,否則只有選擇(選中)的部分類會被上報。
關于依賴傳遞及Java代碼與平臺模型的映射規則,請參見Java代碼掃描與平臺模型映射的特殊規則說明。
在模型進行上報到平臺時,插件會檢測關聯的限界上下文是否發生改變。
如果關聯的限界上下文不變,限界上下文的版本發生變化,則插件會提示:應用關聯的模型版本發生變化,請重新同步平臺模型,確認后重新提交。
如果關聯的限界上下文發生變化,則中斷操作,且有相應提示:應用關聯的模型發生變化,請修改并重新加載
.bizworks/bizworks.yml
配置文件。
什么是依賴
一個類的字段類型、方法出入參類型、繼承類型使用到的其他類型均作為當前類的依賴。
class A
示例如下所示。
@StructureObject
class A {
@Field
private B field;
}
class B {
@Field
private String field;
}
示例中結構對象A依賴于B。此時上報結構對象A時,如果想把B也給上報上去,那么我們就要上報依賴到平臺,且不管B有沒有結構對象相關注解,都會把B當成一個結構對象上報上去。
上報代碼模型注意事項
全量上報時,如果項目中有不同目錄下名稱相同且屬于同一類模型(例如:兩個都是結構對象或是領域對象)時,界面會有相應提示,且上報時只會上報一個。
全量上報時,如果有相同名稱的兩個方法或重載的方法,該模型不會被上報。
全量上報時,后臺會檢查平臺應用配置與本地配置是否同步,若不同步,請在關聯平臺配置中刷新配置。具體操作,請參見配置關聯平臺。
通過QuickFix上報當前文件部分內容
如果多個應用在一個項目根目錄下,需要使用IDEA單獨打開應用進行配置以及上報。
適用場景:您在當前模型類修改了某個字段的屬性,或修改了某個方法的參數,或添加了一些字段但只需要上報一部分字段到平臺。
打開IDEA,在Java類文件上單擊右鍵,選擇在建模平臺添加字段(您可按需選擇),操作示例如下。
上報編輯中的文件及依賴
適用場景:把當前模型類的所有內容上報到平臺,適用于當前類有較多修改且需要同步到平臺的情況下使用。
在當前模型類單擊右鍵,選擇
。在Tool Window掃描本地模型
打開IDEA,您可以通過以下兩種方式掃描本地模型。
在頂部導航欄選擇
。單擊本地模型頁簽左上角的(掃描)圖標,對本地項目代碼元數據做掃描。
如果掃描后沒有模型,請確認以下信息:
modules.yaml(適用于0.12.0之前版本)或bizworks.yml(適用于0.12.0版本及之后的版本) Package是否正確。
項目是否可以正常編譯。
在Tool Window中上報選中模型
適用場景:將選中的模型上報到平臺。
單擊BizWorks本地模型頁簽,右鍵單擊目標模型(支持多選),選擇上報選中模型。
在Tool Window中上報選中模型及依賴
適用場景:將選中的模型以及選中模型的依賴模型上報到平臺。
單擊BizWorks本地模型頁簽,右鍵單擊目標模型(支持多選),選擇上報選中模型及依賴。
在Tool Window中全量上報
適用場景:將本地代碼掃描出來的模型全部上傳到平臺。
單擊BizWorks本地模型頁簽,右鍵單擊目標模型文件夾后,單擊提交掃描結果。
您也可以單擊本地模型頁簽左上角的(上報)圖標,查看差異數據。
說明單擊提交掃描結果后不會直接上報,而是會先觸發差異比較,在差異比較彈框中可選擇是否確認提交掃描結果。
在默認情況,系統只會提交窗口中展示的掃描結果到平臺,且只新增和更新,不會刪除平臺模型(您可以通過雙向聯動配置調整設置)。
您可在BizWorks 差異結果對話框中,查看本地模型與平臺模型的差異,單擊提交掃描結果進行全量上報。