Class DependencyConflictDetector

java.lang.Object
com.pragma.archetype.domain.service.DependencyConflictDetector

public class DependencyConflictDetector extends Object
Domain service responsible for detecting dependency conflicts. Identifies version conflicts and framework incompatibilities.
  • Constructor Details

    • DependencyConflictDetector

      public DependencyConflictDetector()
  • Method Details

    • detectVersionConflicts

      public List<String> detectVersionConflicts(List<AdapterMetadata.Dependency> existingDependencies, List<AdapterMetadata.Dependency> newDependencies)
      Detects version conflicts between existing and new dependencies.
      Parameters:
      existingDependencies - list of existing dependencies in the project
      newDependencies - list of new dependencies to be added
      Returns:
      list of conflict descriptions
    • detectFrameworkConflicts

      public List<String> detectFrameworkConflicts(String frameworkName, List<AdapterMetadata.Dependency> newDependencies)
      Detects conflicts with framework dependencies. Checks for incompatibilities between adapter dependencies and the project framework.
      Parameters:
      frameworkName - the framework used in the project (e.g., "spring", "quarkus")
      newDependencies - list of new dependencies to be added
      Returns:
      list of conflict descriptions
    • suggestResolution

      public List<String> suggestResolution(List<String> conflicts)
      Suggests resolutions for detected conflicts.
      Parameters:
      conflicts - list of conflict descriptions
      Returns:
      list of resolution suggestions
    • getVersionOverride

      public String getVersionOverride(AdapterMetadata.Dependency dependency, Map<String,String> overrides)
      Checks if a dependency override is configured for a given dependency.
      Parameters:
      dependency - the dependency to check
      overrides - map of dependency overrides from configuration
      Returns:
      the override version if configured, null otherwise
    • applyVersionOverrides

      public List<AdapterMetadata.Dependency> applyVersionOverrides(List<AdapterMetadata.Dependency> dependencies, Map<String,String> overrides)
      Applies version overrides to a list of dependencies.
      Parameters:
      dependencies - list of dependencies
      overrides - map of dependency overrides
      Returns:
      list of dependencies with overrides applied