1 20 21 package org.apache.directory.ldapstudio.dsmlv2.reponse; 22 23 24 import java.util.List ; 25 26 import org.apache.directory.ldapstudio.dsmlv2.DsmlDecorator; 27 import org.apache.directory.ldapstudio.dsmlv2.ParserUtils; 28 import org.apache.directory.shared.ldap.codec.LdapMessage; 29 import org.apache.directory.shared.ldap.codec.LdapResult; 30 import org.apache.directory.shared.ldap.codec.util.LdapURL; 31 import org.dom4j.Element; 32 33 34 40 public class LdapResultDsml implements DsmlDecorator 41 { 42 43 private LdapResult result; 44 45 46 private LdapMessage message; 47 48 49 57 public LdapResultDsml( LdapResult result, LdapMessage message ) 58 { 59 this.result = result; 60 this.message = message; 61 } 62 63 64 67 public Element toDsml( Element root ) 68 { 69 70 int requestID = message.getMessageId(); 72 if ( requestID != 0 ) 73 { 74 root.addAttribute( "requestID", "" + requestID ); 75 } 76 77 String matchedDN = result.getMatchedDN(); 79 if ( !matchedDN.equals( "" ) ) 80 { 81 root.addAttribute( "matchedDN", matchedDN ); 82 } 83 84 ParserUtils.addControls( root, message.getControls() ); 86 87 Element resultCodeElement = root.addElement( "resultCode" ); 89 resultCodeElement.addAttribute( "code", "" + result.getResultCode().getResultCode() ); 90 resultCodeElement.addAttribute( "descr", LdapResultEnum.getResultCodeDescr( result.getResultCode() ) ); 91 92 String errorMessage = ( result.getErrorMessage() ); 94 if ( ( errorMessage != null ) && ( !errorMessage.equals( "" ) ) ) 95 { 96 Element errorMessageElement = root.addElement( "errorMessage" ); 97 errorMessageElement.addText( errorMessage ); 98 } 99 100 List <LdapURL> referals = result.getReferrals(); 102 if ( referals != null ) 103 { 104 for ( int i = 0; i < referals.size(); i++ ) 105 { 106 Element referalElement = root.addElement( "referal" ); 107 referalElement.addText( referals.get( i ).toString() ); 108 } 109 } 110 111 return root; 112 } 113 } 114 | Popular Tags |