Gruppen

Verschiedene Methoden der ClearQuest CM API geben Gruppen von Ressourcen zurück.

Die Ressourcengruppen können als ResourceList oder als ResourceList.ResponseIterator zurückgegeben werden.

Der Wert vieler Eigenschaften ist eine Liste mit Verweisen auf Ressourcen. Der Wert solcher Eigenschaften wird durch ein ResourceList-Objekt dargestellt, das eine Gruppe von Proxy-Objekten mit einer Anzahl zusätzlicher Methoden für die Ausführung bestimmter Operationen für die Einträge in der Liste ist. Wenn der Wert einer Eigenschaft eine ResourceList ist, können mit einem NestedPropertyNames-Objekt Eigenschaften für jede der aufgelisteten Ressourcen angefordert werden. Von jeder Ressource wird dieselbe Gruppe von Eigenschaften angefordert.

Die ResourceList stellt eine Reihe von Methoden für die Ausführung bestimmter Operationen für die Einträge in der Liste bereit. Eine ResourceList kann Proxys für jede Resource-Unterklasse enthalten. Alle Proxys in einer Gruppe können, abhängig vom Generator der Liste, zu derselben Proxy-Klasse oder zu verschiedenen Klassen gehören. Eine neue ResourceList wird von der Methode Provider.resourceList() erstellt. ResourceList kann mit einem Parameter angegeben werden, der den Typ des Ressourcen-Proxys angibt, der in der Liste enthalten sein soll.

Der ResponseIterator repräsentiert einen Datenstrom mit Proxy-Informationen vom Server. Während der Client die Elemente des ResponseIterator durchgeht, werden schrittweise die Informationen zu den einzelnen Proxys bereitgestellt. Der ResponseIterator hält einen Kommunikationskanal zum Server offen, bis er explizit (mit ResourceList.ResponseIterator().release()) freigegeben wird oder sein Ende erreicht ist. Eine optimaler Durchsatz wird erreicht, wenn Clients die Elemente im Iterator so schnell wie möglich durchgehen und den Iterator freigeben, sobald er nicht mehr benötigt wird.

Im folgenden Beispiel wird mit der Methode CqProvider.doGetDbSetList() nach verfügbaren Datenbankgruppen gesucht:
        try {
            StpProvider provider = getProvider();
            
            // Anfordern einer Liste mit den CQ-Datenbanken, die dem Provider bekannt sind
            ResourceList<CqDbSet> databases = 
                (provider).cqProvider().doGetDbSetList(DB_SET_PROPS);
            
            // Auflisten der zurückgegebenen Informationen
            for (CqDbSet dbSet : databases) {
                System.out.println (dbSet.getDisplayName() 
                                    + ": " + dbSet.getLocalReplica());
            }
        } catch(Throwable ex) {
            ex.printStackTrace();
        } finally {
            System.exit(0);
        }

Ausführliche Informationen enthalten die Javadoc-Informationen zur ClearQuest CM API.


Feedback