2015年8月8日土曜日

Eclipse SirusのValidation & QuickFixについて

Eclipse SiriusのValidation & QuickFixの設定方法について

基本的に以下の2点をViewSpecificaionに設定するだけでよい。

  • ViewSpecification のDiagram にValidationを追加
  • Validation のSemanticsを設定

とりあえず、今回は以下のようなものを設定します。


  • ManクラスにParentのreferenceがない場合、エラー
  • QuickFixとして、Womanクラスを紐づける。

すごい適当な設定ですが、サンプルということで。

ViewSpecification のDiagram にValidationを追加            

Diagram を選択 > New Validation
Validation を選択 > Semantic Validation Rule 

Semantic Validation を選択して、以下を設定
設定項目設定内容説明
LevelERRORValidationでNGの時の警告レベル
TargetClassbasicfamily.ManValidationを実施する対象クラス

message
Parent is not setValidation NGのメッセージ



Validation のSemanticsを設定                     

Semantic Rule を選択  > Audit

Auditを選択して、以下を設定
設定項目設定内容説明
Audit[self.parents->size() > 0 /]Parentが1つ以上の条件




Semantic Rule を選択 > Fix
Fix を選択 > Begin > New Operaion > Set

Seを選択して、以下を設定
設定項目設定内容説明
FeaturemotherQuickFixで設定するFeature
Value Expression[self.eContainer().eAllContents()->filter(Woman)->first()/]featureに設定する内容
Womanクラスの最初のクラス




Diagramを開いて
  • Manノードを作成
  • DiagramのContext Menu > Validation Diagram 


 Problem Viewにエラー内容が表示される。



エラー内容を選択し、右クリックでQuickFixを選択


Quick Fix画面が出て、Quick Fixを選択して、Finishを押下














上記Value Expressionで指定した値が設定される。


■参考
http://melb.enix.org/sirius/validation/