@@ -72,6 +72,7 @@ public function load(array $configs, ContainerBuilder $container)
72
72
$ container ->setAlias ('fos_elastica.index ' , sprintf ('fos_elastica.index.%s ' , $ config ['default_index ' ]));
73
73
74
74
$ this ->loadIndexManager ($ container );
75
+ $ this ->loadResetter ($ container );
75
76
76
77
$ this ->createDefaultManagerAlias ($ config ['default_manager ' ], $ container );
77
78
}
@@ -132,7 +133,7 @@ private function loadIndexes(array $indexes, ContainerBuilder $container)
132
133
$ indexDef = new DefinitionDecorator ('fos_elastica.index_prototype ' );
133
134
$ indexDef ->replaceArgument (0 , $ indexName );
134
135
135
- if ($ index ['client ' ]) {
136
+ if (isset ( $ index ['client ' ]) ) {
136
137
$ client = $ this ->getClient ($ index ['client ' ]);
137
138
$ indexDef ->setFactoryService ($ client );
138
139
}
@@ -146,7 +147,7 @@ private function loadIndexes(array $indexes, ContainerBuilder $container)
146
147
'settings ' => $ index ['settings ' ]
147
148
),
148
149
'elasticsearch_name ' => $ indexName ,
149
- 'index ' => $ reference ,
150
+ 'reference ' => $ reference ,
150
151
'name ' => $ name ,
151
152
'type_prototype ' => isset ($ index ['type_prototype ' ]) ? $ index ['type_prototype ' ] : array (),
152
153
'use_alias ' => $ index ['use_alias ' ],
@@ -220,7 +221,9 @@ private function loadTypes(array $types, ContainerBuilder $container, array $ind
220
221
'_timestamp ' ,
221
222
'_ttl ' ,
222
223
) as $ field ) {
223
- $ this ->indexConfigs [$ indexName ]['config ' ]['properties ' ][$ name ][$ field ] = $ type [$ field ];
224
+ if (array_key_exists ($ field , $ type )) {
225
+ $ this ->indexConfigs [$ indexName ]['config ' ]['properties ' ][$ name ][$ field ] = $ type [$ field ];
226
+ }
224
227
}
225
228
226
229
if (!empty ($ type ['dynamic_templates ' ])) {
@@ -390,7 +393,7 @@ private function loadObjectPersister(array $typeConfig, Definition $typeDef, Con
390
393
391
394
if ($ this ->serializerConfig ) {
392
395
$ abstractId = 'fos_elastica.object_serializer_persister ' ;
393
- $ callbackId = sprintf ('%s.%s.serializer.callback ' , $ this ->indexConfigs [$ indexName ]['index ' ], $ typeName );
396
+ $ callbackId = sprintf ('%s.%s.serializer.callback ' , $ this ->indexConfigs [$ indexName ]['reference ' ], $ typeName );
394
397
$ arguments [] = array (new Reference ($ callbackId ), 'serialize ' );
395
398
} else {
396
399
$ abstractId = 'fos_elastica.object_persister ' ;
@@ -622,4 +625,15 @@ private function getClient($clientName)
622
625
623
626
return $ this ->clients [$ clientName ]['reference ' ];
624
627
}
628
+
629
+ /**
630
+ * Loads the resetter
631
+ *
632
+ * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
633
+ */
634
+ private function loadResetter (ContainerBuilder $ container )
635
+ {
636
+ $ resetterDef = $ container ->getDefinition ('fos_elastica.resetter ' );
637
+ $ resetterDef ->replaceArgument (0 , $ this ->indexConfigs );
638
+ }
625
639
}
0 commit comments