Menu

#673 JTangoServer : timestamp is overwritten by setValue() method of org.tango.server.attribute.AttributeValue

closed-fixed
None
Java API
5
2015-05-04
2014-06-19
No

Dear gwenaelle,
I had previously created the bug 672 for the same issue but I don't know why the bug issue in sourceforge is not readable nor editable. We get an error when we open it.

Anyway the problem I had is still there and it becomes urgent to solve. The AttributeValue instance I used to push archive event inside my java server, has a precise timeStamp which is not the System.currentTimeMillis(). In fact it is something in the past.

I went to your source code and discovered the following :
I discovered that the call to the method setTime (org.tango.server.attribute.AttributeValue) works fine.
The probleme is that the time member is ovewritten by the call to setValue() method. This is really a trap.

I suggest the follwing modification in your code (just add a test before setting the time) :

public void setValue(final Object value) throws DevFailed {
if (time == 0) time = System.currentTimeMillis();
...

I have a workaround : call setTime() after (and NOT BEFORE) calling setValue.

Could you please fix this problem?
Thank you in advance,
Faranguiss

Discussion

  • Gwenaelle Abeillé

    • status: open --> closed-fixed
     
  • Gwenaelle Abeillé

    fixed

     

Log in to post a comment.