From f3a5814bdc0d0e56ecb36c86b8e4ca160abbf063 Mon Sep 17 00:00:00 2001 From: stellamit Date: Thu, 3 May 2012 20:09:39 +0000 Subject: [PATCH] NIHVIVO-3641 listener interface and methods for registering it for RDFService --- .../webapp/rdfservice/ChangeListener.java | 39 +++++++++++++++++++ .../vitro/webapp/rdfservice/RDFService.java | 15 +++++++ 2 files changed, 54 insertions(+) create mode 100644 webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java new file mode 100644 index 000000000..874b45305 --- /dev/null +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/ChangeListener.java @@ -0,0 +1,39 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.rdfservice; + +/* + * + * A listener that filters all its listening down to the single-statement level. Users of + * this class override addedStatement(statement) and removedStatement(statement). + * + */ + +public interface ChangeListener { + + /** + * Override this to listen to all statements added to the RDF store. + * + * @param String serializedTriple - the added statement + * @param RDFService.ModelSerializationFormat format - RDF format of serializedTriple + * @param String graphURI - the graph to which the statement was added + */ + public void addedStatement(String serializedTriple, RDFService.ModelSerializationFormat format, String graphURI); + + /** + * Override this to listen to all statements removed from the RDF store. + * + * @param String serializedTriple - the removed statement + * @param RDFService.ModelSerializationFormat format - RDF format of serializedTriple + * @param String graphURI - the graph from which the statement was removed + */ + public void removedStatement(String serializedTriple, RDFService.ModelSerializationFormat format, String graphURI); + + /** + * Override this to listen to events pertaining to the given graphURI. + * + * @param String graphURI - the graph to which the event pertains + * @param Object event - the event which occurred. + */ + public void notifyEvent(String graphURI, Object event); +} diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java index 223ed1e29..76b947203 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/RDFService.java @@ -90,6 +90,21 @@ public interface RDFService { */ public String getDefaultReadGraphURI() throws RDFServiceException; + /** + * Register a listener to listen to changes in any graph in + * the RDF store. + * + * @return String URI of default read graph + */ + public void registerListener(ChangeListener changeListener) throws RDFServiceException; + + /** + * Unregister a listener to listen to changes in any graph in + * the RDF store. + * + * @return String URI of default read graph + */ + public void unregisterListener(ChangeListener changeListener) throws RDFServiceException; /** * Create a ChangeSet object