ProjectImporter aufteilen (God Class, 818 Zeilen, 6+ Verantwortlichkeiten) #56

Open
opened 2026-03-08 18:39:00 +00:00 by automation · 0 comments
Collaborator

Problem

ProjectImporter ist mit 818 Zeilen die größte Klasse und hat zu viele Verantwortlichkeiten:

  1. Maven-Projekt-Erkennung und -Import
  2. Gradle-Projekt-Import
  3. Eclipse-Projekt-Import
  4. POM-XML-Parsing (artifactId, modules, dependencies)
  5. Maven/Gradle-Dependency-Auflösung via externem Prozess
  6. Inter-Projekt-Dependency-Setup
  7. Import-Root-Tracking

Das gleiche Pattern wurde bei RefactoringTools (#30) bereits erfolgreich angewendet.

Vorschlag

  • MavenProjectImporter — Maven-spezifische Logik
  • GradleProjectImporter — Gradle-spezifische Logik
  • EclipseProjectImporter.project-Dateien
  • PomParser — DOM-Parsing von pom.xml
  • InterProjectDependencyResolver — Classpath-Wiring
  • ProjectImporter — Orchestrierung (deutlich kleiner)

Gefunden von

Starke, Gamma, Fowler (3/5 übereinstimmend)

## Problem `ProjectImporter` ist mit 818 Zeilen die größte Klasse und hat zu viele Verantwortlichkeiten: 1. Maven-Projekt-Erkennung und -Import 2. Gradle-Projekt-Import 3. Eclipse-Projekt-Import 4. POM-XML-Parsing (artifactId, modules, dependencies) 5. Maven/Gradle-Dependency-Auflösung via externem Prozess 6. Inter-Projekt-Dependency-Setup 7. Import-Root-Tracking Das gleiche Pattern wurde bei `RefactoringTools` (#30) bereits erfolgreich angewendet. ## Vorschlag - `MavenProjectImporter` — Maven-spezifische Logik - `GradleProjectImporter` — Gradle-spezifische Logik - `EclipseProjectImporter` — `.project`-Dateien - `PomParser` — DOM-Parsing von `pom.xml` - `InterProjectDependencyResolver` — Classpath-Wiring - `ProjectImporter` — Orchestrierung (deutlich kleiner) ## Gefunden von Starke, Gamma, Fowler (3/5 übereinstimmend)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-tools/jdt-mcp-server#56
No description provided.