/** * Common code for =, >=, <=, and ~=. */ private void writeMatching( Element newElement, Iterator itr) { newElement.setAttribute("name", (String)itr.next()); Element valueNode = doc.createElement("value"); newElement.appendChild(valueNode); byte[] value = (byte[])itr.next(); String text = byte2String(value); valueNode.appendChild(doc.createTextNode(text)); return; }
/** * Write an LDAP record into LDIF file as LDAPContent data. * An LDAPEntry is written as a DSML SearchResultEntry record. * * <p>You are not allowed to mix request data and content data</p> * * @param entry LDAPEntry object * * @throws LDAPLocalException if data and content are mixed. * * @throws LDAPLocalException if an I/O error occurs. * * @see com.novell.ldap.LDAPEntry */ public void writeEntry( LDAPEntry entry) throws LDAPLocalException { checkState( entry); myWriteEntry( entry, null); return; }
private Element myWriteEntry( LDAPEntry entry, LDAPControl[] controls ) { Element e = doc.createElement("searchResultEntry"); e.setAttribute("dn", entry.getDN()); LDAPAttributeSet set = entry.getAttributeSet(); Iterator iterator = set.iterator(); while (iterator.hasNext()){ LDAPAttribute attr = (LDAPAttribute)iterator.next(); Element attribute = doc.createElement("attr"); writeAttribute(attribute, attr); e.appendChild(attribute); } if (controls != null) { writeControls(e, controls); } searchNode.appendChild( e); return e; }
writeFilter(filter, sr.getSearchFilter()); e.appendChild(filter); writeAttribute(m, attr); e.appendChild(m); while(attrs.hasNext()){ Element a = doc.createElement("attr"); writeAttribute(a, (LDAPAttribute)attrs.next()); e.appendChild(a); e.setAttribute("abandonID",findRequestID(message)); break; case LDAPMessage.EXTENDED_REQUEST:{ e = myWriteEntry( ((LDAPSearchResult)message).getEntry(), message.getControls()); break; case LDAPMessage.SEARCH_RESULT: //final search done message e = doc.createElement("searchResultDone"); writeResult(e, (LDAPResponse)message); break; case LDAPMessage.MODIFY_RESPONSE: e = doc.createElement("modifyResponse"); writeResult(e, (LDAPResponse)message); break; case LDAPMessage.ADD_RESPONSE: e = doc.createElement("addResponse");
/** * Writes the Delete request requested within a LDAP Delete * request * @param request a search request entry */ private void writeDeleteRequest(LDAPDeleteRequest request) throws IOException, LDAPLocalException { writeDeleteRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Writes the LDAPMessage into the DOMStructure. * * @param message LDAPMessage to write * @throws LDAPLocalException Occurs when a message is written out of * sequence, i.e. a response is written into a batchRequest. */ public void writeMessage(LDAPMessage message) throws LDAPLocalException, IOException { checkState(message); if (message.getType() == LDAPMessage.SEARCH_RESPONSE || message.getType() == LDAPMessage.SEARCH_RESULT || message.getType() == LDAPMessage.SEARCH_RESULT_REFERENCE) { searchNode.appendChild(message2Element(message)); } else { root.appendChild( message2Element(message) ); } if (message.getType()== LDAPMessage.SEARCH_RESULT){ state = RESPONSE_BATCH; searchNode = null; } return; }
writeMatching( newElement, itr); break; writeMatching( newElement, itr); break; writeMatching( newElement, itr); break; writeMatching( newElement, itr); break; writeFilter(newElement, (Iterator)filterpart);
writeControls(e, controls);
/** * Writes the Extended request requested within a LDAP Extended * request * @param request a Extended request entry */ private void writeExtendedRequest(LDAPExtendedRequest request) throws IOException, LDAPLocalException { writeExtendedRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Write an LDAP record into LDIF file as LDAPContent data. * An LDAPEntry is written as a DSML SearchResultEntry record. * * <p>You are not allowed to mix request data and content data</p> * * @param entry LDAPEntry object * * @param controls Controls that were returned with this entry * * @throws LDAPLocalException if data and content are mixed. * * @see com.novell.ldap.LDAPEntry */ public void writeEntry( LDAPEntry entry, LDAPControl[] controls) throws LDAPLocalException { checkState( entry); myWriteEntry( entry, controls); return; }
/** * Writes the Add request requested within a LDAP Add * request * @param request a search request entry */ private void writeAddRequest(LDAPAddRequest request) throws IOException, LDAPLocalException { writeAddRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Write an LDAP record into LDIF file as LDAPContent data. * An LDAPEntry is written as a DSML SearchResultEntry record. * * <p>You are not allowed to mix request data and content data</p> * * @param entry object * * @param controls Controls that were returned with this entry * * @param requestID the String that associates this response with the request * * @throws LDAPLocalException if data and content are mixed. * * @see com.novell.ldap.LDAPEntry */ public void writeEntry( LDAPEntry entry, LDAPControl[] controls, String requestID) throws LDAPLocalException { checkState( entry); Element e = myWriteEntry( entry, controls); if( (requestID != null) && (requestID.length() != 0)) { e.setAttribute("requestID", requestID); } return; }
/** * Writes the Search request requested within a LDAP search * request * @param request a search request entry */ private void writeSearchRequest(LDAPSearchRequest request) throws IOException, LDAPLocalException { writeSearchRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Writes the Compare request requested within a LDAP Compare * request * @param request a search request entry */ private void writeCompareRequest(LDAPCompareRequest request) throws IOException, LDAPLocalException { writeCompareRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Writes the Modify request requested within a LDAP Modify * request * @param request a search request entry */ private void writeModifyDNRequest(LDAPModifyDNRequest request) throws IOException, LDAPLocalException { writeModifyDNRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Writes the Modify request requested within a LDAP Modify * request * @param request a search request entry */ private void writeModifyRequest(LDAPModifyRequest request) throws IOException, LDAPLocalException { writeModifyRequestEntry( request, request.getControls(), DOMWriter.findRequestID(request)); return; }
/** * Writes the entries returned within search responses. * @param result a search result entry */ private void writeSearchResponse(LDAPSearchResult result) throws IOException, LDAPLocalException { writeEntry( result.getEntry(), result.getControls(), DOMWriter.findRequestID(result)); return; }
searchNode.setAttribute("requestID", ""+ findRequestID(message)); root.appendChild(searchNode); state = SEARCH_RESPONSE;
throws IOException out.write("<" + tag + " requestID=\""+ DOMWriter.findRequestID(message) +"\""); if (message instanceof LDAPResponse){ String matchedDN = ((LDAPResponse) message).getMatchedDN();