directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <>
Subject [Schema Refactoring] Current status
Date Sun, 27 Sep 2009 23:57:36 GMT
Hi guys,

last week, I was doing some good progress. Last sunday (which is 
yesturday for those who read this mail on monday), I hit a wall when I 
was trying to fix the few remaining bugs : some missing code to manage 
schema update (Alex kindly added some @TODO elecharny in two places in 
the code ;)

What happened is that when disabling or enabling a schema, we have to 
disable or enable all of its associated elements (AT,,OC, etc). There 
are two ways to do that.
- First, brute force. We read each registry, and for each registry, we 
pick each schemaObject, and check if it's associated with the schema to 
enable/disable. Quite subtile ...
- Second, a lighter solution. The idea is to have each schemaObject 
directly associated with its schema. This is the way I have picked, of 
course. That leadd to some complication, as each schemaObject 
addition/deletion/move as to be reflected in this association.

Typically, I had to add a <SchemaName, List<SchemaObject>> map which 
associates a schema with all of its declared SchemaObject. But that not 
that simple, as this data structure is stored in the Registries, which 
is not accessible by each SchemaObject. Long story short : a hell of 
refactoring to do.

I'm not totally done with that, as I also had to refactor all the 
synchronizers, but getting close.

I hope it's the last wall I will hit !

cordialement, regards,
Emmanuel L├ęcharny

View raw message