For an embedded DS I provide a dump method which prints the content of the jdbm
partition(s) as a form of data integrity check.
In order to implement this I think I need a reference to the
bootstrapRegistries:
<snip>
JdbmMasterTable master = new JdbmMasterTable( recMan );
AttributeType attributeType =
bootstrapRegistries.getAttributeTypeRegistry( )
.lookup(
"apacheUpdn" );
JdbmIndex idIndex = new JdbmIndex( attributeType,
partitionDirectory, 1000, 1000 );
NamingEnumeration list = master.listTuples( );
StringBuffer buf = new StringBuffer( );
while ( list.hasMore( ) )
<snip>
This code is very similar to my old DS 1.0 code and is a match to the code in
1.5 server-tools:dumpcmd:DumpCommandExecutor.java
How do I get a reference to boostrapRegistries in an running, embedded
directory?
Doing this throws an exception:
Registries bootstrapRegistries = new DefaultRegistries(
"bootstrap",
new BootstrapSchemaLoader(), new DefaultOidRegistry() );
javax.naming.NamingException: OID for name 'apacheUpdn' was not found within
the OID registry
at
org.apache.directory.server.schema.registries.DefaultOidRegistry.getOid(DefaultOidRegistry.java:113)
at
org.apache.directory.server.schema.registries.DefaultAttributeTypeRegistry.lookup(DefaultAttributeTypeRegistry.java:156)
<snip>
Many Thanks
Simon Temple