1 20 package org.apache.directory.ldapstudio.dsmlv2.request; 21 22 23 import org.apache.directory.ldapstudio.dsmlv2.DsmlDecorator; 24 import org.apache.directory.ldapstudio.dsmlv2.ParserUtils; 25 import org.apache.directory.shared.ldap.codec.LdapConstants; 26 import org.apache.directory.shared.ldap.codec.LdapMessage; 27 import org.dom4j.Element; 28 29 30 public abstract class AbstractRequestDsml extends LdapRequestDecorator implements DsmlDecorator 31 { 32 38 public AbstractRequestDsml( LdapMessage ldapMessage ) 39 { 40 super( ldapMessage ); 41 } 42 43 44 52 public Element toDsml( Element root ) 53 { 54 Element element = root.addElement( getRequestName() ); 55 56 int requestID = instance.getMessageId(); 58 if ( requestID != 0 ) 59 { 60 element.addAttribute( "requestID", "" + requestID ); 61 } 62 63 ParserUtils.addControls( element, instance.getControls() ); 65 66 return element; 67 } 68 69 75 private String getRequestName() 76 { 77 switch ( instance.getMessageType() ) 78 { 79 case LdapConstants.ABANDON_REQUEST: 80 return "abandonRequest"; 81 case LdapConstants.ADD_REQUEST: 82 return "addRequest"; 83 case LdapConstants.BIND_REQUEST: 84 return "authRequest"; 85 case LdapConstants.COMPARE_REQUEST: 86 return "compareRequest"; 87 case LdapConstants.DEL_REQUEST: 88 return "delRequest"; 89 case LdapConstants.EXTENDED_REQUEST: 90 return "extendedRequest"; 91 case LdapConstants.MODIFYDN_REQUEST: 92 return "modDNRequest"; 93 case LdapConstants.MODIFY_REQUEST: 94 return "modifyRequest"; 95 case LdapConstants.SEARCH_REQUEST: 96 return "searchRequest"; 97 default: 98 return "error"; 99 } 100 } 101 } 102 | Popular Tags |