Package com.crystaldecisions.sdk.plugin.desktop.servergroup

This package allows you to manage groups consisting of servers or server groups.

See:
          Description

Interface Summary
IServerGroup The IServerGroup interface manages a group and specifies which members belong to it.
IServerGroupBase This interface manages a group and specifies which members belong to it.
 

Package com.crystaldecisions.sdk.plugin.desktop.servergroup Description

This package allows you to manage groups consisting of servers or server groups. The members of each group can be Crystal Enterprise Servers or other server groups. Server groups are useful if you have a number of servers you would like to organize by type or region. For example, if you have multiple Page servers, you could create a Page server group to easily identify all of your Page servers. You can also use the server groups to balance the scheduling load by specifying a particular server group or server subgroup for specific reports.

The diagram below illustrates the object model that is implemented by the ServerGroup plugin:

Retrieving desktop plugins

Each object that is created with a desktop plugin is stored in either the CI_INFOOBJECTS or the CI_SYSTEMOBJECTS category in the APS InfoStore, and is marked with a programmatic identifier (ProgID). Using SI_PROGID, you can query the APS InfoStore for a collection of objects.

Example

The following query selects the names, and IDs of all ServerGroup objects in the APS:

IInfoObjects serverGroupObjs = iStore.query("SELECT SI_NAME, SI_ID FROM CI_SYSTEMOBJECTS Where SI_PROGID='CrystalEnterprise.ServerGroup');

The query method returns a collection of InfoObjects, which in this case are ServerGroup plugin objects. Like other InfoObjects, these objects are uniquely represented by their ID property. For each object in the collection, you can access general InfoObject properties, such as the SI_NAME property, SI_DESCRIPTION property, and SI_ID property.

To access the IServerGroup objects returned by the query, the resulting IInfoObjects need to be cast. This example demonstrates how to cast the returned IInfoObjects as IServerGroup objects.

for (int i = 0; i < serverGroupObjs.size(); i++)
{
    IInfoObject obj = (IInfoObject) serverGroupObjs.get(i);
    IServerGroup serverGroup = (IServerGroup) obj;
}