We can check "onDone" method was called with using getState() method. If getState()!=0 then resFlag!=0. Just look at code.
2017-02-17 17:12 GMT+03:00 Александр Меньшиков <sharple...@gmail.com>: > 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 >> > >