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.extras;
21
22
23 import org.apache.directory.api.ldap.codec.api.ControlFactory;
24 import org.apache.directory.api.ldap.codec.api.LdapApiService;
25 import org.apache.directory.api.ldap.extras.controls.ad.AdDirSync;
26 import org.apache.directory.api.ldap.extras.controls.ad.AdDirSyncFactory;
27 import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicy;
28 import org.apache.directory.api.ldap.extras.controls.ppolicy_impl.PasswordPolicyFactory;
29 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncDone.SyncDoneValue;
30 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncInfoValue.SyncInfoValue;
31 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncInfoValue.SyncRequestValue;
32 import org.apache.directory.api.ldap.extras.controls.syncrepl.syncState.SyncStateValue;
33 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncDoneValueFactory;
34 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncInfoValueFactory;
35 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncRequestValueFactory;
36 import org.apache.directory.api.ldap.extras.controls.syncrepl_impl.SyncStateValueFactory;
37 import org.apache.directory.api.ldap.extras.extended.ads_impl.cancel.CancelFactory;
38 import org.apache.directory.api.ldap.extras.extended.ads_impl.certGeneration.CertGenerationFactory;
39 import org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect.GracefulDisconnectFactory;
40 import org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulShutdown.GracefulShutdownFactory;
41 import org.apache.directory.api.ldap.extras.extended.ads_impl.pwdModify.PasswordModifyFactory;
42 import org.apache.directory.api.ldap.extras.extended.ads_impl.startTls.StartTlsFactory;
43 import org.apache.directory.api.ldap.extras.extended.ads_impl.storedProcedure.StoredProcedureFactory;
44 import org.apache.directory.api.ldap.extras.extended.ads_impl.whoAmI.WhoAmIFactory;
45 import org.apache.directory.api.ldap.extras.extended.cancel.CancelRequest;
46 import org.apache.directory.api.ldap.extras.extended.certGeneration.CertGenerationRequest;
47 import org.apache.directory.api.ldap.extras.extended.gracefulDisconnect.GracefulDisconnectResponse;
48 import org.apache.directory.api.ldap.extras.extended.gracefulShutdown.GracefulShutdownRequest;
49 import org.apache.directory.api.ldap.extras.extended.pwdModify.PasswordModifyRequest;
50 import org.apache.directory.api.ldap.extras.extended.startTls.StartTlsRequest;
51 import org.apache.directory.api.ldap.extras.extended.storedProcedure.StoredProcedureRequest;
52 import org.apache.directory.api.ldap.extras.extended.whoAmI.WhoAmIRequest;
53 import org.osgi.framework.BundleActivator;
54 import org.osgi.framework.BundleContext;
55 import org.osgi.framework.ServiceReference;
56
57
58
59
60
61
62
63
64 public class ExtrasBundleActivator implements BundleActivator
65 {
66 private ServiceReference<?> codecServiceRef;
67
68
69
70
71
72 public void start( BundleContext context ) throws Exception
73 {
74 codecServiceRef = context.getServiceReference( LdapApiService.class.getName() );
75 LdapApiService codec = ( LdapApiService ) context.getService( codecServiceRef );
76 registerExtrasControls( codec );
77 registerExtrasExtendedOps( codec );
78 }
79
80
81
82
83
84
85
86 private void registerExtrasControls( LdapApiService codec )
87 {
88 ControlFactory<SyncDoneValue> syncDoneValuefactory = new SyncDoneValueFactory( codec );
89 codec.registerControl( syncDoneValuefactory );
90
91 ControlFactory<SyncInfoValue> syncInfoValueFactory = new SyncInfoValueFactory( codec );
92 codec.registerControl( syncInfoValueFactory );
93
94 ControlFactory<SyncRequestValue> syncRequestValueFactory = new SyncRequestValueFactory( codec );
95 codec.registerControl( syncRequestValueFactory );
96
97 ControlFactory<SyncStateValue> syncStateValuefactory = new SyncStateValueFactory( codec );
98 codec.registerControl( syncStateValuefactory );
99
100 ControlFactory<PasswordPolicy> passwordPolicyFactory = new PasswordPolicyFactory( codec );
101 codec.registerControl( passwordPolicyFactory );
102
103 ControlFactory<AdDirSync> adDirSyncFactory = new AdDirSyncFactory( codec );
104 codec.registerControl( adDirSyncFactory );
105 }
106
107
108
109
110
111
112
113 private void registerExtrasExtendedOps( LdapApiService codec )
114 {
115
116
117
118
119 CancelFactory cancelFactory = new CancelFactory( codec );
120 codec.registerExtendedRequest( cancelFactory );
121
122 CertGenerationFactory certGenerationFactory = new CertGenerationFactory( codec );
123 codec.registerExtendedRequest( certGenerationFactory );
124
125 GracefulShutdownFactory gracefulShutdownFactory = new GracefulShutdownFactory( codec );
126 codec.registerExtendedRequest( gracefulShutdownFactory );
127
128 StoredProcedureFactory storedProcedureFactory = new StoredProcedureFactory( codec );
129 codec.registerExtendedRequest( storedProcedureFactory );
130
131 PasswordModifyFactory passwordModifyFactory = new PasswordModifyFactory( codec );
132 codec.registerExtendedRequest( passwordModifyFactory );
133
134 GracefulDisconnectFactory gracefulDisconnectFactory = new GracefulDisconnectFactory( codec );
135 codec.registerExtendedRequest( gracefulDisconnectFactory );
136
137 WhoAmIFactory whoAmIFactory = new WhoAmIFactory( codec );
138 codec.registerExtendedRequest( whoAmIFactory );
139
140 StartTlsFactory startTlsFactory = new StartTlsFactory( codec );
141 codec.registerExtendedRequest( startTlsFactory );
142 }
143
144
145
146
147
148 public void stop( BundleContext context ) throws Exception
149 {
150 LdapApiService codec = ( LdapApiService ) context.getService( codecServiceRef );
151
152 codec.unregisterControl( SyncDoneValue.OID );
153 codec.unregisterControl( SyncInfoValue.OID );
154 codec.unregisterControl( SyncRequestValue.OID );
155 codec.unregisterControl( SyncStateValue.OID );
156 codec.unregisterControl( PasswordPolicy.OID );
157
158 codec.unregisterExtendedRequest( CancelRequest.EXTENSION_OID );
159 codec.unregisterExtendedRequest( CertGenerationRequest.EXTENSION_OID );
160 codec.unregisterExtendedRequest( GracefulShutdownRequest.EXTENSION_OID );
161 codec.unregisterExtendedRequest( StoredProcedureRequest.EXTENSION_OID );
162 codec.unregisterExtendedRequest( GracefulDisconnectResponse.EXTENSION_OID );
163 codec.unregisterExtendedRequest( PasswordModifyRequest.EXTENSION_OID );
164 codec.unregisterExtendedRequest( WhoAmIRequest.EXTENSION_OID );
165 codec.unregisterExtendedRequest( StartTlsRequest.EXTENSION_OID );
166 }
167 }