# HG changeset patch # User Sascha L. Teichmann # Date 1312210695 0 # Node ID b0218f21c664e7225dc0e8b24d6d86496655962f # Parent b81626b10cb778e5d52f7aab05362b4af50a3388 Wire datacage with backend of artifact database. flys-artifacts/trunk@2438 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r b81626b10cb7 -r b0218f21c664 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Mon Aug 01 08:31:09 2011 +0000 +++ b/flys-artifacts/ChangeLog Mon Aug 01 14:58:15 2011 +0000 @@ -1,3 +1,14 @@ +2011-08-01 Sascha L. Teichmann + + * doc/conf/conf.xml: Added backend listener for datacage. + + * src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java: + New. Proxies backend listener calls to datacage. + + * src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java: + Implements backend listener. TODO: Update the datacage database + according the change calls. + 2011-08-01 Sascha L. Teichmann * src/main/java/de/intevation/flys/artifacts/services/meta, diff -r b81626b10cb7 -r b0218f21c664 flys-artifacts/doc/conf/conf.xml --- a/flys-artifacts/doc/conf/conf.xml Mon Aug 01 08:31:09 2011 +0000 +++ b/flys-artifacts/doc/conf/conf.xml Mon Aug 01 14:58:15 2011 +0000 @@ -50,6 +50,10 @@ de.intevation.flys.artifacts.datacage.Datacage + + de.intevation.flys.artifacts.datacage.DatacageBackendListener + + de.intevation.flys.artifacts.context.SessionCallContextListener diff -r b81626b10cb7 -r b0218f21c664 flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java Mon Aug 01 08:31:09 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Datacage.java Mon Aug 01 14:58:15 2011 +0000 @@ -8,11 +8,15 @@ import java.sql.Types; import de.intevation.artifacts.GlobalContext; +import de.intevation.artifacts.ArtifactCollection; +import de.intevation.artifacts.User; import de.intevation.artifactdatabase.db.SQL; import de.intevation.artifactdatabase.db.SQLExecutor; import de.intevation.artifactdatabase.LifetimeListener; +import de.intevation.artifactdatabase.BackendListener; +import de.intevation.artifactdatabase.Backend; import de.intevation.artifactdatabase.data.StateData; @@ -32,10 +36,13 @@ import org.w3c.dom.Document; public class Datacage -implements LifetimeListener +implements LifetimeListener, BackendListener { private static Logger log = Logger.getLogger(Datacage.class); + public static final String DATACAGE_KEY = + "global.datacage.instance"; + public static final String ARTEFACT_DATABASE_KEY = "global.artifact.database"; @@ -516,6 +523,7 @@ public void systemUp(GlobalContext context) { log.debug("systemUp entered"); initialScan(context); + context.put(DATACAGE_KEY, this); log.debug("systemUp leaved"); } @@ -571,5 +579,88 @@ public void systemDown(GlobalContext context) { log.debug("systemDown"); } + + @Override + public void setup(GlobalContext globalContext) { + log.debug("setup"); + } + + @Override + public void createdArtifact(Artifact artifact, Backend backend) { + log.debug("createdArtifact"); + } + + @Override + public void storedArtifact(Artifact artifact, Backend backend) { + log.debug("storedArtifact"); + } + + @Override + public void createdUser(User user, Backend backend) { + log.debug("createdUser"); + } + + @Override + public void deletedUser(String identifier, Backend backend) { + log.debug("deletedUser"); + } + + @Override + public void createdCollection( + ArtifactCollection collection, + Backend backend + ) { + log.debug("createdCollection"); + } + + @Override + public void deletedCollection(String identifier, Backend backend) { + log.debug("deletedCollection"); + } + + @Override + public void changedCollectionAttribute( + String identifier, + Document document, + Backend backend + ) { + log.debug("changedCollectionAttribute"); + } + + @Override + public void changedCollectionItemAttribute( + String collectionId, + String artifactId, + Document document, + Backend backend + ) { + log.debug("changedCollectionItemAttribute"); + } + + @Override + public void addedArtifactToCollection( + String artifactId, + String collectionId, + Backend backend + ) { + log.debug("addedArtifactToCollection"); + } + + @Override + public void removedArtifactFromCollection( + String artifactId, + String collectionId, + Backend backend + ) { + log.debug("removedArtifactFromCollection"); + } + + @Override + public void setCollectionName( + String collectionId, + String name + ) { + log.debug("setCollectionName"); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r b81626b10cb7 -r b0218f21c664 flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/DatacageBackendListener.java Mon Aug 01 14:58:15 2011 +0000 @@ -0,0 +1,167 @@ +package de.intevation.flys.artifacts.datacage; + +import de.intevation.artifacts.Artifact; +import de.intevation.artifacts.ArtifactCollection; +import de.intevation.artifacts.GlobalContext; +import de.intevation.artifacts.User; + +import de.intevation.artifactdatabase.BackendListener; +import de.intevation.artifactdatabase.Backend; + +import org.apache.log4j.Logger; + +import org.w3c.dom.Document; + +public class DatacageBackendListener +implements BackendListener +{ + private static Logger log = + Logger.getLogger(DatacageBackendListener.class); + + protected GlobalContext context; + + public DatacageBackendListener() { + } + + protected BackendListener getListener() { + Object listener = context.get(Datacage.DATACAGE_KEY); + return listener instanceof BackendListener + ? (BackendListener)listener + : null; + } + + @Override + public void setup(GlobalContext context) { + this.context = context; + BackendListener l = getListener(); + if (l != null) { + l.setup(context); + } + } + + @Override + public void createdArtifact(Artifact artifact, Backend backend) { + log.debug("createdArtifact"); + BackendListener l = getListener(); + if (l != null) { + l.createdArtifact(artifact, backend); + } + } + + @Override + public void storedArtifact(Artifact artifact, Backend backend) { + log.debug("storedArtifact"); + BackendListener l = getListener(); + if (l != null) { + l.storedArtifact(artifact, backend); + } + } + + @Override + public void createdUser(User user, Backend backend) { + log.debug("createdUser"); + BackendListener l = getListener(); + if (l != null) { + l.createdUser(user, backend); + } + } + + @Override + public void deletedUser(String identifier, Backend backend) { + log.debug("deletedUser"); + BackendListener l = getListener(); + if (l != null) { + l.deletedUser(identifier, backend); + } + } + + @Override + public void createdCollection( + ArtifactCollection collection, + Backend backend + ) { + log.debug("createdCollection"); + BackendListener l = getListener(); + if (l != null) { + l.createdCollection(collection, backend); + } + } + + @Override + public void deletedCollection(String identifier, Backend backend) { + log.debug("deletedCollection"); + BackendListener l = getListener(); + if (l != null) { + l.deletedCollection(identifier, backend); + } + } + + @Override + public void changedCollectionAttribute( + String identifier, + Document document, + Backend backend + ) { + log.debug("changedCollectionAttribute"); + BackendListener l = getListener(); + if (l != null) { + changedCollectionAttribute(identifier, document, backend); + } + } + + @Override + public void changedCollectionItemAttribute( + String collectionId, + String artifactId, + Document document, + Backend backend + ) { + log.debug("changedCollectionItemAttribute"); + BackendListener l = getListener(); + if (l != null) { + l.changedCollectionItemAttribute( + collectionId, artifactId, document, backend); + } + } + + @Override + public void addedArtifactToCollection( + String artifactId, + String collectionId, + Backend backend + ) { + log.debug("addedArtifactToCollection"); + BackendListener l = getListener(); + if (l != null) { + l.addedArtifactToCollection( + artifactId, collectionId, backend); + } + } + + @Override + public void removedArtifactFromCollection( + String artifactId, + String collectionId, + Backend backend + ) { + log.debug("removedArtifactFromCollection"); + BackendListener l = getListener(); + if (l != null) { + l.removedArtifactFromCollection( + artifactId, collectionId, backend); + } + } + + @Override + public void setCollectionName( + String collectionId, + String name + ) { + log.debug("setCollectionName"); + BackendListener l = getListener(); + if (l != null) { + l.setCollectionName(collectionId, name); + } + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :