phonelib 0.5.0 → 0.5.1
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 +9 -3
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/README.md +1 -1
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +6313 -6305
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +5989 -5980
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2063 -1977
- data/data/libphonenumber/java/build.xml +30 -0
- data/data/libphonenumber/java/carrier/pom.xml +4 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/227_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/231_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en +0 -0
- 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/40_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_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/95_en +0 -0
- data/data/libphonenumber/java/demo/pom.xml +5 -5
- data/data/libphonenumber/java/geocoder/pom.xml +4 -4
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1854_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_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 +3 -3
- data/data/libphonenumber/java/libphonenumber/pom.xml +16 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java +8 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java +98 -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_KE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO +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_CD +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE +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_PT +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO +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/data/SingleFilePhoneNumberMetadataProtoForTesting +0 -0
- data/data/libphonenumber/java/pom.xml +1 -1
- data/data/libphonenumber/java/release_notes.txt +12 -0
- data/data/libphonenumber/javascript/README.md +86 -0
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +73 -73
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +29 -29
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +29 -29
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +86 -66
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +276 -24
- data/data/libphonenumber/resources/carrier/en/227.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/231.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/252.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/254.txt +3 -0
- data/data/libphonenumber/resources/carrier/en/255.txt +6 -0
- data/data/libphonenumber/resources/carrier/en/40.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/509.txt +5 -5
- data/data/libphonenumber/resources/carrier/en/880.txt +1 -1
- data/data/libphonenumber/resources/carrier/en/91.txt +37 -4
- data/data/libphonenumber/resources/carrier/en/95.txt +29 -0
- data/data/libphonenumber/resources/geocoding/en/1.txt +1 -0
- data/data/libphonenumber/resources/geocoding/en/264.txt +1 -0
- data/data/libphonenumber/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
- data/data/libphonenumber/tools/java/java-build/src/com/google/i18n/phonenumbers/BuildMetadataProtoFromXml.java +32 -14
- data/data/libphonenumber/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
- data/data/phone_data.dat +0 -0
- data/lib/phonelib/core.rb +15 -0
- data/lib/phonelib/data_importer.rb +12 -0
- data/lib/phonelib/phone_analyzer.rb +6 -109
- data/lib/phonelib/phone_analyzer_helper.rb +128 -0
- data/lib/phonelib/version.rb +1 -1
- data/lib/phonelib.rb +1 -0
- metadata +28 -3
- data/data/libphonenumber/javascript/README +0 -101
@@ -45,6 +45,21 @@
|
|
45
45
|
</exec>
|
46
46
|
</target>
|
47
47
|
|
48
|
+
<target name="build-single-file-phone-metadata">
|
49
|
+
<exec executable="java">
|
50
|
+
<arg value="-jar" />
|
51
|
+
<arg value="${build.tools.jar}"/>
|
52
|
+
<arg value="BuildMetadataProtoFromXml"/>
|
53
|
+
<arg value="--input-file=${resources.dir}/PhoneNumberMetadata.xml"/>
|
54
|
+
<arg value="--output-dir=${libphonenumber.src.dir}/com/google/i18n/phonenumbers"/>
|
55
|
+
<arg value="--data-prefix=data/SingleFilePhoneNumberMetadataProto"/>
|
56
|
+
<arg value="--single-file=true"/>
|
57
|
+
<arg value="--mapping-class=CountryCodeToRegionCodeMap"/>
|
58
|
+
<arg value="--copyright=2010"/>
|
59
|
+
<arg value="--lite-build=false"/>
|
60
|
+
</exec>
|
61
|
+
</target>
|
62
|
+
|
48
63
|
<target name="build-short-metadata">
|
49
64
|
<exec executable="java">
|
50
65
|
<arg value="-jar" />
|
@@ -73,6 +88,21 @@
|
|
73
88
|
</exec>
|
74
89
|
</target>
|
75
90
|
|
91
|
+
<target name="build-single-file-test-metadata">
|
92
|
+
<exec executable="java">
|
93
|
+
<arg value="-jar" />
|
94
|
+
<arg value="${build.tools.jar}"/>
|
95
|
+
<arg value="BuildMetadataProtoFromXml"/>
|
96
|
+
<arg value="--input-file=${resources.dir}/PhoneNumberMetadataForTesting.xml"/>
|
97
|
+
<arg value="--output-dir=${libphonenumber.test.dir}/com/google/i18n/phonenumbers"/>
|
98
|
+
<arg value="--data-prefix=data/SingleFilePhoneNumberMetadataProtoForTesting"/>
|
99
|
+
<arg value="--single-file=true"/>
|
100
|
+
<arg value="--mapping-class=CountryCodeToRegionCodeMapForTesting"/>
|
101
|
+
<arg value="--copyright=2010"/>
|
102
|
+
<arg value="--lite-build=false"/>
|
103
|
+
</exec>
|
104
|
+
</target>
|
105
|
+
|
76
106
|
<target name="build-alternate-metadata">
|
77
107
|
<exec executable="java">
|
78
108
|
<arg value="-jar" />
|
@@ -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.18-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.0.
|
13
|
+
<version>7.0.12-SNAPSHOT</version>
|
14
14
|
</parent>
|
15
15
|
|
16
16
|
<build>
|
@@ -34,12 +34,12 @@
|
|
34
34
|
<dependency>
|
35
35
|
<groupId>com.googlecode.libphonenumber</groupId>
|
36
36
|
<artifactId>libphonenumber</artifactId>
|
37
|
-
<version>7.0.
|
37
|
+
<version>7.0.12-SNAPSHOT</version>
|
38
38
|
</dependency>
|
39
39
|
<dependency>
|
40
40
|
<groupId>com.googlecode.libphonenumber</groupId>
|
41
41
|
<artifactId>prefixmapper</artifactId>
|
42
|
-
<version>2.
|
42
|
+
<version>2.28-SNAPSHOT</version>
|
43
43
|
</dependency>
|
44
44
|
</dependencies>
|
45
45
|
|
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.0.
|
7
|
+
<version>7.0.12-SNAPSHOT</version>
|
8
8
|
</parent>
|
9
9
|
<groupId>com.googlecode.libphonenumber</groupId>
|
10
10
|
<artifactId>demo</artifactId>
|
11
|
-
<version>7.0.
|
11
|
+
<version>7.0.12-SNAPSHOT</version>
|
12
12
|
|
13
13
|
<properties>
|
14
14
|
<gae.version>1.5.4</gae.version>
|
@@ -43,17 +43,17 @@
|
|
43
43
|
<dependency>
|
44
44
|
<groupId>com.googlecode.libphonenumber</groupId>
|
45
45
|
<artifactId>libphonenumber</artifactId>
|
46
|
-
<version>7.0.
|
46
|
+
<version>7.0.12-SNAPSHOT</version>
|
47
47
|
</dependency>
|
48
48
|
<dependency>
|
49
49
|
<groupId>com.googlecode.libphonenumber</groupId>
|
50
50
|
<artifactId>geocoder</artifactId>
|
51
|
-
<version>2.
|
51
|
+
<version>2.28-SNAPSHOT</version>
|
52
52
|
</dependency>
|
53
53
|
<dependency>
|
54
54
|
<groupId>com.googlecode.libphonenumber</groupId>
|
55
55
|
<artifactId>carrier</artifactId>
|
56
|
-
<version>1.
|
56
|
+
<version>1.18-SNAPSHOT</version>
|
57
57
|
</dependency>
|
58
58
|
</dependencies>
|
59
59
|
|
@@ -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.28-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.0.
|
13
|
+
<version>7.0.12-SNAPSHOT</version>
|
14
14
|
</parent>
|
15
15
|
|
16
16
|
<build>
|
@@ -42,12 +42,12 @@
|
|
42
42
|
<dependency>
|
43
43
|
<groupId>com.googlecode.libphonenumber</groupId>
|
44
44
|
<artifactId>libphonenumber</artifactId>
|
45
|
-
<version>7.0.
|
45
|
+
<version>7.0.12-SNAPSHOT</version>
|
46
46
|
</dependency>
|
47
47
|
<dependency>
|
48
48
|
<groupId>com.googlecode.libphonenumber</groupId>
|
49
49
|
<artifactId>prefixmapper</artifactId>
|
50
|
-
<version>2.
|
50
|
+
<version>2.28-SNAPSHOT</version>
|
51
51
|
</dependency>
|
52
52
|
</dependencies>
|
53
53
|
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1854_en
ADDED
Binary file
|
data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_en
CHANGED
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.28-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.0.
|
13
|
+
<version>7.0.12-SNAPSHOT</version>
|
14
14
|
<relativePath>../../pom.xml</relativePath>
|
15
15
|
</parent>
|
16
16
|
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<dependency>
|
30
30
|
<groupId>com.googlecode.libphonenumber</groupId>
|
31
31
|
<artifactId>libphonenumber</artifactId>
|
32
|
-
<version>7.0.
|
32
|
+
<version>7.0.12-SNAPSHOT</version>
|
33
33
|
</dependency>
|
34
34
|
</dependencies>
|
35
35
|
|
@@ -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.0.
|
6
|
+
<version>7.0.12-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.0.
|
13
|
+
<version>7.0.12-SNAPSHOT</version>
|
14
14
|
</parent>
|
15
15
|
|
16
16
|
<build>
|
@@ -28,6 +28,20 @@
|
|
28
28
|
<targetPath>com/google/i18n/phonenumbers/data</targetPath>
|
29
29
|
</testResource>
|
30
30
|
</testResources>
|
31
|
+
<plugins>
|
32
|
+
<plugin>
|
33
|
+
<groupId>org.apache.maven.plugins</groupId>
|
34
|
+
<artifactId>maven-jar-plugin</artifactId>
|
35
|
+
<configuration>
|
36
|
+
<excludes>
|
37
|
+
<exclude>**/SingleFileMetadataSourceImpl.class</exclude>
|
38
|
+
<exclude>**/SingleFileMetadataSourceImpl.java</exclude>
|
39
|
+
<exclude>**/SingleFilePhoneNumberMetadataProto</exclude>
|
40
|
+
<exclude>**/SingleFilePhoneNumberMetadataProtoForTesting</exclude>
|
41
|
+
</excludes>
|
42
|
+
</configuration>
|
43
|
+
</plugin>
|
44
|
+
</plugins>
|
31
45
|
</build>
|
32
46
|
|
33
47
|
</project>
|
@@ -26,9 +26,9 @@ import java.util.Set;
|
|
26
26
|
public class ShortNumbersRegionCodeSet {
|
27
27
|
// A set of all region codes for which data is available.
|
28
28
|
static Set<String> getRegionCodeSet() {
|
29
|
-
// The capacity is set to
|
29
|
+
// The capacity is set to 317 as there are 238 different entries,
|
30
30
|
// and this offers a load factor of roughly 0.75.
|
31
|
-
Set<String> regionCodeSet = new HashSet<String>(
|
31
|
+
Set<String> regionCodeSet = new HashSet<String>(317);
|
32
32
|
|
33
33
|
regionCodeSet.add("AC");
|
34
34
|
regionCodeSet.add("AD");
|
@@ -69,6 +69,8 @@ public class ShortNumbersRegionCodeSet {
|
|
69
69
|
regionCodeSet.add("CA");
|
70
70
|
regionCodeSet.add("CC");
|
71
71
|
regionCodeSet.add("CD");
|
72
|
+
regionCodeSet.add("CF");
|
73
|
+
regionCodeSet.add("CG");
|
72
74
|
regionCodeSet.add("CH");
|
73
75
|
regionCodeSet.add("CI");
|
74
76
|
regionCodeSet.add("CK");
|
@@ -93,6 +95,7 @@ public class ShortNumbersRegionCodeSet {
|
|
93
95
|
regionCodeSet.add("EE");
|
94
96
|
regionCodeSet.add("EG");
|
95
97
|
regionCodeSet.add("EH");
|
98
|
+
regionCodeSet.add("ER");
|
96
99
|
regionCodeSet.add("ES");
|
97
100
|
regionCodeSet.add("ET");
|
98
101
|
regionCodeSet.add("FI");
|
@@ -142,6 +145,7 @@ public class ShortNumbersRegionCodeSet {
|
|
142
145
|
regionCodeSet.add("KI");
|
143
146
|
regionCodeSet.add("KM");
|
144
147
|
regionCodeSet.add("KN");
|
148
|
+
regionCodeSet.add("KP");
|
145
149
|
regionCodeSet.add("KR");
|
146
150
|
regionCodeSet.add("KW");
|
147
151
|
regionCodeSet.add("KY");
|
@@ -182,6 +186,7 @@ public class ShortNumbersRegionCodeSet {
|
|
182
186
|
regionCodeSet.add("MZ");
|
183
187
|
regionCodeSet.add("NA");
|
184
188
|
regionCodeSet.add("NC");
|
189
|
+
regionCodeSet.add("NE");
|
185
190
|
regionCodeSet.add("NF");
|
186
191
|
regionCodeSet.add("NG");
|
187
192
|
regionCodeSet.add("NI");
|
@@ -223,6 +228,7 @@ public class ShortNumbersRegionCodeSet {
|
|
223
228
|
regionCodeSet.add("SL");
|
224
229
|
regionCodeSet.add("SM");
|
225
230
|
regionCodeSet.add("SN");
|
231
|
+
regionCodeSet.add("SO");
|
226
232
|
regionCodeSet.add("SR");
|
227
233
|
regionCodeSet.add("ST");
|
228
234
|
regionCodeSet.add("SV");
|
@@ -0,0 +1,98 @@
|
|
1
|
+
package com.google.i18n.phonenumbers;
|
2
|
+
|
3
|
+
import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
|
4
|
+
import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadataCollection;
|
5
|
+
|
6
|
+
import java.io.IOException;
|
7
|
+
import java.io.InputStream;
|
8
|
+
import java.io.ObjectInputStream;
|
9
|
+
import java.util.Collections;
|
10
|
+
import java.util.EnumMap;
|
11
|
+
import java.util.HashMap;
|
12
|
+
import java.util.Iterator;
|
13
|
+
import java.util.Map;
|
14
|
+
import java.util.logging.Level;
|
15
|
+
import java.util.logging.Logger;
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Implementation of {@link MetadataSource} that reads from a resource file
|
19
|
+
* during initialization.
|
20
|
+
*/
|
21
|
+
public final class SingleFileMetadataSourceImpl implements MetadataSource {
|
22
|
+
|
23
|
+
private static final Logger logger =
|
24
|
+
Logger.getLogger(SingleFileMetadataSourceImpl.class.getName());
|
25
|
+
|
26
|
+
private static final String META_DATA_FILE =
|
27
|
+
"/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto";
|
28
|
+
|
29
|
+
// A mapping from a region code to the PhoneMetadata for that region.
|
30
|
+
// Note: Synchronization, though only needed for the Android version of the library, is used in
|
31
|
+
// all versions for consistency.
|
32
|
+
private final Map<String, PhoneMetadata> regionToMetadataMap =
|
33
|
+
Collections.synchronizedMap(new HashMap<String, PhoneMetadata>());
|
34
|
+
|
35
|
+
// A mapping from a country calling code for a non-geographical entity to the PhoneMetadata for
|
36
|
+
// that country calling code. Examples of the country calling codes include 800 (International
|
37
|
+
// Toll Free Service) and 808 (International Shared Cost Service).
|
38
|
+
// Note: Synchronization, though only needed for the Android version of the library, is used in
|
39
|
+
// all versions for consistency.
|
40
|
+
private final Map<Integer, PhoneMetadata> countryCodeToNonGeographicalMetadataMap =
|
41
|
+
Collections.synchronizedMap(new HashMap<Integer, PhoneMetadata>());
|
42
|
+
|
43
|
+
// It is assumed that metadataLoader is not null.
|
44
|
+
public SingleFileMetadataSourceImpl(MetadataLoader metadataLoader) {
|
45
|
+
InputStream input = metadataLoader.loadMetadata(META_DATA_FILE);
|
46
|
+
if (input == null) {
|
47
|
+
throw new IllegalStateException(
|
48
|
+
"no metadata available for PhoneNumberUtil: " + META_DATA_FILE);
|
49
|
+
}
|
50
|
+
PhoneMetadataCollection metadataCollection = loadMetadataAndCloseInput(input);
|
51
|
+
for (PhoneMetadata metadata : metadataCollection.getMetadataList()) {
|
52
|
+
String regionCode = metadata.getId();
|
53
|
+
int countryCallingCode = metadata.getCountryCode();
|
54
|
+
if (PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCode)) {
|
55
|
+
countryCodeToNonGeographicalMetadataMap.put(countryCallingCode, metadata);
|
56
|
+
} else {
|
57
|
+
regionToMetadataMap.put(regionCode, metadata);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
@Override
|
63
|
+
public PhoneMetadata getMetadataForRegion(String regionCode) {
|
64
|
+
return regionToMetadataMap.get(regionCode);
|
65
|
+
}
|
66
|
+
|
67
|
+
@Override
|
68
|
+
public PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode) {
|
69
|
+
return countryCodeToNonGeographicalMetadataMap.get(countryCallingCode);
|
70
|
+
}
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Loads the metadata protocol buffer from the given stream and closes the stream afterwards. Any
|
74
|
+
* exceptions that occur while reading the stream are propagated (though exceptions that occur
|
75
|
+
* when the stream is closed will be ignored).
|
76
|
+
*
|
77
|
+
* @param source the non-null stream from which metadata is to be read.
|
78
|
+
* @return the loaded metadata protocol buffer.
|
79
|
+
*/
|
80
|
+
private static PhoneMetadataCollection loadMetadataAndCloseInput(InputStream source) {
|
81
|
+
PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
|
82
|
+
try {
|
83
|
+
// Read in metadata for each region.
|
84
|
+
ObjectInputStream in = new ObjectInputStream(source);
|
85
|
+
metadataCollection.readExternal(in);
|
86
|
+
return metadataCollection;
|
87
|
+
} catch (IOException e) {
|
88
|
+
logger.log(Level.WARNING, e.toString());
|
89
|
+
} finally {
|
90
|
+
try {
|
91
|
+
source.close();
|
92
|
+
} catch (IOException e) {
|
93
|
+
logger.log(Level.WARNING, e.toString());
|
94
|
+
}
|
95
|
+
}
|
96
|
+
return metadataCollection;
|
97
|
+
}
|
98
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<modelVersion>4.0.0</modelVersion>
|
4
4
|
<groupId>com.googlecode.libphonenumber</groupId>
|
5
5
|
<artifactId>libphonenumber-parent</artifactId>
|
6
|
-
<version>7.0.
|
6
|
+
<version>7.0.12-SNAPSHOT</version>
|
7
7
|
<packaging>pom</packaging>
|
8
8
|
<url>https://github.com/googlei18n/libphonenumber/</url>
|
9
9
|
|