Like I said, if "resFlag==0" (of course 0 came from initialization) means "you still haven't called the method onDone()", better make it clear.
2017-02-17 14:48 GMT+03:00 Vladislav Pyatkov <vldpyat...@gmail.com>: > Alexander, > > I think, the resFlag will be initiated as 0 (new GridFutureAdapter()), but > 1 and 2 states will be acquired on live. > > > On Fri, Feb 17, 2017 at 1:56 PM, Александр Меньшиков <sharple...@gmail.com > > > wrote: > > > Alexey, > > > > I see only one place where writes in resFlag: > > > > if (err != null) { > > resFlag = ERR; > > this.res = err; > > } > > else { > > resFlag = RES; > > this.res = res; > > } > > > > And the comparison with only two values: "ERR" and "RES". Except "assert > > resFlag != 0;". So if this "assert" protect from call "get0" before call > > "onDone" I think will be clearer to set some ready flag or use "enum" > type. > > And throw IllegalStateException if condition is false, because right now > > developer will not get clear error massage. > > > > 17 февр. 2017 г. 11:34 пользователь "Alexey Goncharuk" < > > alexey.goncha...@gmail.com> написал: > > > > Alexander, > > > > This change is not applicable for GridFutureAdapter because resFlag can > > have 3 values there. > > > > 2017-02-16 19:58 GMT+03:00 Александр Меньшиков <sharple...@gmail.com>: > > > > > Hello. > > > > > > I propose to do refactoring of classes "GridFinishedFuture" and > > > "GridFutureAdapter". There is field "resFlag" which can equals "ERR = > 1" > > or > > > "RES = 2". So I can replace it to one "bool haveResult" field. > > > > > > If there are no objections, I'm ready to proceed. If you find more such > > > classes, please write about them. > > > > > > > > > -- > Vladislav Pyatkov >