Application Platform 10.11 | Developing with Application Platform in Designer | About Managing Project Dependencies | Bundle Publisher View | Bundle Publisher Dependency Graphs | Examples of Dependency Validation
 
Examples of Dependency Validation
The following examples describe cases, in which dependency validation is useful:
*Publishing a Bundle with Missing Dependency. Assume that you have the following bundles in the Bundle Publisher view: MyProject-A and MyProject-B. Neither of the bundles has been published to the server. MyProject-B has a dependency on MyProject-A and MyProject-A has a dependency on a package (com.softwareag.demo.c). The package is not exported by the project, nor by any bundle on the server. This represents a missing dependency. Attempts to publish MyProject-A will fail with an error message, because the package import is required.
The following table shows the imports package and the exports package for each bundle.
Imports Package
Exports Package
MyProject A
com.softwareag.demo.c
com.softwareag.demo.a
MyProject B
com.softwareag.demo.a
com.softwareag.demo.b
*Removing a Bundle that Provides a Dependency. Assume that you have the following bundles in the Bundle Publisher view: MyProject-A and MyProject-B. MyProject-B has a dependency on MyProject-A and both bundles are published to the server.
The following table shows the imports package and the exports package for each bundle.
Imports Package
Exports Package
MyProject A
com.softwareag.demo.a
MyProject B
com.softwareag.demo.a
com.softwareag.demo.b
If you clear MyProject-A for unpublishing from the server and perform validation, you will see a warning message. The warning states that the bundle you are attempting to remove has a dependency on MyProject-B.
*Circular Dependencies. Assume that you have the following bundles in the Bundle Publisher view: MyProject-A, MyProject-B, and MyProject-C. None of the bundles has been published to the server. MyProject-A has a dependency on MyProject-B and MyProject-B has a dependency on MyProject-C. MyProject-C has a dependency on MyProject-A. This represents a circular dependency. Attempts to publish these bundles will fail. If you select the bundles and perform validation, you will see a warning message, describing the following circular dependency: MyProject-C has a dependency on MyProject-B, which depends on MyProject-A, and MyProject-A depends on MyProject-B.
The following table shows the imports package and the exports package for each bundle.
Imports Package
Exports Package
MyProject A
com.softwareag.demo.b
com.softwareag.demo.a
MyProject B
com.softwareag.demo.c
com.softwareag.demo.b
MyProject C
com.softwareag.demo.a
com.softwareag.demo.c