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.core.api.interceptor.context;
21
22
23 import org.apache.directory.api.ldap.model.entry.Entry;
24 import org.apache.directory.api.ldap.model.message.DeleteRequest;
25 import org.apache.directory.api.ldap.model.message.MessageTypeEnum;
26 import org.apache.directory.api.ldap.model.message.controls.ManageDsaIT;
27 import org.apache.directory.api.ldap.model.name.Dn;
28 import org.apache.directory.server.core.api.CoreSession;
29 import org.apache.directory.server.core.api.OperationEnum;
30
31
32
33
34
35
36
37
38 public class DeleteOperationContext extends AbstractChangeOperationContext
39 {
40
41
42
43
44
45 public DeleteOperationContext( CoreSession session )
46 {
47 super( session );
48
49 if ( session != null )
50 {
51 setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.DELETE ) );
52 }
53 }
54
55
56
57
58
59
60
61
62 public DeleteOperationContext( CoreSession session, Dn deleteDn )
63 {
64 super( session, deleteDn );
65
66 if ( session != null )
67 {
68 setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.DELETE ) );
69 }
70 }
71
72
73
74
75
76
77
78
79 public DeleteOperationContext( CoreSession session, DeleteRequest deleteRequest )
80 {
81 super( session, deleteRequest.getName() );
82
83 if ( session != null )
84 {
85 setInterceptors( session.getDirectoryService().getInterceptors( OperationEnum.DELETE ) );
86 }
87
88 requestControls = deleteRequest.getControls();
89
90 if ( requestControls.containsKey( ManageDsaIT.OID ) )
91 {
92 ignoreReferral();
93 }
94 else
95 {
96 throwReferral();
97 }
98 }
99
100
101
102
103
104 public String getName()
105 {
106 return MessageTypeEnum.DEL_REQUEST.name();
107 }
108
109
110
111
112
113 public String toString()
114 {
115 return "DeleteContext for Dn '" + getDn().getName() + "'";
116 }
117
118
119
120
121
122 public void setEntry( Entry entry )
123 {
124 this.entry = entry;
125 }
126 }