| 1 | package sh.okx.rankup.serialization; | |
| 2 | ||
| 3 | import com.electronwill.nightconfig.core.UnmodifiableConfig; | |
| 4 | import com.electronwill.nightconfig.core.UnmodifiableConfig.Entry; | |
| 5 | import java.util.ArrayList; | |
| 6 | import java.util.Collections; | |
| 7 | import java.util.HashMap; | |
| 8 | import java.util.List; | |
| 9 | import java.util.Map; | |
| 10 | ||
| 11 | public class ShadowDeserializer { | |
| 12 | ||
| 13 | public static List<RankSerialized> deserialize(UnmodifiableConfig ranks) { | |
| 14 | List<RankSerialized> ranksList = new ArrayList<>(ranks.size()); | |
| 15 | for (Entry entry : ranks.entrySet()) { | |
| 16 | UnmodifiableConfig value = entry.getValue(); | |
| 17 |
1
1. deserialize : negated conditional → KILLED |
if (value == null) continue; |
| 18 | String rank = value.get("rank"); | |
| 19 | String next = value.get("next"); | |
| 20 | String displayName = value.get("display-name"); | |
| 21 | List<String> commands = value.getOrElse("commands", Collections.emptyList()); | |
| 22 | List<String> requirements; | |
| 23 | Map<String, List<String>> prestigeRequirements; | |
| 24 | Object requirementsObject = value.get("requirements"); | |
| 25 |
1
1. deserialize : negated conditional → KILLED |
if (requirementsObject instanceof UnmodifiableConfig) { |
| 26 | requirements = null; | |
| 27 | UnmodifiableConfig requirementsConfig = (UnmodifiableConfig) requirementsObject; | |
| 28 | prestigeRequirements = new HashMap<>(requirementsConfig.size()); | |
| 29 | for (Entry requirementEntry : requirementsConfig.entrySet()) { | |
| 30 | prestigeRequirements.put(requirementEntry.getKey(), requirementEntry.getValue()); | |
| 31 | } | |
| 32 | } else { | |
| 33 | prestigeRequirements = null; | |
| 34 |
1
1. deserialize : negated conditional → KILLED |
if (requirementsObject instanceof String) { |
| 35 | requirements = Collections.singletonList((String) requirementsObject); | |
| 36 |
1
1. deserialize : negated conditional → KILLED |
} else if (requirementsObject instanceof List) { |
| 37 | requirements = (List<String>) requirementsObject; | |
| 38 | } else { | |
| 39 | requirements = Collections.emptyList(); | |
| 40 | } | |
| 41 | } | |
| 42 | ||
| 43 | UnmodifiableConfig messagesConfig = value.get("rankup"); | |
| 44 | Map<String, String> messages; | |
| 45 |
1
1. deserialize : negated conditional → KILLED |
if (messagesConfig != null) { |
| 46 | messages = new HashMap<>(); | |
| 47 |
1
1. deserialize : removed call to sh/okx/rankup/serialization/ShadowDeserializer::updateMap → KILLED |
updateMap(messages, messagesConfig, "rankup."); |
| 48 | } else { | |
| 49 | messages = Collections.emptyMap(); | |
| 50 | } | |
| 51 | ||
| 52 | ranksList.add(new RankSerialized(rank, next, displayName, commands, requirements, prestigeRequirements, messages)); | |
| 53 | } | |
| 54 |
1
1. deserialize : replaced return value with Collections.emptyList for sh/okx/rankup/serialization/ShadowDeserializer::deserialize → KILLED |
return ranksList; |
| 55 | } | |
| 56 | ||
| 57 | private static void updateMap(Map<String, String> map, UnmodifiableConfig config, String prefix) { | |
| 58 | for (Entry message : config.entrySet()) { | |
| 59 | Object value = message.getValue(); | |
| 60 |
1
1. updateMap : negated conditional → KILLED |
if (value != null) { |
| 61 |
1
1. updateMap : negated conditional → KILLED |
if (value instanceof UnmodifiableConfig) { |
| 62 |
1
1. updateMap : removed call to sh/okx/rankup/serialization/ShadowDeserializer::updateMap → KILLED |
updateMap(map, (UnmodifiableConfig) value, prefix + message.getKey() + "."); |
| 63 | } else { | |
| 64 | map.put(prefix + message.getKey(), String.valueOf(value)); | |
| 65 | } | |
| 66 | } | |
| 67 | } | |
| 68 | } | |
| 69 | } | |
Mutations | ||
| 17 |
1.1 |
|
| 25 |
1.1 |
|
| 34 |
1.1 |
|
| 36 |
1.1 |
|
| 45 |
1.1 |
|
| 47 |
1.1 |
|
| 54 |
1.1 |
|
| 60 |
1.1 |
|
| 61 |
1.1 |
|
| 62 |
1.1 |