1 20 package org.apache.directory.ldapstudio.dsmlv2.request; 21 22 23 import java.util.ArrayList ; 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.ldapstudio.dsmlv2.request.BatchRequest.OnError; 29 import org.apache.directory.ldapstudio.dsmlv2.request.BatchRequest.Processing; 30 import org.apache.directory.ldapstudio.dsmlv2.request.BatchRequest.ResponseOrder; 31 import org.dom4j.Document; 32 import org.dom4j.DocumentHelper; 33 import org.dom4j.Element; 34 35 36 42 public class BatchRequestDsml 43 { 44 45 private List <DsmlDecorator> requests; 46 47 48 private int requestID; 49 50 51 private Processing processing; 52 53 54 private OnError onError; 55 56 57 private ResponseOrder responseOrder; 58 59 60 63 public BatchRequestDsml() 64 { 65 requests = new ArrayList <DsmlDecorator>(); 66 responseOrder = ResponseOrder.SEQUENTIAL; 67 processing = Processing.SEQUENTIAL; 68 onError = OnError.EXIT; 69 } 70 71 72 80 public boolean addRequest( DsmlDecorator request ) 81 { 82 return requests.add( request ); 83 } 84 85 86 94 public boolean removeRequest( DsmlDecorator request ) 95 { 96 return requests.remove( request ); 97 } 98 99 100 106 public int getRequestID() 107 { 108 return requestID; 109 } 110 111 112 118 public void setRequestID( int requestID ) 119 { 120 this.requestID = requestID; 121 } 122 123 124 130 public Processing getProcessing() 131 { 132 return processing; 133 } 134 135 136 142 public void setProcessing( Processing processing ) 143 { 144 this.processing = processing; 145 } 146 147 148 154 public OnError getOnError() 155 { 156 return onError; 157 } 158 159 160 166 public void setOnError( OnError onError ) 167 { 168 this.onError = onError; 169 } 170 171 172 178 public ResponseOrder getResponseOrder() 179 { 180 return responseOrder; 181 } 182 183 184 190 public void setResponseOrder( ResponseOrder responseOrder ) 191 { 192 this.responseOrder = responseOrder; 193 } 194 195 196 199 public String toDsml() 200 { 201 Document document = DocumentHelper.createDocument(); 202 Element element = document.addElement( "batchRequest" ); 203 204 if ( requestID != 0 ) 206 { 207 element.addAttribute( "requestID", "" + requestID ); 208 } 209 210 if ( responseOrder == ResponseOrder.UNORDERED ) 212 { 213 element.addAttribute( "responseOrder", "unordered" ); 214 } 215 216 if ( processing == Processing.PARALLEL ) 218 { 219 element.addAttribute( "processing", "parallel" ); 220 } 221 222 if ( onError == OnError.RESUME ) 224 { 225 element.addAttribute( "onError", "resume" ); 226 } 227 228 for ( DsmlDecorator request : requests ) 230 { 231 request.toDsml( element ); 232 } 233 234 return ParserUtils.styleDocument( document ).asXML(); 235 } 236 } 237 | Popular Tags |