hi Cheong,

   As I have something ready for a similar case am sending the reply :)

Here is the sequence for creating a partition and adding the context entry

       JdbmPartition tcPartition = new JdbmPartition();
       tcPartition.setId("technetium");
       tcPartition.setCacheSize(1000);

       // Create some indices
Set<Index<?,ServerEntry>> indexedAttrs = new HashSet<Index<?, ServerEntry>>(); indexedAttrs.add( new JdbmIndex<Object, ServerEntry>("objectClass"));
       indexedAttrs.add( new JdbmIndex<Object, ServerEntry>("o"));
       tcPartition.setIndexedAttributes( indexedAttrs );

       //Add suffix
       tcPartition.setSuffix("dc=technetium,dc=com");
       tcPartition.init(directoryService);
       directoryService.addPartition(tcPartition);
ServerEntry entry = new DefaultServerEntry( directoryService.getRegistries(), new LdapDN( "dc=technetium,dc=com") ); entry.put(SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.TOP_OC, "domain" );
       entry.put("dc","technetium");
       entry.put("dc","com");
directoryService.startup();
       directoryService.getAdminSession().add( entry );

HTH
Kiran Ayyagari

Cheong Chung Onn wrote:
Hi Emmanuel,

My apologies for not providing more info. I received a LdapNameNotFoundException, this exception is triggered when i add an OperationContext to the partition nexus using - directoryService.getPartitionNexus().add(new AddOperationContext(directoryService.getAdminSession(), entry));


Would appreciate if you could help to validate the steps i did in creating a partition.

Thanks in advance.

Regards
chung-onn




org.apache.directory.shared.ldap.exception.LdapNameNotFoundException: dc=technetium,dc=com at org.apache.directory.server.core.partition.DefaultPartitionNexus.getPartition(DefaultPartitionNexus.java:1097) at org.apache.directory.server.core.partition.DefaultPartitionNexus.add(DefaultPartitionNexus.java:819) at com.greenfossil.platform.directory.EmbeddedApacheDSServer.createPartition(EmbeddedApacheDSServer.java:171) at com.greenfossil.platform.directory.EmbeddedApacheDSServer.startup(EmbeddedApacheDSServer.java:194) at com.greenfossil.platform.directory.EmbeddedApacheDSServerTest.testEmbeddedApacheDSServer(EmbeddedApacheDSServerTest.java:17)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
   at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
   at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
   at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
   at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
   at org.testng.TestRunner.runWorkers(TestRunner.java:712)
   at org.testng.TestRunner.privateRun(TestRunner.java:582)
   at org.testng.TestRunner.run(TestRunner.java:477)
   at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
   at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
   at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
   at org.testng.SuiteRunner.run(SuiteRunner.java:198)
   at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
   at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
   at org.testng.TestNG.run(TestNG.java:708)
   at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
   at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)


Emmanuel Lecharny wrote:
Hi,

Cheong Chung Onn wrote:
<snip/>
My problem seems to be I am unable to set the ServerEntry correctly during the creation of the partition. Also I realized that creating a partition can only be done after DirectoryService is started else the partitionNexus will not be initialized.
What is your problem, exactly ? Do you have a stack trace, or is this just that the partition can't be created ?

Thanks !


Reply via email to