public static TraversalResults Parse(JObject response, IBranch branch)
        {
            TraversalResults results = new TraversalResults();

            JObject nodesObj = (JObject)response.GetValue("nodes");

            foreach (var kv in nodesObj)
            {
                string  field   = kv.Key;
                JObject nodeObj = (JObject)kv.Value;

                INode node = (INode)NodeUtil.Node(nodeObj, branch);
                results.Nodes.Add(node);
            }

            JObject associationsObj = (JObject)response.GetValue("associations");

            foreach (var kv in associationsObj)
            {
                string  field          = kv.Key;
                JObject associationObj = (JObject)kv.Value;

                IAssociation association = (IAssociation)NodeUtil.Node(associationObj, branch);
                results.Associations.Add(association);
            }

            return(results);
        }
Example #2
0
        public async Task <TraversalResults> TraverseAsync(JObject traverse)
        {
            JObject config = new JObject();

            config.Add("traverse", traverse);

            string      uri     = URI + "/traverse";
            HttpContent content = new StringContent(config.ToString());

            JObject response = await Driver.PostAsync(uri, null, content);

            return(TraversalResults.Parse(response, Branch));
        }