package com.airlock.iam.common.infrastructure.json;

import com.airlock.iam.base.misc.json.JsonCoding;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;

public class ResourceBundleToJson {
   public Map<String, Object> toJsonObject(ResourceBundle resourceBundle) {
      return this.toJsonObject(this.resourceBundleToMap(resourceBundle));
   }

   public Map<String, Object> toJsonObject(Map<String, String> map) {
      return JsonCoding.fromJson(ResourceBundleSerializer.serialize(map));
   }

   private Map<String, String> resourceBundleToMap(ResourceBundle bundle) {
      Map<String, String> bundleMap = new HashMap<>();

      for (String key : bundle.keySet()) {
         String value = bundle.getString(key);
         bundleMap.put(key, value);
      }

      return bundleMap;
   }
}
