diff --git a/java/build.xml b/java/build.xml index b5fc72734..53b18ef00 100644 --- a/java/build.xml +++ b/java/build.xml @@ -35,12 +35,9 @@ - - - - + @@ -48,19 +45,12 @@ - + - - - - - - - - + - + @@ -82,7 +72,7 @@ - + diff --git a/java/pom.xml b/java/pom.xml index 69fcb177c..a3706d5ea 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -88,8 +88,22 @@ test/com/google/i18n/phonenumbers/data com/google/i18n/phonenumbers/data + + test/com/google/i18n/phonenumbers/geocoding/testing_data + com/google/i18n/phonenumbers/geocoding/testing_data + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + + **/geocoding/ + + + org.apache.maven.plugins maven-source-plugin diff --git a/java/resources/com/google/i18n/phonenumbers/GenerateAreaCodeData.java b/java/resources/com/google/i18n/phonenumbers/geocoding/GenerateAreaCodeData.java similarity index 99% rename from java/resources/com/google/i18n/phonenumbers/GenerateAreaCodeData.java rename to java/resources/com/google/i18n/phonenumbers/geocoding/GenerateAreaCodeData.java index 8123df17e..6652634df 100644 --- a/java/resources/com/google/i18n/phonenumbers/GenerateAreaCodeData.java +++ b/java/resources/com/google/i18n/phonenumbers/geocoding/GenerateAreaCodeData.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; import java.io.BufferedInputStream; import java.io.BufferedReader; diff --git a/java/src/com/google/i18n/phonenumbers/AreaCodeMap.java b/java/src/com/google/i18n/phonenumbers/geocoding/AreaCodeMap.java similarity index 95% rename from java/src/com/google/i18n/phonenumbers/AreaCodeMap.java rename to java/src/com/google/i18n/phonenumbers/geocoding/AreaCodeMap.java index 1358b924c..644c14bc0 100644 --- a/java/src/com/google/i18n/phonenumbers/AreaCodeMap.java +++ b/java/src/com/google/i18n/phonenumbers/geocoding/AreaCodeMap.java @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; +import com.google.i18n.phonenumbers.PhoneNumberUtil; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; import java.io.Externalizable; @@ -37,21 +38,14 @@ public class AreaCodeMap implements Externalizable { private TreeSet possibleLengths = new TreeSet(); private int[] phoneNumberPrefixes; private String[] descriptions; - private PhoneNumberUtil phoneUtil; + private final PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); /** * Creates an empty {@link AreaCodeMap}. The default constructor is necessary for implementing * {@link Externalizable}. The empty map could later populated by * {@link #readAreaCodeMap(java.util.SortedMap)} or {@link #readExternal(java.io.ObjectInput)}. */ - public AreaCodeMap() { - phoneUtil = PhoneNumberUtil.getInstance(); - } - - // @VisibleForTesting - AreaCodeMap(PhoneNumberUtil phoneUtil) { - this.phoneUtil = phoneUtil; - } + public AreaCodeMap() {} /** * Creates an {@link AreaCodeMap} initialized with {@code sortedAreaCodeMap}. diff --git a/java/src/com/google/i18n/phonenumbers/MappingFileProvider.java b/java/src/com/google/i18n/phonenumbers/geocoding/MappingFileProvider.java similarity index 99% rename from java/src/com/google/i18n/phonenumbers/MappingFileProvider.java rename to java/src/com/google/i18n/phonenumbers/geocoding/MappingFileProvider.java index a6b0554a5..4f04a5d2d 100644 --- a/java/src/com/google/i18n/phonenumbers/MappingFileProvider.java +++ b/java/src/com/google/i18n/phonenumbers/geocoding/MappingFileProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; import java.io.Externalizable; import java.io.IOException; diff --git a/java/src/com/google/i18n/phonenumbers/PhoneNumberOfflineGeocoder.java b/java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java similarity index 94% rename from java/src/com/google/i18n/phonenumbers/PhoneNumberOfflineGeocoder.java rename to java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java index b4a9628cd..1489b6bbe 100644 --- a/java/src/com/google/i18n/phonenumbers/PhoneNumberOfflineGeocoder.java +++ b/java/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; +import com.google.i18n.phonenumbers.PhoneNumberUtil; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; import java.io.IOException; @@ -35,10 +36,10 @@ import java.util.logging.Logger; public class PhoneNumberOfflineGeocoder { private static PhoneNumberOfflineGeocoder instance = null; private static final String MAPPING_DATA_DIRECTORY = - "/com/google/i18n/phonenumbers/geocoding_data/"; + "/com/google/i18n/phonenumbers/geocoding/data/"; private static final Logger LOGGER = Logger.getLogger(PhoneNumberOfflineGeocoder.class.getName()); - private final PhoneNumberUtil phoneUtil; + private final PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); private final String phonePrefixDataDirectory; // The mappingFileProvider knows for which combination of countryCallingCode and language a phone @@ -54,8 +55,7 @@ public class PhoneNumberOfflineGeocoder { * * @VisibleForTesting */ - PhoneNumberOfflineGeocoder(String phonePrefixDataDirectory, PhoneNumberUtil phoneUtil) { - this.phoneUtil = phoneUtil; + PhoneNumberOfflineGeocoder(String phonePrefixDataDirectory) { this.phonePrefixDataDirectory = phonePrefixDataDirectory; loadMappingFileProvider(); } @@ -90,7 +90,7 @@ public class PhoneNumberOfflineGeocoder { ObjectInputStream in; try { in = new ObjectInputStream(source); - AreaCodeMap map = new AreaCodeMap(phoneUtil); + AreaCodeMap map = new AreaCodeMap(); map.readExternal(in); availablePhonePrefixMaps.put(fileName, map); } catch (IOException e) { @@ -109,8 +109,7 @@ public class PhoneNumberOfflineGeocoder { */ public static synchronized PhoneNumberOfflineGeocoder getInstance() { if (instance == null) { - instance = - new PhoneNumberOfflineGeocoder(MAPPING_DATA_DIRECTORY, PhoneNumberUtil.getInstance()); + instance = new PhoneNumberOfflineGeocoder(MAPPING_DATA_DIRECTORY); } return instance; } diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/1_en b/java/src/com/google/i18n/phonenumbers/geocoding/data/1_en similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/1_en rename to java/src/com/google/i18n/phonenumbers/geocoding/data/1_en diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/31_nl b/java/src/com/google/i18n/phonenumbers/geocoding/data/31_nl similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/31_nl rename to java/src/com/google/i18n/phonenumbers/geocoding/data/31_nl diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/34_es b/java/src/com/google/i18n/phonenumbers/geocoding/data/34_es similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/34_es rename to java/src/com/google/i18n/phonenumbers/geocoding/data/34_es diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/43_de b/java/src/com/google/i18n/phonenumbers/geocoding/data/43_de similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/43_de rename to java/src/com/google/i18n/phonenumbers/geocoding/data/43_de diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/44_en b/java/src/com/google/i18n/phonenumbers/geocoding/data/44_en similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/44_en rename to java/src/com/google/i18n/phonenumbers/geocoding/data/44_en diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/46_sv b/java/src/com/google/i18n/phonenumbers/geocoding/data/46_sv similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/46_sv rename to java/src/com/google/i18n/phonenumbers/geocoding/data/46_sv diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/49_de b/java/src/com/google/i18n/phonenumbers/geocoding/data/49_de similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/49_de rename to java/src/com/google/i18n/phonenumbers/geocoding/data/49_de diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/54_es b/java/src/com/google/i18n/phonenumbers/geocoding/data/54_es similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/54_es rename to java/src/com/google/i18n/phonenumbers/geocoding/data/54_es diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/55_pt b/java/src/com/google/i18n/phonenumbers/geocoding/data/55_pt similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/55_pt rename to java/src/com/google/i18n/phonenumbers/geocoding/data/55_pt diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/56_es b/java/src/com/google/i18n/phonenumbers/geocoding/data/56_es similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/56_es rename to java/src/com/google/i18n/phonenumbers/geocoding/data/56_es diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/82_en b/java/src/com/google/i18n/phonenumbers/geocoding/data/82_en similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/82_en rename to java/src/com/google/i18n/phonenumbers/geocoding/data/82_en diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/82_ko b/java/src/com/google/i18n/phonenumbers/geocoding/data/82_ko similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/82_ko rename to java/src/com/google/i18n/phonenumbers/geocoding/data/82_ko diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/82_zh b/java/src/com/google/i18n/phonenumbers/geocoding/data/82_zh similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/82_zh rename to java/src/com/google/i18n/phonenumbers/geocoding/data/82_zh diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/82_zh_Hant b/java/src/com/google/i18n/phonenumbers/geocoding/data/82_zh_Hant similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/82_zh_Hant rename to java/src/com/google/i18n/phonenumbers/geocoding/data/82_zh_Hant diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/86_zh b/java/src/com/google/i18n/phonenumbers/geocoding/data/86_zh similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/86_zh rename to java/src/com/google/i18n/phonenumbers/geocoding/data/86_zh diff --git a/java/src/com/google/i18n/phonenumbers/geocoding_data/config b/java/src/com/google/i18n/phonenumbers/geocoding/data/config similarity index 100% rename from java/src/com/google/i18n/phonenumbers/geocoding_data/config rename to java/src/com/google/i18n/phonenumbers/geocoding/data/config diff --git a/java/test/com/google/i18n/phonenumbers/AreaCodeMapTest.java b/java/test/com/google/i18n/phonenumbers/geocoding/AreaCodeMapTest.java similarity index 92% rename from java/test/com/google/i18n/phonenumbers/AreaCodeMapTest.java rename to java/test/com/google/i18n/phonenumbers/geocoding/AreaCodeMapTest.java index c393c8919..07b94518a 100644 --- a/java/test/com/google/i18n/phonenumbers/AreaCodeMapTest.java +++ b/java/test/com/google/i18n/phonenumbers/geocoding/AreaCodeMapTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; import junit.framework.TestCase; @@ -35,19 +35,13 @@ import java.util.logging.Logger; * @author Shaopeng Jia */ public class AreaCodeMapTest extends TestCase { - private final AreaCodeMap areaCodeMap; + private final AreaCodeMap areaCodeMap = new AreaCodeMap(); private PhoneNumber number = new PhoneNumber(); private static final Logger LOGGER = Logger.getLogger(AreaCodeMapTest.class.getName()); static final String TEST_META_DATA_FILE_PREFIX = "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting"; public AreaCodeMapTest() { - PhoneNumberUtil.resetInstance(); - PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance( - TEST_META_DATA_FILE_PREFIX, - CountryCodeToRegionCodeMapForTesting.getCountryCodeToRegionCodeMap()); - areaCodeMap = new AreaCodeMap(phoneUtil); - SortedMap sortedMap = new TreeMap(); sortedMap.put(1212, "New York"); sortedMap.put(1480, "Arizona"); diff --git a/java/test/com/google/i18n/phonenumbers/MappingFileProviderTest.java b/java/test/com/google/i18n/phonenumbers/geocoding/MappingFileProviderTest.java similarity index 98% rename from java/test/com/google/i18n/phonenumbers/MappingFileProviderTest.java rename to java/test/com/google/i18n/phonenumbers/geocoding/MappingFileProviderTest.java index a35bc227e..83f4f5450 100644 --- a/java/test/com/google/i18n/phonenumbers/MappingFileProviderTest.java +++ b/java/test/com/google/i18n/phonenumbers/geocoding/MappingFileProviderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; import junit.framework.TestCase; diff --git a/java/test/com/google/i18n/phonenumbers/PhoneNumberOfflineGeocoderTest.java b/java/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java similarity index 89% rename from java/test/com/google/i18n/phonenumbers/PhoneNumberOfflineGeocoderTest.java rename to java/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java index b577e849a..39fd7876a 100644 --- a/java/test/com/google/i18n/phonenumbers/PhoneNumberOfflineGeocoderTest.java +++ b/java/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.i18n.phonenumbers; +package com.google.i18n.phonenumbers.geocoding; import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber; import junit.framework.TestCase; @@ -27,11 +27,12 @@ import java.util.Locale; * @author Shaopeng Jia */ public class PhoneNumberOfflineGeocoderTest extends TestCase { - private PhoneNumberOfflineGeocoder geocoder; + private final PhoneNumberOfflineGeocoder geocoder = + new PhoneNumberOfflineGeocoder(TEST_MAPPING_DATA_DIRECTORY); static final String TEST_META_DATA_FILE_PREFIX = "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting"; private static final String TEST_MAPPING_DATA_DIRECTORY = - "/com/google/i18n/phonenumbers/geocoding_testing_data/"; + "/com/google/i18n/phonenumbers/geocoding/testing_data/"; // Set up some test numbers to re-use. private static final PhoneNumber KO_NUMBER1 = @@ -53,14 +54,6 @@ public class PhoneNumberOfflineGeocoderTest extends TestCase { private static final PhoneNumber NUMBER_WITH_INVALID_COUNTRY_CODE = new PhoneNumber().setCountryCode(999).setNationalNumber(2423651234L); - public PhoneNumberOfflineGeocoderTest() { - PhoneNumberUtil.resetInstance(); - PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance( - TEST_META_DATA_FILE_PREFIX, - CountryCodeToRegionCodeMapForTesting.getCountryCodeToRegionCodeMap()); - geocoder = new PhoneNumberOfflineGeocoder(TEST_MAPPING_DATA_DIRECTORY, phoneUtil); - } - public void testGetDescriptionForNumberWithNoDataFile() { // No data file containing mappings for US numbers is available in Chinese for the unittests. As // a result, the country name of United States in simplified Chinese is returned. diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/1_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1_en similarity index 100% rename from java/test/com/google/i18n/phonenumbers/geocoding_testing_data/1_en rename to java/test/com/google/i18n/phonenumbers/geocoding/testing_data/1_en diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/82_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_en similarity index 100% rename from java/test/com/google/i18n/phonenumbers/geocoding_testing_data/82_en rename to java/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_en diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/82_ko b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_ko similarity index 100% rename from java/test/com/google/i18n/phonenumbers/geocoding_testing_data/82_ko rename to java/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_ko diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_en b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/86_en similarity index 100% rename from java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_en rename to java/test/com/google/i18n/phonenumbers/geocoding/testing_data/86_en diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/config b/java/test/com/google/i18n/phonenumbers/geocoding/testing_data/config similarity index 100% rename from java/test/com/google/i18n/phonenumbers/geocoding_testing_data/config rename to java/test/com/google/i18n/phonenumbers/geocoding/testing_data/config diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_zh_Hans b/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_zh_Hans deleted file mode 100644 index 1f05f35c9..000000000 Binary files a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_zh_Hans and /dev/null differ diff --git a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_zh_Hant b/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_zh_Hant deleted file mode 100644 index f28679bde..000000000 Binary files a/java/test/com/google/i18n/phonenumbers/geocoding_testing_data/86_zh_Hant and /dev/null differ