diff artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 311:1d517e051e95

Made backend listeners loadable at boot time. artifacts/trunk@2436 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 01 Aug 2011 14:17:09 +0000
parents a077bb098eb4
children ddc35c950e97
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Mon Aug 01 09:41:40 2011 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Mon Aug 01 14:17:09 2011 +0000
@@ -478,6 +478,8 @@
         exportSecret = bootstrap.getExportSecret();
 
         wireWithBackend(backend);
+
+        setupBackendListeners(bootstrap);
     }
 
     public CallContext.Listener getCallContextListener() {
@@ -548,6 +550,16 @@
         setPostAdvanceHook(bootstrap.getPostAdvanceHooks());
     }
 
+    protected void setupBackendListeners(FactoryBootstrap bootstrap) {
+        List<BackendListener> bls = bootstrap.getBackendListeners();
+        if (bls != null) {
+            for (BackendListener listener: bls) {
+                listener.setup(context);
+            }
+            backend.addAllListeners(bls);
+        }
+    }
+
     protected void setupLifetimeListeners(FactoryBootstrap bootstrap) {
         this.lifetimeListeners = bootstrap.getLifetimeListeners();
     }

http://dive4elements.wald.intevation.org