Skip to content

backend: 既存クラス(Controller / Repository / Entity)を 4 層パッケージへ移動 (N4 / A-2) #272

Description

@win2cot

A-1 (#86 merged) で配置した feature 内 4 層パッケージへ、既存クラスを Move のみ(中身変更なし)で移動する。

N4 (#86) を 4 分割した A-2 スコープ:

やること

1. 既存クラスの 4 層パッケージへの移動(git mv ベース)

scaffold 現状のトップレベル直置きクラスを以下にマップして git mv:

移動元(現在地) 移動先 種別
task/Task.java task/adapter/persistence/Task.java JPA Entity(rename しない)
task/Priority.java task/domain/Priority.java enum
task/TaskStatus.java task/domain/TaskStatus.java enum
task/Visibility.java task/domain/Visibility.java enum
security/SecurityConfig.java security/adapter/web/SecurityConfig.java Spring Security 設定
security/TasksAuthenticationToken.java security/adapter/web/TasksAuthenticationToken.java Authentication トークン
security/TasksJwtAuthenticationConverter.java security/adapter/web/TasksJwtAuthenticationConverter.java JWT コンバータ
security/TasksPrincipal.java security/domain/TasksPrincipal.java Principal
tenant/Tenant.java tenant/adapter/persistence/Tenant.java JPA Entity(rename しない)
tenant/TenantPlan.java tenant/domain/TenantPlan.java enum
tenant/TenantStatus.java tenant/domain/TenantStatus.java enum
user/User.java user/adapter/persistence/User.java JPA Entity(rename しない)
user/UserRepository.java user/adapter/persistence/UserRepository.java Spring Data Repository

scaffold 未実装で本 Issue 対象外:

移動に伴う package 宣言修正・他ファイルからの import 修正は不可避(grep-first で漏れチェック)。

対応する test ファイルも同パッケージ階層へ同時 git mv(prod/test 同居の慣例維持、git log --follow で履歴追跡可):

test 移動元 test 移動先
security/SecurityConfigTest.java security/adapter/web/SecurityConfigTest.java
security/TasksAuthenticationTokenTest.java security/adapter/web/TasksAuthenticationTokenTest.java
security/TasksJwtAuthenticationConverterTest.java security/adapter/web/TasksJwtAuthenticationConverterTest.java
security/TasksPrincipalTest.java security/domain/TasksPrincipalTest.java
task/TaskEntityTest.java task/adapter/persistence/TaskEntityTest.java
user/UserEntityTest.java user/adapter/persistence/UserEntityTest.java

task/domain/TaskAuthorizationDomainServiceTest.java は既に task/domain/ 配下、test 位置追従の規則に合致しているため対象外(import 修正のみ)。

2. 変更しないこと

3. ModularityTests.verify() + 既存全テスト green

  • ApplicationModules.verify() が green(feature 内 sub-package 化したのみで破綻しないはず)
  • 既存全テスト green(内容変更なし、テストファイル位置は対応 prod クラスのパッケージへ追従)
  • import パスが破綻していないか grep + コンパイル + テスト全件で検証

受け入れ条件

  • task / security / tenant / user 直下の対象既存クラス 13 件が 4 層パッケージへ移動済
  • 元のトップレベル直置きファイル 13 件は完全削除(空 stub も残さない)
  • 対応する test 6 件が同パッケージ階層へ追従移動済
  • package 宣言・import 修正の漏れなし(コンパイル green)
  • ApplicationModules.verify() green
  • 既存全テスト green(内容変更なし、テストファイル位置は対応 prod クラスのパッケージへ追従)
  • CI green、UT カバレッジ 80%+
  • git mv ベース(rename 自動検知 OK、git log --follow で履歴追跡可)

参照

経緯

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendJava / Spring バックエンド実装変更claude:ready実装着手 OK のサイン。人が付与すると実装 Claude が起動priority/p1High。現スプリント内で完了必須

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions