|
22 | 22 | use Symfony\Component\Finder\Exception\DirectoryNotFoundException;
|
23 | 23 | use Symfony\Component\Finder\Finder;
|
24 | 24 | use Symfony\Component\Validator\Constraint;
|
| 25 | +use Symfony\Component\Validator\Mapping\AutoMappingStrategy; |
| 26 | +use Symfony\Component\Validator\Mapping\CascadingStrategy; |
25 | 27 | use Symfony\Component\Validator\Mapping\ClassMetadataInterface;
|
26 | 28 | use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface;
|
| 29 | +use Symfony\Component\Validator\Mapping\GenericMetadata; |
| 30 | +use Symfony\Component\Validator\Mapping\TraversalStrategy; |
27 | 31 |
|
28 | 32 | /**
|
29 | 33 | * A console command to debug Validators information.
|
@@ -161,6 +165,31 @@ private function getPropertyData(ClassMetadataInterface $classMetadata, string $
|
161 | 165 |
|
162 | 166 | $propertyMetadata = $classMetadata->getPropertyMetadata($constrainedProperty);
|
163 | 167 | foreach ($propertyMetadata as $metadata) {
|
| 168 | + $autoMapingStrategy = 'Not supported'; |
| 169 | + if ($metadata instanceof GenericMetadata) { |
| 170 | + switch ($metadata->getAutoMappingStrategy()) { |
| 171 | + case AutoMappingStrategy::ENABLED: $autoMapingStrategy = 'Enabled'; break; |
| 172 | + case AutoMappingStrategy::DISABLED: $autoMapingStrategy = 'Disabled'; break; |
| 173 | + case AutoMappingStrategy::NONE: $autoMapingStrategy = 'None'; break; |
| 174 | + } |
| 175 | + } |
| 176 | + $traversalStrategy = 'None'; |
| 177 | + if (TraversalStrategy::TRAVERSE === $metadata->getTraversalStrategy()) { |
| 178 | + $traversalStrategy = 'Traverse'; |
| 179 | + } |
| 180 | + if (TraversalStrategy::IMPLICIT === $metadata->getTraversalStrategy()) { |
| 181 | + $traversalStrategy = 'Implicit'; |
| 182 | + } |
| 183 | + |
| 184 | + $data[] = [ |
| 185 | + 'class' => 'property options', |
| 186 | + 'groups' => [], |
| 187 | + 'options' => [ |
| 188 | + 'cascadeStrategy' => CascadingStrategy::CASCADE === $metadata->getCascadingStrategy() ? 'Cascade' : 'None', |
| 189 | + 'autoMappingStrategy' => $autoMapingStrategy, |
| 190 | + 'traversalStrategy' => $traversalStrategy, |
| 191 | + ], |
| 192 | + ]; |
164 | 193 | foreach ($metadata->getConstraints() as $constraint) {
|
165 | 194 | $data[] = [
|
166 | 195 | 'class' => \get_class($constraint),
|
|
0 commit comments