Currently when new Applications are launched using an AbstractAssembly through the use of .expand(...) and .clone(...), the Discriminators added to newly launched Applications are based on a single counter. This can be confusing when different types of Application, with the same DisplayName are launched.
For example: Launching a new application called "Foo" in an Assembly consisting of multiple (say 5) "Bar" applications would yield a "Foo" DisplayName of "Foo-6" being chosen, instead of say "Foo-1", which seems more intuitive.
Furthermore, launching an additional "Bar" application after the "Foo" application would yield a "Bar" DisplayName of "Bar-7", when say "Bar-6" would be expected.
The solution to this issue is to track and record Discriminator values for an Assembly based on the DisplayName, instead of a single counter.
Currently when new Applications are launched using an AbstractAssembly through the use of .expand(...) and .clone(...), the Discriminators added to newly launched Applications are based on a single counter. This can be confusing when different types of Application, with the same DisplayName are launched.
For example: Launching a new application called "Foo" in an Assembly consisting of multiple (say 5) "Bar" applications would yield a "Foo" DisplayName of "Foo-6" being chosen, instead of say "Foo-1", which seems more intuitive.
Furthermore, launching an additional "Bar" application after the "Foo" application would yield a "Bar" DisplayName of "Bar-7", when say "Bar-6" would be expected.
The solution to this issue is to track and record Discriminator values for an Assembly based on the DisplayName, instead of a single counter.