1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.server.ldap.handlers.request;
21
22
23 import org.apache.directory.api.ldap.model.message.DeleteRequest;
24 import org.apache.directory.api.ldap.model.message.DeleteResponse;
25 import org.apache.directory.api.ldap.model.message.LdapResult;
26 import org.apache.directory.api.ldap.model.message.ResultCodeEnum;
27 import org.apache.directory.server.core.api.CoreSession;
28 import org.apache.directory.server.ldap.LdapSession;
29 import org.apache.directory.server.ldap.handlers.LdapRequestHandler;
30
31 import org.slf4j.Logger;
32 import org.slf4j.LoggerFactory;
33
34
35
36
37
38
39
40 public class DeleteRequestHandler extends LdapRequestHandler<DeleteRequest>
41 {
42 private static final Logger LOG = LoggerFactory.getLogger( DeleteRequestHandler.class );
43
44
45
46
47 public void handle( LdapSession session, DeleteRequest deleteRequest )
48 {
49 LOG.debug( "Handling request: {}", deleteRequest );
50
51 DeleteResponse deleteResponse = ( DeleteResponse ) deleteRequest.getResultResponse();
52
53 LdapResult result = deleteResponse.getLdapResult();
54
55 try
56 {
57
58 CoreSession coreSession = session.getCoreSession();
59 coreSession.delete( deleteRequest );
60
61
62 result.setResultCode( ResultCodeEnum.SUCCESS );
63
64
65 session.getIoSession().write( deleteResponse );
66 }
67 catch ( Exception e )
68 {
69 handleException( session, deleteRequest, deleteResponse, e );
70 }
71 }
72 }