Hi Emmanuel,
I think you're right. It's definitely a better idea.
You probably have a lot of objects of the original registry in use in
other classes or data structures.
Swapping registries means updating all the schema objects values
contained in the original registry which is kind of unnecessary
because most of these objects have no been modified at all.
So I think it definitely makes sense. Especially when i have in mind
the use the schema manager to rewrite the schema editor plugin for
Studio.
Using the registry swap would force us to do a lot of refresh in the
UI for almost nothing.
Regards,
P-A
On 23 nov. 2009, at 09:31, Emmanuel Lecharny <[email protected]>
wrote:
Hi,
when we modify the schema, for instance by adding a new AT, in order
not to break the current schema, we apply the modification to a
cloned Registries. So far, so good. And if the new registries is ok
with the newly added SchemaObject, we swap the registries.
Now, this create a dull issue : all the ServerEntry instances still
point to the previous registries, and as we clean the previous
registries to avoid memory leaks, all those instances now point to
non existing SchemaObjects (more specifically, each instance has
attributes which contain a reference to the AttributeType
schemaObject they are associated with) !
Question : how can we avoid this problem ? My idea is to apply the
modification to the initial registries once it has been proven that
the registries alteration leave the Regsitries consistent. We will
just clean the cloned registries, and don't swap anymore.
Does it sound good to you, or do you have any better idea ?
--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org