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;
21
22
23 import org.apache.directory.server.core.entry.ClonedServerEntry;
24 import org.apache.directory.server.ldap.LdapSession;
25 import org.apache.directory.shared.ldap.message.DeleteRequest;
26 import org.apache.directory.shared.ldap.message.LdapResult;
27 import org.apache.directory.shared.ldap.message.ResultCodeEnum;
28 import org.apache.directory.shared.ldap.name.LdapDN;
29
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32
33
34
35
36
37
38
39
40 public class DeleteHandler extends ReferralAwareRequestHandler<DeleteRequest>
41 {
42 private static final Logger LOG = LoggerFactory.getLogger( DeleteHandler.class );
43
44
45 public void handleIgnoringReferrals( LdapSession session, LdapDN reqTargetDn,
46 ClonedServerEntry entry, DeleteRequest req )
47 {
48 LOG.debug( "Handling request while ignoring referrals: {}", req );
49 LdapResult result = req.getResultResponse().getLdapResult();
50
51 try
52 {
53 session.getCoreSession().delete( req );
54 result.setResultCode( ResultCodeEnum.SUCCESS );
55 session.getIoSession().write( req.getResultResponse() );
56 }
57 catch ( Exception e )
58 {
59 handleException( session, req, e );
60 }
61 }
62 }