001 /* 002 * $Id: CollResources.java 354761 2005-12-07 15:11:58Z niallp $ 003 * $Revision: 354761 $ 004 * $Date: 2005-12-07 15:11:58 +0000 (Wed, 07 Dec 2005) $ 005 * 006 * ==================================================================== 007 * 008 * Copyright 2003-2005 The Apache Software Foundation 009 * 010 * Licensed under the Apache License, Version 2.0 (the "License"); 011 * you may not use this file except in compliance with the License. 012 * You may obtain a copy of the License at 013 * 014 * http://www.apache.org/licenses/LICENSE-2.0 015 * 016 * Unless required by applicable law or agreed to in writing, software 017 * distributed under the License is distributed on an "AS IS" BASIS, 018 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 019 * See the License for the specific language governing permissions and 020 * limitations under the License. 021 * 022 */ 023 024 package org.apache.commons.resources.impl; 025 026 import java.util.HashMap; 027 import java.util.Locale; 028 import java.util.Map; 029 030 /** 031 * <p>Concrete implementation of {@link org.apache.commons.resources.Resources} for unit tests.</p> 032 * 033 * <p><strong>IMPLEMENTATION NOTE</strong> - The set of hard-coded resource 034 * maps returned by <code>getLocaleMap()</code> below must *exactly* 035 * match the resources stored in the <code>TestResources*.properties</code> 036 * and <code>TestResources*.xml</code> resource files.</p> 037 */ 038 public class CollResources extends CollectionResourcesBase { 039 040 041 // ----------------------------------------------------------- Constructors 042 043 044 // Construct a test instance with the specified name and base URL 045 public CollResources(String name, String base) { 046 super(name, base); 047 } 048 049 050 // ----------------------------------------------------- Instance Variables 051 052 053 // ------------------------------------------------------ Lifecycle Methods 054 055 056 // ------------------------------------------------------------- Properties 057 058 059 // ---------------------------------------------- Content Retrieval Methods 060 061 062 // Concrete implementation of getLocaleMap() 063 protected Map getLocaleMap(String baseUrl, Locale locale) { 064 065 String language = locale.getLanguage(); 066 String country = locale.getCountry(); 067 String variant = locale.getVariant(); 068 if (variant.length() > 0) { 069 return (new HashMap()); 070 } 071 072 if (language.equals("en")) { 073 if (country.equals("US")) { 074 Map map = new HashMap(); 075 map.put("test.specific", "[en_US] SPECIFIC"); 076 return (map); 077 } else if (country.equals("")) { 078 Map map = new HashMap(); 079 map.put("test.specific", "[en] SPECIFIC"); 080 map.put("test.inherit", "[en] INHERIT"); 081 return (map); 082 } else { 083 return (new HashMap()); 084 } 085 } else if (language.equals("fr")) { 086 if (country.equals("")) { 087 Map map = new HashMap(); 088 map.put("test.specific", "[fr] SPECIFIC"); 089 map.put("test.inherit", "[fr] INHERIT"); 090 return (map); 091 } else { 092 return (new HashMap()); 093 } 094 } else if (language.equals("")) { 095 if (country.equals("")) { 096 Map map = new HashMap(); 097 map.put("test.base", "[Base] ONLY"); 098 map.put("test.specific", "[Base] SPECIFIC"); 099 map.put("test.inherit", "[Base] INHERIT"); 100 map.put("test.message", "[Base] REPLACE {0} WITH {1}"); 101 map.put("test.message.single", "[Base] TEST MSG SINGLE"); 102 return (map); 103 } else { 104 return (new HashMap()); 105 } 106 } else { 107 return (new HashMap()); 108 } 109 } 110 111 112 }