You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lécharny <el...@gmail.com> on 2017/08/16 20:13:39 UTC

[Studio] value branch progress

Hi !


just a quick head up about what's going on in Studio Value branch (it's
the branch that uses the LDAP API and ApacheDS value branches).


- All the ApacheDS modules have been modified to have Export-Package and
Import-Package completed explicitely (which was quite a pain, as OSGi
error messages are pretty cryptic)

- I have Studio pretty much working, even if there are some few missing
things that I get fixed as I go (typiclaly, some missing Import-Package
in the various ApacheDS modules)

- I still have some tests failure in test.integration.core :


-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running
org.apache.directory.studio.test.integration.core.DirectoryApiConnectionWrapperTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.232
sec <<< FAILURE! - in
org.apache.directory.studio.test.integration.core.DirectoryApiConnectionWrapperTest
org.apache.directory.studio.test.integration.core.DirectoryApiConnectionWrapperTest 
Time elapsed: 1.227 sec  <<< ERROR!
java.lang.NoClassDefFoundError:
org/apache/directory/server/xdbm/search/Optimizer
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
    at
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at
org.apache.directory.server.core.factory.JdbmPartitionFactory.createPartition(JdbmPartitionFactory.java:50)
    at
org.apache.directory.server.core.factory.JdbmPartitionFactory.createPartition(JdbmPartitionFactory.java:39)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.initSystemPartition(DefaultDirectoryServiceFactory.java:228)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.build(DefaultDirectoryServiceFactory.java:257)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.init(DefaultDirectoryServiceFactory.java:125)
    at
org.apache.directory.server.core.integ.FrameworkRunner.run(FrameworkRunner.java:129)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)

Running
org.apache.directory.studio.test.integration.core.JNDIConnectionWrapperTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.608
sec <<< FAILURE! - in
org.apache.directory.studio.test.integration.core.JNDIConnectionWrapperTest
org.apache.directory.studio.test.integration.core.JNDIConnectionWrapperTest 
Time elapsed: 0.607 sec  <<< ERROR!
java.lang.NoClassDefFoundError:
org/apache/directory/server/xdbm/search/Optimizer
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
    at
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at
org.apache.directory.server.core.factory.JdbmPartitionFactory.createPartition(JdbmPartitionFactory.java:50)
    at
org.apache.directory.server.core.factory.JdbmPartitionFactory.createPartition(JdbmPartitionFactory.java:39)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.initSystemPartition(DefaultDirectoryServiceFactory.java:228)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.build(DefaultDirectoryServiceFactory.java:257)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.init(DefaultDirectoryServiceFactory.java:125)
    at
org.apache.directory.server.core.integ.FrameworkRunner.run(FrameworkRunner.java:129)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)

Running org.apache.directory.studio.test.integration.core.SchemaTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.512
sec <<< FAILURE! - in
org.apache.directory.studio.test.integration.core.SchemaTest
org.apache.directory.studio.test.integration.core.SchemaTest  Time
elapsed: 0.512 sec  <<< ERROR!
java.lang.NoClassDefFoundError:
org/apache/directory/server/xdbm/search/Optimizer
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
    at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
    at
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at
org.apache.directory.server.core.factory.JdbmPartitionFactory.createPartition(JdbmPartitionFactory.java:50)
    at
org.apache.directory.server.core.factory.JdbmPartitionFactory.createPartition(JdbmPartitionFactory.java:39)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.initSystemPartition(DefaultDirectoryServiceFactory.java:228)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.build(DefaultDirectoryServiceFactory.java:257)
    at
org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory.init(DefaultDirectoryServiceFactory.java:125)
    at
org.apache.directory.server.core.integ.FrameworkRunner.run(FrameworkRunner.java:129)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
    at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)


Results :

Tests in error:
  JUnit4Provider.invoke:124->executeTestSet:153->execute:264 »
NoClassDefFound o...
  JUnit4Provider.invoke:124->executeTestSet:153->execute:264 »
NoClassDefFound o...
  JUnit4Provider.invoke:124->executeTestSet:153->execute:264 »
NoClassDefFound o...

Tests run: 3, Failures: 0, Errors: 3, Skipped: 0

Not relly critical atm, but has to be fixed at some point


- I have changed the ApacheDS and Ldap API version scheme : 2.0.0.AM25
and 2.0.0.AM1 respectively. The direct consequence is that we don't need
anymore to have a bundleversion property in the pom.xml file and various
pom-first files : we use the 'version' property.

- I have added a TimeOut parameter in the connection widget, to be able
to tune it if necessary (typically, when debugging a LDAP server, you
need to keep the operation waiting for more than 30 seconds, the
default. At the moment, this parameter is stored in each connection, it
might  be a good idea to add this parameter in the LDAP browser
preferences (to be discussed)

- I'll probably change a bit the authentication tab in the connection
widget : there is no reason the SASL/Kerberos should be shown when one
hasn't selected either DIGEST-MD5/CRAM-MD5 or GSSAPI.

- Otherwise, I'm running the Sonar lint tool on the files I'm editing,
and I try to get the warning fixed as much as I can. One very
interesting addition in Java 8 is the lambda syntax, which makes it way
simpler to implement actions, like :

	tls.setHostnameVerifier( new HostnameVerifier()
	{
		public boolean verify( String hostname, SSLSession session )
		{
			return true;
		}
	} );

can be transformed in :

	tls.setHostnameVerifier( ( hostname, session ) -> true );

- The next step : I will try to complete the OpenLDAP config editor.


Note that all those modifications aren't incompatible with the current
runk, and I intent to port Stefan's update to the value branch. At some
point, this branch might become the N+2 version (as Stefan is most
certainly going to release Studio as is)


In any case, it's going to take some time, so keep tuned !


Thanks !

-- 

Emmanuel Lecharny

Symas.com
directory.apache.org