@@ -191,7 +191,7 @@ public CompletableFuture<Map<String, Object>> getAllValuesAsync(User user) {
191191 for (String key : keys ) {
192192 Setting setting = settings .get (key );
193193
194- SettingsValue evaluated = this .rolloutEvaluator .evaluate (setting , key , getEvaluateUser (user ), settings , new EvaluateLogger (this .clientLogLevel )).value ;
194+ SettingValue evaluated = this .rolloutEvaluator .evaluate (setting , key , getEvaluateUser (user ), settings , new EvaluateLogger (this .clientLogLevel )).value ;
195195 Object value = this .parseObject (this .classBySettingType (setting .getType ()), evaluated , setting .getType ());
196196 result .put (key , value );
197197 }
@@ -528,6 +528,8 @@ private <T> Map.Entry<String, T> getKeyAndValueFromSettingsMap(Class<T> classOfT
528528 return new AbstractMap .SimpleEntry <>(settingKey , (T ) this .parseObject (classOfT , percentageRule .getValue (), setting .getType ()));
529529 }
530530 }
531+ } else {
532+ throw new UnsupportedOperationException ("Targeting rule THEN part is missing or invalid." );
531533 }
532534 }
533535
@@ -546,16 +548,16 @@ private <T> Map.Entry<String, T> getKeyAndValueFromSettingsMap(Class<T> classOfT
546548 }
547549 }
548550
549- private Object parseObject (Class <?> classOfT , SettingsValue settingsValue , SettingType settingType ) {
551+ private Object parseObject (Class <?> classOfT , SettingValue settingValue , SettingType settingType ) {
550552 validateReturnType (classOfT );
551- if ((classOfT == String .class ) && settingsValue .getStringValue () != null && SettingType .STRING .equals (settingType )) {
552- return settingsValue .getStringValue ();
553- } else if ((classOfT == Integer .class || classOfT == int .class ) && settingsValue .getIntegerValue () != null && SettingType .INT .equals (settingType )) {
554- return settingsValue .getIntegerValue ();
555- } else if ((classOfT == Double .class || classOfT == double .class ) && settingsValue .getDoubleValue () != null && SettingType .DOUBLE .equals (settingType )) {
556- return settingsValue .getDoubleValue ();
557- } else if ((classOfT == Boolean .class || classOfT == boolean .class ) && settingsValue .getBooleanValue () != null && SettingType .BOOLEAN .equals (settingType )) {
558- return settingsValue .getBooleanValue ();
553+ if ((classOfT == String .class ) && settingValue .getStringValue () != null && SettingType .STRING .equals (settingType )) {
554+ return settingValue .getStringValue ();
555+ } else if ((classOfT == Integer .class || classOfT == int .class ) && settingValue .getIntegerValue () != null && SettingType .INT .equals (settingType )) {
556+ return settingValue .getIntegerValue ();
557+ } else if ((classOfT == Double .class || classOfT == double .class ) && settingValue .getDoubleValue () != null && SettingType .DOUBLE .equals (settingType )) {
558+ return settingValue .getDoubleValue ();
559+ } else if ((classOfT == Boolean .class || classOfT == boolean .class ) && settingValue .getBooleanValue () != null && SettingType .BOOLEAN .equals (settingType )) {
560+ return settingValue .getBooleanValue ();
559561 }
560562 throw new IllegalArgumentException ("The type of a setting must match the type of the specified default value. "
561563 + "Setting's type was {" + settingType + "} but the default value's type was {" + classOfT + "}. "
0 commit comments