GDBMS 1.0
Static Public Member Functions
transaction_mode_commands_find Class Reference

#include <transaction_mode_commands_find.h>

List of all members.

Static Public Member Functions

static int FindMinPathBetweenNodes (int transaction_USCOREid, std::string node_USCOREname1, std::string node_USCOREname2, std::string paths, int paths_USCOREcount, std::string path_USCOREedges, struct ns1__FindMinPathBetweenNodesResponse &_param_24)
 Operation FindMinPathBetweenNodes.
static int FindAllPathsBetweenNodes (int transaction_USCOREid, std::string node_USCOREname1, std::string node_USCOREname2, std::string paths, int paths_USCOREcount, std::string path_USCOREedges, struct ns1__FindMaxPathBetweenNodesResponse &_param_25)
 Operation FindMaxPathBetweenNodes.
static int FindAllPathsBetweenNodes (int transaction_USCOREid, std::string node_USCOREname1, std::string node_USCOREname2, std::string paths, int paths_USCOREcount, std::string path_USCOREedges, struct ns1__FindAllPathsBetweenNodesResponse &_param_26)
 Operation FindMaxPathBetweenNodes.
static int FindAllFriends (int transaction_USCOREid, std::string node_USCOREname, std::string paths_USCOREnodes, int paths_USCOREcount, struct ns1__FindAllFriendsResponse &_param_27)
 Operation FindAllFriends.
static int FindBFS (int transaction_USCOREid, std::string node_USCOREname, std::string paths_USCOREnodes, std::string paths_USCOREvalues, int paths_USCOREcount, int limit_USCOREnodes, struct ns1__FindBFSResponse &_param_28)
 Web service operation 'FindBFS' (returns error code or SOAP_OK)
static int FindDFS (int transaction_USCOREid, std::string node_USCOREname, std::string paths_USCOREnodes, std::string paths_USCOREvalues, int paths_USCOREcount, int limit_USCOREnodes, struct ns1__FindDFSResponse &_param_29)
 Web service operation 'FindDFS' (returns error code or SOAP_OK)
static void dijkstraMin (int s, char *T, unsigned *d, int *pred, string &path_edges, tr_twin_ht &nodtwin1, tr_twin_ht &edgtwin1)
 For internal usage only. Contains the implementation of dijkstra algorithm for minimal paths creation that start from a start node s.
static void dijkstraMax (int s, char *T, unsigned *d, int *pred, string &path_edges, tr_twin_ht &nodtwin1, tr_twin_ht &edgtwin1)
 For internal usage only. Contains the implementation of dijkstra algorithm for maximal paths creation that start from a start node s.
static void dijkstraGetXMLResult (int s, string &result, string &paths, string &path_edges, char *T, unsigned int *d, int *pred, int endnodeid, tr_twin_ht &nodtwin1)
 Constructs the XML response of FindMinPathBetweenNodes and FindMaxPathBetweenNodes.
static void getNeighborNodes (int node_id, listi &result, listi &metrics_edges, tr_twin_ht &nodtwin1, tr_twin_ht &edgtwin1, string &path_edges_1)
 For internal usage only. Normally this function is called by other Find functions to facilitate the search of neighbor nodes of a given node node_id.
static void DFS (unsigned int i, char *used, listi &paths_nodes_l, listi &paths_values_l, std::string &response, tr_twin_ht &nodtwin1, tr_twin_ht &edgtwin1, int limit_nodes, int countvar)
 For internal usage only. This function implements the depth find first algorithm for nodes search.
static void printDFS (unsigned i, char *used, listi &paths_nodes_l, listi &paths_values_l, string &response, tr_twin_ht &nodtwin1, tr_twin_ht &edgtwin1)
 For internal usage only. This function implements the generation of xml response for found node.

Detailed Description

Definition at line 1 of file transaction_mode_commands_find.h.


Member Function Documentation

void transaction_mode_commands_find::DFS ( unsigned int  i,
char *  used,
listi paths_nodes_l,
listi paths_values_l,
std::string &  response,
tr_twin_ht nodtwin1,
tr_twin_ht edgtwin1,
int  limit_nodes,
int  countvar 
) [static]

For internal usage only. This function implements the depth find first algorithm for nodes search.

Definition at line 515 of file transaction_mode_commands_find.cpp.

void transaction_mode_commands_find::dijkstraGetXMLResult ( int  s,
string &  result,
string &  paths,
string &  path_edges,
char *  T,
unsigned int *  d,
int *  pred,
int  endnodeid,
tr_twin_ht nodtwin1 
) [static]

Constructs the XML response of FindMinPathBetweenNodes and FindMaxPathBetweenNodes.

Parameters:
sid of start node.
resultstring alias of result XML string
paths; separated paths of values, that must be contained in result

Constructs the XML response of FindMinPathBetweenNodes and FindMaxPathBetweenNodes. The string value is returned in result string. Intended for internal use only.

Definition at line 797 of file transaction_mode_commands_find.cpp.

void transaction_mode_commands_find::dijkstraMax ( int  s,
char *  T,
unsigned *  d,
int *  pred,
string &  path_edges,
tr_twin_ht nodtwin1,
tr_twin_ht edgtwin1 
) [static]

For internal usage only. Contains the implementation of dijkstra algorithm for maximal paths creation that start from a start node s.

Definition at line 974 of file transaction_mode_commands_find.cpp.

void transaction_mode_commands_find::dijkstraMin ( int  s,
char *  T,
unsigned *  d,
int *  pred,
string &  path_edges,
tr_twin_ht nodtwin1,
tr_twin_ht edgtwin1 
) [static]

For internal usage only. Contains the implementation of dijkstra algorithm for minimal paths creation that start from a start node s.

Definition at line 853 of file transaction_mode_commands_find.cpp.

int transaction_mode_commands_find::FindAllFriends ( int  transaction_USCOREid,
std::string  node_USCOREname,
std::string  paths_USCOREnodes,
int  paths_USCOREcount,
struct ns1__FindAllFriendsResponse _param_27 
) [static]

Operation FindAllFriends.

Parameters:
transaction_USCOREidan integer id of the transaction.
node_USCOREnamethe name of the node, which friends are to be found.
node_USCOREname2the name of the 2nd node.
paths_USCOREnodes; separated paths in the type tree, which are . separated type names. Those paths are paths to values in the nodes, that are to be returned by the function
paths_USCOREcountthe number of the paths
_param_27structure containing the return value _param_27.Xiksml_USCOREresponse contains XML response. If it contains <error></error> tag/s, an error has occured and information about the error is given between the tags. Otherwize, the XML response is formatted as follow: <friends id="[NODEID]"> <neighbor id="[NODEID1]"> <val name="[TYPE]">[VALUE]</val> ... </neighbor> ... </friends> In the above representation [NODEID] is the id of the node, of which friend nodes are to be found.[NODEID1] is the id of the current found friend node.[TYPE] is the name of the simple type which contains the current value. [VALUE] is the current value. ... denotes that the tags of this subtree can be repeated with other attribute values.

This function finds friends of a specific node. A friend of a node is such a node, which is in the set of outgoing nodes of the outgoing edges of the node. In other words, a friend of a node is a node which the current node points to.

Definition at line 1621 of file GDBMS_USCOREbindingService.cpp.

static int transaction_mode_commands_find::FindAllPathsBetweenNodes ( int  transaction_USCOREid,
std::string  node_USCOREname1,
std::string  node_USCOREname2,
std::string  paths,
int  paths_USCOREcount,
std::string  path_USCOREedges,
struct ns1__FindMaxPathBetweenNodesResponse _param_25 
) [static]

Operation FindMaxPathBetweenNodes.

Parameters:
transaction_USCOREidan integer id of the transaction.
node_USCOREname1the name of the 1st node
node_USCOREname2the name of the 2nd node.
paths; separated paths in the type tree, which are . separated type names. Those paths are paths to values in the nodes, that are to be returned by the function
paths_USCOREcountthe number of the paths
path_USCOREedgesthe path to the value in the edges type tree, which value contains an integer metric, which the dijkstra algorithm uses for path length evaluation
_param_25structure containing the return value _param_25.Xiksml_USCOREresponse contains XML response. If it contains <error></error> tag/s, an error has occured and information about the error is given between the tags. Otherwize, the XML response is formatted as follow: <nodes metric="[MTR_PATH]"> <node id="[NODEID]"> <val name="[TYPE]">[VALUE]</val> ... </node> ... </nodes> In the above representation [MTR_PATH] is the . represented type path to the value of the metric. [NODEID] is the id of the current node. [TYPE] is the name of the simple type which contains the current value. [VALUE] is the current value. ... denotes that the tags of this subtree can be repeated with other attribute values.

This function implements the dijkstra algorithm to find the maximal non cyclic path between a pair of nodes, provided that the path exists.

int GDBMS_USCOREbindingService::FindAllPathsBetweenNodes ( int  transaction_USCOREid,
std::string  node_USCOREname1,
std::string  node_USCOREname2,
std::string  paths,
int  paths_USCOREcount,
std::string  path_USCOREedges,
struct ns1__FindAllPathsBetweenNodesResponse _param_26 
) [static]

Operation FindMaxPathBetweenNodes.

Parameters:
transaction_USCOREidan integer id of the transaction.
node_USCOREname1the name of the 1st node
node_USCOREname2the name of the 2nd node.
paths; separated paths in the type tree, which are . separated type names. Those paths are paths to values in the nodes, that are to be returned by the function
paths_USCOREcountthe number of the paths
path_USCOREedgesthe path to the value in the edges type tree, which value contains an integer metric, which the dijkstra algorithm uses for path length evaluation
_param_26structure containing the return value _param_26.Xiksml_USCOREresponse contains XML response. If it contains <error></error> tag/s, an error has occured and information about the error is given between the tags. Otherwize, the XML response is formatted as follow: <paths> <path> <node id="[NODEID]"> <val name="[TYPE]">[VALUE]</val> ... </node> </path> ... </paths> In the above representation [NODEID] is the id of the current node. [TYPE] is the name of the simple type which contains the current value. [VALUE] is the current value. ... denotes that the tags of this subtree can be repeated with other attribute values.

This function implements the allDFS variation of the DFS algorithm, which is used to find all paths between 2 nodes.

Definition at line 1634 of file GDBMS_USCOREbindingService.cpp.

int transaction_mode_commands_find::FindBFS ( int  transaction_USCOREid,
std::string  node_USCOREname,
std::string  paths_USCOREnodes,
std::string  paths_USCOREvalues,
int  paths_USCOREcount,
int  limit_USCOREnodes,
struct ns1__FindBFSResponse _param_28 
) [static]

Web service operation 'FindBFS' (returns error code or SOAP_OK)

Definition at line 1646 of file GDBMS_USCOREbindingService.cpp.

int transaction_mode_commands_find::FindDFS ( int  transaction_USCOREid,
std::string  node_USCOREname,
std::string  paths_USCOREnodes,
std::string  paths_USCOREvalues,
int  paths_USCOREcount,
int  limit_USCOREnodes,
struct ns1__FindDFSResponse _param_29 
) [static]

Web service operation 'FindDFS' (returns error code or SOAP_OK)

Definition at line 1659 of file GDBMS_USCOREbindingService.cpp.

int transaction_mode_commands_find::FindMinPathBetweenNodes ( int  transaction_USCOREid,
std::string  node_USCOREname1,
std::string  node_USCOREname2,
std::string  paths,
int  paths_USCOREcount,
std::string  path_USCOREedges,
struct ns1__FindMinPathBetweenNodesResponse _param_24 
) [static]

Operation FindMinPathBetweenNodes.

Parameters:
transaction_USCOREidan integer id of the transaction.
node_USCOREname1the name of the 1st node
node_USCOREname2the name of the 2nd node.
paths; separated paths in the type tree, which are . separated type names. Those paths are paths to values in the nodes, that are to be returned by the function
paths_USCOREcountthe number of the paths
path_USCOREedgesthe path to the value in the edges type tree, which value contains an integer metric, which the dijkstra algorithm uses for path length evaluation
_param_18structure containing the return value _param_24.Xiksml_USCOREresponse contains XML response. If it contains <error></error> tags, an error has occured and information about the error is given between the tags. Otherwize, the XML response is formatted as follow: <nodes metric="[MTR_PATH]"> <node id="[NODEID]"> <val name="[TYPE]">[VALUE]</val> ... </node> ... </nodes> In the above representation [MTR_PATH] is the . represented type path to the value of the metric. [NODEID] is the id of the current node. [TYPE] is the name of the simple type which contains the current value. [VALUE] is the current value. ... denotes that the tags of this subtree can be repeated with other attribute values.

This function implements the dijkstra algorithm to find the minimal path between a pair of nodes, provided that the path exists.

Definition at line 1685 of file GDBMS_USCOREbindingService.cpp.

void transaction_mode_commands_find::getNeighborNodes ( int  node_id,
listi result,
listi metrics_edges,
tr_twin_ht nodtwin1,
tr_twin_ht edgtwin1,
string &  path_edges_1 
) [static]

For internal usage only. Normally this function is called by other Find functions to facilitate the search of neighbor nodes of a given node node_id.

Definition at line 925 of file transaction_mode_commands_find.cpp.

void transaction_mode_commands_find::printDFS ( unsigned  i,
char *  used,
listi paths_nodes_l,
listi paths_values_l,
string &  response,
tr_twin_ht nodtwin1,
tr_twin_ht edgtwin1 
) [static]

For internal usage only. This function implements the generation of xml response for found node.

Definition at line 538 of file transaction_mode_commands_find.cpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines