Allow the preset loading system to function if there are no orc files.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 23 Aug 2012 19:52:39 +0000 (19:52 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 23 Aug 2012 19:52:39 +0000 (19:52 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@991 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/startup/ConcurrentComponentPresetDatabaseLoader.java

index 2e57fa5cff4771fa68218a0a05eca79b57032ef3..3a70b7e505a27fe660c4452d03e9ff6042797187 100644 (file)
@@ -73,7 +73,9 @@ public class ConcurrentComponentPresetDatabaseLoader {
                loaderPool.awaitTermination(90, TimeUnit.SECONDS);
                writerPool.shutdown();
                writerPool.awaitTermination(90, TimeUnit.SECONDS);
-               iterator.close();
+               if ( iterator != null ) {
+                       iterator.close();
+               }
                long end = System.currentTimeMillis();
                log.debug("Time to load presets: " + (end-startTime) + "ms " + presetCount + " loaded from " + fileCount + " files");
        }
@@ -88,18 +90,14 @@ public class ConcurrentComponentPresetDatabaseLoader {
                        iterator = DirectoryIterator.findDirectory(SYSTEM_PRESET_DIR,
                                        new SimpleFileFilter("", false, "orc"));
 
-                       if (iterator == null) {
-                               throw new IllegalStateException("Component preset directory " + SYSTEM_PRESET_DIR +
-                                               " not found, distribution built wrong");
-                       }
-
-                       while( iterator.hasNext() ) {
-                               Pair<String,InputStream> f = iterator.next();
-                               FileLoader loader = new FileLoader( f.getV(), f.getU() );
-                               loaderPool.execute(loader);
-                               fileCount ++;
+                       if (iterator != null) {
+                               while( iterator.hasNext() ) {
+                                       Pair<String,InputStream> f = iterator.next();
+                                       FileLoader loader = new FileLoader( f.getV(), f.getU() );
+                                       loaderPool.execute(loader);
+                                       fileCount ++;
+                               }
                        }
-
                        latch.countDown();
                }
        }