Utiliser l'héritage et le polymorphisme sur des attributs
Considérez, par exemple, que votre modèle de données contienne une entité nommée Person. Cette entité métier contient plusieurs attributs, dont Address. Cet attribut possède un type réutilisable principal, AddressType. Le Studio Talend vous permet de créer des types réutilisables d'héritage retournant une collection de nouveaux éléments lors de l'héritage des attributs de AddressType afin de retourner un format d'adresse spécifique à l'Europe et un autre spécifique aux États-Unis. Dans cet exemple, les types d'adresses d'Europe et des États-Unis étendent tous deux le type d'adresse générique.
Avant de commencer
Vous devez déjà avoir créé le modèle de données et les entités métier dans le modèle de données. Pour plus d'informations, consultez respectivement Créer un modèle de données et Créer des entités métier dans un modèle de données.
Pourquoi et quand exécuter cette tâche
Afin de mettre en œuvre l'héritage et le polymorphisme sur les attributs, procédez comme suit :
Procédure
Que faire ensuite
Vous avez terminé l'héritage en étendant un type existant (AddressType) pour ajouter des éléments spécifiques afin de compléter les adresses européennes et américaines lors de l'héritage des attributs du type principal d'adresse.
Le polymorphisme est également terminé lorsqu'à l'exécution l'instance courante de l'adresse d'une personne peut être un type EUAddressType ou USAddressType. Lorsque des utilisateurs et des utilisatrices métier autorisés parcourent des enregistrements de données maître via Talend MDM Web UI, le type concret de l'adresse pour l'enregistrement ouvert (Person) est automatiquement sélectionné. les utilisateurs et utilisatrices métier peuvent voir, dans un enregistrement ouvert, la liste pour l'attribut Address. Dans cette liste, ils peuvent choisir l'un des types complexes d'adresse que vous avez définis dans le Studio Talend.
Par défaut, la liste affiche le code des types, mais le Studio Talend vous permet également de définir des libellés pour les types complexes, afin qu'ils puissent avoir des libellés dans plusieurs langues et qu'ils deviennent compréhensibles lorsqu'ils sont affichés dans la liste.
Vous pouvez définir des libellés dans le panneau Data Model Types ou dans le schéma XML source du modèle de données.
Pour définir des libellés pour les types complexes dans le panneau Data Model Types, procédez comme suit :
-
Ouvrez le modèle de données dans lequel vous avez défini ces types complexes.
-
Cliquez-droit sur le type complexe pour lequel vous souhaitez définir des libellés puis cliquez sur Set the labels.
-
La boîte de dialogue Set the Labels s'ouvre.
À partir de la liste de gauche, sélectionnez une langue puis, dans le champ de droite, saisissez un libellé correspondant à la langue sélectionnée.
-
Cliquez sur le bouton [+] dans le coin supérieur droit afin d'ajouter le libellé défini à la liste Language/Label.
-
Cliquez sur OK pour valider vos modifications et fermer la boîte de dialogue
Les libellés sont affichés sous le nœud Annotations du type complexe.
Lorsque les utilisateurs et utilisatrices métier autorisés parcourent les enregistrements de données maître dans le modèle de données mis à jour via Talend MDM Web UI, la liste d'attributs Address affiche les libellés de type complexe que vous avez définis dans les annotations.
Pour définir des libellés pour les types complexes dans le schéma XML source du modèle de données, procédez comme suit :
-
Ouvrez le modèle de données dans lequel vous avez défini ces types complexes.
-
Cliquez sur Schema Source en bas de l'éditeur afin d'ouvrir le schéma XML source du modèle de données.
-
Parcourez la source jusqu'au schéma correspondant au type complexe étendu auquel vous souhaitez ajouter un libellé et que vous souhaitez afficher dans un ordre particulier pour l'utilisateur ou l'utilisatrice métier.
-
Dans l'élément racine du type complexe, utilisez l'annotation X_Label_<ISO> pour ajouter un libellé au type étendu et l'annotation X_Order_Value pour définir l'ordre du type étendu, comme suit :
... <xsd:complexType name="EUAddressType"> <xsd:annotation> <xsd:appinfo source="X_Label_EN">EU address format</xsd:appinfo> <xsd:appinfo source="X_Label_FR">format d'adresse UE</xsd:appinfo> <xsd:appinfo source="X_Order_Value">2</xsd:appinfo> </xsd:annotation> <xsd:complexContent> <xsd:extension base="AddressType"> <xsd:sequence maxOccurs="1" minOccurs="1"> <xsd:element maxOccurs="1" minOccurs="1" name="PostalCode" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="Country" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="USAddressType"> <xsd:annotation> <xsd:appinfo source="X_Label_EN">US address format</xsd:appinfo> <xsd:appinfo source="X_Label_FR">format d'adresse US</xsd:appinfo> <xsd:appinfo source="X_Order_Value">1</xsd:appinfo> </xsd:annotation> <xsd:complexContent> <xsd:extension base="AddressType"> <xsd:sequence maxOccurs="1" minOccurs="1"> <xsd:element maxOccurs="1" minOccurs="1" name="ZipCode" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="State" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> ...
Dans le schéma ci-dessus, vous souhaitez renommer EUAddressType en EU address format et vous voulez qu'il soit le deuxième dans la liste des types étendus. Vous souhaitez également renommer USAddressType en US address format et vous voulez qu'il soit le premier dans la liste des types étendus.
-
Sauvegardez vos modifications dans l'éditeur de modèles.
Lorsque des utilisateurs et des utilisatrices métier autorisé·es parcourent des enregistrements de données maître dans le modèle de données mis à jour via Talend MDM Web UI, la liste de l'attribut Address affiche les libellés de type complexe définis dans les annotations et les types étendus, dans l'ordre défini.