Is it possible to break into two and have ThreadContextMap2 extend them both and maintain binary and API compatibility?
On 17 January 2017 at 11:28, Apache <ralph.go...@dslextreme.com> wrote: > Yes, at this point it is water under the bridge. Let’s just worry about #3. > > Ralph > > On Jan 17, 2017, at 9:33 AM, Mikael Ståldal <mikael.stal...@magine.com> > wrote: > > It will be hard to find a suitable name for ThreadContextMap2 since it > adds two unrelated things. Ideally it should be spitted into two > interfaces, but I guess that will be hard to do without breaking binary > compatibility. I suggest we leave it as it is. > > On Tue, Jan 17, 2017 at 4:40 PM, Matt Sicker <boa...@gmail.com> wrote: > >> Can we rename ThreadContextMap2 to something else, deprecate it, and have >> it extend the new interface? Or does that break compatibility? Because if >> we can fix the naming scheme while having "alias" interfaces stay in there >> (until a theoretical 3.x API), then it'd feel less dirty. >> >> Also, Java 8 would have made this a lot easier thanks to default methods. >> >> On 17 January 2017 at 03:14, Mikael Ståldal <mikael.stal...@magine.com> >> wrote: >> >>> BTW, shouldn't we have a putAllValues(final Map<String, V> map) in >>> ObjectThreadContextMap? >>> >>> On Tue, Jan 17, 2017 at 10:13 AM, Mikael Ståldal < >>> mikael.stal...@magine.com> wrote: >>> >>>> I think we named it ThreadContextMap3 since there was already an >>>> ThreadContextMap2 (which is part of 2.7, and we are stuck with it). >>>> >>>> I am fine with renaming it to CleanableThreadContextMap (doing it not). >>>> But I think it should still extend ThreadContextMap2 since it is not really >>>> independent of it. >>>> >>>> On Tue, Jan 17, 2017 at 1:09 AM, Remko Popma <remko.po...@gmail.com> >>>> wrote: >>>> >>>>> Also fine with renaming. >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On Jan 17, 2017, at 9:07, Remko Popma <remko.po...@gmail.com> wrote: >>>>> >>>>> I think it was originally standalone and changed to the current >>>>> extending interface after feedback on the mailing list. >>>>> >>>>> I'm fine with standalone interfaces and having the implementation >>>>> implement multiple interfaces. >>>>> >>>>> Remko >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On Jan 17, 2017, at 6:25, Matt Sicker <boa...@gmail.com> wrote: >>>>> >>>>> I agree on not extending interfaces. Some of the other context map >>>>> interfaces are standalone, and I don't see why TCM2 had to extend >>>>> anything. >>>>> >>>>> On 16 January 2017 at 15:16, Apache <ralph.go...@dslextreme.com> >>>>> wrote: >>>>> >>>>>> I presume it was named ThreadContextMap3 so there could be a >>>>>> ThreadContextMap4 since 3 extends 2 and 2 extends the first one. >>>>>> Frankly, >>>>>> I dislike this practice very, very much. Instead, each interface should >>>>>> be >>>>>> named as you suggest and NOT extend the prior interface. Instead, the >>>>>> implementation should declare that it implements each of these. >>>>>> >>>>>> Ralph >>>>>> >>>>>> On Jan 16, 2017, at 2:02 PM, Matt Sicker <boa...@gmail.com> wrote: >>>>>> >>>>>> Can we come up with a better name before we release this and get >>>>>> stuck with such a terrible interface name? All it adds is a >>>>>> removeAll(Iterable) method, so perhaps something like >>>>>> CleanableThreadContextMap or RemovableThreadContextMap. >>>>>> >>>>>> -- >>>>>> Matt Sicker <boa...@gmail.com> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Matt Sicker <boa...@gmail.com> >>>>> >>>>> >>>> >>>> >>>> -- >>>> [image: MagineTV] >>>> >>>> *Mikael Ståldal* >>>> Senior software developer >>>> >>>> *Magine TV* >>>> mikael.stal...@magine.com >>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>> >>>> Privileged and/or Confidential Information may be contained in this >>>> message. If you are not the addressee indicated in this message >>>> (or responsible for delivery of the message to such a person), you may >>>> not copy or deliver this message to anyone. In such case, >>>> you should destroy this message and kindly notify the sender by reply >>>> email. >>>> >>> >>> >>> >>> -- >>> [image: MagineTV] >>> >>> *Mikael Ståldal* >>> Senior software developer >>> >>> *Magine TV* >>> mikael.stal...@magine.com >>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>> >>> Privileged and/or Confidential Information may be contained in this >>> message. If you are not the addressee indicated in this message >>> (or responsible for delivery of the message to such a person), you may >>> not copy or deliver this message to anyone. In such case, >>> you should destroy this message and kindly notify the sender by reply >>> email. >>> >> >> >> >> -- >> Matt Sicker <boa...@gmail.com> >> > > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > mikael.stal...@magine.com > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > Privileged and/or Confidential Information may be contained in this > message. If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply > email. > > > -- Matt Sicker <boa...@gmail.com>