phonelib 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|