Loading src/UnicaenDbImport/Filter/ColumnName/ArrayMapColumnNameFilter.php +19 −2 Changes for src/UnicaenDbImport/Filter/ColumnName/ArrayMapColumnNameFilter.php: 19 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace UnicaenDbImport\Filter\ColumnName; use UnicaenDbImport\Utils; class ArrayMapColumnNameFilter implements ColumnNameFilterInterface { /** Loading @@ -11,6 +13,11 @@ class ArrayMapColumnNameFilter implements ColumnNameFilterInterface */ protected $mapping = []; /** * @var array */ protected $normalizedMapping = []; /** * @param array $mapping Tableau de correspondance ['colonne_ou_attribut_source' => 'colonne_destination']. */ Loading @@ -19,16 +26,26 @@ class ArrayMapColumnNameFilter implements ColumnNameFilterInterface $this->setMapping($mapping); } /** * @inheritDoc */ public function __toString(): string { return Utils::associativeArrayToString($this->mapping); } /** * @param array $mapping * @return \UnicaenDbImport\Filter\ColumnName\ArrayMapColumnNameFilter */ public function setMapping(array $mapping): self { $this->mapping = $mapping; $keysToLower = array_map('strtolower', $keys = array_keys($mapping)); $keysToUpper = array_map('strtoupper', $keys); $this->mapping = array_merge( $this->normalizedMapping = array_merge( array_combine($keysToLower, $mapping), array_combine($keysToUpper, $mapping), ); Loading @@ -44,6 +61,6 @@ class ArrayMapColumnNameFilter implements ColumnNameFilterInterface */ public function filter(string $name): string { return $this->mapping[strtolower($name)] ?? $this->mapping[strtoupper($name)] ?? $name; return $this->normalizedMapping[strtolower($name)] ?? $this->normalizedMapping[strtoupper($name)] ?? $name; } } No newline at end of file src/UnicaenDbImport/Filter/ColumnName/ColumnNameFilterInterface.php +7 −0 Changes for src/UnicaenDbImport/Filter/ColumnName/ColumnNameFilterInterface.php: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,13 @@ namespace UnicaenDbImport\Filter\ColumnName; */ interface ColumnNameFilterInterface { /** * Retourne une représentation littérale de ce filtre. * * @return string */ public function __toString(): string; /** * Fournit le nom de colonne dans la destination à partir du nom de colonne/attribut dans la source. * Loading src/UnicaenDbImport/Filter/ColumnName/DefaultColumnNameFilter.php +8 −0 Changes for src/UnicaenDbImport/Filter/ColumnName/DefaultColumnNameFilter.php: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -19,6 +19,14 @@ use Laminas\Filter\Word\CamelCaseToUnderscore; */ class DefaultColumnNameFilter implements ColumnNameFilterInterface { /** * @inheritDoc */ public function __toString(): string { return "attributExemple => ATTRIBUT_EXEMPLE"; } /** * @inheritDoc */ Loading src/UnicaenDbImport/Filter/ColumnValue/AbstractColumnValueFilter.php +4 −6 Changes for src/UnicaenDbImport/Filter/ColumnValue/AbstractColumnValueFilter.php: 4 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -2,20 +2,18 @@ namespace UnicaenDbImport\Filter\ColumnValue; use UnicaenDbImport\Domain\Source; abstract class AbstractColumnValueFilter implements ColumnValueFilterInterface { /** * @var \UnicaenDbImport\Domain\Source * @var \UnicaenDbImport\Domain\SourceInterface */ protected $source; protected $params; /** * @inheritDoc */ public function setSource(Source $source) public function setParams(array $params) { $this->source = $source; $this->params = $params; } } No newline at end of file src/UnicaenDbImport/Filter/ColumnValue/ColumnValueFilterInterface.php +11 −4 Changes for src/UnicaenDbImport/Filter/ColumnValue/ColumnValueFilterInterface.php: 11 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ namespace UnicaenDbImport\Filter\ColumnValue; use UnicaenDbImport\Domain\Source; /** * Interface de transformation d'une valeur de colonne/attribut issu de la source * en une valeur de colonne destination. Loading @@ -13,9 +11,18 @@ use UnicaenDbImport\Domain\Source; interface ColumnValueFilterInterface { /** * @param \UnicaenDbImport\Domain\Source $source * Retourne une représentation littérale de ce filtre. * * @return string */ public function __toString(): string; /** * Permet de fournir d'éventuels attributs libres complémentaires (contexte, etc.) * * @param array $params */ public function setSource(Source $source); public function setParams(array $params); /** * @param string $name Nom de colonne/attribut source Loading Loading
src/UnicaenDbImport/Filter/ColumnName/ArrayMapColumnNameFilter.php +19 −2 Changes for src/UnicaenDbImport/Filter/ColumnName/ArrayMapColumnNameFilter.php: 19 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace UnicaenDbImport\Filter\ColumnName; use UnicaenDbImport\Utils; class ArrayMapColumnNameFilter implements ColumnNameFilterInterface { /** Loading @@ -11,6 +13,11 @@ class ArrayMapColumnNameFilter implements ColumnNameFilterInterface */ protected $mapping = []; /** * @var array */ protected $normalizedMapping = []; /** * @param array $mapping Tableau de correspondance ['colonne_ou_attribut_source' => 'colonne_destination']. */ Loading @@ -19,16 +26,26 @@ class ArrayMapColumnNameFilter implements ColumnNameFilterInterface $this->setMapping($mapping); } /** * @inheritDoc */ public function __toString(): string { return Utils::associativeArrayToString($this->mapping); } /** * @param array $mapping * @return \UnicaenDbImport\Filter\ColumnName\ArrayMapColumnNameFilter */ public function setMapping(array $mapping): self { $this->mapping = $mapping; $keysToLower = array_map('strtolower', $keys = array_keys($mapping)); $keysToUpper = array_map('strtoupper', $keys); $this->mapping = array_merge( $this->normalizedMapping = array_merge( array_combine($keysToLower, $mapping), array_combine($keysToUpper, $mapping), ); Loading @@ -44,6 +61,6 @@ class ArrayMapColumnNameFilter implements ColumnNameFilterInterface */ public function filter(string $name): string { return $this->mapping[strtolower($name)] ?? $this->mapping[strtoupper($name)] ?? $name; return $this->normalizedMapping[strtolower($name)] ?? $this->normalizedMapping[strtoupper($name)] ?? $name; } } No newline at end of file
src/UnicaenDbImport/Filter/ColumnName/ColumnNameFilterInterface.php +7 −0 Changes for src/UnicaenDbImport/Filter/ColumnName/ColumnNameFilterInterface.php: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -10,6 +10,13 @@ namespace UnicaenDbImport\Filter\ColumnName; */ interface ColumnNameFilterInterface { /** * Retourne une représentation littérale de ce filtre. * * @return string */ public function __toString(): string; /** * Fournit le nom de colonne dans la destination à partir du nom de colonne/attribut dans la source. * Loading
src/UnicaenDbImport/Filter/ColumnName/DefaultColumnNameFilter.php +8 −0 Changes for src/UnicaenDbImport/Filter/ColumnName/DefaultColumnNameFilter.php: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -19,6 +19,14 @@ use Laminas\Filter\Word\CamelCaseToUnderscore; */ class DefaultColumnNameFilter implements ColumnNameFilterInterface { /** * @inheritDoc */ public function __toString(): string { return "attributExemple => ATTRIBUT_EXEMPLE"; } /** * @inheritDoc */ Loading
src/UnicaenDbImport/Filter/ColumnValue/AbstractColumnValueFilter.php +4 −6 Changes for src/UnicaenDbImport/Filter/ColumnValue/AbstractColumnValueFilter.php: 4 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -2,20 +2,18 @@ namespace UnicaenDbImport\Filter\ColumnValue; use UnicaenDbImport\Domain\Source; abstract class AbstractColumnValueFilter implements ColumnValueFilterInterface { /** * @var \UnicaenDbImport\Domain\Source * @var \UnicaenDbImport\Domain\SourceInterface */ protected $source; protected $params; /** * @inheritDoc */ public function setSource(Source $source) public function setParams(array $params) { $this->source = $source; $this->params = $params; } } No newline at end of file
src/UnicaenDbImport/Filter/ColumnValue/ColumnValueFilterInterface.php +11 −4 Changes for src/UnicaenDbImport/Filter/ColumnValue/ColumnValueFilterInterface.php: 11 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -2,8 +2,6 @@ namespace UnicaenDbImport\Filter\ColumnValue; use UnicaenDbImport\Domain\Source; /** * Interface de transformation d'une valeur de colonne/attribut issu de la source * en une valeur de colonne destination. Loading @@ -13,9 +11,18 @@ use UnicaenDbImport\Domain\Source; interface ColumnValueFilterInterface { /** * @param \UnicaenDbImport\Domain\Source $source * Retourne une représentation littérale de ce filtre. * * @return string */ public function __toString(): string; /** * Permet de fournir d'éventuels attributs libres complémentaires (contexte, etc.) * * @param array $params */ public function setSource(Source $source); public function setParams(array $params); /** * @param string $name Nom de colonne/attribut source Loading