Mercurial > dive4elements > framework
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); } }