/// <summary> /// Lookups single document in Clusterpoint Server storage. Returned type depends on passed returnType parameter. /// If returnType is DOC_TYPE_SIMPLEXML, returns CPS_SimpleXML. /// If returnType is DOC_TYPE_ARRAY, returns null - not supported yet. /// If returnType is DOC_TYPE_STDCLASS, returns XmlElement. /// </summary> /// <param name="id">Document ID.</param> /// <param name="list">Dictionary with keys as xpaths and values as listing options (yes | no | snippet | highlight).</param> /// <param name="returnType">Defines used return type.</param> /// <returns>Document as CPS_SimpleXml or XmlElement.</returns> public Object lookupSingle(string id, Dictionary<string, string> list = null, CPS_Response.DOC_TYPE returnType = CPS_Response.DOC_TYPE.DOC_TYPE_STDCLASS) { CPS_LookupRequest request = new CPS_LookupRequest(id, list); this.p_lastResponse = this.p_connection.sendRequest(request); CPS_LookupResponse response = (CPS_LookupResponse)this.p_lastResponse; if (response.getDocuments() == null) return null; if (returnType == CPS_Response.DOC_TYPE.DOC_TYPE_STDCLASS) { Dictionary<string, XmlElement> ret1 = (Dictionary<string, XmlElement>)(response.getDocuments(returnType)); foreach (KeyValuePair<string, XmlElement> pair in ret1) return pair.Value; } if (returnType == CPS_Response.DOC_TYPE.DOC_TYPE_ARRAY) { return null; } if (returnType == CPS_Response.DOC_TYPE.DOC_TYPE_SIMPLEXML) { Dictionary<string, CPS_SimpleXML> ret3 = (Dictionary<string, CPS_SimpleXML>)(response.getDocuments(returnType)); foreach (KeyValuePair<string, CPS_SimpleXML> pair in ret3) return pair.Value; } return null; }
/// <summary> /// Lookups multiple documents in Clusterpoint Server storage. returned type depends on passed returnType parameter. /// If returnType is DOC_TYPE_SIMPLEXML, returns Dictionary<string, CPS_SimpleXML>. /// If returnType is DOC_TYPE_ARRAY, returns null - not supported yet. /// If returnType is DOC_TYPE_STDCLASS, returns Dictionary<string, XmlElement>. /// </summary> /// <param name="ids">List of document IDs.</param> /// <param name="list">Dictionary with keys as xpaths and values as listing options (yes | no | snippet | highlight).</param> /// <param name="returnType">Defines used return type.</param> /// <returns>Documents as Dictionary<string, CPS_SimpleXML> or Dictionary<string, XmlElement>.</returns> public Object lookupMultiple(List<string> ids, Dictionary<string, string> list = null, CPS_Response.DOC_TYPE returnType = CPS_Response.DOC_TYPE.DOC_TYPE_STDCLASS) { CPS_LookupRequest request = new CPS_LookupRequest(ids, list); this.p_lastResponse = this.p_connection.sendRequest(request); return ((CPS_LookupResponse)this.p_lastResponse).getDocuments(returnType); }