diff artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 308:a077bb098eb4

Fixed broken SQL statement. Added debug output. artifacts/trunk@2427 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 31 Jul 2011 17:28:07 +0000
parents d96bcb40dbf9
children 86dd32b45d87
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java	Sun Jul 31 15:18:57 2011 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java	Sun Jul 31 17:28:07 2011 +0000
@@ -19,6 +19,7 @@
 
 import de.intevation.artifacts.common.utils.StringUtils;
 import de.intevation.artifacts.common.utils.XMLUtils;
+import de.intevation.artifacts.common.utils.LRUCache;
 
 import de.intevation.artifactdatabase.db.SQLExecutor;
 import de.intevation.artifactdatabase.db.SQL;
@@ -1568,23 +1569,21 @@
 
     public boolean loadAllArtifacts(final ArtifactLoadedCallback alc) {
 
+        logger.debug("loadAllArtifacts");
+
         if (factoryLookup == null) {
             logger.error("factory lookup == null");
             return false;
         }
 
-        return sqlExecutor.new Instance() {
+        boolean success = sqlExecutor.new Instance() {
+            @Override
             public boolean doIt() throws SQLException {
+                logger.debug("doIt");
 
                 // a little cache to avoid too much deserializations.
-                Map<String, Artifact> alreadyLoaded =
-                    new LinkedHashMap<String, Artifact>() {
-                        @Override
-                        protected boolean removeEldestEntry(Map.Entry eldest) {
-                            // store only the last 200 to avoid memory flooding
-                            return size() > 200;
-                        }
-                    };
+                LRUCache<String, Artifact> alreadyLoaded =
+                    new LRUCache<String, Artifact>(200);
 
                 prepareStatement(SQL_ALL_ARTIFACTS);
                 result = stmnt.executeQuery();
@@ -1624,6 +1623,12 @@
                 return true;
             }
         }.runRead();
+
+        if (logger.isDebugEnabled()) {
+            logger.debug("loadAllArtifacts success: " + success);
+        }
+
+        return success;
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org