teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.artifacts.datacage; sascha@999: sascha@1005: import java.util.List; sascha@1005: teichmann@5831: import org.dive4elements.artifacts.Artifact; teichmann@5831: import org.dive4elements.artifacts.ArtifactCollection; teichmann@5831: import org.dive4elements.artifacts.GlobalContext; teichmann@5831: import org.dive4elements.artifacts.User; sascha@999: teichmann@5831: import org.dive4elements.artifactdatabase.BackendListener; teichmann@5831: import org.dive4elements.artifactdatabase.Backend; sascha@999: sascha@999: import org.apache.log4j.Logger; sascha@999: sascha@999: import org.w3c.dom.Document; sascha@999: ingo@3650: /** Triggers Datacage to update db. */ sascha@999: public class DatacageBackendListener sascha@999: implements BackendListener sascha@999: { sascha@999: private static Logger log = sascha@999: Logger.getLogger(DatacageBackendListener.class); sascha@999: sascha@999: protected GlobalContext context; sascha@999: sascha@999: public DatacageBackendListener() { sascha@1000: log.debug("new DatacageBackendListener"); sascha@999: } sascha@999: sascha@1002: protected Datacage getDatacage() { sascha@999: Object listener = context.get(Datacage.DATACAGE_KEY); sascha@1002: return listener instanceof Datacage sascha@1002: ? (Datacage)listener sascha@999: : null; sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void setup(GlobalContext context) { sascha@1000: log.debug("setup"); sascha@999: this.context = context; sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@999: l.setup(context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void createdArtifact(Artifact artifact, Backend backend) { sascha@999: log.debug("createdArtifact"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.createdArtifact(artifact, backend, context); sascha@999: } sascha@999: } sascha@999: felix@6677: /** Stores the artifact in artifact-db, if any. */ sascha@999: @Override sascha@999: public void storedArtifact(Artifact artifact, Backend backend) { sascha@999: log.debug("storedArtifact"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.storedArtifact(artifact, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void createdUser(User user, Backend backend) { sascha@999: log.debug("createdUser"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.createdUser(user, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void deletedUser(String identifier, Backend backend) { sascha@999: log.debug("deletedUser"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.deletedUser(identifier, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void createdCollection( sascha@999: ArtifactCollection collection, sascha@999: Backend backend sascha@999: ) { sascha@999: log.debug("createdCollection"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.createdCollection(collection, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void deletedCollection(String identifier, Backend backend) { sascha@999: log.debug("deletedCollection"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.deletedCollection(identifier, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void changedCollectionAttribute( sascha@999: String identifier, sascha@999: Document document, sascha@999: Backend backend sascha@999: ) { sascha@999: log.debug("changedCollectionAttribute"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.changedCollectionAttribute( sascha@1002: identifier, document, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void changedCollectionItemAttribute( sascha@999: String collectionId, sascha@999: String artifactId, sascha@999: Document document, sascha@999: Backend backend sascha@999: ) { sascha@999: log.debug("changedCollectionItemAttribute"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@999: l.changedCollectionItemAttribute( sascha@1002: collectionId, artifactId, document, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void addedArtifactToCollection( sascha@999: String artifactId, sascha@999: String collectionId, sascha@999: Backend backend sascha@999: ) { sascha@999: log.debug("addedArtifactToCollection"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@999: l.addedArtifactToCollection( sascha@1002: artifactId, collectionId, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void removedArtifactFromCollection( sascha@999: String artifactId, sascha@999: String collectionId, sascha@999: Backend backend sascha@999: ) { sascha@999: log.debug("removedArtifactFromCollection"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@999: l.removedArtifactFromCollection( sascha@1002: artifactId, collectionId, backend, context); sascha@999: } sascha@999: } sascha@999: sascha@999: @Override sascha@999: public void setCollectionName( sascha@999: String collectionId, sascha@999: String name sascha@999: ) { sascha@999: log.debug("setCollectionName"); sascha@1002: Datacage l = getDatacage(); sascha@999: if (l != null) { sascha@1002: l.setCollectionName(collectionId, name, context); sascha@999: } sascha@999: } sascha@1005: sascha@1005: @Override sascha@1005: public void killedCollections(List identifiers, Backend backend) { sascha@1006: log.debug("killedCollections"); sascha@1006: Datacage l = getDatacage(); sascha@1006: if (l != null) { sascha@1006: l.killedCollections(identifiers, context); sascha@1006: } sascha@1005: } sascha@1005: sascha@1005: @Override sascha@1005: public void killedArtifacts(List identifiers, Backend backend) { sascha@1006: log.debug("killedArtifacts"); sascha@1006: Datacage l = getDatacage(); sascha@1006: if (l != null) { sascha@1006: l.killedArtifacts(identifiers, context); sascha@1006: } sascha@1005: } sascha@999: } sascha@999: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :