Skip to content
This repository was archived by the owner on Sep 16, 2021. It is now read-only.

Commit 058d9f7

Browse files
authored
Merge pull request #43 from symfony-cmf/issue-35/use-description
Use resource description and remove enhancer feature
2 parents 9ed2460 + 9970e66 commit 058d9f7

27 files changed

+114
-684
lines changed

src/CmfResourceRestBundle.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,7 @@
1212
namespace Symfony\Cmf\Bundle\ResourceRestBundle;
1313

1414
use Symfony\Component\HttpKernel\Bundle\Bundle;
15-
use Symfony\Component\DependencyInjection\ContainerBuilder;
16-
use Symfony\Cmf\Bundle\ResourceRestBundle\DependencyInjection\Compiler\EnhancerPass;
1715

1816
class CmfResourceRestBundle extends Bundle
1917
{
20-
public function build(ContainerBuilder $container)
21-
{
22-
$container->addCompilerPass(new EnhancerPass());
23-
parent::build($container);
24-
}
2518
}

src/DependencyInjection/CmfResourceRestExtension.php

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,6 @@
2020

2121
class CmfResourceRestExtension extends Extension
2222
{
23-
private $nativeEnhancers = array(
24-
'payload',
25-
'sonata_admin',
26-
);
27-
2823
/**
2924
* {@inheritdoc}
3025
*/
@@ -41,13 +36,12 @@ public function load(array $configs, ContainerBuilder $container)
4136
}
4237

4338
$container->setParameter('cmf_resource_rest.max_depth', $config['max_depth']);
39+
$container->setParameter('cmf_resource_rest.expose_payload', $config['expose_payload']);
4440

4541
$loader->load('serializer.xml');
4642
$loader->load('resource-rest.xml');
4743

48-
$this->loadEnhancers($container, $loader, $config['enhancer_map']);
4944
$this->configurePayloadAliasRegistry($container, $config['payload_alias_map']);
50-
$this->configureEnhancers($container, $config['enhancer_map']);
5145
}
5246

5347
public function getNamespace()
@@ -60,66 +54,10 @@ public function getXsdValidationBasePath()
6054
return __DIR__.'/../Resources/config/schema';
6155
}
6256

63-
/**
64-
* Automatically include native enhancers.
65-
*/
66-
private function loadEnhancers(ContainerBuilder $container, LoaderInterface $loader, $enhancerMap)
67-
{
68-
$loaded = array();
69-
foreach ($enhancerMap as $unit) {
70-
$enhancerName = $unit['enhancer'];
71-
72-
if (!in_array($enhancerName, $this->nativeEnhancers)) {
73-
continue;
74-
}
75-
76-
if (isset($loaded[$enhancerName])) {
77-
continue;
78-
}
79-
80-
$loader->load('enhancer.'.$enhancerName.'.xml');
81-
$loaded[$enhancerName] = true;
82-
}
83-
84-
$bundles = $container->getParameter('kernel.bundles');
85-
86-
if (isset($loaded['sonata_admin'])) {
87-
if (!isset($bundles['SonataAdminBundle'])) {
88-
throw new \InvalidArgumentException(
89-
'You must enable the SonataAdminBundle in order to use the "sonata_admin" enhancer'
90-
);
91-
}
92-
}
93-
}
9457

9558
private function configurePayloadAliasRegistry(ContainerBuilder $container, $aliasMap)
9659
{
9760
$registry = $container->getDefinition('cmf_resource_rest.registry.payload_alias');
9861
$registry->replaceArgument(1, $aliasMap);
9962
}
100-
101-
private function configureEnhancers(ContainerBuilder $container, $enhancerMap)
102-
{
103-
$enhancerMap = $this->normalizeEnhancerMap($enhancerMap);
104-
$registry = $container->getDefinition('cmf_resource_rest.registry.enhancer');
105-
$registry->replaceArgument(1, $enhancerMap);
106-
}
107-
108-
private function normalizeEnhancerMap($enhancerMap)
109-
{
110-
// normalize enhancer map
111-
$normalized = array();
112-
foreach ($enhancerMap as $enhancerMapping) {
113-
$repository = $enhancerMapping['repository'];
114-
$enhancer = $enhancerMapping['enhancer'];
115-
116-
if (!isset($normalized[$repository])) {
117-
$normalized[$repository] = array();
118-
}
119-
120-
$normalized[$repository][] = $enhancer;
121-
}
122-
123-
return $normalized;
124-
}
12563
}

src/DependencyInjection/Compiler/EnhancerPass.php

Lines changed: 0 additions & 57 deletions
This file was deleted.

src/DependencyInjection/Configuration.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ public function getConfigTreeBuilder()
2626
$treeBuilder = new TreeBuilder();
2727
$treeBuilder->root('cmf_resource_rest')
2828
->fixXmlConfig('payload_alias', 'payload_alias_map')
29-
->fixXmlConfig('enhance', 'enhancer_map')
3029
->children()
3130
->integerNode('max_depth')->defaultValue(2)->end()
31+
->booleanNode('expose_payload')->defaultFalse()->end()
3232
->arrayNode('payload_alias_map')
3333
->useAttributeAsKey('name')
3434
->prototype('array')
@@ -38,14 +38,6 @@ public function getConfigTreeBuilder()
3838
->end()
3939
->end()
4040
->end()
41-
->arrayNode('enhancer_map')
42-
->prototype('array')
43-
->children()
44-
->scalarNode('repository')->isRequired()->end()
45-
->scalarNode('enhancer')->isRequired()->end()
46-
->end()
47-
->end()
48-
->end()
4941
->end();
5042

5143
return $treeBuilder;

src/Enhancer/DescriptionEnhancer.php

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/Enhancer/EnhancerInterface.php

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/Enhancer/PayloadEnhancer.php

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/Enhancer/SonataAdminEnhancer.php

Lines changed: 0 additions & 85 deletions
This file was deleted.

0 commit comments

Comments
 (0)