Image du projet 'Socle K-Sup' téléversée
  1. Socle K-Sup
  2. CORE-4064

Il ne faut pas forcer les types d'instances lorsqu'ils sont récupérés du contexte Spring

XMLWordImprimable

    • Icon: Demande d'amélioration Demande d'amélioration
    • Résolution: Résolu
    • Icon: Mineur Mineur
    • master
    • 6.07.10
    • Search
    • K-Sup 7.0 - Search

      Bonjour,

      Lors de la récupération d'instances Spring,

      if (StringUtils.isNotBlank(searchOptions.getQuery())) {
                  serviceSearcher = ApplicationContextManager.getCoreContextBean("fullTextServiceSearcher", ServiceSearcherImpl.class);
              } else {
                  serviceSearcher = ApplicationContextManager.getCoreContextBean("aggregateServiceSearcher", AggregationQuerySearcher.class);
              }
      

      Dans ce cas, c'est problématique, car s'il est possible d'étendre le comportement de ServiceSearcherImpl (en remplaçant la définition du bean "fullTextServicerSearcher"), il n'est pas possible d'en faire de même pour "aggregateServiceSearcher" sans recopier les éventuels attributs faits dans la classe étendue (+ comportement), car AggregationQuerySearcher hérite déjà de ServiceSearcherImpl.

      Exemple
      CustomFullTextServiceSearcher --> ServiceSearcherImpl
      CustomAggregationServiceSearcher --> AggregationQuerySearcher

      Il faudrait supprimer la vérification sur le type lors de la récupération du bean, et ne valider que l'interface ServiceSearcher.

            cpoisnel Charles-edouard POISNEL
            cpoisnel Charles-edouard POISNEL
            Votes:
            0 Voter pour ce ticket
            Gérer les observateurs:
            2 Démarre l'observation de ce ticket

              Création:
              Mise à jour:
              Résolue: