Browse Source

remove Builders from Phonemetadata (BuildMetadataCppFromXml.writePhoneMetadataCollection temporarily disabled)

pull/887/head
David Yonge-Mallo 10 years ago
parent
commit
331094d2b5
7 changed files with 89 additions and 129 deletions
  1. +5
    -57
      java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java
  2. +5
    -0
      tools/java/common/pom.xml
  3. +23
    -23
      tools/java/common/src/com/google/i18n/phonenumbers/BuildMetadataFromXml.java
  4. +47
    -47
      tools/java/common/test/com/google/i18n/phonenumbers/BuildMetadataFromXmlTest.java
  5. +3
    -2
      tools/java/cpp-build/pom.xml
  6. +1
    -0
      tools/java/cpp-build/src/com/google/i18n/phonenumbers/BuildMetadataCppFromXml.java
  7. +5
    -0
      tools/java/java-build/pom.xml

+ 5
- 57
java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java View File

@ -26,6 +26,7 @@ import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.OutputStream;
public final class Phonemetadata {
private Phonemetadata() {}
@ -33,21 +34,6 @@ public final class Phonemetadata {
private static final long serialVersionUID = 1;
public NumberFormat() {}
/**
* Provides a dummy builder to 'emulate' the API of the code generated by the latest version of
* Protocol Buffers. This lets BuildMetadataFromXml class to build with both this hand created
* class and the one generated by the latest version of Protocol Buffers.
*/
public static final class Builder extends NumberFormat {
public NumberFormat build() {
return this;
}
}
public static Builder newBuilder() {
return new Builder();
}
// required string pattern = 1;
private boolean hasPattern;
private String pattern_ = "";
@ -191,20 +177,6 @@ public final class Phonemetadata {
private static final long serialVersionUID = 1;
public PhoneNumberDesc() {}
/**
* Provides a dummy builder.
*
* @see NumberFormat.Builder
*/
public static final class Builder extends PhoneNumberDesc {
public PhoneNumberDesc build() {
return this;
}
}
public static Builder newBuilder() {
return new Builder();
}
// optional string national_number_pattern = 2;
private boolean hasNationalNumberPattern;
private String nationalNumberPattern_ = "";
@ -293,20 +265,6 @@ public final class Phonemetadata {
private static final long serialVersionUID = 1;
public PhoneMetadata() {}
/**
* Provides a dummy builder.
*
* @see NumberFormat.Builder
*/
public static final class Builder extends PhoneMetadata {
public PhoneMetadata build() {
return this;
}
}
public static Builder newBuilder() {
return new Builder();
}
// optional PhoneNumberDesc general_desc = 1;
private boolean hasGeneralDesc;
private PhoneNumberDesc generalDesc_ = null;
@ -998,20 +956,6 @@ public final class Phonemetadata {
private static final long serialVersionUID = 1;
public PhoneMetadataCollection() {}
/**
* Provides a dummy builder.
*
* @see NumberFormat.Builder
*/
public static final class Builder extends PhoneMetadataCollection {
public PhoneMetadataCollection build() {
return this;
}
}
public static Builder newBuilder() {
return new Builder();
}
// repeated PhoneMetadata metadata = 1;
private java.util.List<PhoneMetadata> metadata_ = new java.util.ArrayList<PhoneMetadata>();
@ -1049,5 +993,9 @@ public final class Phonemetadata {
metadata_.clear();
return this;
}
public void writeTo(OutputStream output) throws java.io.IOException {
// Note: This is a stub for compilation purposes.
}
}
}

+ 5
- 0
tools/java/common/pom.xml View File

@ -56,6 +56,11 @@
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.6.1</version>
</dependency>
</dependencies>
</project>

+ 23
- 23
tools/java/common/src/com/google/i18n/phonenumbers/BuildMetadataFromXml.java View File

@ -96,7 +96,7 @@ public class BuildMetadataFromXml {
document.getDocumentElement().normalize();
Element rootElement = document.getDocumentElement();
NodeList territory = rootElement.getElementsByTagName("territory");
PhoneMetadataCollection.Builder metadataCollection = PhoneMetadataCollection.newBuilder();
PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
int numOfTerritories = territory.getLength();
// TODO: Look for other uses of these constants and possibly pull them out into
// a separate constants file.
@ -114,7 +114,7 @@ public class BuildMetadataFromXml {
isShortNumberMetadata, isAlternateFormatsMetadata);
metadataCollection.addMetadata(metadata);
}
return metadataCollection.build();
return metadataCollection;
}
// Build a mapping from a country calling code to the region codes which denote the country/region
@ -179,9 +179,9 @@ public class BuildMetadataFromXml {
}
// @VisibleForTesting
static PhoneMetadata.Builder loadTerritoryTagMetadata(String regionCode, Element element,
String nationalPrefix) {
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
static PhoneMetadata loadTerritoryTagMetadata(String regionCode, Element element,
String nationalPrefix) {
PhoneMetadata metadata = new PhoneMetadata();
metadata.setId(regionCode);
if (element.hasAttribute(COUNTRY_CODE)) {
metadata.setCountryCode(Integer.parseInt(element.getAttribute(COUNTRY_CODE)));
@ -231,10 +231,10 @@ public class BuildMetadataFromXml {
* @return whether an international number format is defined.
*/
// @VisibleForTesting
static boolean loadInternationalFormat(PhoneMetadata.Builder metadata,
static boolean loadInternationalFormat(PhoneMetadata metadata,
Element numberFormatElement,
NumberFormat nationalFormat) {
NumberFormat.Builder intlFormat = NumberFormat.newBuilder();
NumberFormat intlFormat = new NumberFormat();
NodeList intlFormatPattern = numberFormatElement.getElementsByTagName(INTL_FORMAT);
boolean hasExplicitIntlFormatDefined = false;
@ -270,8 +270,8 @@ public class BuildMetadataFromXml {
* @throws RuntimeException if multiple or no formats have been encountered.
*/
// @VisibleForTesting
static void loadNationalFormat(PhoneMetadata.Builder metadata, Element numberFormatElement,
NumberFormat.Builder format) {
static void loadNationalFormat(PhoneMetadata metadata, Element numberFormatElement,
NumberFormat format) {
setLeadingDigitsPatterns(numberFormatElement, format);
format.setPattern(validateRE(numberFormatElement.getAttribute(PATTERN)));
@ -294,7 +294,7 @@ public class BuildMetadataFromXml {
* the parent (territory) element.
*/
// @VisibleForTesting
static void loadAvailableFormats(PhoneMetadata.Builder metadata,
static void loadAvailableFormats(PhoneMetadata metadata,
Element element, String nationalPrefix,
String nationalPrefixFormattingRule,
boolean nationalPrefixOptionalWhenFormatting) {
@ -310,7 +310,7 @@ public class BuildMetadataFromXml {
if (numOfFormatElements > 0) {
for (int i = 0; i < numOfFormatElements; i++) {
Element numberFormatElement = (Element) numberFormatElements.item(i);
NumberFormat.Builder format = NumberFormat.newBuilder();
NumberFormat format = new NumberFormat();
if (numberFormatElement.hasAttribute(NATIONAL_PREFIX_FORMATTING_RULE)) {
format.setNationalPrefixFormattingRule(
@ -336,7 +336,7 @@ public class BuildMetadataFromXml {
loadNationalFormat(metadata, numberFormatElement, format);
metadata.addNumberFormat(format);
if (loadInternationalFormat(metadata, numberFormatElement, format.build())) {
if (loadInternationalFormat(metadata, numberFormatElement, format)) {
hasExplicitIntlFormatDefined = true;
}
}
@ -351,7 +351,7 @@ public class BuildMetadataFromXml {
}
// @VisibleForTesting
static void setLeadingDigitsPatterns(Element numberFormatElement, NumberFormat.Builder format) {
static void setLeadingDigitsPatterns(Element numberFormatElement, NumberFormat format) {
NodeList leadingDigitsPatternNodes = numberFormatElement.getElementsByTagName(LEADING_DIGITS);
int numOfLeadingDigitsPatterns = leadingDigitsPatternNodes.getLength();
if (numOfLeadingDigitsPatterns > 0) {
@ -406,18 +406,18 @@ public class BuildMetadataFromXml {
* @return complete description of that phone number type
*/
// @VisibleForTesting
static PhoneNumberDesc.Builder processPhoneNumberDescElement(PhoneNumberDesc.Builder generalDesc,
Element countryElement,
String numberType,
boolean liteBuild) {
static PhoneNumberDesc processPhoneNumberDescElement(PhoneNumberDesc generalDesc,
Element countryElement,
String numberType,
boolean liteBuild) {
NodeList phoneNumberDescList = countryElement.getElementsByTagName(numberType);
PhoneNumberDesc.Builder numberDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc numberDesc = new PhoneNumberDesc();
if (phoneNumberDescList.getLength() == 0 && !isValidNumberType(numberType)) {
numberDesc.setNationalNumberPattern("NA");
numberDesc.setPossibleNumberPattern("NA");
return numberDesc;
}
numberDesc.mergeFrom(generalDesc.build());
numberDesc.mergeFrom(generalDesc);
if (phoneNumberDescList.getLength() > 0) {
Element element = (Element) phoneNumberDescList.item(0);
NodeList possiblePattern = element.getElementsByTagName(POSSIBLE_NUMBER_PATTERN);
@ -443,9 +443,9 @@ public class BuildMetadataFromXml {
}
// @VisibleForTesting
static void setRelevantDescPatterns(PhoneMetadata.Builder metadata, Element element,
static void setRelevantDescPatterns(PhoneMetadata metadata, Element element,
boolean liteBuild, boolean isShortNumberMetadata) {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
generalDesc = processPhoneNumberDescElement(generalDesc, element, GENERAL_DESC, liteBuild);
metadata.setGeneralDesc(generalDesc);
@ -496,7 +496,7 @@ public class BuildMetadataFromXml {
static PhoneMetadata loadCountryMetadata(String regionCode, Element element, boolean liteBuild,
boolean isShortNumberMetadata, boolean isAlternateFormatsMetadata) {
String nationalPrefix = getNationalPrefix(element);
PhoneMetadata.Builder metadata =
PhoneMetadata metadata =
loadTerritoryTagMetadata(regionCode, element, nationalPrefix);
String nationalPrefixFormattingRule =
getNationalPrefixFormattingRuleFromElement(element, nationalPrefix);
@ -507,6 +507,6 @@ public class BuildMetadataFromXml {
// The alternate formats metadata does not need most of the patterns to be set.
setRelevantDescPatterns(metadata, element, liteBuild, isShortNumberMetadata);
}
return metadata.build();
return metadata;
}
}

+ 47
- 47
tools/java/common/test/com/google/i18n/phonenumbers/BuildMetadataFromXmlTest.java View File

@ -120,7 +120,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" leadingZeroPossible='true' mobileNumberPortableRegion='true'>" +
"</territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneMetadata.Builder phoneMetadata =
PhoneMetadata phoneMetadata =
BuildMetadataFromXml.loadTerritoryTagMetadata("33", territoryElement, "0");
assertEquals(33, phoneMetadata.getCountryCode());
assertEquals("2", phoneMetadata.getLeadingDigits());
@ -139,7 +139,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<territory countryCode='33'/>";
Element territoryElement = parseXmlString(xmlInput);
PhoneMetadata.Builder phoneMetadata =
PhoneMetadata phoneMetadata =
BuildMetadataFromXml.loadTerritoryTagMetadata("33", territoryElement, "");
assertFalse(phoneMetadata.getMainCountryForCode());
assertFalse(phoneMetadata.isLeadingZeroPossible());
@ -150,7 +150,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<territory countryCode='33'/>";
Element territoryElement = parseXmlString(xmlInput);
PhoneMetadata.Builder phoneMetadata =
PhoneMetadata phoneMetadata =
BuildMetadataFromXml.loadTerritoryTagMetadata("33", territoryElement, "00");
// When unspecified, nationalPrefixForParsing defaults to nationalPrefix.
assertEquals("00", phoneMetadata.getNationalPrefix());
@ -171,8 +171,8 @@ public class BuildMetadataFromXmlTest extends TestCase {
String intlFormat = "$1 $2";
String xmlInput = "<numberFormat><intlFormat>" + intlFormat + "</intlFormat></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat nationalFormat = NumberFormat.newBuilder().build();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat nationalFormat = new NumberFormat();
assertTrue(BuildMetadataFromXml.loadInternationalFormat(metadata, numberFormatElement,
nationalFormat));
@ -184,12 +184,12 @@ public class BuildMetadataFromXmlTest extends TestCase {
String intlFormat = "$1 $2";
String xmlInput = "<numberFormat><intlFormat>" + intlFormat + "</intlFormat></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder nationalFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat nationalFormat = new NumberFormat();
nationalFormat.setFormat("$1");
assertTrue(BuildMetadataFromXml.loadInternationalFormat(metadata, numberFormatElement,
nationalFormat.build()));
nationalFormat));
assertEquals(intlFormat, metadata.getIntlNumberFormat(0).getFormat());
}
@ -197,12 +197,12 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<numberFormat><intlFormat/><intlFormat/></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
// Should throw an exception as multiple intlFormats are provided.
try {
BuildMetadataFromXml.loadInternationalFormat(metadata, numberFormatElement,
NumberFormat.newBuilder().build());
new NumberFormat());
fail();
} catch (RuntimeException e) {
// Test passed.
@ -213,13 +213,13 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<numberFormat></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder nationalFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat nationalFormat = new NumberFormat();
String nationalPattern = "$1 $2 $3";
nationalFormat.setFormat(nationalPattern);
assertFalse(BuildMetadataFromXml.loadInternationalFormat(metadata, numberFormatElement,
nationalFormat.build()));
nationalFormat));
assertEquals(nationalPattern, metadata.getIntlNumberFormat(0).getFormat());
}
@ -227,13 +227,13 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<numberFormat></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder nationalFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat nationalFormat = new NumberFormat();
nationalFormat.setFormat("$1-$2");
nationalFormat.setNationalPrefixOptionalWhenFormatting(true);
assertFalse(BuildMetadataFromXml.loadInternationalFormat(metadata, numberFormatElement,
nationalFormat.build()));
nationalFormat));
assertTrue(metadata.getIntlNumberFormat(0).isNationalPrefixOptionalWhenFormatting());
}
@ -243,8 +243,8 @@ public class BuildMetadataFromXmlTest extends TestCase {
String xmlInput = String.format("<numberFormat><format>%s</format></numberFormat>",
nationalFormat);
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder numberFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat numberFormat = new NumberFormat();
BuildMetadataFromXml.loadNationalFormat(metadata, numberFormatElement, numberFormat);
assertEquals(nationalFormat, numberFormat.getFormat());
}
@ -253,8 +253,8 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<numberFormat></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder numberFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat numberFormat = new NumberFormat();
try {
BuildMetadataFromXml.loadNationalFormat(metadata, numberFormatElement, numberFormat);
@ -268,8 +268,8 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<numberFormat><format/><format/></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder numberFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat numberFormat = new NumberFormat();
try {
BuildMetadataFromXml.loadNationalFormat(metadata, numberFormatElement, numberFormat);
@ -292,7 +292,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </availableFormats>" +
"</territory>";
Element element = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.loadAvailableFormats(
metadata, element, "0", "", false /* NP not optional */);
assertEquals("($1)", metadata.getNumberFormat(0).getNationalPrefixFormattingRule());
@ -311,7 +311,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </availableFormats>" +
"</territory>";
Element element = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.loadAvailableFormats(
metadata, element, "0", "", false /* NP not optional */);
assertEquals("($1)", metadata.getNumberFormat(0).getNationalPrefixFormattingRule());
@ -328,7 +328,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </availableFormats>" +
"</territory>";
Element element = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.loadAvailableFormats(
metadata, element, "", "($1)", false /* NP not optional */);
assertEquals("($1)", metadata.getNumberFormat(0).getNationalPrefixFormattingRule());
@ -343,7 +343,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </availableFormats>" +
"</territory>";
Element element = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.loadAvailableFormats(
metadata, element, "0", "($1)", false /* NP not optional */);
assertEquals(0, metadata.intlNumberFormatSize());
@ -359,7 +359,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </availableFormats>" +
"</territory>";
Element element = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.loadAvailableFormats(
metadata, element, "0", "($1)", false /* NP not optional */);
assertEquals("$1 $2 $3", metadata.getNumberFormat(0).getFormat());
@ -370,12 +370,12 @@ public class BuildMetadataFromXmlTest extends TestCase {
throws ParserConfigurationException, SAXException, IOException {
String xmlInput = "<numberFormat><intlFormat>NA</intlFormat></numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
NumberFormat.Builder nationalFormat = NumberFormat.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
NumberFormat nationalFormat = new NumberFormat();
nationalFormat.setFormat("$1 $2");
BuildMetadataFromXml.loadInternationalFormat(metadata, numberFormatElement,
nationalFormat.build());
nationalFormat);
assertEquals(0, metadata.intlNumberFormatSize());
}
@ -396,7 +396,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </numberFormat>" +
" </availableFormats>";
Element element = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.loadAvailableFormats(
metadata, element, "0", "", false /* NP not optional */);
assertEquals(1, metadata.getNumberFormat(0).leadingDigitsPatternSize());
@ -415,7 +415,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
"<leadingDigits>1</leadingDigits><leadingDigits>2</leadingDigits>" +
"</numberFormat>";
Element numberFormatElement = parseXmlString(xmlInput);
NumberFormat.Builder numberFormat = NumberFormat.newBuilder();
NumberFormat numberFormat = new NumberFormat();
BuildMetadataFromXml.setLeadingDigitsPatterns(numberFormatElement, numberFormat);
assertEquals("1", numberFormat.getLeadingDigitsPattern(0));
@ -449,9 +449,9 @@ public class BuildMetadataFromXmlTest extends TestCase {
// Tests processPhoneNumberDescElement().
public void testProcessPhoneNumberDescElementWithInvalidInput()
throws ParserConfigurationException, SAXException, IOException {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
Element territoryElement = parseXmlString("<territory/>");
PhoneNumberDesc.Builder phoneNumberDesc;
PhoneNumberDesc phoneNumberDesc;
phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
generalDesc, territoryElement, "invalidType", false);
@ -461,10 +461,10 @@ public class BuildMetadataFromXmlTest extends TestCase {
public void testProcessPhoneNumberDescElementMergesWithGeneralDesc()
throws ParserConfigurationException, SAXException, IOException {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
generalDesc.setPossibleNumberPattern("\\d{6}");
Element territoryElement = parseXmlString("<territory><fixedLine/></territory>");
PhoneNumberDesc.Builder phoneNumberDesc;
PhoneNumberDesc phoneNumberDesc;
phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
generalDesc, territoryElement, "fixedLine", false);
@ -473,14 +473,14 @@ public class BuildMetadataFromXmlTest extends TestCase {
public void testProcessPhoneNumberDescElementOverridesGeneralDesc()
throws ParserConfigurationException, SAXException, IOException {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
generalDesc.setPossibleNumberPattern("\\d{8}");
String xmlInput =
"<territory><fixedLine>" +
" <possibleNumberPattern>\\d{6}</possibleNumberPattern>" +
"</fixedLine></territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneNumberDesc.Builder phoneNumberDesc;
PhoneNumberDesc phoneNumberDesc;
phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
generalDesc, territoryElement, "fixedLine", false);
@ -489,13 +489,13 @@ public class BuildMetadataFromXmlTest extends TestCase {
public void testProcessPhoneNumberDescElementHandlesLiteBuild()
throws ParserConfigurationException, SAXException, IOException {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
String xmlInput =
"<territory><fixedLine>" +
" <exampleNumber>01 01 01 01</exampleNumber>" +
"</fixedLine></territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneNumberDesc.Builder phoneNumberDesc;
PhoneNumberDesc phoneNumberDesc;
phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
generalDesc, territoryElement, "fixedLine", true);
@ -504,13 +504,13 @@ public class BuildMetadataFromXmlTest extends TestCase {
public void testProcessPhoneNumberDescOutputsExampleNumberByDefault()
throws ParserConfigurationException, SAXException, IOException {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
String xmlInput =
"<territory><fixedLine>" +
" <exampleNumber>01 01 01 01</exampleNumber>" +
"</fixedLine></territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneNumberDesc.Builder phoneNumberDesc;
PhoneNumberDesc phoneNumberDesc;
phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
generalDesc, territoryElement, "fixedLine", false);
@ -519,13 +519,13 @@ public class BuildMetadataFromXmlTest extends TestCase {
public void testProcessPhoneNumberDescRemovesWhiteSpacesInPatterns()
throws ParserConfigurationException, SAXException, IOException {
PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
PhoneNumberDesc generalDesc = new PhoneNumberDesc();
String xmlInput =
"<territory><fixedLine>" +
" <possibleNumberPattern>\t \\d { 6 } </possibleNumberPattern>" +
"</fixedLine></territory>";
Element countryElement = parseXmlString(xmlInput);
PhoneNumberDesc.Builder phoneNumberDesc;
PhoneNumberDesc phoneNumberDesc;
phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
generalDesc, countryElement, "fixedLine", false);
@ -541,7 +541,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" <mobile><nationalNumberPattern>\\d{6}</nationalNumberPattern></mobile>" +
"</territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
// Should set sameMobileAndFixedPattern to true.
BuildMetadataFromXml.setRelevantDescPatterns(metadata, territoryElement, false /* liteBuild */,
false /* isShortNumberMetadata */);
@ -563,7 +563,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" <uan><nationalNumberPattern>\\d{9}</nationalNumberPattern></uan>" +
"</territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.setRelevantDescPatterns(metadata, territoryElement, false /* liteBuild */,
false /* isShortNumberMetadata */);
assertEquals("\\d{1}", metadata.getFixedLine().getNationalNumberPattern());
@ -590,7 +590,7 @@ public class BuildMetadataFromXmlTest extends TestCase {
" </carrierSpecific>" +
"</territory>";
Element territoryElement = parseXmlString(xmlInput);
PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
PhoneMetadata metadata = new PhoneMetadata();
BuildMetadataFromXml.setRelevantDescPatterns(metadata, territoryElement, false /* liteBuild */,
true /* isShortNumberMetadata */);
assertEquals("\\d{1}", metadata.getTollFree().getNationalNumberPattern());


+ 3
- 2
tools/java/cpp-build/pom.xml View File

@ -49,7 +49,6 @@
</execution>
</executions>
</plugin>
<!-- Add generated/ to the source directories. -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
@ -62,9 +61,11 @@
</goals>
<configuration>
<sources>
<source>generated/</source>
<!-- Also add ../common/src/ which contains BuildMetadataFromXml.java -->
<source>../common/src/</source>
<!-- Add ../../../java/libphonenumber/src/ to make Phonemetadata.java available to
the source directories. -->
<source>../../../java/libphonenumber/src/</source>
</sources>
</configuration>
</execution>


+ 1
- 0
tools/java/cpp-build/src/com/google/i18n/phonenumbers/BuildMetadataCppFromXml.java View File

@ -201,6 +201,7 @@ public class BuildMetadataCppFromXml extends Command {
// @VisibleForTesting
void writePhoneMetadataCollection(
String inputFilePath, boolean liteMetadata, OutputStream out) throws IOException, Exception {
// Note: This is a stub and does nothing.
BuildMetadataFromXml.buildPhoneMetadataCollection(inputFilePath, liteMetadata).writeTo(out);
}


+ 5
- 0
tools/java/java-build/pom.xml View File

@ -108,6 +108,11 @@
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.6.1</version>
</dependency>
</dependencies>
</project>

Loading…
Cancel
Save