Problem
MigrationService.java is 970 LOC handling analyze, YAML generation, secret creation, AI prompt building, catalog parsing, and DevHub registration. Violates Single Responsibility Principle and is high regression risk.
Proposed extraction
Also refactor
ThreeScaleService.java (758 LOC) — extract cache layer and CRD discovery
MigrationResource.java (306 LOC) — extract input validation
Acceptance criteria
Problem
MigrationService.javais 970 LOC handling analyze, YAML generation, secret creation, AI prompt building, catalog parsing, and DevHub registration. Violates Single Responsibility Principle and is high regression risk.Proposed extraction
YamlResourceGenerator— YAML manipulation and resource assemblySecretGenerator— K8s secret creation for OIDC, API keysAiPromptBuilder— AI prompt construction for migration analysisCatalogInfoGenerator— DevHub catalog-info.yaml generationMigrationServiceas thin orchestrator (~200 LOC)Also refactor
ThreeScaleService.java(758 LOC) — extract cache layer and CRD discoveryMigrationResource.java(306 LOC) — extract input validationAcceptance criteria