GDBMS 1.0
|
#include <transaction_mode_commands_find.h>
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. |
Definition at line 1 of file transaction_mode_commands_find.h.
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.
s | id of start node. |
result | string 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.
transaction_USCOREid | an integer id of the transaction. |
node_USCOREname | the name of the node, which friends are to be found. |
node_USCOREname2 | the 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_USCOREcount | the number of the paths |
_param_27 | structure 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.
transaction_USCOREid | an integer id of the transaction. |
node_USCOREname1 | the name of the 1st node |
node_USCOREname2 | the 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_USCOREcount | the number of the paths |
path_USCOREedges | the 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_25 | structure 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.
transaction_USCOREid | an integer id of the transaction. |
node_USCOREname1 | the name of the 1st node |
node_USCOREname2 | the 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_USCOREcount | the number of the paths |
path_USCOREedges | the 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_26 | structure 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.
transaction_USCOREid | an integer id of the transaction. |
node_USCOREname1 | the name of the 1st node |
node_USCOREname2 | the 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_USCOREcount | the number of the paths |
path_USCOREedges | the 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_18 | structure 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.