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

Possibilité d'ajouter un nouveau type de propriété d'Usine à Site

    XMLWordImprimable

    Informations

    • Type: Demande d'amélioration
    • Etat: Résolu
    • Priorité: Mineur
    • Résolution: Résolu
    • Affecte la/les version(s): 6.02.26, 6.04.19
    • Version(s) corrigée(s): 6.02.27
    • Composants: Aucune
    • Etiquettes:
      Aucune
    • Environnement:

      Dev

      Description

      Le mécanisme d'ajout de types de propriétés dans l'usine à sites repose sur un bean Spring "serviceTemplateSiteProperty", déclaré dans core-usineasites.xml

      Il est possible à l'heure actuelle d'ajouter des types en modifiant le bean dans son intégralité (surcharge dans ApplicationContext) et les attributs maps incluses.

      Il faudrait plutôt permettre d'utiliser un bean de classe "com.kportal.core.context.MapToAddBean" qui permet d'ajouter des valeurs aux maps d'un bean existant pour une extension donnée.

      Pour ce faire, il faudrait ajouter les getters à la classe com.kosmos.usinesite.template.property.service.impl.ServiceTemplateSitePropertyImpl

          /**
           * @return the mapExtracteur
           */
          public Map<String, TemplateSitePropertyExtracteur<TemplateSiteProperty, Object>> getMapExtracteur() {
              return mapExtracteur;
          }
      
          /**
           * @return the mapValidateur
           */
          public Map<String, TemplateSitePropertyValidateur<TemplateSiteProperty>> getMapValidateur() {
              return mapValidateur;
          }
      
          /**
           * @return the mapTraitement
           */
          public Map<String, TemplateSitePropertyTraitement<TemplateSiteProperty>> getMapTraitement() {
              return mapTraitement;
          }
      
          /**
           * @return the mapFormateur
           */
          public Map<String, TemplateSitePropertyHTMLFormateur<TemplateSiteProperty>> getMapFormateur() {
              return mapFormateur;
          }
      
      

      Il est ainsi possible de déclarer un nouveau type de propriété d'usine à site :

      <bean class="com.kportal.core.context.MapToAddBean">
      		<property name="idExtensionToMerge" value="core"/>
      		<property name="idBeanToMerge" value="serviceTemplateSiteProperty"/>
      		<property name="mapToMerge" value="mapExtracteur"/>
      		<property name="add">
      			<map>
      				<entry key="fr.kosmos.web.projets.extensions.social.template.property.bean.impl.TemplateSitePropertyInstagram">
      					<bean class="fr.kosmos.web.projets.extensions.social.template.property.extracteur.impl.TemplateSitePropertyInstagramExtracteur"/>
      				</entry>
      			</map>
      		</property>
      	</bean>
      	
      	
      	<bean class="com.kportal.core.context.MapToAddBean">
      		<property name="idExtensionToMerge" value="core"/>
      		<property name="idBeanToMerge" value="serviceTemplateSiteProperty"/>
      		<property name="mapToMerge" value="mapValidateur"/>
      		<property name="add">
      			<map>
      				<entry key="fr.kosmos.web.projets.extensions.social.template.property.bean.impl.TemplateSitePropertyInstagram">
      					<bean class="com.kosmos.usinesite.template.property.validateur.impl.TemplateSitePropertyStringValidateur"/>
      				</entry>
      			</map>
      		</property>
      	</bean>
      	
      	
      	<bean class="com.kportal.core.context.MapToAddBean">
      		<property name="idExtensionToMerge" value="core"/>
      		<property name="idBeanToMerge" value="serviceTemplateSiteProperty"/>
      		<property name="mapToMerge" value="mapFormateur"/>
      		<property name="add">
      			<map>
      				<entry key="fr.kosmos.web.projets.extensions.social.template.property.bean.impl.TemplateSitePropertyInstagram">
      					<bean class="fr.kosmos.web.projets.extensions.social.template.property.formateur.impl.TemplateSitePropertyInstagramHTMLFormateur"/>
      				</entry>
      			</map>
      		</property>
      	</bean>
      

        Pièces jointes

          Activité

            Personnes

            • Responsable:
              cpoisnel Charles-edouard POISNEL
              Rapporteur:
              cpoisnel Charles-edouard POISNEL
            • Votes:
              1 Voter pour cette demande
              Gérer les observateurs:
              2 Commencer l'observation de cette demande

              Dates

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