tango-controls / JTango

TANGO kernel Java implementation. JTango moved to https://gitlab.com/tango-controls/JTango
http://tango-controls.org
8 stars 14 forks source link

Fix a NPE when cache is unavailable. Start polling on dynamic attribute event if created after initDevice() #43

Closed Pascal-Verdier closed 7 years ago

Pascal-Verdier commented 7 years ago

Fix a NPE when cache is unavailable. Start polling on dynamic attribute event if created after initDevice()

codecov[bot] commented 7 years ago

Codecov Report

Merging #43 into master will decrease coverage by <.01%. The diff coverage is 41.66%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master      #43      +/-   ##
============================================
- Coverage     25.49%   25.48%   -0.01%     
  Complexity     1502     1502              
============================================
  Files           301      301              
  Lines         20703    20710       +7     
  Branches       2341     2343       +2     
============================================
  Hits           5278     5278              
- Misses        14963    14969       +6     
- Partials        462      463       +1
Impacted Files Coverage Δ Complexity Δ
...in/java/org/tango/server/cache/PollingManager.java 46.82% <ø> (ø) 21 <0> (ø) :arrow_down:
...rg/tango/server/servant/AttributeGetterSetter.java 27.75% <0%> (-0.29%) 19 <0> (ø)
...java/org/tango/server/cache/TangoCacheManager.java 55.27% <0%> (-0.57%) 30 <0> (ø)
.../java/org/tango/server/dynamic/DynamicManager.java 46.21% <71.42%> (-0.8%) 11 <3> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update adea8ed...3c33d40. Read the comment docs.

Ingvord commented 7 years ago

I have made a few changes before merging this PR. Namely, a new exception class has been added - NoCacheFoundException. It is being thrown by TangoCacheManager#getAttributeCache method. This way this it is clearer to handle situations when cache is not found.