package Ġtop . better code . aut od oc . core . operation Ċ Ċ import Ġtop . better code . aut od oc . core . Util Ċ import Ġtop . better code . logging . operation . Operation Ċ import Ġtop . better code . logging . operation . Operation Response Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Ċ import Ġcom . fasterxml . jackson . annotation . JsonIgnore Properties Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Order Ċ import Ġcom . fasterxml . jackson . databind . annotation . Json Deserialize Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠPeter ĠW u Ċ Ġ*/ Ċ @ JsonProperty Order (" description ", Ġ" request ", Ġ" response ", Ġ" protocol ", Ġ" pr ere quest ", Ġ" test Exec ") Ċ @ JsonIgnore Properties (" collection Name ", Ġ" name ", Ġ" duration ") Ċ class ĠDoc Operation ( operation : ĠOperation Ġ= ĠOperation (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdescription : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpr ere quest : ĠList < String > Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtest Exec : ĠList < String > Ġ= ĠlistOf () Ċ ) Ġ: ĠOperation ( operation . collection Name , Ġoperation . name , Ġoperation . protocol , Ġif Ġ( operation . request :: class Ġ== ĠDoc Operation Request :: class ) Ġoperation . request Ġelse ĠDoc Operation Request ( operation . request ), Ġif Ġ( operation . response :: class Ġ== ĠDoc Operation Response :: class ) Ġoperation . response Ġelse ĠDoc Operation Response ( operation . response )) Ġ{ ĊĊĠĠĠ Ġ@ JsonIgnore ĊĠĠĠ Ġlateinit Ġvar Ġoperation File : ĠFile ĊĊĠĠĠ Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ Ġoperation File . parent File . mkdir s () ĊĠĠĠĠĠĠĠ Ġoperation File . parent File . mkdir s () ĊĠĠĠĠĠĠĠ Ġprintln ("${ if Ġ( operation File . exists ()) Ġ" æĽ´æĸ° " Ġelse Ġ" åĪĽå»º "} ï¼ļ $ operation File ") ĊĠĠĠĠĠĠĠ Ġoperation File . write Text ( Util . yaml Mapper . writeValue AsString ( this )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġrequest ĊĠĠĠĠĠĠĠ Ġ@ Json Deserialize (` as ` Ġ= ĠDoc Operation Request :: class ) ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsuper . request ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . request Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġresponse : ĠOperation Response ĊĠĠĠĠĠĠĠ Ġ@ Json Deserialize (` as ` Ġ= ĠDoc Operation Response :: class ) ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsuper . response ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . response Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠDoc Operation ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( collection Name Ġ!= Ġother . collection Name ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( name Ġ!= Ġother . name ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġcollection Name . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġname . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ Ċ }