本文整理汇总了Java中org.apache.directory.server.core.DefaultDirectoryService.startup方法的典型用法代码示例。如果您正苦于以下问题:Java DefaultDirectoryService.startup方法的具体用法?Java DefaultDirectoryService.startup怎么用?Java DefaultDirectoryService.startup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.directory.server.core.DefaultDirectoryService
的用法示例。
在下文中一共展示了DefaultDirectoryService.startup方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: newEmbeddedServer
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
public static EmbeddedLdapServer newEmbeddedServer(String defaultPartitionName, String defaultPartitionSuffix, int port)
throws Exception{
workingDirectory = new File(System.getProperty("java.io.tmpdir") + "/apacheds-test1");
FileUtils.deleteDirectory(workingDirectory);
DefaultDirectoryService directoryService = new DefaultDirectoryService();
directoryService.setShutdownHookEnabled(true);
directoryService.setAllowAnonymousAccess(true);
directoryService.setWorkingDirectory(workingDirectory);
directoryService.getChangeLog().setEnabled( false );
JdbmPartition partition = new JdbmPartition();
partition.setId(defaultPartitionName);
partition.setSuffix(defaultPartitionSuffix);
directoryService.addPartition(partition);
directoryService.startup();
// Inject the apache root entry if it does not already exist
if ( !directoryService.getAdminSession().exists( partition.getSuffixDn() ) )
{
ServerEntry entry = directoryService.newEntry(new LdapDN(defaultPartitionSuffix));
entry.add("objectClass", "top", "domain", "extensibleObject");
entry.add("dc", defaultPartitionName);
directoryService.getAdminSession().add( entry );
}
LdapServer ldapServer = new LdapServer();
ldapServer.setDirectoryService(directoryService);
TcpTransport ldapTransport = new TcpTransport(port);
ldapServer.setTransports( ldapTransport );
ldapServer.start();
return new EmbeddedLdapServer(directoryService, ldapServer);
}
示例2: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
private void initDirectoryService() throws Exception {
ds = new DefaultDirectoryService();
ds.setInstanceLayout(new InstanceLayout(workDir));
CacheService cacheService = new CacheService();
ds.setCacheService(cacheService);
// first load the schema
InstanceLayout instanceLayout = ds.getInstanceLayout();
File schemaPartitionDirectory = new File(
instanceLayout.getPartitionsDirectory(), "schema");
SchemaLdifExtractor extractor = new DefaultSchemaLdifExtractor(
instanceLayout.getPartitionsDirectory());
extractor.extractOrCopy();
SchemaLoader loader = new LdifSchemaLoader(schemaPartitionDirectory);
SchemaManager schemaManager = new DefaultSchemaManager(loader);
schemaManager.loadAllEnabled();
ds.setSchemaManager(schemaManager);
// Init the LdifPartition with schema
LdifPartition schemaLdifPartition = new LdifPartition(schemaManager);
schemaLdifPartition.setPartitionPath(schemaPartitionDirectory.toURI());
// The schema partition
SchemaPartition schemaPartition = new SchemaPartition(schemaManager);
schemaPartition.setWrappedPartition(schemaLdifPartition);
ds.setSchemaPartition(schemaPartition);
JdbmPartition systemPartition = new JdbmPartition(ds.getSchemaManager());
systemPartition.setId("system");
systemPartition.setPartitionPath(new File(
ds.getInstanceLayout().getPartitionsDirectory(),
systemPartition.getId()).toURI());
systemPartition.setSuffixDn(new Dn(ServerDNConstants.SYSTEM_DN));
systemPartition.setSchemaManager(ds.getSchemaManager());
ds.setSystemPartition(systemPartition);
ds.getChangeLog().setEnabled(false);
ds.setDenormalizeOpAttrsEnabled(true);
ds.addLast(new KeyDerivationInterceptor());
// create one partition
String orgName= conf.getProperty(ORG_NAME).toLowerCase(Locale.ENGLISH);
String orgDomain = conf.getProperty(ORG_DOMAIN).toLowerCase(Locale.ENGLISH);
JdbmPartition partition = new JdbmPartition(ds.getSchemaManager());
partition.setId(orgName);
partition.setPartitionPath(new File(
ds.getInstanceLayout().getPartitionsDirectory(), orgName).toURI());
partition.setSuffixDn(new Dn("dc=" + orgName + ",dc=" + orgDomain));
ds.addPartition(partition);
// indexes
Set<Index<?, ?, String>> indexedAttributes = new HashSet<Index<?, ?, String>>();
indexedAttributes.add(new JdbmIndex<String, Entry>("objectClass", false));
indexedAttributes.add(new JdbmIndex<String, Entry>("dc", false));
indexedAttributes.add(new JdbmIndex<String, Entry>("ou", false));
partition.setIndexedAttributes(indexedAttributes);
// And start the ds
ds.setInstanceId(conf.getProperty(INSTANCE));
ds.startup();
// context entry, after ds.startup()
Dn dn = new Dn("dc=" + orgName + ",dc=" + orgDomain);
Entry entry = ds.newEntry(dn);
entry.add("objectClass", "top", "domain");
entry.add("dc", orgName);
ds.getAdminSession().add(entry);
}
示例3: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
private void initDirectoryService() throws Exception {
ds = new DefaultDirectoryService();
ds.setInstanceLayout(new InstanceLayout(workDir));
CacheService cacheService = new CacheService();
ds.setCacheService(cacheService);
// first load the schema
InstanceLayout instanceLayout = ds.getInstanceLayout();
File schemaPartitionDirectory = new File(instanceLayout.getPartitionsDirectory(), "schema");
SchemaLdifExtractor extractor = new DefaultSchemaLdifExtractor(instanceLayout.getPartitionsDirectory());
extractor.extractOrCopy();
SchemaLoader loader = new LdifSchemaLoader(schemaPartitionDirectory);
SchemaManager schemaManager = new DefaultSchemaManager(loader);
schemaManager.loadAllEnabled();
ds.setSchemaManager(schemaManager);
// Init the LdifPartition with schema
LdifPartition schemaLdifPartition = new LdifPartition(schemaManager);
schemaLdifPartition.setPartitionPath(schemaPartitionDirectory.toURI());
// The schema partition
SchemaPartition schemaPartition = new SchemaPartition(schemaManager);
schemaPartition.setWrappedPartition(schemaLdifPartition);
ds.setSchemaPartition(schemaPartition);
JdbmPartition systemPartition = new JdbmPartition(ds.getSchemaManager());
systemPartition.setId("system");
systemPartition.setPartitionPath(
new File(ds.getInstanceLayout().getPartitionsDirectory(), systemPartition.getId()).toURI());
systemPartition.setSuffixDn(new Dn(ServerDNConstants.SYSTEM_DN));
systemPartition.setSchemaManager(ds.getSchemaManager());
ds.setSystemPartition(systemPartition);
ds.getChangeLog().setEnabled(false);
ds.setDenormalizeOpAttrsEnabled(true);
ds.addLast(new KeyDerivationInterceptor());
// create one partition
String orgName = conf.getProperty(ORG_NAME).toLowerCase(Locale.ENGLISH);
String orgDomain = conf.getProperty(ORG_DOMAIN).toLowerCase(Locale.ENGLISH);
JdbmPartition partition = new JdbmPartition(ds.getSchemaManager());
partition.setId(orgName);
partition.setPartitionPath(new File(ds.getInstanceLayout().getPartitionsDirectory(), orgName).toURI());
partition.setSuffixDn(new Dn("dc=" + orgName + ",dc=" + orgDomain));
ds.addPartition(partition);
// indexes
Set<Index<?, ?, String>> indexedAttributes = new HashSet<Index<?, ?, String>>();
indexedAttributes.add(new JdbmIndex<String, Entry>("objectClass", false));
indexedAttributes.add(new JdbmIndex<String, Entry>("dc", false));
indexedAttributes.add(new JdbmIndex<String, Entry>("ou", false));
partition.setIndexedAttributes(indexedAttributes);
// And start the ds
ds.setInstanceId(conf.getProperty(INSTANCE));
ds.startup();
// context entry, after ds.startup()
Dn dn = new Dn("dc=" + orgName + ",dc=" + orgDomain);
Entry entry = ds.newEntry(dn);
entry.add("objectClass", "top", "domain");
entry.add("dc", orgName);
ds.getAdminSession().add(entry);
}
示例4: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
/**
* Initialize the server. It creates the partition, injects the context
* entries for the created partitions, and loads an LDIF file (
* {@link #ldifLoadFile}) for initial entries.
*
* @param workDir
* the directory to be used for storing the data
* @throws Exception
* if there were some problems while initializing the system
*/
private void initDirectoryService(File workDir) throws Exception {
// Initialize the LDAP service
service = new DefaultDirectoryService();
service.setWorkingDirectory(workDir);
// first load the schema
initSchemaPartition();
// then the system partition
// this is a MANDATORY partition
Partition systemPartition = addPartition("system",
ServerDNConstants.SYSTEM_DN);
service.setSystemPartition(systemPartition);
// create the partition for testing
Partition testingPartition = addPartition("ldapTesting",
"ou=ldapTesting,dc=pune,dc=gemstone,dc=com");
// Disable the shutdown hook
service.setShutdownHookEnabled(false);
// Disable the ChangeLog system
service.getChangeLog().setEnabled(false);
service.setDenormalizeOpAttrsEnabled(true);
// And start the service
service.startup();
// inject the entry for testing
if (!service.getAdminSession().exists(testingPartition.getSuffixDn())) {
DN dnTesting = new DN("ou=ldapTesting,dc=pune,dc=gemstone,dc=com");
ServerEntry entryTesting = service.newEntry(dnTesting);
entryTesting.add("objectClass", "top", "domain", "extensibleObject");
entryTesting.add("dc", "pune");
service.getAdminSession().add(entryTesting);
}
// load schema from LDIF
if (ldifLoadFile != null) {
LdifFileLoader ldifLoader = new LdifFileLoader(
service.getAdminSession(), ldifLoadFile);
int numLoaded = ldifLoader.execute();
if (numLoaded <= 0) {
throw new Exception(
"Failed to load any entries from " + ldifLoadFile);
} else {
System.out.println(
"LDAP loaded " + numLoaded + " entries from " + ldifLoadFile);
}
}
}
示例5: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
/**
* Initialize the server. It creates the partition, adds the index, and
* injects the context entries for the created partitions.
*
* @param workDir the directory to be used for storing the data
* @throws Exception if there were some problems while initializing
*/
private void initDirectoryService(final ServletContext servletContext,
final File workDir)
throws Exception {
// Initialize the LDAP service
service = new DefaultDirectoryService();
service.setWorkingDirectory(workDir);
// first load the schema
initSchemaPartition(servletContext);
// then the system partition
// this is a MANDATORY partition
Partition systemPartition = addPartition("system",
ServerDNConstants.SYSTEM_DN);
service.setSystemPartition(systemPartition);
// Disable the ChangeLog system
service.getChangeLog().setEnabled(false);
service.setDenormalizeOpAttrsEnabled(true);
// Now we can create as many partitions as we need
Partition ispPartition = addPartition("isp", "o=isp");
addIndex(ispPartition, "objectClass", "ou", "uid");
// And start the service
service.startup();
// Inject the foo root entry if it does not already exist
try {
service.getAdminSession().lookup(ispPartition.getSuffixDn());
} catch (LdapException lnnfe) {
DN dnIsp = new DN("o=isp");
ServerEntry rootEntry = service.newEntry(dnIsp);
rootEntry.add("objectClass", "top", "organization");
rootEntry.add("o", "isp");
service.getAdminSession().add(rootEntry);
DN dnPeople = new DN("ou=People,o=isp");
ServerEntry peopleEntry = service.newEntry(dnPeople);
peopleEntry.add("objectClass", "top", "organizationalUnit");
peopleEntry.add("ou", "People");
service.getAdminSession().add(peopleEntry);
}
}
示例6: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
/**
* Initialize the server. It creates the partition, adds the index, and injects the context entries for the created
* partitions.
*
* @param workDir the directory to be used for storing the data
* @param loadDefaultContent if default content should be loaded
* @throws Exception if there were some problems while initializing
*/
private void initDirectoryService(final ServletContext servletContext, final File workDir,
final boolean loadDefaultContent) throws Exception {
// Initialize the LDAP service
service = new DefaultDirectoryService();
service.setInstanceLayout(new InstanceLayout(workDir));
CacheService cacheService = new CacheService();
cacheService.initialize(service.getInstanceLayout());
service.setCacheService(cacheService);
// first load the schema
initSchemaPartition();
// then the system partition
// this is a MANDATORY partition
// DO NOT add this via addPartition() method, trunk code complains about duplicate partition
// while initializing
JdbmPartition systemPartition = new JdbmPartition(service.getSchemaManager(), service.getDnFactory());
systemPartition.setId("system");
systemPartition.setPartitionPath(
new File(service.getInstanceLayout().getPartitionsDirectory(), systemPartition.getId()).toURI());
systemPartition.setSuffixDn(new Dn(ServerDNConstants.SYSTEM_DN));
systemPartition.setSchemaManager(service.getSchemaManager());
// mandatory to call this method to set the system partition
// Note: this system partition might be removed from trunk
service.setSystemPartition(systemPartition);
// Disable the ChangeLog system
service.getChangeLog().setEnabled(false);
service.setDenormalizeOpAttrsEnabled(true);
// Now we can create as many partitions as we need
Partition ispPartition = addPartition("isp", "o=isp", service.getDnFactory());
// Index some attributes on the apache partition
addIndex(ispPartition, "objectClass", "ou", "uid");
// And start the service
service.startup();
if (loadDefaultContent) {
Resource contentLdif = WebApplicationContextUtils.getWebApplicationContext(servletContext).
getResource("classpath:/content.ldif");
LdifInputStreamLoader contentLoader = new LdifInputStreamLoader(service.getAdminSession(),
contentLdif.getInputStream());
int numEntries = contentLoader.execute();
LOG.info("Successfully created {} entries", numEntries);
}
}
示例7: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
private void initDirectoryService() throws Exception {
ds = new DefaultDirectoryService();
ds.setInstanceLayout(new InstanceLayout(workDir));
CacheService cacheService = new CacheService();
ds.setCacheService(cacheService);
// first load the schema
InstanceLayout instanceLayout = ds.getInstanceLayout();
File schemaPartitionDirectory = new File(
instanceLayout.getPartitionsDirectory(), "schema");
SchemaLdifExtractor extractor = new DefaultSchemaLdifExtractor(
instanceLayout.getPartitionsDirectory());
extractor.extractOrCopy();
SchemaLoader loader = new LdifSchemaLoader(schemaPartitionDirectory);
SchemaManager schemaManager = new DefaultSchemaManager(loader);
schemaManager.loadAllEnabled();
ds.setSchemaManager(schemaManager);
// Init the LdifPartition with schema
LdifPartition schemaLdifPartition = new LdifPartition(schemaManager);
schemaLdifPartition.setPartitionPath(schemaPartitionDirectory.toURI());
// The schema partition
SchemaPartition schemaPartition = new SchemaPartition(schemaManager);
schemaPartition.setWrappedPartition(schemaLdifPartition);
ds.setSchemaPartition(schemaPartition);
JdbmPartition systemPartition = new JdbmPartition(ds.getSchemaManager());
systemPartition.setId("system");
systemPartition.setPartitionPath(new File(
ds.getInstanceLayout().getPartitionsDirectory(),
systemPartition.getId()).toURI());
systemPartition.setSuffixDn(new Dn(ServerDNConstants.SYSTEM_DN));
systemPartition.setSchemaManager(ds.getSchemaManager());
ds.setSystemPartition(systemPartition);
ds.getChangeLog().setEnabled(false);
ds.setDenormalizeOpAttrsEnabled(true);
ds.addLast(new KeyDerivationInterceptor());
// create one partition
String orgName= conf.getProperty(ORG_NAME).toLowerCase();
String orgDomain = conf.getProperty(ORG_DOMAIN).toLowerCase();
JdbmPartition partition = new JdbmPartition(ds.getSchemaManager());
partition.setId(orgName);
partition.setPartitionPath(new File(
ds.getInstanceLayout().getPartitionsDirectory(), orgName).toURI());
partition.setSuffixDn(new Dn("dc=" + orgName + ",dc=" + orgDomain));
ds.addPartition(partition);
// indexes
Set<Index<?, ?, String>> indexedAttributes = new HashSet<Index<?, ?, String>>();
indexedAttributes.add(new JdbmIndex<String, Entry>("objectClass", false));
indexedAttributes.add(new JdbmIndex<String, Entry>("dc", false));
indexedAttributes.add(new JdbmIndex<String, Entry>("ou", false));
partition.setIndexedAttributes(indexedAttributes);
// And start the ds
ds.setInstanceId(conf.getProperty(INSTANCE));
ds.startup();
// context entry, after ds.startup()
Dn dn = new Dn("dc=" + orgName + ",dc=" + orgDomain);
Entry entry = ds.newEntry(dn);
entry.add("objectClass", "top", "domain");
entry.add("dc", orgName);
ds.getAdminSession().add(entry);
}
示例8: initDirectoryService
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
/**
* Initialize the server. It creates the partition, adds the index, and
* injects the context entries for the created partitions.
*
* @param workDir the directory to be used for storing the data
* @throws Exception if there were some problems while initializing the system
*/
private void initDirectoryService(File workDir) throws Exception {
// Initialize the LDAP service
service = new DefaultDirectoryService();
service.setWorkingDirectory(workDir);
// first load the schema
initSchemaPartition();
// then the system partition
// this is a MANDATORY partition
Partition systemPartition = addPartition("system", ServerDNConstants.SYSTEM_DN);
service.setSystemPartition(systemPartition);
// Disable the ChangeLog system
service.getChangeLog().setEnabled(false);
service.setDenormalizeOpAttrsEnabled(true);
// Now we can create as many partitions as we need
// Create some new partitions named 'foo', 'bar' and 'apache'.
Partition fooPartition = addPartition("foo", "dc=foo,dc=com");
// Index some attributes on the apache partition
addIndex(fooPartition, "objectClass", "ou", "uid");
// And start the service
service.startup();
DN dnFoo = new DN("dc=foo,dc=com");
ServerEntry entryFoo = service.newEntry(dnFoo);
entryFoo.add("objectClass", "top", "domain", "extensibleObject");
entryFoo.add("dc", "foo");
service.getAdminSession().add(entryFoo);
DN usersDN=new DN("ou=users,dc=foo,dc=com");
ServerEntry usersEntry=service.newEntry(usersDN);
usersEntry.add("objectClass","organizationalUnit","top");
usersEntry.add("ou","users");
service.getAdminSession().add(usersEntry);
}
示例9: initializeDirectory
import org.apache.directory.server.core.DefaultDirectoryService; //导入方法依赖的package包/类
/**
* Initialize the server. It creates the partition, adds the index, and
* injects the context entries for the created partitions.
*
* @throws Exception if there were some problems while initializing the system
*/
protected void initializeDirectory() throws Exception {
workingDirectory.mkdirs();
service = new DefaultDirectoryService();
InstanceLayout il = new InstanceLayout(workingDirectory);
service.setInstanceLayout(il);
CacheService cacheService = new CacheService();
cacheService.initialize(service.getInstanceLayout());
service.setCacheService(cacheService);
initSchemaPartition();
// then the system partition
// this is a MANDATORY partition
// DO NOT add this via addPartition() method, trunk code complains about duplicate partition
// while initializing
JdbmPartition systemPartition = new JdbmPartition(service.getSchemaManager(), service.getDnFactory());
systemPartition.setId("system");
systemPartition.setPartitionPath(new File(service.getInstanceLayout().getPartitionsDirectory(), systemPartition.getId()).toURI());
systemPartition.setSuffixDn(new Dn(ServerDNConstants.SYSTEM_DN));
systemPartition.setSchemaManager(service.getSchemaManager());
// mandatory to call this method to set the system partition
// Note: this system partition might be removed from trunk
service.setSystemPartition(systemPartition);
// Disable the ChangeLog system
service.getChangeLog().setEnabled(false);
service.setDenormalizeOpAttrsEnabled(true);
Partition camundaPartition = addPartition("camunda", BASE_DN, service.getDnFactory());
addIndex(camundaPartition, "objectClass", "ou", "uid");
service.startup();
// Create the root entry
if (!service.getAdminSession().exists(camundaPartition.getSuffixDn())) {
Dn dn = new Dn(BASE_DN);
Entry entry = service.newEntry(dn);
entry.add("objectClass", "top", "domain", "extensibleObject");
entry.add("dc", "camunda");
service.getAdminSession().add(entry);
}
}