@Override
  public boolean create(PostingLocation location) throws SQLException {
    if (!location.isValid()) {
      return false;
    }

    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;

    try {
      connection = this.daoFactory.getConnection();

      final Object[] values = {
        location.getState(),
        location.getCity(),
        location.getLatitude(),
        location.getLongitude(),
        location.getLocation_fk(),
        location.getLocation_link_fk(),
        location.getDatePosted(),
        location.getTimePosted(),
        location.getPosting_body(),
        location.getTitle(),
        location.getUrl(),
        location.getActive(),
        location.getEmail()
      };

      preparedStatement = DAOUtil.prepareStatement(connection, this.SQL_INSERT, false, values);

      Globals.crawlerLogManager.writeLog(preparedStatement.toString());

      preparedStatement.executeUpdate();

      return true;
    } catch (final SQLException e) {
      Globals.crawlerLogManager.writeLog("Insert into table posting_location fails");
      Globals.crawlerLogManager.writeLog(e.getMessage());

      return false;
    } finally {
      DAOUtil.close(connection, preparedStatement, resultSet);
    }
  }