coherence-community / oracle-bedrock

Oracle Bedrock
Other
55 stars 31 forks source link

AbstractAssemblyBuilder should use AbstractAssembly to launch applications #399

Closed brianoliver closed 7 years ago

brianoliver commented 7 years ago

In the AssemblyBuilder.build(...) method, the AbstractAssemblyBuilder currently launches it's own collection (list) of applications and then constructs/adds them to an empty AbstractAssembly prior to the Assembly being returned. The challenge with this approach is that AbstractAssembly implementation effectively has no control over how/when the applications are launched. Any specialized behavior in the AbstractAssembly class, say for expanding an Assembly (including from being empty) is consequently avoided.

Instead the AbstractAssemblyBuilder should avoid launching the applications itself and preferably delegate the operation simply as an "expansion" of an empty AbstractAssembly, thus allowing an AbstractAssembly to control how/when the applications are launched. Following this approach would significantly simplify how/where the collections of Applications are added to AbstractAssemblies are built.

Making this change will change the public constructor of the AbstractAssembly, but this however, is an internal class.