Utilisation de la structure de requête générique

Le moteur de ressources construit un objet de requête générique et le transmet aux développeurs de domaines via l'interface ResourceDomain3 et la méthode findResourceByQuery(). Obtenez une vue d'ensemble de comment cet objet requête peut être converti en une chaîne de requête de domaine significative.

Le développeur peut choisir l'une des approches suivantes pour convertir cet objet requête en une chaîne de requête de domaine significative.

  1. Balayage de l'objet de requête.
    Remarque : La classe com.ibm.websphere.query.base.Query contient des composants de requête que le développeur peut parcourir pour générer une chaîne de requête spécifique du domaine. Pour des informations détaillées sur la hiérarchie et les composants de requête, reportez-vous à la documentation concernant l'API Portal Personalization.
  2. Utilisation d'une fonction de rappel builder fournie par le système.
    Les neuf fonctions de rappel builder sont :
    1. Microsoft SQL Server Enterprise Edition : (com.ibm.websphere.query.callbacks.SqlSelectQueryCallback)
      Remarque : Bien que le rappel SQL générique puisse être utilisé pour la plupart des bases de données SQL Server , il subsiste quelques différences au niveau des fonctions disponibles et de la syntaxe SQL qui nécessitent des sous-classes spécifiques pour certaines bases de données.
    2. IBM® DB2 Universal Database Enterprise Server Edition : (com.ibm.websphere.query.callbacks.DB2SqlSelectQueryCallback)
    3. IBM® DB2 Universal Database pour z/OS® : (com.ibm.websphere.query.callbacks.DB2390SqlSelectQueryCallback)
    4. IBM® DB2 Universal Database pour i : (com.ibm.websphere.query.callbacks.DB2400SqlSelectQueryCallback)
    5. Apache Derby : (com.ibm.websphere.query.callbacks.DerbySqlSelectQueryCallback)
    6. Oracle Enterprise Edition : (com.ibm.websphere.query.callbacks.OracleSelectQueryCallback)
    7. LDAP : (com.ibm.websphere.query.callbacks.LdapSelectQueryCallback)
      Remarque : Le rappel LDAP prend en charge un ensemble de fonctions commun à la plupart des référentiels LDAP. Les utilisateurs peuvent sous-classer ce rappel pour prendre en charge davantage de fonctions avancées propres au fournisseur.
    La résolution de la propriété et la conversion de la syntaxe de la requête sont effectuées dans les fonctions de rappel. Le développeur peut préparer une table de hachage de correspondance de propriétés et l'utiliser avec l'une des fonctions de rappel ci-dessus pour générer la chaîne de requête exécutable. Voici un exemple de code SQL permettant de générer une chaîne de requête :
    String s=q.buildString(new SqlSelectQueryCallback(h));
    q est un objet requête, et h est une table de hachage de correspondance de propriétés.

    Pour plus d'informations sur les fonctions de rappel builder, consultez la documentation concernant l'API Personalization.

  3. Développement et utilisation d'une fonction de rappel builder spécifique au domaine.
    Si les fonctions de rappel builder fournies par le système ne satisfont pas aux exigences du domaine de ressources, il est possible de créer une fonction de rappel builder spécifique du domaine et de l'utiliser tant qu'elle met en oeuvre ISelectQueryCallback. Le développeur peut choisir les mécanismes d'interprétation des propriétés et dériver la syntaxe de requête appropriée dans sa propre fonction de rappel. Le code ressemblerait à ceci :
    String s=q.buildString(new MySelectQueryCallback(myParameter));
    q est un objet requête et MySelectQueryCallback est la fonction de rappel builder personnalisée qui prend myParameter comme paramètre.