1.1 restoration
[mir.git] / source / mircoders / module / ModuleLanguage.java
index e33de75..565d3d9 100755 (executable)
@@ -33,8 +33,10 @@ import mir.log.LoggerWrapper;
 import mir.module.AbstractModule;
 import mir.module.ModuleExc;
 import mir.module.ModuleFailure;
-import mir.storage.StorageObject;
 import mir.util.JDBCStringRoutines;
+import mir.entity.Entity;
+import mir.entity.EntityList;
+import mircoders.storage.DatabaseLanguage;
 
 /**
  * Title:        mir - another content management system
@@ -48,11 +50,8 @@ import mir.util.JDBCStringRoutines;
 public class ModuleLanguage extends AbstractModule {
   static LoggerWrapper logger = new LoggerWrapper("Module.Language");
 
-  public ModuleLanguage (StorageObject theStorage)     {
-    if (theStorage == null)
-      logger.warn("ModuleLanguage -- StorageObject was null!");
-
-    this.storage = theStorage;
+  public ModuleLanguage ()     {
+    super(DatabaseLanguage.getInstance());
   }
 
   public String languageIdForCode(String aCode) throws ModuleExc, ModuleFailure {
@@ -63,4 +62,19 @@ public class ModuleLanguage extends AbstractModule {
       throw new ModuleFailure(t);
     }
   }
+
+  public Entity languageForCode(String aCode) throws ModuleExc, ModuleFailure {
+    try {
+      EntityList list = storage.selectByFieldValue("code", aCode);
+      if (list.size()>0) {
+        return list.elementAt(0);
+      }
+      else {
+        throw new ModuleExc("No language found for code " + aCode);
+      }
+    }
+    catch (Throwable t) {
+      throw new ModuleFailure(t);
+    }
+  }
 }
\ No newline at end of file