mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
12.37.2007 429235331815195cfdc50ff1b0f31be270ed5eba
refs
author matthew_swift <matthew_swift@localhost>
Wednesday, September 12, 2007 01:37 +0200
committer matthew_swift <matthew_swift@localhost>
Wednesday, September 12, 2007 01:37 +0200
commit429235331815195cfdc50ff1b0f31be270ed5eba
tree 23f441c2f9729c3f54b9ecb58ec581383ab66861 tree | zip | gz
parent dd2cf8b7f3e871d7b493c96d9409ae30423a3cbb view | diff
Partial fix for issue 1449: improve server-side referential integrity support.

Previous to this change referential integrity was only enforced when a referencing (aggregating) component was added or modified. The support did not prevent a referenced component from being disabled or deleted. This change adds this remaining support:

* a component cannot be deleted if it is referenced by one or more components

* a component cannot be disabled if it is referenced by one or more components (it is possible to restrict this constraint so that it only applies when the referencing component(s) are enabled)

This implementation only enforces referential integrity for referencing components which have listeners associated with them. For example, if component A references component B, then referential integrity will only be enforced automatically if component A has a change listener registered against it, or if it is "added" using an add listener that was registered against its parent. In effect, referential integrity is only enforced for components which are in use or are about to be used.
5 files modified
1100 ■■■■ changed files
opends/src/messages/messages/admin.properties 16 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/admin/AggregationPropertyDefinition.java 307 ●●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/admin/MockLDAPProfile.java 2 ●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/admin/TestCfg.java 14 ●●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/admin/server/AggregationTest.java 761 ●●●● diff | view | raw | blame | history