com.hp.ucmdb.api.topology
Interface TopologyQueryService


public interface TopologyQueryService

Interface for querying the UCMDB topology. To create the data structures used by the methods of this interface, use the factory obtained with the getFactory() method.

Here is an example of executing an ad-hoc query and displaying the results:

 TopologyQueryService queryService = ucmdbService.getTopologyQueryService();
 TopologyQueryFactory queryFactory = queryService.getFactory();
 QueryDefinition queryDefinition = queryFactory.createQueryDefinition("Get hosts with more than one network interface");
 String hostNodeName = "Host";
 QueryNode hostNode = queryDefinition.addNode(hostNodeName).ofType("host").queryProperty("display_label");
 QueryNode ipNode = queryDefinition.addNode("IP").ofType("ip").queryProperty("ip_address");
 hostNode.linkedTo(ipNode).withLinkOfType("contained").atLeast(2);
 Topology topology = queryService.executeQuery(queryDefinition);
 Collection hosts = topology.getCIsByName(hostNodeName);
 for (TopologyCI host : hosts) {
     System.out.println("Host " + host.getPropertyValue("display_label"));
     for (TopologyRelation relation : host.getOutgoingRelations()) {
         System.out.println("  has IP " + relation.getEnd2CI().getPropertyValue("ip_address"));
     }
 }
 


Method Summary
 ExecutableQuery createExecutableQuery(java.lang.String queryName)
          Creates an ExecutableQuery structure.
 Query createQueryStub(java.lang.String queryName)
          Creates a Query stub that holds the query name and allows retrieval of the query definition (or reference definition, if applicable).
 TopologyCount evaluateNamedQuery(java.lang.String queryName)
          Executes the query of the specified name and return its result count.
 TopologyCountByClasses evaluateNamedQueryWithClassesBreakdown(java.lang.String queryName, java.util.Collection<java.lang.String> elementNamesToCount)
          Executes the query of the specified name and return its result count break-down by classes.
 TopologyCount evaluateQuery(ExecutableQuery query)
          Executes a query stored on the server and returns the result count.
 TopologyCount evaluateQuery(QueryDefinition queryDefinition)
          Executes a query defined on the client and returns its result count.
 TopologyCountByClasses evaluateQueryWithClassesBreakdown(ExecutableQuery query, java.util.Collection<java.lang.String> elementNamesToCount)
          Executes a query stored on the server and returns the result count break-down by classes.
 TopologyCountByClasses evaluateQueryWithClassesBreakdown(QueryDefinition queryDefinition, java.util.Collection<java.lang.String> elementNamesToCount)
          Executes a query defined on the client and return its result count break-down by classes.
 Topology executeNamedQuery(java.lang.String queryName)
          Executes the query of the specified name.
 Topology executeNamedQueryInBDMScope(java.lang.String queryName)
          Executes the query of the specified name within the BDM scope.
 Topology executeQuery(ExecutableQuery query)
          Executes a query stored on the server and returns the result.
 Topology executeQuery(QueryDefinition queryDefinition)
          Executes a query defined on the client.
 Topology executeQueryInBDMScope(ExecutableQuery query)
          Executes a query that is stored on the server, within the BDM scope, and returns the result.
 TopologyQueryFactory getFactory()
          Returns the query factory.
 LiveQuery getLiveQuery(java.lang.String queryName)
          Returns a query whose result is always kept updated on server side.
 java.util.Set<java.lang.String> hasChanges(java.util.Map<java.lang.String,QueryResultVersion> queries2check)
          Same as hasChanges(String, QueryResultVersion), but is passed a collection of queries and their version to check for changes
 boolean hasChanges(java.lang.String queryName, QueryResultVersion queryResultVersion)
          Checks if the results of the query were changed since the result version was created.
 boolean hasChanges(java.lang.String queryName, java.lang.String queryResultVersionAsString)
          Same as hasChanges(String, QueryResultVersion), but is passed the result of {QueryResultVersion#asString()}.
 java.lang.String queryDefinitionToString(QueryDefinition queryDefinition)
          Returns the query's string representation.
 java.lang.String queryReferenceDefinitionToString(QueryReferenceDefinition queryReferenceDefinition)
          Returns the query refernce's string representation.
 void registerModelListener(ModelListener listener)
          Deprecated. replaced by registerModelListener(ModelListener listener, ModelEventsFilter filter)
 java.lang.String registerModelListener(ModelListener listener, ModelEventsFilter filter)
          Registers a listener to be called when the model stored on the UCMDB server changes.
 java.lang.String registerModelListener(ModelListener listener, ModelListenerFilter filter)
          Deprecated. replaced by registerModelListener(ModelListener listener, ModelEventsFilter filter)
 void registerQueryResultListener(QueryResultListener listener, java.lang.String queryName)
          Registers a listener to be called when the result of the specified server-side query changes.
 CisFromCachedQueryResults retrieveCiIdsFromCachedQueryResults(java.util.Collection<UcmdbId> ids, java.util.Set<java.lang.String> queryNames)
          Searches for each of the given CI IDs in the cached results of the queries given.
 CIsChunk retrieveCIsSortedChunk(ExecutableQuery executableQuery, java.lang.String nodeName, java.util.List<AttributeSortingRule> attributeSortingRules)
          Executes the executable query and returns the CIs matching the node name, sorted by the specified sorting rules.
 CIsChunk retrieveCIsSortedChunk(ExecutableQuery executableQuery, java.lang.String nodeName, java.util.List<AttributeSortingRule> attributeSortingRules, int chunkIndex)
          Executes the given executable query and returns 'nth chunk of CIs matching the node name, sorted by the given sorting rules.
 CIsChunk retrieveCIsSortedChunkInBDMScope(ExecutableQuery executableQuery, java.lang.String nodeName, java.util.List<AttributeSortingRule> attributeSortingRules)
          Executes the executable query within the BDM scope and returns the CIs matching the node name, sorted by the specified sorting rules.
 CIsChunk retrieveCIsSortedChunkInBDMScope(ExecutableQuery executableQuery, java.lang.String nodeName, java.util.List<AttributeSortingRule> attributeSortingRules, int chunkIndex)
          Executes the given executable query within the BDM scope and returns 'nth chunk of CIs matching the node name, sorted by the given sorting rules.
 ElementIdsForChangedCachedQueries retrieveElementIdsForChangedCachedQueries(QueryNamesAndVersions queryNamesAndVersions, ElementIdsForChangedCachedQueriesOptions options)
          Checks the results of each of the given queries in the queryNamesAndVersions and, if they're cached and updated, returns that result (as ids only).
 Topology retrieveIndirectLinkPaths(ExecutableQuery executableQuery, java.util.Set<IndirectLinkDescriptor> indirectLinkDescriptors)
          Retrieves the indirect link internal paths for the given descriptors.
 Query stringToInitializedQuery(java.lang.String str)
          Returns an initialized Query that holds a copy of the original query or query reference definition used to create the string.
 QueryDefinition stringToQueryDefinition(java.lang.String str)
          Returns a copy of the original query definition used to create the string.
 void unregisterModelListener(java.lang.String listenerId)
          Unregisters the specified model listener.
 void unregisterQueryResultListener(QueryResultListener listener, java.lang.String queryName)
          Unregisters the specified listener.
 void updateFilteredModelListener(java.lang.String listenerId, ModelEventsFilter filter)
          Updates model listener filter definition.
 void updateFilteredModelListener(java.lang.String listenerId, ModelListenerFilter filter)
          Deprecated. replaced by updateFilteredModelListener(String listenerId, ModelEventsFilter filter)
 boolean validateBDMQuery(QueryDefinition queryDefinition)
          Checks if the query definition is BDM compliant.
 

Method Detail

createQueryStub

Query createQueryStub(java.lang.String queryName)
Creates a Query stub that holds the query name and allows retrieval of the query definition (or reference definition, if applicable).

It is possible to create Query stubs for non-existent queries, but further operations on those stubs will fail.

This method does not communicate with the UCMDB server. However, operations from the stub object do communicate with the server. They fetch the query definition and related information. See Query for details.


createExecutableQuery

ExecutableQuery createExecutableQuery(java.lang.String queryName)
Creates an ExecutableQuery structure. The ExecutableQuery can be used to define customizations over a query execution, such as parameters values, restrictions, seperation to chunks, and so on.

It is possible to create an ExecutableQuery stubs for non-existant queries, but furthur execute operations will fail.

This method does not communicate with the UCMDB server.


getFactory

TopologyQueryFactory getFactory()
Returns the query factory.

Returns:
the query factory.

executeQuery

Topology executeQuery(QueryDefinition queryDefinition)
                      throws UcmdbException
Executes a query defined on the client.

Parameters:
queryDefinition - the query to execute.
Returns:
result of the query.
Throws:
UcmdbException

executeNamedQuery

Topology executeNamedQuery(java.lang.String queryName)
                           throws UcmdbException
Executes the query of the specified name. The query is stored on the server. This is a shortcut that can be used instead of:
 topologyQueryService.executeQuery(topologyQueryFactory.createNamedQuery(queryName).toExecutable());
 

Returns:
result of the query.
Throws:
UcmdbException

validateBDMQuery

boolean validateBDMQuery(QueryDefinition queryDefinition)
                         throws UcmdbException
Checks if the query definition is BDM compliant.

Parameters:
queryDefinition - the query definition.
Returns:
true if the query definition is BDM compliant.
Throws:
UcmdbException

executeNamedQueryInBDMScope

Topology executeNamedQueryInBDMScope(java.lang.String queryName)
                                     throws UcmdbException
Executes the query of the specified name within the BDM scope.

Returns:
result of the query.
Throws:
UcmdbException

executeQuery

Topology executeQuery(ExecutableQuery query)
                      throws UcmdbException
Executes a query stored on the server and returns the result.

Returns:
result of the query.
Throws:
UcmdbException
Since:
8.0

executeQueryInBDMScope

Topology executeQueryInBDMScope(ExecutableQuery query)
                                throws UcmdbException
Executes a query that is stored on the server, within the BDM scope, and returns the result.

Returns:
result of the query.
Throws:
UcmdbException
See Also:
ExecutableQuery

evaluateQuery

TopologyCount evaluateQuery(QueryDefinition queryDefinition)
                            throws UcmdbException
Executes a query defined on the client and returns its result count.

Returns:
result count of the query.
Throws:
UcmdbException

evaluateNamedQuery

TopologyCount evaluateNamedQuery(java.lang.String queryName)
                                 throws UcmdbException
Executes the query of the specified name and return its result count.

Parameters:
queryName - The name of a query that is stored on the server
Returns:
result count of the query.
Throws:
UcmdbException

evaluateQueryWithClassesBreakdown

@NotFinalAPI
TopologyCountByClasses evaluateQueryWithClassesBreakdown(ExecutableQuery query,
                                                                     java.util.Collection<java.lang.String> elementNamesToCount)
                                                         throws UcmdbException
Executes a query stored on the server and returns the result count break-down by classes.

The structure returned is hierarchical. For example, host H1 will affect the count of "host", "infrastructure_element", "configuration_item" and "object".

Parameters:
query - the query definition.
elementNamesToCount - the element names to count. If empty or null, counts all elements.
Returns:
result count break down by classes of the query.
Throws:
UcmdbException

evaluateQueryWithClassesBreakdown

@NotFinalAPI
TopologyCountByClasses evaluateQueryWithClassesBreakdown(QueryDefinition queryDefinition,
                                                                     java.util.Collection<java.lang.String> elementNamesToCount)
                                                         throws UcmdbException
Executes a query defined on the client and return its result count break-down by classes.

The structure returned is hierarchical. For example, host H1 will affect the count of "host", "infrastructure_element", "configuration_item" and "object".

Parameters:
queryDefinition - the query definition.
elementNamesToCount - the element names to count. If empty or null, counts all elements.
Returns:
result count break down by classes of the query
Throws:
UcmdbException

evaluateNamedQueryWithClassesBreakdown

@NotFinalAPI
TopologyCountByClasses evaluateNamedQueryWithClassesBreakdown(java.lang.String queryName,
                                                                          java.util.Collection<java.lang.String> elementNamesToCount)
                                                              throws UcmdbException
Executes the query of the specified name and return its result count break-down by classes.

The structure returned by this is hierarchical. For example, host H1 will affect the count of "host", "infrastructure_element", "configuration_item" and "object".

Parameters:
queryName - The name of a query that is stored on the server
elementNamesToCount - the element names to count. If empty or null, counts all elements.
Returns:
result count break down by classes of the query.
Throws:
UcmdbException

evaluateQuery

TopologyCount evaluateQuery(ExecutableQuery query)
                            throws UcmdbException
Executes a query stored on the server and returns the result count.

Returns:
result count of the query
Throws:
UcmdbException

getLiveQuery

LiveQuery getLiveQuery(java.lang.String queryName)
Returns a query whose result is always kept updated on server side. LiveQuery allows to get the query result and track changes over the result.

Parameters:
queryName - the name of the query. A query with this name must exist in the UCMDB and must be active.
Returns:
the live query.
See Also:
LiveQuery

registerQueryResultListener

void registerQueryResultListener(QueryResultListener listener,
                                 java.lang.String queryName)
                                 throws UcmdbException
Registers a listener to be called when the result of the specified server-side query changes. The query must be: stored on the UCMDB server, active, and persistent. There may be a delay of several minutes between the change in topology and the notification. The length of the delay depends on the query's priority and other factors.

Parameters:
listener - client-side implementation of the listener interface.
queryName - name of an active query stored at the server.
Throws:
UcmdbException
Since:
8.0

unregisterQueryResultListener

void unregisterQueryResultListener(QueryResultListener listener,
                                   java.lang.String queryName)
                                   throws UcmdbException
Unregisters the specified listener.

Parameters:
listener - client-side implementation of the listener interface
Throws:
UcmdbException
Since:
8.0

registerModelListener

void registerModelListener(ModelListener listener)
                           throws UcmdbException
Deprecated. replaced by registerModelListener(ModelListener listener, ModelEventsFilter filter)

Registers a listener to be called when the model stored on the UCMDB server changes. There may be a delay of several minutes between the change in the model and the notification.

Parameters:
listener - client-side implementation of the listener interface
Throws:
UcmdbException
Since:
8.0

registerModelListener

@NotFinalAPI
java.lang.String registerModelListener(ModelListener listener,
                                                   ModelEventsFilter filter)
                                       throws UcmdbException
Registers a listener to be called when the model stored on the UCMDB server changes. Changes are filtered by the given filter. There may be a delay of several minutes between the change in the model and the notification.

Parameters:
listener - client-side implementation of the listener interface
filter - definition
Returns:
listener id - indentify the listener for remove or update..
Throws:
UcmdbException
Since:
9.0

registerModelListener

@NotFinalAPI
java.lang.String registerModelListener(ModelListener listener,
                                                   ModelListenerFilter filter)
                                       throws UcmdbException
Deprecated. replaced by registerModelListener(ModelListener listener, ModelEventsFilter filter)

Registers a listener to be called when the model stored on the UCMDB server changes. Changes are filtered. There may be a delay of several minutes between the change in the model and the notification.

Parameters:
listener - client-side implementation of the listener interface
filter - filter definition.
Returns:
listener the listener to register.
Throws:
UcmdbException
Since:
9.0

unregisterModelListener

@NotFinalAPI
void unregisterModelListener(java.lang.String listenerId)
                             throws UcmdbException
Unregisters the specified model listener.

Parameters:
listenerId - the listener id returned from registerModelListener(com.hp.ucmdb.api.topology.notification.ModelListener, com.hp.ucmdb.api.topology.notification.ModelEventsFilter).
Throws:
UcmdbException
Since:
9.0

updateFilteredModelListener

@NotFinalAPI
void updateFilteredModelListener(java.lang.String listenerId,
                                             ModelEventsFilter filter)
                                 throws UcmdbException
Updates model listener filter definition.

Parameters:
listenerId - the listener id returned from registerModelListener(com.hp.ucmdb.api.topology.notification.ModelListener, com.hp.ucmdb.api.topology.notification.ModelEventsFilter)
filter - the filter definition for update.
Throws:
UcmdbException
Since:
9.0

updateFilteredModelListener

@NotFinalAPI
void updateFilteredModelListener(java.lang.String listenerId,
                                             ModelListenerFilter filter)
                                 throws UcmdbException
Deprecated. replaced by updateFilteredModelListener(String listenerId, ModelEventsFilter filter)

Updates the model listener filter definition.

Parameters:
listenerId - the listener id returned from registerModelListener(com.hp.ucmdb.api.topology.notification.ModelListener, com.hp.ucmdb.api.topology.notification.ModelEventsFilter)
filter - the filter definition for update.
Throws:
UcmdbException
Since:
9.0

retrieveCIsSortedChunk

@NotFinalAPI
CIsChunk retrieveCIsSortedChunk(ExecutableQuery executableQuery,
                                            java.lang.String nodeName,
                                            java.util.List<AttributeSortingRule> attributeSortingRules)
Executes the executable query and returns the CIs matching the node name, sorted by the specified sorting rules. If the number of CIs is greater than the number set in ExecutableQuery.setMaxChunkSize(int), the result is divided into chunks and only the first chunk is returned. The other chunks can be accessed by index using the retrieveCIsSortedChunk(ExecutableQuery executableQuery, String nodeName, List attributeSortingRules, int chunkIndex) method.

You can also use the more verbose method (taking the chunkIndex parameter) to access the first chunk.

Parameters:
executableQuery - the executable query to run.
nodeName - the node name to return the CIs for. Resulting CIs from all other nodes are ignored.
attributeSortingRules - an ordered collection of the sorting rules.
Returns:
the CIs chunk that holds the resulting CIs and information about the availability of more chunks.

retrieveCIsSortedChunk

@NotFinalAPI
CIsChunk retrieveCIsSortedChunk(ExecutableQuery executableQuery,
                                            java.lang.String nodeName,
                                            java.util.List<AttributeSortingRule> attributeSortingRules,
                                            int chunkIndex)
Executes the given executable query and returns 'nth chunk of CIs matching the node name, sorted by the given sorting rules. The result is divided into chunks based on the result size and the the number set in ExecutableQuery.setMaxChunkSize(int). The first chunk has index of 0 (even if it's empty).

Passing an index out of range results in an empty chunk returned.

Parameters:
executableQuery - the executable query to run. May not be null.
nodeName - the node name to return the CIs for. Resulting CIs from all other nodes are ignored. May not be null.
attributeSortingRules - an ordered collection of the sorting rules. May not be null, may be empty. Rules can be created by getFactory().TopologyQueryFactory.createAttributeSortingOrderElement(String, AttributeSortingOrderElementDirection)
chunkIndex - the index of the chunk to retrieve. Must not be negative.
Returns:
the CIs chunk that holds the resulting CIs and information about the availability of more chunks.

retrieveCIsSortedChunkInBDMScope

@NotFinalAPI
CIsChunk retrieveCIsSortedChunkInBDMScope(ExecutableQuery executableQuery,
                                                      java.lang.String nodeName,
                                                      java.util.List<AttributeSortingRule> attributeSortingRules)
Executes the executable query within the BDM scope and returns the CIs matching the node name, sorted by the specified sorting rules. If the number of CIs is greater than the number set in ExecutableQuery.setMaxChunkSize(int), the result is divided into chunks and only the first one is returned. The other chunks can be accessed by index using the retrieveCIsSortedChunk(ExecutableQuery executableQuery, String nodeName, List attributeSortingRules, int chunkIndex) method.

You can also use the more verbose method (taking the chunkIndex parameter) to access the first chunk.

Parameters:
executableQuery - the executable query to run.
nodeName - the node name to return the CIs for. Resulting CIs from all other nodes are ignored.
attributeSortingRules - an ordered collection of the sorting rules.
Returns:
the CIs chunk that holds the resulting CIs and information about the availability of more chunks.

retrieveCIsSortedChunkInBDMScope

@NotFinalAPI
CIsChunk retrieveCIsSortedChunkInBDMScope(ExecutableQuery executableQuery,
                                                      java.lang.String nodeName,
                                                      java.util.List<AttributeSortingRule> attributeSortingRules,
                                                      int chunkIndex)
Executes the given executable query within the BDM scope and returns 'nth chunk of CIs matching the node name, sorted by the given sorting rules. The result is divided into chunks based on the result size and the the number set in ExecutableQuery.setMaxChunkSize(int). The first chunk has index of 0 (even if it's empty).

Passing an index out of range results in an empty chunk returned.

Parameters:
executableQuery - the executable query to run. May not be null.
nodeName - the node name to return the CIs for. Resulting CIs from all other nodes are ignored. May not be null.
attributeSortingRules - an ordered collection of the sorting rules. May not be null, may be empty. Rules can be created by getFactory().TopologyQueryFactory.createAttributeSortingOrderElement(String, AttributeSortingOrderElementDirection)
chunkIndex - the index of the chunk to retrieve. Must not be negative.
Returns:
the CIs chunk that holds the resulting CIs and information about the availability of more chunks.

retrieveCiIdsFromCachedQueryResults

CisFromCachedQueryResults retrieveCiIdsFromCachedQueryResults(java.util.Collection<UcmdbId> ids,
                                                              java.util.Set<java.lang.String> queryNames)
Searches for each of the given CI IDs in the cached results of the queries given.

Results of non-cached queries are not searched.

Parameters:
ids - CI IDs. Do not pass relation IDs.
queryNames - queries to search in
Returns:
CisFromCachedQueryResults with a map of UcmdbId to query names and a set of non-cached query names.

retrieveElementIdsForChangedCachedQueries

@NotFinalAPI
ElementIdsForChangedCachedQueries retrieveElementIdsForChangedCachedQueries(QueryNamesAndVersions queryNamesAndVersions,
                                                                                        ElementIdsForChangedCachedQueriesOptions options)
Checks the results of each of the given queries in the queryNamesAndVersions and, if they're cached and updated, returns that result (as ids only).

Given a set of queries to check (along with the last result version that the client has), this method will return the ids participating in the updated results. This method is useful in case only the ids are needed, when the expected queries results are relatively small and when these queries results are guaranteed to be in the CMDB result cache - either QueryDefinitionFirstLoadStrategy.LOAD_ON_SERVER_START or active and executed before.

Only updated (or forced) query results are returned. Each of these is returned as an id collection only. In addition, the result version is returned as well - that version should be supplied to a later invocation of this method to allow only the updated results to be returned.

Note: Like all active queries, an updated result may be during to topological change, definition change or properties change. In addition, a false update may occur (rare case) as well.

Parameters:
queryNamesAndVersions - the query names and matching versions to check (or query names to return results for, regardless of versions).
options - an options object - determines the behavior of the service (e.g. are relation ids returned as well?)
Returns:
an object containing the updated queries result (as ids).

hasChanges

@NotFinalAPI
boolean hasChanges(java.lang.String queryName,
                               QueryResultVersion queryResultVersion)
Checks if the results of the query were changed since the result version was created.

This method applies to saved and active queries whose result is still cached in the CMDB memory. In addition to examining the query definition (QueryDefinition.recalcPriority() or QueryReferenceDefinition.recalcPriority()), it is also possible to query the resulting Topology using the Topology.querySupportsHasChanges() method.

This method does not take into account the properties of CIs and Relations that do not participate in the query properties conditions.

Implementation notes:

Parameters:
queryName - the query to check.
queryResultVersion - the version to check changes from.
Returns:
true if there were any changes in the query results. false if no changes or if the query does not support changes.

hasChanges

@NotFinalAPI
boolean hasChanges(java.lang.String queryName,
                               java.lang.String queryResultVersionAsString)
Same as hasChanges(String, QueryResultVersion), but is passed the result of {QueryResultVersion#asString()}.

Parameters:
queryName - the query to check.
queryResultVersionAsString - the asString() result of the version to check changes from.
Returns:
true if there were any changes in the query results, false if no changes or if the query does not support changes.
See Also:
hasChanges(String, QueryResultVersion)

hasChanges

@NotFinalAPI
java.util.Set<java.lang.String> hasChanges(java.util.Map<java.lang.String,QueryResultVersion> queries2check)
Same as hasChanges(String, QueryResultVersion), but is passed a collection of queries and their version to check for changes

Parameters:
queries2check - a collection of (query name, query result version) pairs
Returns:
a set of query names, sub set of the given query names, whose result has changed.
See Also:
hasChanges(String, QueryResultVersion)

retrieveIndirectLinkPaths

@NotFinalAPI
Topology retrieveIndirectLinkPaths(ExecutableQuery executableQuery,
                                               java.util.Set<IndirectLinkDescriptor> indirectLinkDescriptors)
Retrieves the indirect link internal paths for the given descriptors.

Executing a query that contains indirect links without the "show entire path" flag will result in a Topology with "virtual" relations that represents paths of one or more underlying relations. These underlying paths may be retrieved using this method. By supplying the exact same executable query that originated the original topology and a set of request descriptors (source ids, target ids, link node name and, if needed, properties request for the resulting topologies), these underlying paths may be retrieved as a Topology object.

Implementation note: an additional query execution may occur during this request.

Parameters:
executableQuery - the executable query that originated the topology from which the indirect link paths are requried.
indirectLinkDescriptors - the descriptors, created by TopologyQueryFactory.createIndirectLinkDescriptor().
Returns:
the underlying paths topology.

queryDefinitionToString

java.lang.String queryDefinitionToString(QueryDefinition queryDefinition)
                                         throws UcmdbException
Returns the query's string representation.

The conversion from QueryDefinition to string is done in the server, requiring a server request.

This string representation may not be version compatible and should not be serialized for long term storage.

Parameters:
queryDefinition - the query definition to convert to a string
Returns:
String repesentation of the given query definition
Throws:
UcmdbException

stringToQueryDefinition

QueryDefinition stringToQueryDefinition(java.lang.String str)
                                        throws UcmdbException
Returns a copy of the original query definition used to create the string. The input string is created by a call to queryDefinitionToString.

The conversion from string to QueryDefinition is done on the server, requiring a server request.

Parameters:
str - the query's string represntation
Returns:
query definition represnted by the given str
Throws:
UcmdbException

queryReferenceDefinitionToString

java.lang.String queryReferenceDefinitionToString(QueryReferenceDefinition queryReferenceDefinition)
Returns the query refernce's string representation.

The conversion from QueryReferenceDefinition to string is done on the server, requiring a server request.

This string representation may not be version compatible and should not be serialized for long term storage.

Parameters:
queryReferenceDefinition - - the query reference definition to convert
Returns:
String representation of the given query definition

stringToInitializedQuery

Query stringToInitializedQuery(java.lang.String str)
Returns an initialized Query that holds a copy of the original query or query reference definition used to create the string. The input string is created by a call to queryReferenceDefinitionToString or queryDefinitionToString

The conversion is done on the server, requiring a server request.

Note2: Unlike the general contract for Query, the return value from this method does NOT represent a query stored on the CMDB server.

Parameters:
str - - query's string representation
Returns:
an initialized query represented by the given str


Documentation Feedback
Copyright 2010 Hewlett-Packard Development Company, L.P.