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.interceptor.context;
21
22
23 import org.apache.directory.server.core.CoreSession;
24 import org.apache.directory.server.core.entry.ClonedServerEntry;
25 import org.apache.directory.server.core.entry.DefaultServerEntry;
26 import org.apache.directory.server.core.entry.ServerEntry;
27 import org.apache.directory.shared.ldap.message.AddRequest;
28 import org.apache.directory.shared.ldap.message.MessageTypeEnum;
29 import org.apache.directory.shared.ldap.name.LdapDN;
30
31
32
33
34
35
36
37
38
39 public class AddOperationContext extends AbstractChangeOperationContext
40 {
41
42
43
44
45
46 public AddOperationContext( CoreSession session )
47 {
48 super( session );
49 }
50
51
52
53
54
55
56
57
58 public AddOperationContext( CoreSession session, LdapDN dn )
59 {
60 super( session, dn );
61 }
62
63
64
65
66
67
68
69
70 public AddOperationContext( CoreSession session, ServerEntry entry )
71 {
72 super( session, entry.getDn() );
73 this.entry = new ClonedServerEntry( entry );
74 }
75
76
77
78
79
80
81
82
83
84 public AddOperationContext( CoreSession session, LdapDN dn, ServerEntry entry )
85 {
86 super( session, dn );
87 this.entry = new ClonedServerEntry( entry );
88 }
89
90
91 public AddOperationContext( CoreSession session, AddRequest addRequest ) throws Exception
92 {
93 super( session );
94 this.entry = new ClonedServerEntry(
95 new DefaultServerEntry( session.getDirectoryService().getRegistries(), addRequest.getEntry() ) );
96 this.dn = addRequest.getEntry().getDn();
97 this.requestControls = addRequest.getControls();
98 }
99
100
101
102
103
104 public String getName()
105 {
106 return MessageTypeEnum.ADD_REQUEST.name();
107 }
108
109
110
111
112
113 public String toString()
114 {
115 return "AddContext for DN '" + getDn().getUpName() + "'" + ", added entry: " + entry;
116 }
117 }