Gestione delle query memorizzate pubbliche

Le query pubbliche memorizzate vengono create dall'amministratore del sistma. Queste query sono disponibili per tutti gli utenti.

Perché e quando effettuare questa attività

Come amministratore del sistema è possibile creare, visualizzare ed eliminare query pubbliche memorizzate. Se non viene specificato un ID utente nella chiamata API, si presuppone che la query memorizzata sia publica.

Procedura di questa attività

  1. Creare una query memorizzata pubblica.

    Ad esempio, il seguente frammento di codice crea una query memorizata per istanze di processo e la salva con il nome CustomerOrdersStartingWithA.

    process.createStoredQuery("CustomerOrdersStartingWithA",
                 "DISTINCT PROCESS_INSTANCE.PIID, PROCESS_INSTANCE.NAME",
                 "PROCESS_INSTANCE.NAME LIKE 'A%'",
                 "PROCESS_INSTANCE.NAME",
                  (Integer)null, (TimeZone)null); 

    Il risultato della query memorizzata è un elenco ordinato di tutti i nomi delle istanze di processo che cominciano con la lettera A e i relativi PIID (process instance ID) associati.

  2. Eseguire la query definita dalla query memorizzata.
    QueryResultSet result = process.query("CustomerOrdersStartingWithA", 
                   new Integer(0));
    Questa operazione restituisce gli oggetti che corrispondono ai criteri. In questo caso, tutti gli ordini del cliente che iniziano con la lettera A.
  3. Elencare i nomi delle query memorizzate pubbliche disponibili.

    Il seguente frammento del codice illustra come limitare l'elenco delle query restituite alle sole query pubbliche.

    String[] storedQuery = process.getStoredQueryNames(StoredQueryData.KIND_PUBLIC);
  4. Opzionale: Verificare la query definita da una determinata query memorizzata.
    Una query memorizzata privata può disporre dello stesso nome della query memorizzata pubblica. Se i nomi sono gli stessi, viene restituita la query memorizzata privata. Il seguente frammento del codice illustra come restituire solo la query pubblica con il determinato nome. Se si desidera eseguire questa query per gli oggetti basati sulle attività, specificare StoredQuery come tipo di oggetto restituito invece di StoredQueryData.
    StoredQueryData storedQuery = process.getStoredQuery
       (StoredQueryData.KIND_PUBLIC, "CustomerOrdersStartingWithA");
    String selectClause = storedQuery.getSelectClause();
    String whereClause = storedQuery.getWhereClause();
    String orderByClause = storedQuery.getOrderByClause();
    Integer threshold = storedQuery.getThreshold();
    String owner = storedQuery.getOwner();
  5. Eliminare una query memorizzata pubblica.

    Il seguente frammento del codice illustra il modo in cui eliminare la query memorizzata creata al passo 1.

    process.deleteStoredQuery("CustomerOrdersStartingWithA");

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)