bugfixes mainly...
[mir.git] / source / mircoders / storage / DatabaseLanguage.java
index 0f96648..4b5fa84 100755 (executable)
@@ -26,7 +26,11 @@ public class DatabaseLanguage extends Database implements StorageObject{
        private static DatabaseLanguage instance;
        private static SimpleList languagePopupData;
 
-       public static DatabaseLanguage getInstance() throws StorageObjectException
+       // the following *has* to be sychronized cause this static method
+       // could get preemted and we could end up with 2 instances of DatabaseFoo..
+       // see the "Singletons with needles and thread" article at JavaWorld -mh
+       public synchronized static DatabaseLanguage getInstance() 
+         throws StorageObjectException
        {
                if (instance == null) {
                        instance = new DatabaseLanguage();
@@ -42,7 +46,13 @@ public class DatabaseLanguage extends Database implements StorageObject{
                this.theTable="language";
        }
 
-       public SimpleList getPopupData() { return getPopupData("name",false); }
+       public SimpleList getPopupData() throws StorageObjectException { 
+      SimpleList pData = null;
+      try {
+      pData = getPopupData("name",false);
+      } catch (StorageObjectException e) {System.err.println("FF");}
+      return pData;
+    }
 
 
 }