From 5896975d62b664485b249a4710e17278d0dfc9ac Mon Sep 17 00:00:00 2001 From: Vincent Gasbarro Date: Wed, 28 Feb 2018 22:08:24 -0500 Subject: [PATCH 1/2] first commit --- .../phone/PhoneNumberFactory.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java index 36d323b..318b2b9 100644 --- a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java +++ b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java @@ -2,6 +2,7 @@ import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException; +import java.io.IOException; import java.util.logging.Logger; /** @@ -38,7 +39,16 @@ public static PhoneNumber createRandomPhoneNumber() { * @return a new phone number object */ //TODO - if input is valid, return respective PhoneNumber object, else return null public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) { - return createPhoneNumber(null); + + String phoneNumber = "(" + areaCode + ")" + "-" + centralOfficeCode + "-" + phoneLineCode; + + try { + return createPhoneNumber(phoneNumber); + + } catch (InvalidPhoneNumberFormatException ipnfe) { + return null; + } + } /** @@ -46,7 +56,9 @@ public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOffic * @return a new phone number object * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format */ // TODO - Add throws statement to method signature - public static PhoneNumber createPhoneNumber(String phoneNumberString) { - return null; + public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException { + PhoneNumber pn = new PhoneNumber(phoneNumberString); + + return pn; } } From ab0c36ec3e766e39cbac40eb04a8e2fda49b9910 Mon Sep 17 00:00:00 2001 From: Vincent Gasbarro Date: Thu, 1 Mar 2018 11:45:22 -0500 Subject: [PATCH 2/2] finished --- .../phone/PhoneNumberFactory.java | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java index 318b2b9..4da0c0a 100644 --- a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java +++ b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java @@ -1,6 +1,7 @@ package com.zipcodewilmington.phone; import com.zipcodewilmington.exceptions.InvalidPhoneNumberFormatException; +import com.zipcodewilmington.tools.RandomNumberFactory; import java.io.IOException; import java.util.logging.Logger; @@ -21,14 +22,24 @@ private PhoneNumberFactory() { * @return array of randomly generated PhoneNumber objects */ //TODO - Implement logic public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) { - return null; + PhoneNumber[] phoneNumbers = new PhoneNumber[phoneNumberCount]; + + for (int i = 0; i < phoneNumbers.length; i++) { + phoneNumbers[i] = createRandomPhoneNumber(); + } + + return phoneNumbers; } /** * @return an instance of PhoneNumber with randomly generated phone number value */ //TODO - Implement logic public static PhoneNumber createRandomPhoneNumber() { - return createPhoneNumberSafely(-1, -1, -1); + int areaCode = RandomNumberFactory.createInteger(100, 999); + int centralOfficeCode = RandomNumberFactory.createInteger(100, 999); + int phoneLineCode = RandomNumberFactory.createInteger(1000, 9999); + + return createPhoneNumberSafely(areaCode, centralOfficeCode, phoneLineCode); } @@ -39,16 +50,17 @@ public static PhoneNumber createRandomPhoneNumber() { * @return a new phone number object */ //TODO - if input is valid, return respective PhoneNumber object, else return null public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOfficeCode, int phoneLineCode) { - + String phoneNumber = "(" + areaCode + ")" + "-" + centralOfficeCode + "-" + phoneLineCode; + logger.config(phoneNumber + " is not a valid phone number"); + try { return createPhoneNumber(phoneNumber); } catch (InvalidPhoneNumberFormatException ipnfe) { return null; } - } /** @@ -57,8 +69,10 @@ public static PhoneNumber createPhoneNumberSafely(int areaCode, int centralOffic * @throws InvalidPhoneNumberFormatException - thrown if phoneNumberString does not match acceptable format */ // TODO - Add throws statement to method signature public static PhoneNumber createPhoneNumber(String phoneNumberString) throws InvalidPhoneNumberFormatException { - PhoneNumber pn = new PhoneNumber(phoneNumberString); - return pn; + logger.config("Attempting to create a new PhoneNumber object with a value of " + phoneNumberString); + + return new PhoneNumber(phoneNumberString); + } }