phonelib 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{README.rdoc → README.md} +116 -75
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/FALSEHOODS.md +16 -0
- data/data/libphonenumber/FAQ.md +8 -0
- data/data/libphonenumber/README.md +1 -1
- data/data/libphonenumber/cpp/src/phonenumbers/alternate_format.cc +108 -100
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10070 -10016
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +10938 -10884
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2481 -2455
- data/data/libphonenumber/java/carrier/pom.xml +26 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
- data/data/libphonenumber/java/demo/pom.xml +6 -6
- data/data/libphonenumber/java/geocoder/pom.xml +26 -4
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
- data/data/libphonenumber/java/internal/prefixmapper/pom.xml +25 -3
- data/data/libphonenumber/java/libphonenumber/pom.xml +23 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java +2 -1
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +63 -70
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595 +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +25 -5
- data/data/libphonenumber/java/pom.xml +2 -2
- data/data/libphonenumber/java/release_notes.txt +45 -0
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +72 -70
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +38 -32
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +38 -32
- data/data/libphonenumber/resources/PhoneNumberAlternateFormats.xml +16 -0
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +232 -96
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +188 -44
- data/data/libphonenumber/resources/carrier/en/255.txt +2 -0
- data/data/libphonenumber/resources/carrier/en/374.txt +3 -3
- data/data/libphonenumber/resources/carrier/en/421.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/66.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/91.txt +419 -253
- data/data/libphonenumber/resources/carrier/en/973.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/992.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/994.txt +3 -0
- data/data/libphonenumber/resources/carrier/fa/93.txt +24 -0
- data/data/libphonenumber/resources/carrier/fa/98.txt +30 -0
- data/data/libphonenumber/resources/carrier/ru/374.txt +28 -0
- data/data/libphonenumber/resources/geocoding/bg/82.txt +34 -0
- data/data/libphonenumber/resources/geocoding/ca/82.txt +34 -0
- data/data/libphonenumber/resources/geocoding/el/82.txt +28 -0
- data/data/libphonenumber/resources/geocoding/en/1.txt +2 -0
- data/data/libphonenumber/resources/geocoding/en/371.txt +3 -0
- data/data/libphonenumber/resources/geocoding/en/44.txt +19 -1
- data/data/libphonenumber/resources/geocoding/en/504.txt +19 -0
- data/data/libphonenumber/resources/geocoding/en/91.txt +1 -5
- data/data/libphonenumber/resources/geocoding/en/93.txt +52 -0
- data/data/libphonenumber/resources/geocoding/en/98.txt +0 -2
- data/data/libphonenumber/resources/geocoding/en/992.txt +77 -0
- data/data/libphonenumber/resources/geocoding/en/994.txt +98 -0
- data/data/libphonenumber/resources/geocoding/es/82.txt +33 -0
- data/data/libphonenumber/resources/geocoding/fa/93.txt +53 -0
- data/data/libphonenumber/resources/geocoding/fa/98.txt +0 -2
- data/data/libphonenumber/resources/geocoding/fi/82.txt +34 -0
- data/data/libphonenumber/resources/geocoding/hi/82.txt +36 -0
- data/data/libphonenumber/resources/geocoding/hu/82.txt +35 -0
- data/data/libphonenumber/resources/geocoding/iw/82.txt +37 -0
- data/data/libphonenumber/resources/geocoding/ja/82.txt +35 -0
- data/data/libphonenumber/resources/geocoding/tr/82.txt +35 -0
- data/data/libphonenumber/tools/java/common/pom.xml +2 -0
- data/data/libphonenumber/tools/java/cpp-build/pom.xml +4 -0
- data/data/libphonenumber/tools/java/data/pom.xml +1 -11
- data/data/libphonenumber/tools/java/java-build/pom.xml +2 -0
- data/data/phone_data.dat +0 -0
- data/lib/phonelib.rb +7 -6
- data/lib/phonelib/core.rb +116 -68
- data/lib/phonelib/data_importer.rb +23 -19
- data/lib/phonelib/data_importer_helper.rb +16 -16
- data/lib/phonelib/phone.rb +47 -137
- data/lib/phonelib/phone_analyzer.rb +27 -25
- data/lib/phonelib/phone_analyzer_helper.rb +16 -9
- data/lib/phonelib/phone_extended_data.rb +27 -17
- data/lib/phonelib/phone_formatter.rb +131 -0
- data/lib/phonelib/version.rb +2 -3
- data/lib/tasks/phonelib_tasks.rake +0 -2
- data/lib/validators/phone_validator.rb +24 -14
- metadata +42 -3
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<modelVersion>4.0.0</modelVersion>
|
|
4
4
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
5
5
|
<artifactId>carrier</artifactId>
|
|
6
|
-
<version>1.
|
|
6
|
+
<version>1.40-SNAPSHOT</version>
|
|
7
7
|
<packaging>jar</packaging>
|
|
8
8
|
<url>https://github.com/googlei18n/libphonenumber/</url>
|
|
9
9
|
|
|
10
10
|
<parent>
|
|
11
11
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
12
12
|
<artifactId>libphonenumber-parent</artifactId>
|
|
13
|
-
<version>7.
|
|
13
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
14
14
|
</parent>
|
|
15
15
|
|
|
16
16
|
<build>
|
|
@@ -28,18 +28,40 @@
|
|
|
28
28
|
<targetPath>com/google/i18n/phonenumbers/carrier/testing_data</targetPath>
|
|
29
29
|
</testResource>
|
|
30
30
|
</testResources>
|
|
31
|
+
<plugins>
|
|
32
|
+
<plugin>
|
|
33
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
34
|
+
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
35
|
+
<version>1.15</version>
|
|
36
|
+
<executions>
|
|
37
|
+
<execution>
|
|
38
|
+
<phase>test</phase>
|
|
39
|
+
<goals>
|
|
40
|
+
<goal>check</goal>
|
|
41
|
+
</goals>
|
|
42
|
+
</execution>
|
|
43
|
+
</executions>
|
|
44
|
+
<configuration>
|
|
45
|
+
<signature>
|
|
46
|
+
<groupId>org.codehaus.mojo.signature</groupId>
|
|
47
|
+
<artifactId>java15</artifactId>
|
|
48
|
+
<version>1.0</version>
|
|
49
|
+
</signature>
|
|
50
|
+
</configuration>
|
|
51
|
+
</plugin>
|
|
52
|
+
</plugins>
|
|
31
53
|
</build>
|
|
32
54
|
|
|
33
55
|
<dependencies>
|
|
34
56
|
<dependency>
|
|
35
57
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
36
58
|
<artifactId>libphonenumber</artifactId>
|
|
37
|
-
<version>7.
|
|
59
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
38
60
|
</dependency>
|
|
39
61
|
<dependency>
|
|
40
62
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
41
63
|
<artifactId>prefixmapper</artifactId>
|
|
42
|
-
<version>2.
|
|
64
|
+
<version>2.50-SNAPSHOT</version>
|
|
43
65
|
</dependency>
|
|
44
66
|
</dependencies>
|
|
45
67
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
<parent>
|
|
5
5
|
<artifactId>libphonenumber-parent</artifactId>
|
|
6
6
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
7
|
-
<version>7.
|
|
7
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
8
8
|
</parent>
|
|
9
9
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
10
10
|
<artifactId>demo</artifactId>
|
|
11
|
-
<version>7.
|
|
11
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
12
12
|
|
|
13
13
|
<properties>
|
|
14
14
|
<gae.version>1.9.32</gae.version>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<version>2.5</version>
|
|
32
32
|
</dependency>
|
|
33
33
|
<dependency>
|
|
34
|
-
<groupId>
|
|
34
|
+
<groupId>commons-io</groupId>
|
|
35
35
|
<artifactId>commons-io</artifactId>
|
|
36
36
|
<version>1.3.2</version>
|
|
37
37
|
</dependency>
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
<dependency>
|
|
49
49
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
50
50
|
<artifactId>libphonenumber</artifactId>
|
|
51
|
-
<version>7.
|
|
51
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
52
52
|
</dependency>
|
|
53
53
|
<dependency>
|
|
54
54
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
55
55
|
<artifactId>geocoder</artifactId>
|
|
56
|
-
<version>2.
|
|
56
|
+
<version>2.50-SNAPSHOT</version>
|
|
57
57
|
</dependency>
|
|
58
58
|
<dependency>
|
|
59
59
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
60
60
|
<artifactId>carrier</artifactId>
|
|
61
|
-
<version>1.
|
|
61
|
+
<version>1.40-SNAPSHOT</version>
|
|
62
62
|
</dependency>
|
|
63
63
|
</dependencies>
|
|
64
64
|
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<modelVersion>4.0.0</modelVersion>
|
|
4
4
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
5
5
|
<artifactId>geocoder</artifactId>
|
|
6
|
-
<version>2.
|
|
6
|
+
<version>2.50-SNAPSHOT</version>
|
|
7
7
|
<packaging>jar</packaging>
|
|
8
8
|
<url>https://github.com/googlei18n/libphonenumber/</url>
|
|
9
9
|
|
|
10
10
|
<parent>
|
|
11
11
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
12
12
|
<artifactId>libphonenumber-parent</artifactId>
|
|
13
|
-
<version>7.
|
|
13
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
14
14
|
</parent>
|
|
15
15
|
|
|
16
16
|
<build>
|
|
@@ -36,18 +36,40 @@
|
|
|
36
36
|
<targetPath>com/google/i18n/phonenumbers/timezones/testing_data</targetPath>
|
|
37
37
|
</testResource>
|
|
38
38
|
</testResources>
|
|
39
|
+
<plugins>
|
|
40
|
+
<plugin>
|
|
41
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
42
|
+
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
43
|
+
<version>1.15</version>
|
|
44
|
+
<executions>
|
|
45
|
+
<execution>
|
|
46
|
+
<phase>test</phase>
|
|
47
|
+
<goals>
|
|
48
|
+
<goal>check</goal>
|
|
49
|
+
</goals>
|
|
50
|
+
</execution>
|
|
51
|
+
</executions>
|
|
52
|
+
<configuration>
|
|
53
|
+
<signature>
|
|
54
|
+
<groupId>org.codehaus.mojo.signature</groupId>
|
|
55
|
+
<artifactId>java15</artifactId>
|
|
56
|
+
<version>1.0</version>
|
|
57
|
+
</signature>
|
|
58
|
+
</configuration>
|
|
59
|
+
</plugin>
|
|
60
|
+
</plugins>
|
|
39
61
|
</build>
|
|
40
62
|
|
|
41
63
|
<dependencies>
|
|
42
64
|
<dependency>
|
|
43
65
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
44
66
|
<artifactId>libphonenumber</artifactId>
|
|
45
|
-
<version>7.
|
|
67
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
46
68
|
</dependency>
|
|
47
69
|
<dependency>
|
|
48
70
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
49
71
|
<artifactId>prefixmapper</artifactId>
|
|
50
|
-
<version>2.
|
|
72
|
+
<version>2.50-SNAPSHOT</version>
|
|
51
73
|
</dependency>
|
|
52
74
|
</dependencies>
|
|
53
75
|
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en
ADDED
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en
ADDED
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en
CHANGED
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en
CHANGED
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
CHANGED
|
Binary file
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<modelVersion>4.0.0</modelVersion>
|
|
4
4
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
5
5
|
<artifactId>prefixmapper</artifactId>
|
|
6
|
-
<version>2.
|
|
6
|
+
<version>2.50-SNAPSHOT</version>
|
|
7
7
|
<packaging>jar</packaging>
|
|
8
8
|
<url>https://github.com/googlei18n/libphonenumber/</url>
|
|
9
9
|
|
|
10
10
|
<parent>
|
|
11
11
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
12
12
|
<artifactId>libphonenumber-parent</artifactId>
|
|
13
|
-
<version>7.
|
|
13
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
14
14
|
<relativePath>../../pom.xml</relativePath>
|
|
15
15
|
</parent>
|
|
16
16
|
|
|
@@ -23,13 +23,35 @@
|
|
|
23
23
|
<targetPath>com/google/i18n/phonenumbers/geocoding/testing_data</targetPath>
|
|
24
24
|
</testResource>
|
|
25
25
|
</testResources>
|
|
26
|
+
<plugins>
|
|
27
|
+
<plugin>
|
|
28
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
29
|
+
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
30
|
+
<version>1.15</version>
|
|
31
|
+
<executions>
|
|
32
|
+
<execution>
|
|
33
|
+
<phase>test</phase>
|
|
34
|
+
<goals>
|
|
35
|
+
<goal>check</goal>
|
|
36
|
+
</goals>
|
|
37
|
+
</execution>
|
|
38
|
+
</executions>
|
|
39
|
+
<configuration>
|
|
40
|
+
<signature>
|
|
41
|
+
<groupId>org.codehaus.mojo.signature</groupId>
|
|
42
|
+
<artifactId>java15</artifactId>
|
|
43
|
+
<version>1.0</version>
|
|
44
|
+
</signature>
|
|
45
|
+
</configuration>
|
|
46
|
+
</plugin>
|
|
47
|
+
</plugins>
|
|
26
48
|
</build>
|
|
27
49
|
|
|
28
50
|
<dependencies>
|
|
29
51
|
<dependency>
|
|
30
52
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
31
53
|
<artifactId>libphonenumber</artifactId>
|
|
32
|
-
<version>7.
|
|
54
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
33
55
|
</dependency>
|
|
34
56
|
</dependencies>
|
|
35
57
|
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<modelVersion>4.0.0</modelVersion>
|
|
4
4
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
5
5
|
<artifactId>libphonenumber</artifactId>
|
|
6
|
-
<version>7.
|
|
6
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
7
7
|
<packaging>jar</packaging>
|
|
8
8
|
<url>https://github.com/googlei18n/libphonenumber/</url>
|
|
9
9
|
|
|
10
10
|
<parent>
|
|
11
11
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
12
12
|
<artifactId>libphonenumber-parent</artifactId>
|
|
13
|
-
<version>7.
|
|
13
|
+
<version>7.5.2-SNAPSHOT</version>
|
|
14
14
|
</parent>
|
|
15
15
|
|
|
16
16
|
<build>
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
<plugins>
|
|
32
32
|
<plugin>
|
|
33
33
|
<artifactId>maven-jar-plugin</artifactId>
|
|
34
|
+
<version>2.2</version>
|
|
34
35
|
<configuration>
|
|
35
36
|
<excludes>
|
|
36
37
|
<exclude>com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.class</exclude>
|
|
@@ -60,6 +61,26 @@
|
|
|
60
61
|
</execution>
|
|
61
62
|
</executions>
|
|
62
63
|
</plugin>
|
|
64
|
+
<plugin>
|
|
65
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
66
|
+
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
67
|
+
<version>1.15</version>
|
|
68
|
+
<executions>
|
|
69
|
+
<execution>
|
|
70
|
+
<phase>test</phase>
|
|
71
|
+
<goals>
|
|
72
|
+
<goal>check</goal>
|
|
73
|
+
</goals>
|
|
74
|
+
</execution>
|
|
75
|
+
</executions>
|
|
76
|
+
<configuration>
|
|
77
|
+
<signature>
|
|
78
|
+
<groupId>org.codehaus.mojo.signature</groupId>
|
|
79
|
+
<artifactId>java15</artifactId>
|
|
80
|
+
<version>1.0</version>
|
|
81
|
+
</signature>
|
|
82
|
+
</configuration>
|
|
83
|
+
</plugin>
|
|
63
84
|
</plugins>
|
|
64
85
|
</build>
|
|
65
86
|
|
data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java
CHANGED
|
@@ -23,7 +23,8 @@ import java.io.InputStream;
|
|
|
23
23
|
*/
|
|
24
24
|
public interface MetadataLoader {
|
|
25
25
|
/**
|
|
26
|
-
* Returns an input stream corresponding to the metadata to load.
|
|
26
|
+
* Returns an input stream corresponding to the metadata to load. This method may be called
|
|
27
|
+
* concurrently so implementations must be thread-safe.
|
|
27
28
|
*
|
|
28
29
|
* @param metadataFileName File name (including path) of metadata to load. File path is an
|
|
29
30
|
* absolute class path like /com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto.
|
|
@@ -22,10 +22,8 @@ import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadataCollection;
|
|
|
22
22
|
import java.io.IOException;
|
|
23
23
|
import java.io.InputStream;
|
|
24
24
|
import java.io.ObjectInputStream;
|
|
25
|
-
import java.util.
|
|
26
|
-
import java.util.HashMap;
|
|
25
|
+
import java.util.concurrent.ConcurrentHashMap;
|
|
27
26
|
import java.util.List;
|
|
28
|
-
import java.util.Map;
|
|
29
27
|
import java.util.logging.Level;
|
|
30
28
|
import java.util.logging.Logger;
|
|
31
29
|
|
|
@@ -41,18 +39,14 @@ final class MultiFileMetadataSourceImpl implements MetadataSource {
|
|
|
41
39
|
"/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto";
|
|
42
40
|
|
|
43
41
|
// A mapping from a region code to the PhoneMetadata for that region.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
private final Map<String, PhoneMetadata> regionToMetadataMap =
|
|
47
|
-
Collections.synchronizedMap(new HashMap<String, PhoneMetadata>());
|
|
42
|
+
private final ConcurrentHashMap<String, PhoneMetadata> geographicalRegions =
|
|
43
|
+
new ConcurrentHashMap<String, PhoneMetadata>();
|
|
48
44
|
|
|
49
45
|
// A mapping from a country calling code for a non-geographical entity to the PhoneMetadata for
|
|
50
46
|
// that country calling code. Examples of the country calling codes include 800 (International
|
|
51
47
|
// Toll Free Service) and 808 (International Shared Cost Service).
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
private final Map<Integer, PhoneMetadata> countryCodeToNonGeographicalMetadataMap =
|
|
55
|
-
Collections.synchronizedMap(new HashMap<Integer, PhoneMetadata>());
|
|
48
|
+
private final ConcurrentHashMap<Integer, PhoneMetadata> nonGeographicalRegions =
|
|
49
|
+
new ConcurrentHashMap<Integer, PhoneMetadata>();
|
|
56
50
|
|
|
57
51
|
// The prefix of the metadata files from which region data is loaded.
|
|
58
52
|
private final String filePrefix;
|
|
@@ -60,97 +54,97 @@ final class MultiFileMetadataSourceImpl implements MetadataSource {
|
|
|
60
54
|
// The metadata loader used to inject alternative metadata sources.
|
|
61
55
|
private final MetadataLoader metadataLoader;
|
|
62
56
|
|
|
63
|
-
// It is assumed that metadataLoader is not null.
|
|
64
|
-
|
|
57
|
+
// It is assumed that metadataLoader is not null. If needed, checks should happen before passing
|
|
58
|
+
// here.
|
|
59
|
+
// @VisibleForTesting
|
|
60
|
+
MultiFileMetadataSourceImpl(String filePrefix, MetadataLoader metadataLoader) {
|
|
65
61
|
this.filePrefix = filePrefix;
|
|
66
62
|
this.metadataLoader = metadataLoader;
|
|
67
63
|
}
|
|
68
64
|
|
|
69
|
-
// It is assumed that metadataLoader is not null.
|
|
65
|
+
// It is assumed that metadataLoader is not null. If needed, checks should happen before passing
|
|
66
|
+
// here.
|
|
70
67
|
public MultiFileMetadataSourceImpl(MetadataLoader metadataLoader) {
|
|
71
68
|
this(META_DATA_FILE_PREFIX, metadataLoader);
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
@Override
|
|
75
72
|
public PhoneMetadata getMetadataForRegion(String regionCode) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// what to pass in for the country calling code.
|
|
80
|
-
loadMetadataFromFile(regionCode, 0);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return regionToMetadataMap.get(regionCode);
|
|
73
|
+
PhoneMetadata metadata = geographicalRegions.get(regionCode);
|
|
74
|
+
return (metadata != null) ? metadata : loadMetadataFromFile(
|
|
75
|
+
regionCode, geographicalRegions, filePrefix, metadataLoader);
|
|
84
76
|
}
|
|
85
77
|
|
|
86
78
|
@Override
|
|
87
79
|
public PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
CountryCodeToRegionCodeMap.getCountryCodeToRegionCodeMap().get(countryCallingCode);
|
|
92
|
-
// We can assume that if the country calling code maps to the non-geo entity region code
|
|
93
|
-
// then that's the only region code it maps to.
|
|
94
|
-
if (regionCodes.size() == 1 &&
|
|
95
|
-
PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCodes.get(0))) {
|
|
96
|
-
loadMetadataFromFile(PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY, countryCallingCode);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
80
|
+
PhoneMetadata metadata = nonGeographicalRegions.get(countryCallingCode);
|
|
81
|
+
if (metadata != null) {
|
|
82
|
+
return metadata;
|
|
99
83
|
}
|
|
100
|
-
|
|
84
|
+
if (isNonGeographical(countryCallingCode)) {
|
|
85
|
+
return loadMetadataFromFile(
|
|
86
|
+
countryCallingCode, nonGeographicalRegions, filePrefix, metadataLoader);
|
|
87
|
+
}
|
|
88
|
+
// The given country calling code was for a geographical region.
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// A country calling code is non-geographical if it only maps to the non-geographical region code,
|
|
93
|
+
// i.e. "001".
|
|
94
|
+
private boolean isNonGeographical(int countryCallingCode) {
|
|
95
|
+
List<String> regionCodes =
|
|
96
|
+
CountryCodeToRegionCodeMap.getCountryCodeToRegionCodeMap().get(countryCallingCode);
|
|
97
|
+
return (regionCodes.size() == 1
|
|
98
|
+
&& PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCodes.get(0)));
|
|
101
99
|
}
|
|
102
100
|
|
|
101
|
+
/**
|
|
102
|
+
* @param key The geographical region code or the non-geographical region's country
|
|
103
|
+
* calling code.
|
|
104
|
+
* @param map The map to contain the mapping from {@code key} to the corresponding
|
|
105
|
+
* metadata.
|
|
106
|
+
* @param filePrefix The prefix of the metadata files from which region data is loaded.
|
|
107
|
+
* @param metadataLoader The metadata loader used to inject alternative metadata sources.
|
|
108
|
+
*/
|
|
103
109
|
// @VisibleForTesting
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
110
|
+
static <T> PhoneMetadata loadMetadataFromFile(
|
|
111
|
+
T key, ConcurrentHashMap<T, PhoneMetadata> map, String filePrefix,
|
|
112
|
+
MetadataLoader metadataLoader) {
|
|
113
|
+
// We assume key.toString() is well-defined.
|
|
114
|
+
String fileName = filePrefix + "_" + key;
|
|
108
115
|
InputStream source = metadataLoader.loadMetadata(fileName);
|
|
109
116
|
if (source == null) {
|
|
110
|
-
logger.log(Level.SEVERE, "missing metadata: " + fileName);
|
|
111
117
|
throw new IllegalStateException("missing metadata: " + fileName);
|
|
112
118
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
if (metadataList.length > 1) {
|
|
122
|
-
logger.log(Level.WARNING, "invalid metadata (too many entries): " + fileName);
|
|
123
|
-
}
|
|
124
|
-
PhoneMetadata metadata = metadataList[0];
|
|
125
|
-
if (isNonGeoRegion) {
|
|
126
|
-
countryCodeToNonGeographicalMetadataMap.put(countryCallingCode, metadata);
|
|
127
|
-
} else {
|
|
128
|
-
regionToMetadataMap.put(regionCode, metadata);
|
|
129
|
-
}
|
|
130
|
-
} catch (IOException e) {
|
|
131
|
-
logger.log(Level.SEVERE, "cannot load/parse metadata: " + fileName, e);
|
|
132
|
-
throw new RuntimeException("cannot load/parse metadata: " + fileName, e);
|
|
119
|
+
PhoneMetadataCollection metadataCollection = loadMetadataAndCloseInput(source);
|
|
120
|
+
PhoneMetadata[] metadataList = metadataCollection.metadata;
|
|
121
|
+
if (metadataList.length == 0) {
|
|
122
|
+
throw new IllegalStateException("empty metadata: " + fileName);
|
|
123
|
+
}
|
|
124
|
+
if (metadataList.length > 1) {
|
|
125
|
+
logger.log(Level.WARNING, "invalid metadata (too many entries): " + fileName);
|
|
133
126
|
}
|
|
127
|
+
PhoneMetadata metadata = metadataList[0];
|
|
128
|
+
PhoneMetadata oldValue = map.putIfAbsent(key, metadata);
|
|
129
|
+
return (oldValue != null) ? oldValue : metadata;
|
|
134
130
|
}
|
|
135
131
|
|
|
136
132
|
/**
|
|
137
|
-
* Loads the metadata protocol buffer from the given stream and closes the stream
|
|
138
|
-
* exceptions that occur while reading or closing the stream are ignored.
|
|
139
|
-
*
|
|
140
|
-
* @param source the non-null stream from which metadata is to be read.
|
|
141
|
-
* @return the loaded metadata protocol buffer.
|
|
133
|
+
* Loads and returns the metadata protocol buffer from the given stream and closes the stream.
|
|
142
134
|
*/
|
|
143
|
-
private static PhoneMetadataCollection loadMetadataAndCloseInput(
|
|
135
|
+
private static PhoneMetadataCollection loadMetadataAndCloseInput(InputStream source) {
|
|
144
136
|
// The size of the byte buffer used for deserializing the phone number metadata files for each
|
|
145
137
|
// region.
|
|
146
138
|
final int MULTI_FILE_BUFFER_SIZE = 16 * 1024;
|
|
147
139
|
|
|
148
|
-
PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
|
|
149
140
|
try {
|
|
150
|
-
|
|
151
|
-
|
|
141
|
+
// Read in metadata for each region.
|
|
142
|
+
PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
|
|
143
|
+
metadataCollection.mergeFrom(MetadataManager.convertStreamToByteBuffer(
|
|
144
|
+
new ObjectInputStream(source), MULTI_FILE_BUFFER_SIZE));
|
|
145
|
+
return metadataCollection;
|
|
152
146
|
} catch (IOException e) {
|
|
153
|
-
|
|
147
|
+
throw new RuntimeException("cannot load/parse metadata", e);
|
|
154
148
|
} finally {
|
|
155
149
|
try {
|
|
156
150
|
source.close();
|
|
@@ -158,6 +152,5 @@ final class MultiFileMetadataSourceImpl implements MetadataSource {
|
|
|
158
152
|
logger.log(Level.WARNING, "error closing input stream (ignored)", e);
|
|
159
153
|
}
|
|
160
154
|
}
|
|
161
|
-
return metadataCollection;
|
|
162
155
|
}
|
|
163
156
|
}
|