diff --git a/src/resources/server_info/RelationalServerData.java b/src/resources/server_info/RelationalServerData.java index f14fb788..093bcb96 100644 --- a/src/resources/server_info/RelationalServerData.java +++ b/src/resources/server_info/RelationalServerData.java @@ -59,10 +59,10 @@ public class RelationalServerData extends RelationalDatabase { insertTableMetadata = prepareStatement("INSERT INTO "+META_TABLE+" (table_name, last_imported) VALUES (?, ?)"); } - public void linkTableWithSdb(String table, String sdbPath) throws FileNotFoundException { + public boolean linkTableWithSdb(String table, String sdbPath) { File sdb = new File(sdbPath); if (!sdb.isFile()) - throw new FileNotFoundException("SDB does not exist at path " + sdb); + return false; long sdbModified = sdb.lastModified(); long imported = getLastImported(table); if (sdbModified > imported) { @@ -70,6 +70,7 @@ public class RelationalServerData extends RelationalDatabase { importFromSdb(table, sdb); updateLastImported(table, System.currentTimeMillis()); } + return true; } private long getLastImported(String table) { diff --git a/src/services/galaxy/terminals/TerminalService.java b/src/services/galaxy/terminals/TerminalService.java index 4bd9f70c..b1faa26a 100644 --- a/src/services/galaxy/terminals/TerminalService.java +++ b/src/services/galaxy/terminals/TerminalService.java @@ -33,12 +33,10 @@ public class TerminalService extends Service { public TerminalService() { templates = new HashSet<>(); iffDatabase = new RelationalServerData("serverdata/radial/radials.db"); - try { - iffDatabase.linkTableWithSdb("iff_to_script", "serverdata/radial/radials.sdb"); - } catch (FileNotFoundException e) { - e.printStackTrace(); + + if (!iffDatabase.linkTableWithSdb("iff_to_script", "serverdata/radial/radials.sdb")) throw new main.ProjectSWG.CoreException("Unable to load sdb files for StaticService"); - } + getAllTemplatesStatement = iffDatabase.prepareStatement(GET_ALL_TEMPLATES_SQL); getScriptForIffStatement = iffDatabase.prepareStatement(GET_SCRIPT_FOR_IFF_SQL); } diff --git a/src/services/map/CityService.java b/src/services/map/CityService.java index 8eee5543..dc49cc59 100644 --- a/src/services/map/CityService.java +++ b/src/services/map/CityService.java @@ -27,12 +27,8 @@ public class CityService extends Service { public CityService() { spawnDatabase = new RelationalServerData("serverdata/map/cities.db"); - try { - spawnDatabase.linkTableWithSdb("cities", "serverdata/map/cities.sdb"); - } catch (FileNotFoundException e) { - e.printStackTrace(); + if (!spawnDatabase.linkTableWithSdb("cities", "serverdata/map/cities.sdb")) throw new main.ProjectSWG.CoreException("Unable to load sdb files for StaticService"); - } getAllCitiesStatement = spawnDatabase.prepareStatement(GET_ALL_CITIES_FROM_TERRAIN); } diff --git a/src/services/spawn/StaticService.java b/src/services/spawn/StaticService.java index 41ff5557..46aa98c1 100644 --- a/src/services/spawn/StaticService.java +++ b/src/services/spawn/StaticService.java @@ -53,11 +53,9 @@ public class StaticService extends Service { this.objectManager = objectManager; spawnDatabase = new RelationalServerData("serverdata/static/spawns.db"); - try { - spawnDatabase.linkTableWithSdb("spawns", "serverdata/static/spawns.sdb"); - spawnDatabase.linkTableWithSdb("types", "serverdata/static/types.sdb"); - } catch (FileNotFoundException e) { - e.printStackTrace(); + + if (!spawnDatabase.linkTableWithSdb("spawns", "serverdata/static/spawns.sdb") || + !spawnDatabase.linkTableWithSdb("types", "serverdata/static/types.sdb")) { throw new main.ProjectSWG.CoreException("Unable to load sdb files for StaticService"); } getSupportingStatement = spawnDatabase.prepareStatement(GET_SUPPORTING_SQL);