Accéder au contenu principal Passer au contenu complémentaire

Créer une archive Java pour un indicateur personnalisé

Avant de créer une archive Java pour l'indicateur personnalisé, vous devez définir, dans Eclipse, la plateforme cible par rapport à laquelle les plug-ins du répertoire Workspace seront compilés et testés.

Avant de commencer

Vous avez sélectionné la perspective Profiling .

Procédure

  1. Définissez la plateforme cible :
    1. Dans le menu Eclipse, sélectionnez Preferences pour afficher la boîte de dialogue Preferences.
    2. Développez Plug-in Development et sélectionnez Target Platform, puis cliquez sur Add... afin d'ouvrir une vue dans laquelle créer la définition de la cible.
    3. Sélectionnez l'option Nothing: Start with an empty target definition, puis cliquez sur Next.
    4. Dans le champ Name, saisissez un nom pour la nouvelle définition de la cible, puis cliquez sur Next.
    5. Sélectionnez Installation dans la liste Add Content et cliquez sur Next.
    6. Utilisez le bouton Browse... pour définir le chemin d'accès au répertoire d'installation puis cliquez sur Next.

      La nouvelle définition de la cible s'affiche dans la liste Locations.

    7. Cliquez sur Finish pour fermer la boîte de dialogue.
  2. Créer une archive Java pour un indicateur personnalisé.
    1. Dans Eclipse, effectuez un checkout sur le projet Git (uniquement en anglais).

      Dans ce projet Java, vous pouvez trouver quatre classes Java correspondant aux quatre catégories d'indicateurs listées dans la vue Indicator Category dans l'éditeur d'indicateur.

      Chacune de ces classes Java étend l'indicateur UserDefIndicatorImpl. La capture d'écran ci-dessous montre un exemple d'utilisation de la classe Java MyAvgLength.

      package test.udi;
      
      import org.talend.dataquality.indicators.sql.impl.UserDefIndicatorImpl;
      
      /**
       * @author mzhao
       * 
       * A very simple example of a java implementation of a user defined indicator. This indicator returns a user defined
       * real value. It implements the minimum number of required methods.
       */
      public class MyAvgLength extends UserDefIndicatorImpl {
      
          private double length = 0;
      
          @Override
          public boolean reset() {
              super.reset();
              length = 0;
              return true;
          }
      
          @Override
          public boolean handle(Object data) {
              super.handle(data);
              // an indicator which computes the average text length on data which are more than 2 characters (this means that
              // text values with less than 2 characters are not taken into account).
              int dataLength = (data != null) ? data.toString().length() : 0;
              if (dataLength > 2) {
                  length += dataLength;
              }
              return true;
          }
      
          /*
           * (non-Javadoc)
           * 
           * @see org.talend.dataquality.indicators.impl.IndicatorImpl#finalizeComputation()
           */
          @Override
          public boolean finalizeComputation() {
              value = String.valueOf(this.length / (this.getCount() - this.getNullCount()));
              return super.finalizeComputation();
          }
      
      }
    2. Modifiez le code des méthodes suivant chaque @Override selon vos besoins.
    3. Facultatif : Utilisez les méthodes suivantes dans votre code pour retrouver les paramètres de l'indicateur :
      Méthode Description
      Indicator.getParameter() Retourne un objet IndicatorParameters.
      IndicatorParameters.getIndicatorValidDomain() Retourne un objet Domain.
      Domain.getJavaUDIIndicatorParameter() Retourne une liste de paramètres d'indicateurs Java personnalisés JavaUDIIndicatorParameter qui stocke chaque pair clé/valeur définissant le paramètre.
    4. Sauvegardez vos modifications.
    5. En utilisant Eclipse, exportez cette nouvelle archive Java.

Résultats

L'archive Java est maintenant prête à être jointe à tout indicateur Java que vous souhaitez créer dans la perspective Profiling.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !