Update PropertiesConfiguration. Catch potential NPE.

This commit is contained in:
Wizjany 2013-02-24 01:53:14 -05:00
parent e17a35bb15
commit 31de2a3a09
2 changed files with 16 additions and 1 deletions

View File

@ -18,7 +18,6 @@
*/
package com.sk89q.worldedit.snapshots;
import com.sk89q.worldedit.data.MissingWorldException;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
@ -26,6 +25,8 @@ import java.util.Calendar;
import java.util.Collections;
import java.util.List;
import com.sk89q.worldedit.data.MissingWorldException;
/**
*
* @author sk89q
@ -73,6 +74,7 @@ public class SnapshotRepository {
*/
public List<Snapshot> getSnapshots(boolean newestFirst, String worldname) throws MissingWorldException {
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File f = new File(dir, name);
return isValidSnapshot(f);
@ -80,6 +82,9 @@ public class SnapshotRepository {
};
File[] snapshotFiles = dir.listFiles();
if (snapshotFiles == null) {
throw new MissingWorldException(worldname);
}
List<Snapshot> list = new ArrayList<Snapshot>(snapshotFiles.length);
for (File file : snapshotFiles) {

View File

@ -28,6 +28,7 @@ import java.io.OutputStream;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import com.sk89q.util.StringUtil;
import com.sk89q.worldedit.LocalConfiguration;
import com.sk89q.worldedit.LocalSession;
@ -80,11 +81,14 @@ public class PropertiesConfiguration extends LocalConfiguration {
disallowedBlocks = getIntSet("disallowed-blocks", defaultDisallowedBlocks);
defaultChangeLimit = getInt("default-max-changed-blocks", defaultChangeLimit);
maxChangeLimit = getInt("max-changed-blocks", maxChangeLimit);
defaultMaxPolygonalPoints = getInt("default-max-polygon-points", defaultMaxPolygonalPoints);
maxPolygonalPoints = getInt("max-polygon-points", maxPolygonalPoints);
shellSaveType = getString("shell-save-type", shellSaveType);
maxRadius = getInt("max-radius", maxRadius);
maxSuperPickaxeSize = getInt("max-super-pickaxe-size", maxSuperPickaxeSize);
maxBrushRadius = getInt("max-brush-radius", maxBrushRadius);
logCommands = getBool("log-commands", logCommands);
logFile = getString("log-file", logFile);
registerHelp = getBool("register-help", registerHelp);
wandItem = getInt("wand-item", wandItem);
superPickaxeDrop = getBool("super-pickaxe-drop-items", superPickaxeDrop);
@ -92,10 +96,16 @@ public class PropertiesConfiguration extends LocalConfiguration {
noDoubleSlash = getBool("no-double-slash", noDoubleSlash);
useInventory = getBool("use-inventory", useInventory);
useInventoryOverride = getBool("use-inventory-override", useInventoryOverride);
useInventoryCreativeOverride = getBool("use-inventory-creative-override", useInventoryCreativeOverride);
navigationWand = getInt("nav-wand-item", navigationWand);
navigationWandMaxDistance = getInt("nav-wand-distance", navigationWandMaxDistance);
scriptTimeout = getInt("scripting-timeout", scriptTimeout);
saveDir = getString("schematic-save-dir", saveDir);
scriptsDir = getString("craftscript-dir", scriptsDir);
butcherDefaultRadius = getInt("butcher-default-radius", butcherDefaultRadius);
butcherMaxRadius = getInt("butcher-max-radius", butcherMaxRadius);
allowExtraDataValues = getBool("allow-extra-data-values", allowExtraDataValues);
allowSymlinks = getBool("allow-symbolic-links", allowSymlinks);
LocalSession.MAX_HISTORY_SIZE = Math.max(15, getInt("history-size", 15));