testing extension xml parser for producer.xml
[mir.git] / source / mir / storage / Database.java
index fde49b2..2c8f7d6 100755 (executable)
@@ -75,7 +75,7 @@ import com.codestudio.util.SQLManager;
  * Treiber, Host, User und Passwort, ueber den der Zugriff auf die
  * Datenbank erfolgt.
  *
- * @version $Id: Database.java,v 1.44.2.8 2003/11/24 19:57:54 rk Exp $
+ * @version $Id: Database.java,v 1.44.2.12 2003/11/24 23:54:06 rk Exp $
  * @author rk
  *
  */
@@ -474,7 +474,7 @@ public class Database implements StorageObject {
    */
 
   public EntityList selectByWhereClauseWithExtraTables(String mainTablePrefix, 
-                                               Vector extraTables, String aWhereClause )
+                                               List extraTables, String aWhereClause )
    throws StorageObjectFailure {
        return selectByWhereClause( mainTablePrefix, extraTables, aWhereClause, "", 0, -1);
   }
@@ -576,13 +576,17 @@ public class Database implements StorageObject {
    * @return EntityList mit den gematchten Entities
    * @exception StorageObjectException
    */
-  public EntityList selectByWhereClause(String mainTablePrefix, Vector extraTables,
+  public EntityList selectByWhereClause(String mainTablePrefix, List extraTables,
       String aWhereClause, String anOrderByClause,
                        int offset, int limit) throws StorageObjectFailure {
     
+    
     String useTable = theTable;
-    if (mainTablePrefix!=null && mainTablePrefix.trim().length()>0)
-    useTable+=" "+mainTablePrefix;
+    String selectStar = "*";
+    if (mainTablePrefix!=null && mainTablePrefix.trim().length()>0) {
+      useTable+=" "+mainTablePrefix;
+      selectStar=mainTablePrefix.trim() + ".*";
+    }
     
     // check o_store for entitylist
     // only if no relational select
@@ -619,13 +623,15 @@ public class Database implements StorageObject {
     StringBuffer countSql =
       new StringBuffer("select count(*) from ").append(useTable);
     StringBuffer selectSql =
-      new StringBuffer("select * from ").append(useTable);
+      new StringBuffer("select "+selectStar+" from ").append(useTable);
  
     // append extratables, if necessary
     if (extraTables!=null) {
       for (int i=0;i < extraTables.size();i++) {
-        countSql.append( ", " + extraTables.elementAt(i));
-        selectSql.append( ", " + extraTables.elementAt(i));
+        if (!extraTables.get(i).equals("")) {        
+          countSql.append( ", " + extraTables.get(i));
+          selectSql.append( ", " + extraTables.get(i));
+        }
       }
     }