package com.sun.identity.shared.locale;

import com.sun.identity.shared.configuration.SystemPropertiesManager;
import java.util.ResourceBundle;
import java.util.StringTokenizer;

public class Locale {
   private static final String UNDERSCORE = "_";
   private static final String HYPHEN = "-";

   private static java.util.Locale getLocale(String stringformat) {
      if (stringformat == null) {
         return java.util.Locale.getDefault();
      }

      String lang = "";
      String country = "";
      String variant = "";
      StringTokenizer tk;
      if (stringformat.contains("-")) {
         tk = new StringTokenizer(stringformat, "-");
      } else {
         tk = new StringTokenizer(stringformat, "_");
      }

      if (tk.hasMoreTokens()) {
         lang = tk.nextToken();
      }

      if (tk.hasMoreTokens()) {
         country = tk.nextToken();
      }

      if (tk.hasMoreTokens()) {
         variant = tk.nextToken();
      }

      return java.util.Locale.of(lang, country, variant);
   }

   public static ResourceBundle getInstallResourceBundle(String bundle) {
      String loc = SystemPropertiesManager.get("com.iplanet.am.locale", "en_US");
      return ResourceBundle.getBundle(bundle, getLocale(loc));
   }
}
