From 114f1c1f78f1ee71a616b0bafa1f538b96e93575 Mon Sep 17 00:00:00 2001 From: Eric Cordell Date: Fri, 2 Mar 2018 23:18:26 -0500 Subject: [PATCH] Pushing --- .../phone/PhoneNumberFactory.java | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java b/src/main/java/com/zipcodewilmington/phone/PhoneNumberFactory.java index 36d323b..94b5b5b 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.util.logging.Logger; @@ -20,14 +21,25 @@ private PhoneNumberFactory() { * @return array of randomly generated PhoneNumber objects */ //TODO - Implement logic public static PhoneNumber[] createRandomPhoneNumberArray(int phoneNumberCount) { - return null; + PhoneNumber[] phNumbers = new PhoneNumber[phoneNumberCount]; + + for(int i =0; i < phNumbers.length; i++){ + phNumbers[i] = createRandomPhoneNumber(); + } + return phNumbers; } /** * @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); + // return createPhoneNumberSafely(-1, -1, -1); } @@ -38,7 +50,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); + StringBuilder phoneNumberConcat = new StringBuilder(); + phoneNumberConcat.append("(" + areaCode + ")-" + centralOfficeCode + "-" + phoneLineCode); + + try { + return createPhoneNumber(phoneNumberConcat.toString()); + } catch (InvalidPhoneNumberFormatException e) { + //e.printStackTrace(); + logger.warning(areaCode + "-" + centralOfficeCode + "-" + phoneLineCode + " is not a valid number"); + } + return null; } /** @@ -46,7 +67,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 { + logger.info("New number with value " + phoneNumberString); + + return new PhoneNumber(phoneNumberString); } }