Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.63 KB | None | 0 0
  1. package com.bmwfs.efinance.salesopportunity.configurationcache.control;
  2.  
  3. import com.bmwfs.efinance.salesopportunity.context.RequestContextParam;
  4.  
  5. import java.io.StringReader;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import java.util.Set;
  9.  
  10. import javax.json.Json;
  11. import javax.json.JsonObject;
  12. import javax.json.JsonReader;
  13.  
  14. class EnumStrategy implements Extractable {
  15.  
  16.     @Override
  17.     public Map<ConfigCacheKey, Map<String, String>> extract(String json, String fileName) {
  18.         Map<ConfigCacheKey, Map<String, String>> tempCache = new HashMap<>();
  19.  
  20.         try (JsonReader jsonReader = Json.createReader(new StringReader(json))) {
  21.             JsonObject jsonObject = jsonReader.readObject();
  22.             Set<String> languages = jsonObject.keySet();
  23.  
  24.             for (String language : languages) {
  25.                 JsonObject strippedJsonObject = jsonObject.getJsonObject(language);
  26.  
  27.                 Set<String> types = strippedJsonObject.keySet();
  28.                 for (String type : types) {
  29.                     strippedJsonObject = strippedJsonObject.getJsonObject(type);
  30.                     ConfigCacheKey key = ConfigCacheKey.getBuilder() //
  31.                             .cmbContext(RequestContextParam.getCmbContext()) //
  32.                             .language(language) //
  33.                             .fileName(fileName) //
  34.                             .type(type) //
  35.                             .build();
  36.                     Map<String, String> value = populateValueMap(strippedJsonObject);
  37.                     tempCache.put(key, value);
  38.                 }
  39.             }
  40.         }
  41.         return tempCache;
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement