001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020 package org.apache.directory.server.core.partition;
021
022
023 import java.util.Collections;
024 import java.util.Iterator;
025 import java.util.List;
026
027 import javax.naming.InvalidNameException;
028
029 import org.apache.commons.collections.iterators.EmptyIterator;
030 import org.apache.directory.server.core.entry.ClonedServerEntry;
031 import org.apache.directory.server.core.filtering.EntryFilter;
032 import org.apache.directory.server.core.filtering.EntryFilteringCursor;
033 import org.apache.directory.server.core.interceptor.context.AddOperationContext;
034 import org.apache.directory.server.core.interceptor.context.BindOperationContext;
035 import org.apache.directory.server.core.interceptor.context.DeleteOperationContext;
036 import org.apache.directory.server.core.interceptor.context.ListOperationContext;
037 import org.apache.directory.server.core.interceptor.context.LookupOperationContext;
038 import org.apache.directory.server.core.interceptor.context.ModifyOperationContext;
039 import org.apache.directory.server.core.interceptor.context.MoveAndRenameOperationContext;
040 import org.apache.directory.server.core.interceptor.context.MoveOperationContext;
041 import org.apache.directory.server.core.interceptor.context.RenameOperationContext;
042 import org.apache.directory.server.core.interceptor.context.SearchOperationContext;
043 import org.apache.directory.server.core.interceptor.context.SearchingOperationContext;
044 import org.apache.directory.server.core.interceptor.context.UnbindOperationContext;
045 import org.apache.directory.shared.ldap.cursor.ClosureMonitor;
046 import org.apache.directory.shared.ldap.exception.LdapInvalidDnException;
047 import org.apache.directory.shared.ldap.name.DN;
048 import org.apache.directory.shared.ldap.schema.SchemaManager;
049
050
051 /**
052 * A dummy do nothing partition that is useful for testing NullPartition.
053 *
054 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
055 * @version $Rev$, $Date$
056 */
057 public class NullPartition extends AbstractPartition
058 {
059 private String id;
060 private DN suffix;
061
062
063 /**
064 * Creates a new instance of NullPartition.
065 *
066 */
067 public NullPartition()
068 {
069 }
070
071
072 /* (non-Javadoc)
073 * @see org.apache.directory.server.core.partition.Partition#add(org.apache.directory.server.core.interceptor.context.AddOperationContext)
074 */
075 public void add( AddOperationContext opContext ) throws Exception
076 {
077 }
078
079
080 /* (non-Javadoc)
081 * @see org.apache.directory.server.core.partition.Partition#bind(org.apache.directory.server.core.interceptor.context.BindOperationContext)
082 */
083 public void bind( BindOperationContext opContext ) throws Exception
084 {
085 }
086
087
088 /* (non-Javadoc)
089 * @see org.apache.directory.server.core.partition.Partition#delete(org.apache.directory.server.core.interceptor.context.DeleteOperationContext)
090 */
091 public void delete( DeleteOperationContext opContext ) throws Exception
092 {
093 }
094
095
096 /* (non-Javadoc)
097 * @see org.apache.directory.server.core.partition.Partition#getId()
098 */
099 public String getId()
100 {
101 return id;
102 }
103
104
105 /* (non-Javadoc)
106 * @see org.apache.directory.server.core.partition.Partition#getSuffix()
107 */
108 public DN getSuffixDn()
109 {
110 return suffix;
111 }
112
113
114 /* (non-Javadoc)
115 * @see org.apache.directory.server.core.partition.Partition#list(org.apache.directory.server.core.interceptor.context.ListOperationContext)
116 */
117 public EntryFilteringCursor list( ListOperationContext opContext ) throws Exception
118 {
119 return new EntryFilteringCursor()
120 {
121
122 public Iterator<ClonedServerEntry> iterator()
123 {
124 return EmptyIterator.INSTANCE;
125 }
126
127
128 public void setClosureMonitor( ClosureMonitor monitor )
129 {
130 }
131
132
133 public boolean previous() throws Exception
134 {
135 return false;
136 }
137
138
139 public boolean next() throws Exception
140 {
141 return false;
142 }
143
144
145 public boolean last() throws Exception
146 {
147 return false;
148 }
149
150
151 public boolean isElementReused()
152 {
153 return false;
154 }
155
156
157 public boolean isClosed() throws Exception
158 {
159 return true;
160 }
161
162
163 public ClonedServerEntry get() throws Exception
164 {
165 return null;
166 }
167
168
169 public boolean first() throws Exception
170 {
171 return false;
172 }
173
174
175 public void close( Exception reason ) throws Exception
176 {
177 }
178
179
180 public void close() throws Exception
181 {
182 }
183
184
185 public void beforeFirst() throws Exception
186 {
187 }
188
189
190 public void before( ClonedServerEntry element ) throws Exception
191 {
192 }
193
194
195 public boolean available()
196 {
197 return false;
198 }
199
200
201 public void afterLast() throws Exception
202 {
203 }
204
205
206 public void after( ClonedServerEntry element ) throws Exception
207 {
208 }
209
210
211 public void setAbandoned( boolean abandoned )
212 {
213 }
214
215
216 public boolean removeEntryFilter( EntryFilter filter )
217 {
218 return false;
219 }
220
221
222 public boolean isAbandoned()
223 {
224 return true;
225 }
226
227
228 public SearchingOperationContext getOperationContext()
229 {
230 return null;
231 }
232
233
234 public List<EntryFilter> getEntryFilters()
235 {
236 return Collections.emptyList();
237 }
238
239
240 public boolean addEntryFilter( EntryFilter filter )
241 {
242 return false;
243 }
244 };
245 }
246
247
248 /* (non-Javadoc)
249 * @see org.apache.directory.server.core.partition.Partition#lookup(java.lang.Long)
250 */
251 public ClonedServerEntry lookup( Long id ) throws Exception
252 {
253 return null;
254 }
255
256
257 /* (non-Javadoc)
258 * @see org.apache.directory.server.core.partition.Partition#modify(org.apache.directory.server.core.interceptor.context.ModifyOperationContext)
259 */
260 public void modify( ModifyOperationContext opContext ) throws Exception
261 {
262 }
263
264
265 /* (non-Javadoc)
266 * @see org.apache.directory.server.core.partition.Partition#move(org.apache.directory.server.core.interceptor.context.MoveOperationContext)
267 */
268 public void move( MoveOperationContext opContext ) throws Exception
269 {
270 }
271
272
273 /* (non-Javadoc)
274 * @see org.apache.directory.server.core.partition.Partition#moveAndRename(org.apache.directory.server.core.interceptor.context.MoveAndRenameOperationContext)
275 */
276 public void moveAndRename( MoveAndRenameOperationContext opContext ) throws Exception
277 {
278 }
279
280
281 /* (non-Javadoc)
282 * @see org.apache.directory.server.core.partition.Partition#rename(org.apache.directory.server.core.interceptor.context.RenameOperationContext)
283 */
284 public void rename( RenameOperationContext opContext ) throws Exception
285 {
286 }
287
288
289 /* (non-Javadoc)
290 * @see org.apache.directory.server.core.partition.Partition#search(org.apache.directory.server.core.interceptor.context.SearchOperationContext)
291 */
292 public EntryFilteringCursor search( SearchOperationContext opContext ) throws Exception
293 {
294 return null;
295 }
296
297
298 /* (non-Javadoc)
299 * @see org.apache.directory.server.core.partition.Partition#setId(java.lang.String)
300 */
301 public void setId( String id )
302 {
303 this.id = id;
304 }
305
306
307 /**
308 * {@inheritDoc}
309 */
310 public void setSuffix( String suffix ) throws LdapInvalidDnException
311 {
312 this.suffix = new DN( suffix );
313 }
314
315
316 /* (non-Javadoc)
317 * @see org.apache.directory.server.core.partition.Partition#unbind(org.apache.directory.server.core.interceptor.context.UnbindOperationContext)
318 */
319 public void unbind( UnbindOperationContext opContext ) throws Exception
320 {
321 }
322
323
324 public String getSuffix()
325 {
326 return suffix.getName();
327 }
328
329
330 public SchemaManager getSchemaManager()
331 {
332 return null;
333 }
334
335
336 public void setSchemaManager( SchemaManager schemaManager )
337 {
338 }
339
340
341 @Override
342 protected void doDestroy() throws Exception
343 {
344 }
345
346
347 @Override
348 protected void doInit() throws InvalidNameException, Exception
349 {
350 }
351
352
353 @Override
354 public ClonedServerEntry lookup( LookupOperationContext lookupContext ) throws Exception
355 {
356 return null;
357 }
358
359
360 @Override
361 public void sync() throws Exception
362 {
363 }
364 }