Details

      Description

      it should be possible to use sub-groups of conversation groups to allow an even more fine grained control.
      since it's a completely new concept we have to design it from scratch and check it it makes sense to introduce the overhead.

        Activity

        Hide
        Gerhard Petracek added a comment - - edited

        we can also support implicit groups - e.g.:

        public class MyGroup{}

        @ConversationScoped
        @ConversationGroup(MyGroup.class)
        public class BeanA implements WizardA {}

        @ConversationScoped
        @ConversationGroup(MyGroup.class)
        public class BeanB implements WizardA {}

        @ConversationScoped
        @ConversationGroup(MyGroup.class)
        public class BeanC implements WizardB {}

        @ConversationSubGroup(WizardA.class)
        public class MySubGroup extends MyGroup {}

        //...
        this.windowContext.closeConversation(MySubGroup.class)
        //...

        ... so it's easy to create logical groups and it isn't required to list all beans manually.

        continues at EXTCDI-207

        Show
        Gerhard Petracek added a comment - - edited we can also support implicit groups - e.g.: public class MyGroup{} @ConversationScoped @ConversationGroup(MyGroup.class) public class BeanA implements WizardA {} @ConversationScoped @ConversationGroup(MyGroup.class) public class BeanB implements WizardA {} @ConversationScoped @ConversationGroup(MyGroup.class) public class BeanC implements WizardB {} @ConversationSubGroup(WizardA.class) public class MySubGroup extends MyGroup {} //... this.windowContext.closeConversation(MySubGroup.class) //... ... so it's easy to create logical groups and it isn't required to list all beans manually. continues at EXTCDI-207
        Hide
        Jakob Korherr added a comment -

        sounds useful!

        Show
        Jakob Korherr added a comment - sounds useful!
        Hide
        Gerhard Petracek added a comment - - edited

        we could provide something like:

        public class MyGroup{}

        @ConversationScoped
        @ConversationGroup(MyGroup.class)
        public class BeanA {}

        @ConversationScoped
        @ConversationGroup(MyGroup.class)
        public class BeanB {}

        @ConversationScoped
        @ConversationGroup(MyGroup.class)
        public class BeanC {}

        @ConversationSubGroup(subGroup =

        {BeanA.class, BeanB.class})
        public class MySubGroup extends MyGroup {}

        //...
        this.windowContext.closeConversation(MySubGroup.class)
        //...

        -> only BeanA and BeanB will be un-scoped. the conversation as well as BeanC will continue to exist.

        as an alternative it's also possible to use:

        @ConversationSubGroup(of = MyGroup.class, subGroup = {BeanA.class, BeanB.class}

        )
        public class MySubGroup {}

        pro: more explicit
        con: more difficult to find subgroups (with extends the ide support is better because "find usages" will show more than just the sub-groups

        Show
        Gerhard Petracek added a comment - - edited we could provide something like: public class MyGroup{} @ConversationScoped @ConversationGroup(MyGroup.class) public class BeanA {} @ConversationScoped @ConversationGroup(MyGroup.class) public class BeanB {} @ConversationScoped @ConversationGroup(MyGroup.class) public class BeanC {} @ConversationSubGroup(subGroup = {BeanA.class, BeanB.class}) public class MySubGroup extends MyGroup {} //... this.windowContext.closeConversation(MySubGroup.class) //... -> only BeanA and BeanB will be un-scoped. the conversation as well as BeanC will continue to exist. as an alternative it's also possible to use: @ConversationSubGroup(of = MyGroup.class, subGroup = {BeanA.class, BeanB.class} ) public class MySubGroup {} pro: more explicit con: more difficult to find subgroups (with extends the ide support is better because "find usages" will show more than just the sub-groups

          People

          • Assignee:
            Gerhard Petracek
            Reporter:
            Gerhard Petracek
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development