2016-10-02 11 views
0

以下は、grailsのコントローラユニットテストクラスのsetUpメソッドのコードです。私は、次のセットアップコードの目的を理解しようとしています。アプリケーションには、時間操作を行うTimeServiceがあります。私は助けていただきありがとうございます!レガシーgrailsコードについて理解していますか?

def customPropertyEditor = new CustomPropertyEditorRegistrar(timeService: new TimeService()) 

def map = (Map<String, PropertyEditorRegistrar>) servletContext.getAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS) 
     if (!map) servletContext.setAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS, [customPropertyEditor: customPropertyEditor]) 
     else map.put('customPropertyEditor', customPropertyEditor) 

答えて

0

私は、このコードの塊が、日付がうまく結びつくようにする責任があることを発見しました。明らかに、grails 2.2に日付をバインドするクリーンな方法はありません。

1

何のマップが原因なし結果

にヌルのように=を見つからない場合は servletContext.getAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS

def map = (Map<String, PropertyEditorRegistrar>) servletContext.getAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS) 

if (!map)外のマップを作る= customPropertyEditor

def customPropertyEditor = new CustomPropertyEditorRegistrar(timeService: new TimeService()) 

あるこのTimeServiceオブジェクトを作成します。

次に、servletContext.setAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARSをob地図customPropertyEditorに入れマップこの値は何GrailsDataBinderについては

else map.put('customPropertyEditor', customPropertyEditor) 

ServletAttributeとしてやっているがあった場合、トップcustomPropertyEditor

servletContext.setAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS, [customPropertyEditor: customPropertyEditor]) 

でJECTは、コードベースでのそれのための検索にを持っています他のものがやりとりしていることを参照してください。

関連する問題