diff artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 313:ddc35c950e97

Backend: Handle forgotten store/create event source. artifacts/trunk@2440 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 01 Aug 2011 15:43:44 +0000
parents 1d517e051e95
children 1eb7863136f4
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Mon Aug 01 14:54:34 2011 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Mon Aug 01 15:43:44 2011 +0000
@@ -462,6 +462,8 @@
      */
     public ArtifactDatabaseImpl(FactoryBootstrap bootstrap, Backend backend) {
 
+        logger.debug("new ArtifactDatabaseImpl");
+
         backgroundIds = new HashSet<Integer>();
 
         setupArtifactCollectionFactory(bootstrap);
@@ -477,9 +479,7 @@
 
         exportSecret = bootstrap.getExportSecret();
 
-        wireWithBackend(backend);
-
-        setupBackendListeners(bootstrap);
+        wireWithBackend(backend, bootstrap);
     }
 
     public CallContext.Listener getCallContextListener() {
@@ -551,8 +551,9 @@
     }
 
     protected void setupBackendListeners(FactoryBootstrap bootstrap) {
+        logger.debug("setupBackendListeners");
         List<BackendListener> bls = bootstrap.getBackendListeners();
-        if (bls != null) {
+        if (bls != null && !bls.isEmpty()) {
             for (BackendListener listener: bls) {
                 listener.setup(context);
             }
@@ -609,10 +610,12 @@
      * via the serializers of this artifact factories.
      * @param backend The backend to be wired with this artifact database.
      */
-    public void wireWithBackend(Backend backend) {
+    public void wireWithBackend(Backend backend, FactoryBootstrap bootstrap) {
+        logger.debug("wireWithBackend");
         if (backend != null) {
             this.backend = backend;
             backend.setFactoryLookup(this);
+            setupBackendListeners(bootstrap);
         }
     }
 

http://dive4elements.wald.intevation.org