/* * Copyright (c) 2010 Red Hat, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.ovirt.engine.api.common.util; import java.util.Map; import java.util.HashMap; /** * Mapping of "Windows Standard Format" timezone names to java.util.TimeZone format */ public class TimeZoneMapping { private static final Map<String, String> windowsToJava = new HashMap<String, String>(); private static final Map<String, String> javaToWindows = new HashMap<String, String>(); public static String getJava(String windows) { return windows != null ? windowsToJava.get(windows) : null; } public static String getWindows(String java) { return java != null ? javaToWindows.get(java) : null; } private static void add(String windows, String java) { windowsToJava.put(windows, java); javaToWindows.put(java, windows); } static { add("AUS Central Standard Time", "Australia/Darwin"); add("AUS Eastern Standard Time", "Australia/Sydney"); add("Afghanistan Standard Time", "Asia/Kabul"); add("Alaskan Standard Time", "America/Anchorage"); add("Arab Standard Time", "Asia/Riyadh"); add("Arabian Standard Time", "Asia/Dubai"); add("Arabic Standard Time", "Asia/Baghdad"); add("Argentina Standard Time", "America/Buenos_Aires"); add("Armenian Standard Time", "Asia/Yerevan"); add("Atlantic Standard Time", "America/Halifax"); add("Azerbaijan Standard Time", "Asia/Baku"); add("Azores Standard Time", "Atlantic/Azores"); add("Canada Central Standard Time", "America/Regina"); add("Cape Verde Standard Time", "Atlantic/Cape_Verde"); add("Caucasus Standard Time", "Asia/Yerevan"); add("Cen. Australia Standard Time", "Australia/Adelaide"); add("Central America Standard Time", "America/Guatemala"); add("Central Asia Standard Time", "Asia/Dhaka"); add("Central Brazilian Standard Time", "America/Manaus"); add("Central Europe Standard Time", "Europe/Budapest"); add("Central European Standard Time", "Europe/Warsaw"); add("Central Pacific Standard Time", "Pacific/Guadalcanal"); add("Central Standard Time", "America/Chicago"); add("Central Standard Time", "America/Mexico_City"); add("China Standard Time", "Asia/Shanghai"); add("Dateline Standard Time", "Etc/GMT+12"); add("E. Africa Standard Time", "Africa/Nairobi"); add("E. Australia Standard Time", "Australia/Brisbane"); add("E. Europe Standard Time", "Europe/Minsk"); add("E. South America Standard Time", "America/Sao_Paulo"); add("Eastern Standard Time", "America/New_York"); add("Egypt Standard Time", "Africa/Cairo"); add("Ekaterinburg Standard Time", "Asia/Yekaterinburg"); add("FLE Standard Time", "Europe/Kiev"); add("Fiji Standard Time", "Pacific/Fiji"); add("GMT Standard Time", "Europe/London"); add("GTB Standard Time", "Europe/Istanbul"); add("Georgian Standard Time", "Etc/GMT-3"); add("Greenland Standard Time", "America/Godthab"); add("Greenwich Standard Time", "Africa/Reykjavik"); add("Hawaiian Standard Time", "Pacific/Honolulu"); add("India Standard Time", "Asia/Calcutta"); add("Iran Standard Time", "Asia/Tehran"); add("Israel Standard Time", "Asia/Jerusalem"); add("Jordan Standard Time", "Asia/Amman"); add("Korea Standard Time", "Asia/Seoul"); add("Mauritius Standard Time", "Indian/Mauritius"); add("Mexico Standard Time", "America/Mexico_City"); add("Mexico Standard Time", "America/Chihuahua"); add("Mid-Atlantic Standard Time", "Atlantic/South_Georgia"); add("Middle East Standard Time", "Asia/Beirut"); add("Montevideo Standard Time", "America/Montevideo"); add("Morocco Standard Time", "Africa/Casablanca"); add("Mountain Standard Time", "America/Denver"); add("Mountain Standard Time", "America/Chihuahua"); add("Myanmar Standard Time", "Asia/Rangoon"); add("N. Central Asia Standard Time", "Asia/Novosibirsk"); add("Namibia Standard Time", "Africa/Windhoek"); add("Nepal Standard Time", "Asia/Katmandu"); add("New Zealand Standard Time", "Pacific/Auckland"); add("Newfoundland Standard Time", "America/St_Johns"); add("North Asia East Standard Time", "Asia/Irkutsk"); add("North Asia Standard Time", "Asia/Krasnoyarsk"); add("Pacific SA Standard Time", "America/Santiago"); add("Pacific Standard Time", "America/Los_Angeles"); add("Pacific Standard Time", "America/Tijuana"); add("Pakistan Standard Time", "Asia/Karachi"); add("Romance Standard Time", "Europe/Paris"); add("Russian Standard Time", "Europe/Moscow"); add("SA Eastern Standard Time", "Etc/GMT+3"); add("SA Pacific Standard Time", "America/Bogota"); add("SA Western Standard Time", "America/La_Paz"); add("SE Asia Standard Time", "Asia/Bangkok"); add("Samoa Standard Time", "Pacific/Apia"); add("Singapore Standard Time", "Asia/Singapore"); add("South Africa Standard Time", "Africa/Johannesburg"); add("Sri Lanka Standard Time", "Asia/Colombo"); add("Taipei Standard Time", "Asia/Taipei"); add("Tasmania Standard Time", "Australia/Hobart"); add("Tokyo Standard Time", "Asia/Tokyo"); add("Tonga Standard Time", "Pacific/Tongatapu"); add("US Eastern Standard Time", "Etc/GMT+5"); add("US Mountain Standard Time", "America/Phoenix"); add("Venezuela Standard Time", "America/Caracas"); add("Vladivostok Standard Time", "Asia/Vladivostok"); add("W. Australia Standard Time", "Australia/Perth"); add("W. Central Africa Standard Time", "Africa/Lagos"); add("W. Europe Standard Time", "Europe/Berlin"); add("West Asia Standard Time", "Asia/Tashkent"); add("West Pacific Standard Time", "Pacific/Port_Moresby"); add("Yakutsk Standard Time", "Asia/Yakutsk"); } }