Skip to content

Instantly share code, notes, and snippets.

@LeonHartley
Created February 26, 2016 11:29
Embed
What would you like to do?
public static void getItems(Room room, Map<Long, RoomItemFloor> floorItems, Map<Long, RoomItemWall> wallItems) {
Connection sqlConnection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
sqlConnection = SqlHelper.getConnection();
preparedStatement = SqlHelper.prepare("SELECT i.*, ltd.limited_id, ltd.limited_total FROM items i LEFT JOIN items_limited_edition ltd ON ltd.item_id = i.id WHERE i.room_id = ?", sqlConnection);
preparedStatement.setInt(1, room.getId());
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
LimitedEditionItem limitedEditionItem = null;
if (resultSet.getInt("limited_id") != 0) {
limitedEditionItem = new LimitedEditionItem(resultSet.getLong("id"), resultSet.getInt("limited_id"), resultSet.getInt("limited_total"));
}
if (ItemManager.getInstance().getDefinition(resultSet.getInt("base_item")) != null) {
if (ItemManager.getInstance().getDefinition(resultSet.getInt("base_item")).getType().equals("s"))
floorItems.put(resultSet.getLong("id"), RoomItemFactory.createFloor(resultSet.getLong("id"), resultSet.getInt("base_item"), room, resultSet.getInt("user_id"), resultSet.getInt("x"), resultSet.getInt("y"), resultSet.getDouble("z"), resultSet.getInt("rot"), resultSet.getString("extra_data"), limitedEditionItem));
else
wallItems.put(resultSet.getLong("id"), RoomItemFactory.createWall(resultSet.getLong("id"), resultSet.getInt("base_item"), room, resultSet.getInt("user_id"), resultSet.getString("wall_pos"), resultSet.getString("extra_data"), limitedEditionItem));
} else {
log.warn("Item (" + resultSet.getInt("id") + ") with invalid definition ID: " + resultSet.getInt("base_item"));
}
}
} catch (SQLException e) {
SqlHelper.handleSqlException(e);
} finally {
SqlHelper.closeSilently(resultSet);
SqlHelper.closeSilently(preparedStatement);
SqlHelper.closeSilently(sqlConnection);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment