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

    • Demande d'amélioration
    • Résolution: Résolu
    • Mineur
    • 6.02.27
    • 6.02.26, 6.04.19
    • Aucune
    • Aucune
    • 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

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

            Dates

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