1
1
package com .netflix .archaius .config ;
2
2
3
+ import com .netflix .archaius .api .Config ;
3
4
import com .netflix .archaius .api .PropertyDetails ;
4
5
5
6
import java .util .Iterator ;
@@ -27,9 +28,11 @@ public AbstractDependentConfig() {
27
28
28
29
@ Override
29
30
public Object getRawProperty (String key ) {
30
- Object value = getState ().getData ().get (key );
31
- if (getState ().getInstrumentedKeys ().containsKey (key )) {
32
- getState ().getInstrumentedKeys ().get (key ).recordUsage (createPropertyDetails (key , value ));
31
+ CachedState state = getState ();
32
+ Object value = state .getData ().get (key );
33
+ Config config = state .getInstrumentedKeys ().get (key );
34
+ if (config != null ) {
35
+ config .recordUsage (createPropertyDetails (key , value ));
33
36
}
34
37
return value ;
35
38
}
@@ -52,9 +55,11 @@ public Iterable<String> keys() {
52
55
53
56
@ Override
54
57
public void forEachProperty (BiConsumer <String , Object > consumer ) {
55
- getState ().getData ().forEach ((k , v ) -> {
56
- if (getState ().getInstrumentedKeys ().containsKey (k )) {
57
- getState ().getInstrumentedKeys ().get (k ).recordUsage (createPropertyDetails (k , v ));
58
+ CachedState state = getState ();
59
+ state .getData ().forEach ((k , v ) -> {
60
+ Config config = state .getInstrumentedKeys ().get (k );
61
+ if (config != null ) {
62
+ config .recordUsage (createPropertyDetails (k , v ));
58
63
}
59
64
consumer .accept (k , v );
60
65
});
@@ -77,8 +82,10 @@ public boolean isEmpty() {
77
82
78
83
@ Override
79
84
public void recordUsage (PropertyDetails propertyDetails ) {
80
- if (getState ().getInstrumentedKeys ().containsKey (propertyDetails .getKey ())) {
81
- getState ().getInstrumentedKeys ().get (propertyDetails .getKey ()).recordUsage (createPropertyDetails (propertyDetails .getKey (), propertyDetails .getValue ()));
85
+ CachedState state = getState ();
86
+ Config config = state .getInstrumentedKeys ().get (propertyDetails .getKey ());
87
+ if (config != null ) {
88
+ config .recordUsage (createPropertyDetails (propertyDetails .getKey (), propertyDetails .getValue ()));
82
89
}
83
90
}
84
91
0 commit comments