/**
   * Method saveData.
   *
   * @param cw CursedWeapon
   */
  private void saveData(CursedWeapon cw) {
    Connection con = null;
    PreparedStatement statement = null;

    try {
      con = DatabaseFactory.getInstance().getConnection();
      statement = con.prepareStatement("DELETE FROM cursed_weapons WHERE item_id = ?");
      statement.setInt(1, cw.getItemId());
      statement.executeUpdate();

      if (cw.isActive()) {
        DbUtils.close(statement);
        statement =
            con.prepareStatement(
                "REPLACE INTO cursed_weapons (item_id, player_id, player_karma, player_pkkills, nb_kills, x, y, z, end_time) VALUES (?,?,?,?,?,?,?,?,?)");
        statement.setInt(1, cw.getItemId());
        statement.setInt(2, cw.getPlayerId());
        statement.setInt(3, cw.getPlayerKarma());
        statement.setInt(4, cw.getPlayerPkKills());
        statement.setInt(5, cw.getNbKills());
        statement.setInt(6, cw.getLoc().getX());
        statement.setInt(7, cw.getLoc().getY());
        statement.setInt(8, cw.getLoc().getZ());
        statement.setLong(9, cw.getEndTime() / 1000);
        statement.executeUpdate();
      }
    } catch (SQLException e) {
      _log.error("CursedWeapon: Failed to save data: " + e);
    } finally {
      DbUtils.closeQuietly(con, statement);
    }
  }