Skip to content

Commit 7745215

Browse files
committed
Remove dependency to symfony/serializer for filesystem job execution storage
1 parent 1858452 commit 7745215

File tree

3 files changed

+6
-77
lines changed

3 files changed

+6
-77
lines changed

src/DependencyInjection/Configuration.php

Lines changed: 3 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ private function storage(): ArrayNodeDefinition
3939
->scalarNode('dir')
4040
->defaultValue('%kernel.project_dir%/var/batch')
4141
->end()
42-
->append($this->serializer())
42+
->scalarNode('serializer')
43+
->defaultValue('yokai_batch.job_execution_serializer.json')
44+
->end()
4345
->end()
4446
->end()
4547
->arrayNode('dbal')
@@ -60,46 +62,4 @@ private function storage(): ArrayNodeDefinition
6062

6163
return $node;
6264
}
63-
64-
private function serializer(): ArrayNodeDefinition
65-
{
66-
/** @var ArrayNodeDefinition $node */
67-
$node = (new TreeBuilder('serializer'))->getRootNode();
68-
69-
$node
70-
->addDefaultsIfNotSet()
71-
->children()
72-
->scalarNode('format')
73-
->defaultValue('json')
74-
->end()
75-
->scalarNode('service')
76-
->defaultNull()
77-
->end()
78-
->arrayNode('symfony')
79-
->addDefaultsIfNotSet()
80-
->children()
81-
->arrayNode('context')
82-
->addDefaultsIfNotSet()
83-
->children()
84-
->arrayNode('common')
85-
->useAttributeAsKey('name')
86-
->variablePrototype()->end()
87-
->end()
88-
->arrayNode('serialize')
89-
->useAttributeAsKey('name')
90-
->variablePrototype()->end()
91-
->end()
92-
->arrayNode('deserialize')
93-
->useAttributeAsKey('name')
94-
->variablePrototype()->end()
95-
->end()
96-
->end()
97-
->end()
98-
->end()
99-
->end()
100-
->end()
101-
;
102-
103-
return $node;
104-
}
10565
}

src/DependencyInjection/YokaiBatchExtension.php

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
use Symfony\Component\Serializer\SerializerInterface;
1717
use Symfony\Component\Validator\Validator\ValidatorInterface;
1818
use Yokai\Batch\Bridge\Doctrine\DBAL\DoctrineDBALJobExecutionStorage;
19-
use Yokai\Batch\Bridge\Symfony\Serializer\SerializerJobExecutionSerializer;
2019
use Yokai\Batch\Launcher\JobLauncherInterface;
2120
use Yokai\Batch\Storage\FilesystemJobExecutionStorage;
2221
use Yokai\Batch\Storage\JobExecutionStorageInterface;
@@ -91,40 +90,12 @@ private function configureStorage(ContainerBuilder $container, array $config): v
9190

9291
$defaultStorage = 'yokai_batch.storage.dbal';
9392
} elseif (isset($config['filesystem'])) {
94-
$serializer = $config['filesystem']['serializer'];
95-
$format = $serializer['format'];
96-
97-
if (isset($serializer['service'])) {
98-
$serializerId = $serializer['service'];
99-
} elseif (isset($serializer['symfony'])) {
100-
if (!interface_exists(SerializerInterface::class)) {
101-
throw new \LogicException(); //todo
102-
}
103-
104-
$serializerId = 'yokai_batch.job_execution_serializer.filesystem_storage';
105-
$container
106-
->register($serializerId, SerializerJobExecutionSerializer::class)
107-
->setArguments(
108-
[
109-
new Reference(SerializerInterface::class),
110-
$format,
111-
$serializer['symfony']['context']['common'],
112-
$serializer['symfony']['context']['serialize'],
113-
$serializer['symfony']['context']['deserialize'],
114-
]
115-
)
116-
;
117-
} else {
118-
throw new \LogicException(); //todo
119-
}
120-
12193
$container
12294
->register('yokai_batch.storage.filesystem', FilesystemJobExecutionStorage::class)
12395
->setArguments(
12496
[
125-
new Reference($serializerId),
97+
new Reference($config['filesystem']['serializer']),
12698
$config['filesystem']['dir'],
127-
$format,
12899
]
129100
)
130101
;

src/Resources/services/symfony/serializer/serializer.xml renamed to src/Resources/services/global/serializer.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
<services>
88
<defaults public="false"/>
99

10-
<service id="yokai_batch.job_execution_serializer.symfony_serializer.job_execution_normalizer"
11-
class="Yokai\Batch\Bridge\Symfony\Serializer\JobExecutionNormalizer">
12-
<tag name="serializer.normalizer"/>
13-
</service>
10+
<service id="yokai_batch.job_execution_serializer.json"
11+
class="Yokai\Batch\Serializer\JsonJobExecutionSerializer"/>
1412
</services>
1513
</container>

0 commit comments

Comments
 (0)