1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.codec.standalone;
21
22
23 import java.util.Map;
24
25 import org.apache.directory.api.ldap.codec.api.ControlFactory;
26 import org.apache.directory.api.ldap.codec.api.ExtendedOperationFactory;
27 import org.apache.directory.api.ldap.codec.api.LdapApiService;
28 import org.apache.directory.api.ldap.codec.controls.cascade.CascadeFactory;
29 import org.apache.directory.api.ldap.codec.controls.manageDsaIT.ManageDsaITFactory;
30 import org.apache.directory.api.ldap.codec.controls.proxiedauthz.ProxiedAuthzFactory;
31 import org.apache.directory.api.ldap.codec.controls.search.entryChange.EntryChangeFactory;
32 import org.apache.directory.api.ldap.codec.controls.search.pagedSearch.PagedResultsFactory;
33 import org.apache.directory.api.ldap.codec.controls.search.persistentSearch.PersistentSearchFactory;
34 import org.apache.directory.api.ldap.codec.controls.search.subentries.SubentriesFactory;
35 import org.apache.directory.api.ldap.codec.controls.sort.SortRequestFactory;
36 import org.apache.directory.api.ldap.codec.controls.sort.SortResponseFactory;
37 import org.apache.directory.api.ldap.extras.controls.ad.AdShowDeleted;
38 import org.apache.directory.api.ldap.extras.controls.ad.AdDirSync;
39 import org.apache.directory.api.ldap.extras.controls.ad_impl.AdShowDeletedFactory;
40 import org.apache.directory.api.ldap.extras.controls.permissiveModify.PermissiveModify;
41 import org.apache.directory.api.ldap.extras.controls.permissiveModify_impl.PermissiveModifyFactory;
42 import org.apache.directory.api.ldap.extras.controls.ad_impl.AdDirSyncFactory;
43 import org.apache.directory.api.ldap.extras.controls.changeNotifications.ChangeNotifications;
44 import org.apache.directory.api.ldap.extras.controls.changeNotifications_impl.ChangeNotificationsFactory;
45 import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicy;
46 import org.apache.directory.api.ldap.extras.controls.ppolicy_impl.PasswordPolicyFactory;
47 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncDone.SyncDoneValue;
48 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncInfoValue.SyncInfoValue;
49 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncInfoValue.SyncRequestValue;
50 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncState.SyncStateValue;
51 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncDoneValueFactory;
52 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncInfoValueFactory;
53 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncRequestValueFactory;
54 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncStateValueFactory;
55 import org.apache.directory.api.ldap.extras.controls.vlv.VirtualListViewRequest;
56 import org.apache.directory.api.ldap.extras.controls.vlv.VirtualListViewResponse;
57 import org.apache.directory.api.ldap.extras.controls.vlv_impl.VirtualListViewRequestFactory;
58 import org.apache.directory.api.ldap.extras.controls.vlv_impl.VirtualListViewResponseFactory;
59 import org.apache.directory.api.ldap.extras.extended.ads_impl.cancel.CancelFactory;
60 import org.apache.directory.api.ldap.extras.extended.ads_impl.certGeneration.CertGenerationFactory;
61 import org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectFactory;
62 import org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulShutdown.GracefulShutdownFactory;
63 import org.apache.directory.api.ldap.extras.extended.ads_impl.pwdModify.PasswordModifyFactory;
64 import org.apache.directory.api.ldap.extras.extended.ads_impl.startTls.StartTlsFactory;
65 import org.apache.directory.api.ldap.extras.extended.ads_impl.storedProcedure.StoredProcedureFactory;
66 import org.apache.directory.api.ldap.extras.extended.ads_impl.whoAmI.WhoAmIFactory;
67 import org.apache.directory.api.ldap.model.message.controls.Cascade;
68 import org.apache.directory.api.ldap.model.message.controls.EntryChange;
69 import org.apache.directory.api.ldap.model.message.controls.ManageDsaIT;
70 import org.apache.directory.api.ldap.model.message.controls.PagedResults;
71 import org.apache.directory.api.ldap.model.message.controls.PersistentSearch;
72 import org.apache.directory.api.ldap.model.message.controls.ProxiedAuthz;
73 import org.apache.directory.api.ldap.model.message.controls.SortRequest;
74 import org.apache.directory.api.ldap.model.message.controls.SortResponse;
75 import org.apache.directory.api.ldap.model.message.controls.Subentries;
76 import org.slf4j.Logger;
77 import org.slf4j.LoggerFactory;
78
79
80
81
82
83
84
85 public final class CodecFactoryUtil
86 {
87 private static final Logger LOG = LoggerFactory.getLogger( CodecFactoryUtil.class );
88
89
90 private CodecFactoryUtil()
91 {
92 }
93
94
95
96
97
98
99
100
101 public static void loadStockControls( Map<String, ControlFactory<?>> controlFactories, LdapApiService apiService )
102 {
103 ControlFactory<Cascade> cascadeFactory = new CascadeFactory( apiService );
104 controlFactories.put( cascadeFactory.getOid(), cascadeFactory );
105 LOG.info( "Registered pre-bundled control factory: {}", cascadeFactory.getOid() );
106
107 ControlFactory<EntryChange> entryChangeFactory = new EntryChangeFactory( apiService );
108 controlFactories.put( entryChangeFactory.getOid(), entryChangeFactory );
109 LOG.info( "Registered pre-bundled control factory: {}", entryChangeFactory.getOid() );
110
111 ControlFactory<ManageDsaIT> manageDsaITFactory = new ManageDsaITFactory( apiService );
112 controlFactories.put( manageDsaITFactory.getOid(), manageDsaITFactory );
113 LOG.info( "Registered pre-bundled control factory: {}", manageDsaITFactory.getOid() );
114
115 ControlFactory<ProxiedAuthz> proxiedAuthzFactory = new ProxiedAuthzFactory( apiService );
116 controlFactories.put( proxiedAuthzFactory.getOid(), proxiedAuthzFactory );
117 LOG.info( "Registered pre-bundled control factory: {}", proxiedAuthzFactory.getOid() );
118
119 ControlFactory<PagedResults> pagedResultsFactory = new PagedResultsFactory( apiService );
120 controlFactories.put( pagedResultsFactory.getOid(), pagedResultsFactory );
121 LOG.info( "Registered pre-bundled control factory: {}", pagedResultsFactory.getOid() );
122
123 ControlFactory<PersistentSearch> persistentSearchFactory = new PersistentSearchFactory( apiService );
124 controlFactories.put( persistentSearchFactory.getOid(), persistentSearchFactory );
125 LOG.info( "Registered pre-bundled control factory: {}", persistentSearchFactory.getOid() );
126
127 ControlFactory<Subentries> subentriesFactory = new SubentriesFactory( apiService );
128 controlFactories.put( subentriesFactory.getOid(), subentriesFactory );
129 LOG.info( "Registered pre-bundled control factory: {}", subentriesFactory.getOid() );
130
131 ControlFactory<PasswordPolicy> passwordPolicyFactory = new PasswordPolicyFactory( apiService );
132 controlFactories.put( passwordPolicyFactory.getOid(), passwordPolicyFactory );
133 LOG.info( "Registered pre-bundled control factory: {}", passwordPolicyFactory.getOid() );
134
135 ControlFactory<VirtualListViewRequest> virtualListViewRequestFactory = new VirtualListViewRequestFactory(
136 apiService );
137 controlFactories.put( virtualListViewRequestFactory.getOid(), virtualListViewRequestFactory );
138 LOG.info( "Registered pre-bundled control factory: {}", virtualListViewRequestFactory.getOid() );
139
140 ControlFactory<VirtualListViewResponse> virtualListViewResponseFactory = new VirtualListViewResponseFactory(
141 apiService );
142 controlFactories.put( virtualListViewResponseFactory.getOid(), virtualListViewResponseFactory );
143 LOG.info( "Registered pre-bundled control factory: {}", virtualListViewResponseFactory.getOid() );
144
145 ControlFactory<SyncDoneValue> syncDoneValueFactory = new SyncDoneValueFactory( apiService );
146 controlFactories.put( syncDoneValueFactory.getOid(), syncDoneValueFactory );
147 LOG.info( "Registered pre-bundled control factory: {}", syncDoneValueFactory.getOid() );
148
149 ControlFactory<SyncInfoValue> syncInfoValueFactory = new SyncInfoValueFactory( apiService );
150 controlFactories.put( syncInfoValueFactory.getOid(), syncInfoValueFactory );
151 LOG.info( "Registered pre-bundled control factory: {}", syncInfoValueFactory.getOid() );
152
153 ControlFactory<SyncRequestValue> syncRequestValueFactory = new SyncRequestValueFactory( apiService );
154 controlFactories.put( syncRequestValueFactory.getOid(), syncRequestValueFactory );
155 LOG.info( "Registered pre-bundled control factory: {}", syncRequestValueFactory.getOid() );
156
157 ControlFactory<SyncStateValue> syncStateValueFactory = new SyncStateValueFactory( apiService );
158 controlFactories.put( syncStateValueFactory.getOid(), syncStateValueFactory );
159 LOG.info( "Registered pre-bundled control factory: {}", syncStateValueFactory.getOid() );
160
161 ControlFactory<SortRequest> sortRequestFactory = new SortRequestFactory( apiService );
162 controlFactories.put( sortRequestFactory.getOid(), sortRequestFactory );
163 LOG.info( "Registered pre-bundled control factory: {}", sortRequestFactory.getOid() );
164
165 ControlFactory<SortResponse> sortResponseFactory = new SortResponseFactory( apiService );
166 controlFactories.put( sortResponseFactory.getOid(), sortResponseFactory );
167 LOG.info( "Registered pre-bundled control factory: {}", sortResponseFactory.getOid() );
168
169 ControlFactory<AdDirSync> adDirSyncFactory = new AdDirSyncFactory( apiService );
170 controlFactories.put( adDirSyncFactory.getOid(), adDirSyncFactory );
171 LOG.info( "Registered pre-bundled control factory: {}", adDirSyncFactory.getOid() );
172
173 ControlFactory<AdShowDeleted> adDeletedFactory = new AdShowDeletedFactory( apiService );
174 controlFactories.put( adDeletedFactory.getOid(), adDeletedFactory );
175 LOG.info( "Registered pre-bundled control factory: {}", adDeletedFactory.getOid() );
176
177 ControlFactory<PermissiveModify> permissiveModifyFactory = new PermissiveModifyFactory( apiService );
178 controlFactories.put( permissiveModifyFactory.getOid(), permissiveModifyFactory );
179 LOG.info( "Registered pre-bundled control factory: {}", permissiveModifyFactory.getOid() );
180
181 ControlFactory<ChangeNotifications> changeNotificationsFactory = new ChangeNotificationsFactory( apiService );
182 controlFactories.put( changeNotificationsFactory.getOid(), changeNotificationsFactory );
183 LOG.info( "Registered pre-bundled control factory: {}", changeNotificationsFactory.getOid() );
184 }
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203 public static void loadStockExtendedOperations(
204 Map<String, ExtendedOperationFactory> extendendOperationsFactories, LdapApiService apiService )
205 {
206 CancelFactory cancelFactory = new CancelFactory( apiService );
207 extendendOperationsFactories.put( cancelFactory.getOid(), cancelFactory );
208 LOG.info( "Registered pre-bundled extended operation factory: {}", cancelFactory.getOid() );
209
210 CertGenerationFactory certGenerationFactory = new CertGenerationFactory( apiService );
211 extendendOperationsFactories.put( certGenerationFactory.getOid(), certGenerationFactory );
212 LOG.info( "Registered pre-bundled extended operation factory: {}", certGenerationFactory.getOid() );
213
214 GracefulShutdownFactory gracefulShutdownFactory = new GracefulShutdownFactory( apiService );
215 extendendOperationsFactories.put( gracefulShutdownFactory.getOid(), gracefulShutdownFactory );
216 LOG.info( "Registered pre-bundled extended operation factory: {}", gracefulShutdownFactory.getOid() );
217
218 StoredProcedureFactory storedProcedureFactory = new StoredProcedureFactory( apiService );
219 extendendOperationsFactories.put( storedProcedureFactory.getOid(), storedProcedureFactory );
220 LOG.info( "Registered pre-bundled extended operation factory: {}", storedProcedureFactory.getOid() );
221
222 GracefulDisconnectFactory gracefulDisconnectFactory = new GracefulDisconnectFactory( apiService );
223 extendendOperationsFactories.put( gracefulDisconnectFactory.getOid(), gracefulDisconnectFactory );
224 LOG.info( "Registered pre-bundled extended operation factory: {}", gracefulDisconnectFactory.getOid() );
225
226 PasswordModifyFactory passwordModifyFactory = new PasswordModifyFactory( apiService );
227 extendendOperationsFactories.put( passwordModifyFactory.getOid(), passwordModifyFactory );
228 LOG.info( "Registered pre-bundled extended operation factory: {}", passwordModifyFactory.getOid() );
229
230 WhoAmIFactory whoAmIFactory = new WhoAmIFactory( apiService );
231 extendendOperationsFactories.put( whoAmIFactory.getOid(), whoAmIFactory );
232 LOG.info( "Registered pre-bundled extended operation factory: {}", whoAmIFactory.getOid() );
233
234 StartTlsFactory startTlsFactory = new StartTlsFactory( apiService );
235 extendendOperationsFactories.put( startTlsFactory.getOid(), startTlsFactory );
236 LOG.info( "Registered pre-bundled extended operation factory: {}", startTlsFactory.getOid() );
237 }
238 }