| | |
| | | |
| | | import static org.forgerock.opendj.ldap.schema.CoreSchema.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.SchemaUtils.getElementSchemaFile; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | import org.forgerock.opendj.ldap.SearchScope; |
| | | import org.forgerock.opendj.ldap.schema.AttributeType; |
| | | import org.forgerock.opendj.ldap.schema.ObjectClass; |
| | | import org.forgerock.opendj.ldap.schema.SchemaBuilder; |
| | | import org.forgerock.opendj.server.config.server.BackendCfg; |
| | | import org.opends.server.api.Backend; |
| | | import org.opends.server.controls.PagedResultsControl; |
| | |
| | | import org.opends.server.core.DirectoryServer; |
| | | import org.opends.server.core.ModifyDNOperation; |
| | | import org.opends.server.core.ModifyOperation; |
| | | import org.opends.server.core.SchemaHandler.SchemaUpdater; |
| | | import org.opends.server.core.SearchOperation; |
| | | import org.opends.server.core.ServerContext; |
| | | import org.opends.server.types.BackupConfig; |
| | |
| | | /** The map of null entry object classes. */ |
| | | private Map<ObjectClass,String> objectClasses; |
| | | |
| | | /** The server context. */ |
| | | private ServerContext serverContext; |
| | | |
| | | /** |
| | | * Creates a new backend with the provided information. All backend |
| | | * implementations must implement a default constructor that use |
| | |
| | | @Override |
| | | public void configureBackend(BackendCfg config, ServerContext serverContext) throws ConfigException |
| | | { |
| | | this.serverContext = serverContext; |
| | | if (config != null) |
| | | { |
| | | this.baseDNs = config.getBaseDN(); |
| | |
| | | objectClasses.put(getExtensibleObjectObjectClass(), "extensibleobject"); |
| | | |
| | | String nulOCName = "nullbackendobject"; |
| | | ObjectClass nulOC = DirectoryServer.getSchema().getObjectClass(nulOCName); |
| | | final ObjectClass nulOC = serverContext.getSchema().getObjectClass(nulOCName); |
| | | try { |
| | | DirectoryServer.getSchema().registerObjectClass(nulOC, getElementSchemaFile(nulOC), false); |
| | | serverContext.getSchemaHandler().updateSchema(new SchemaUpdater() |
| | | { |
| | | @Override |
| | | public void update(SchemaBuilder builder) throws DirectoryException |
| | | { |
| | | builder.buildObjectClass(nulOC); |
| | | } |
| | | }); |
| | | } catch (DirectoryException de) { |
| | | logger.traceException(de); |
| | | throw new InitializationException(de.getMessageObject()); |