1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-17 11:54:33 +01:00

hardening initial files load

This commit is contained in:
Federico Fissore 2013-02-06 11:53:54 +01:00
parent f53239e60a
commit b082406775
3 changed files with 16 additions and 13 deletions

View File

@ -32,20 +32,22 @@ import processing.app.helpers.filefilters.OnlyDirs;
public class TargetPackage {
String name;
File folder;
private final String name;
Map<String, TargetPlatform> platforms = new HashMap<String, TargetPlatform>();
public TargetPackage(String _name, File _folder) {
name = _name;
folder = _folder;
public TargetPackage(String name, File folder) {
this.name = name;
String[] platformsList = folder.list(new OnlyDirs());
for (String platformName : platformsList) {
File platformFolder = new File(folder, platformName);
TargetPlatform platform = new TargetPlatform(platformName, platformFolder);
platforms.put(platformName, platform);
if (platformsList != null) {
for (String platformName : platformsList) {
File platformFolder = new File(folder, platformName);
if (platformFolder.exists() && platformFolder.canRead()) {
TargetPlatform platform = new TargetPlatform(platformName, platformFolder);
platforms.put(platformName, platform);
}
}
}
}

View File

@ -55,7 +55,7 @@ public class TargetPlatform {
try {
File boardsFile = new File(_folder, "boards.txt");
if (boardsFile.exists()) {
if (boardsFile.exists() && boardsFile.canRead()) {
PreferencesMap boardPreferences = new PreferencesMap();
boardPreferences.load(boardsFile);
boards = boardPreferences.createFirstLevelMap();
@ -69,15 +69,16 @@ public class TargetPlatform {
try {
File platformsFile = new File(_folder, "platform.txt");
if (platformsFile.exists())
if (platformsFile.exists() && platformsFile.canRead()) {
preferences.load(platformsFile);
}
} catch (Exception e) {
System.err.println("Error loading platforms from platform.txt: " + e);
}
try {
File programmersFile = new File(_folder, "programmers.txt");
if (programmersFile.exists()) {
if (programmersFile.exists() && programmersFile.canRead()) {
PreferencesMap prefs = new PreferencesMap();
prefs.load(programmersFile);
programmers = prefs.createFirstLevelMap();

View File

@ -50,7 +50,7 @@ public class PreferencesMap extends LinkedHashMap<String, String> {
* @throws FileNotFoundException
* @throws IOException
*/
public void load(File file) throws FileNotFoundException, IOException {
public void load(File file) throws IOException {
load(new FileInputStream(file));
}