33namespace Drupal \os2forms_dawa \Controller ;
44
55use Drupal \Core \Controller \ControllerBase ;
6- use Drupal \os2forms_dawa \ Service \ DawaService ;
6+ use Drupal \os2web_datalookup \ Plugin \ DataLookupManager ;
77use Symfony \Component \DependencyInjection \ContainerInterface ;
88use Symfony \Component \HttpFoundation \JsonResponse ;
99use Symfony \Component \HttpFoundation \Request ;
1414class DawaElementController extends ControllerBase {
1515
1616 /**
17- * The DAWA service object .
17+ * Datafordeler address lookup .
1818 *
19- * @var \Drupal\os2forms_dawa\Service\DawaService
19+ * @var \Drupal\os2web_datalookup\Plugin\os2web\DataLookup\DatafordelerAddressLookupInterface
2020 */
21- protected $ dawaService ;
21+ protected $ datafordelerAddressLookup ;
2222
2323 /**
2424 * Constructs a DawaElementController object.
2525 *
26- * @param \Drupal\os2forms_dawa\Service\DawaService $os2forms_dawa_service
27- * The DAWA service object .
26+ * @param \Drupal\os2web_datalookup\Plugin\DataLookupManager $dataLookupManager
27+ * Datalookup manager .
2828 */
29- public function __construct (DawaService $ os2forms_dawa_service ) {
30- $ this ->dawaService = $ os2forms_dawa_service ;
29+ public function __construct (DataLookupManager $ dataLookupManager ) {
30+ $ this ->datafordelerAddressLookup = $ dataLookupManager -> createInstance ( ' datafordeler_address_lookup ' ) ;
3131 }
3232
3333 /**
3434 * {@inheritdoc}
3535 */
3636 public static function create (ContainerInterface $ container ) {
3737 return new static (
38- $ container ->get ('os2forms_dawa.service ' )
38+ $ container ->get ('plugin.manager.os2web_datalookup ' )
3939 );
4040 }
4141
@@ -61,18 +61,8 @@ public function autocomplete(Request $request, $element_type) {
6161 $ matches = [];
6262
6363 // Get the matches based on the element type.
64- switch ($ element_type ) {
65- case 'os2forms_dawa_address ' :
66- $ matches = $ this ->dawaService ->getAddressMatches ($ query );
67- break ;
68-
69- case 'os2forms_dawa_block ' :
70- $ matches = $ this ->dawaService ->getBlockMatches ($ query );
71- break ;
72-
73- case 'os2forms_dawa_matrikula ' :
74- $ matches = $ this ->dawaService ->getMatrikulaMatches ($ query );
75- break ;
64+ if ($ element_type == 'os2forms_dawa_address ' ) {
65+ $ matches = $ this ->datafordelerAddressLookup ->getAddressMatches ($ query );
7666 }
7767
7868 return new JsonResponse ($ matches );
0 commit comments