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.shared.ldap.message.MessageTypeEnum;
25 import org.apache.directory.shared.ldap.message.ModifyDnRequest;
26 import org.apache.directory.shared.ldap.name.LdapDN;
27
28
29
30
31
32
33
34
35
36 public class MoveOperationContext extends AbstractChangeOperationContext
37 {
38
39 private LdapDN parent;
40
41
42
43
44
45 public MoveOperationContext( CoreSession session )
46 {
47 super( session );
48 }
49
50
51
52
53
54 public MoveOperationContext( CoreSession session, LdapDN oldDn, LdapDN parent )
55 {
56 super( session, oldDn );
57 this.parent = parent;
58 }
59
60
61 public MoveOperationContext( CoreSession session, ModifyDnRequest modifyDnRequest )
62 {
63 super( session, modifyDnRequest.getName() );
64 this.parent = modifyDnRequest.getNewSuperior();
65
66 if ( parent == null )
67 {
68 throw new IllegalArgumentException( "The new superior cannot be null for " + modifyDnRequest );
69 }
70
71 this.requestControls = modifyDnRequest.getControls();
72 if ( modifyDnRequest.getNewRdn() != null )
73 {
74 throw new IllegalArgumentException( modifyDnRequest + " represents a move and rename operation." );
75 }
76 }
77
78
79
80
81
82 public LdapDN getParent()
83 {
84 return parent;
85 }
86
87
88
89
90
91
92
93 public void setParent( LdapDN parent )
94 {
95 this.parent = parent;
96 }
97
98
99
100
101
102 public String getName()
103 {
104 return MessageTypeEnum.MOD_DN_REQUEST.name();
105 }
106
107
108
109
110
111 public String toString()
112 {
113 return "ReplaceContext for old DN '" + getDn().getUpName() + "'" +
114 ", parent '" + parent + "'";
115 }
116 }