SAFluteからLastaFluteの移行

移行の概要

TODO jflute

DBFluteの設定をLasta用に

  • DBFluteエンジンの最新にアップグレード
  • basicInfoMap.dfprop の targetContainer を lasta_di に
  • dependencyInjectionMap.dfprop を最新に
  • 再自動生成

pom.xml の移行

依存ライブラリが減り、かつ、lastafluteの依存を利用するようになるので、ずいぶんとスッキリします。 アプリで独自に追加した依存ライブラリに注意しながら移行していきましょう。

baseのpom.xmlの環境系

distributeManagementなど環境系の設定からSeasarのものを削除

  • distributionManagementからSeasarを削除
  • repositoriesからSeasar, amaterasを削除
  • pluginRepositoriesからSeasarを削除

baseのpom.xmlのdependencies

properties, dependencyManagement, dependenciesは、LastaFluteの Example を参考に修正する。主には以下のような感じ。

  • DBFluteランタイムを最新にアップグレード
  • UTFluteを seasar から lastaflute に変更
  • SAFluteを 外す
  • LastaFluteを入れる (もしJSPなら taglib も一緒に)
  • Logback移行は、後で別途やった方がいいかと

commonのpom.xmlのdependencies

同じく dependencies は、ごっそり、LastaFluteのExampleのやつに置き換える。 アプリで独自に追加しているものは、その後で追加する。

パッケージ名やクラス名の移行

パッケージ名は、importの編成で

全部にimportの編成をどーん

クラス名は、ある程度は一括置換で

明らかなものは一括置換で。

  • S2Container to LaContainer
  • SingletonS2Container to SingletonLaContainer
  • MySystemException to LaSystemException
  • ApplicationBaseException to LaApplicationException
  • S2ActionMapping to ActionMapping
  • ActionExecuteMeta to ActionRuntimeMeta
  • TypicalBaseAction to TypicalAction
  • TypicalLoginBaseLogic to TypicalLoginAssist
  • TypicalUserBaseBean to TypicalUserBean
  • InvertibleCipher to InvertibleCryptographer
  • GodHandableActionWrapper to GodHandableAction

置換した後は、もう一回importの編成をどーん

AssistantDirectorの移行

OptionalなんとかDirectorがリファクタリングされました。

  • OptionalAssistDirection
  • OptionalCoreDirection
  • OptionalDbDirection
  • OptionalWebDirection

Di xml への移行

組み込まれてアプリでは不要になった Di xml を削除

アプリで独自にカスタマイズしている場合は要注意。それがなければ、以下を削除。

  • creator.dicon
  • jdbc.dicon
  • s2container.dicon
  • aop++.dicon
  • customizer.dicon
  • convention.dicon
  • dbflute.dicon ※先ほどのDBFluteの自動生成で、代わりに dbflute.xml があるはず

saflute_assist++.dicon を lastaflute に

これは、そのまま。lastaflute_assist++.dicon に変更。

DTDのヘッダー記述の修正

アプリの dicon すべてのDTDのヘッダーを LastaDi のものに修正。

拡張子を dicon から xml へ

アプリの dicon すべてのDTDのヘッダーを LastaDi のものに修正。

dicon内の、includeの定義もすべて .dicon を .xml に修正。

名前変更された Di xml への include を修正

  • saflute は、lastaflute に
  • aop.dicon ヘの include は削除

タグの名前で変わったもの

initMethod to ...
postConstruct
destroyMethod to ...
preDestroy

Actionクラスの移行

JSPを戻すときは asHtml()

return path_Xxx_jsp; ではなく、return asHtml(path_Xxx_jsp) になります。

戻り値も、String ではなく HtmlResponse になります。