Class ConfigurationValidator
java.lang.Object
com.pragma.archetype.domain.service.ConfigurationValidator
Domain service responsible for validating configuration files and metadata.
Validates .cleanarch.yml, template configuration, structure.yml, and
metadata.yml files.
-
Constructor Summary
ConstructorsConstructorDescriptionConfigurationValidator(FileSystemPort fileSystemPort, ConfigurationPort configurationPort) -
Method Summary
Modifier and TypeMethodDescriptionvalidateAdapterMetadata(AdapterMetadata metadata) Validates adapter metadata (metadata.yml).validateProjectConfig(Path projectPath) Validates the project configuration file (.cleanarch.yml).validateStructureMetadata(StructureMetadata metadata) Validates structure metadata (structure.yml).validateTemplateConfig(TemplateConfig templateConfig) Validates the template configuration section in .cleanarch.yml.
-
Constructor Details
-
ConfigurationValidator
-
-
Method Details
-
validateProjectConfig
Validates the project configuration file (.cleanarch.yml). Validation rules: 1. Configuration file must exist 2. Configuration must be parseable (valid YAML) 3. All required fields must be present 4. Field values must be valid- Parameters:
projectPath- the root directory of the project- Returns:
- ValidationResult with success status and any error messages
-
validateTemplateConfig
Validates the template configuration section in .cleanarch.yml. Validation rules: 1. If localPath is specified, it must exist 2. If remote mode, repository URL must be valid 3. Branch name must be valid if specified 4. Mode must be valid (production or developer)- Parameters:
templateConfig- the template configuration to validate- Returns:
- ValidationResult with success status and any error messages
-
validateStructureMetadata
Validates structure metadata (structure.yml). Validation rules: 1. Architecture type must be specified 2. Adapter paths must be defined 3. Adapter paths must contain 'driven' or 'driving' entries 4. Path templates must be valid- Parameters:
metadata- the structure metadata to validate- Returns:
- ValidationResult with success status and any error messages
-
validateAdapterMetadata
Validates adapter metadata (metadata.yml). Validation rules: 1. Adapter name must be specified 2. Adapter type must be specified 3. Dependencies must be valid 4. Referenced template files must exist (if file system access available) 5. Configuration classes must have valid names- Parameters:
metadata- the adapter metadata to validate- Returns:
- ValidationResult with success status and any error messages
-