/**
   * operations on address the book
   *
   * @param absoluteFilePath
   */
  public static void operateAddressBook(String absoluteFilePath) {

    printOperations();

    boolean continueOperation = true;
    String name = null;

    do {
      System.out.println("Select operation:\n[Enter 8 for help]\n");

      int operation = scanner.nextInt();
      scanner.nextLine();
      switch (operation) {
        case 1:
          System.out.println("$Add Contact$");
          AddressBookOperation.addContact(addressBook);

          break;

        case 2:
          System.out.println("$Search Contact$");
          name = getContactName();
          Person person = AddressBookOperation.searchContact(addressBook, name);
          if (person != null) AddressBookOperation.printContact(person);
          else System.out.println("Error: Could not find the contact! Try again");
          break;

        case 3:
          System.out.println("$Edit Contact$");
          name = getContactName();
          AddressBookOperation.editContact(addressBook, name);
          break;

        case 4:
          System.out.println("$Remove Contact$");
          name = getContactName();
          if (AddressBookOperation.removeContact(addressBook, name))
            System.out.println("Contact removed successfully!");

          break;

        case 5:
          System.out.println("$Save Address book$");
          if (absoluteFilePath == null) {
            AddressBookOperation.saveNewAddressBook(addressBook);
          } else {
            AddressBookOperation.saveAddressBook(addressBook, absoluteFilePath);
          }
          break;

        case 6:
          System.out.println("$All contacts$");
          AddressBookOperation.printAddressBook(addressBook);
          break;

        case 7:
          System.out.println("$Exit$");
          continueOperation = false;
          break;

        case 8:
          System.out.println("$Help$");
          printOperations();
          break;

        default:
          System.out.println("Invalid Choice!");
      }

    } while (continueOperation != false);
  }