You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2024/11/10 11:59:06 UTC
(jena) 01/06: Reformat in jena-text
This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
commit 0f33b3fe8b8c13b28c0f5634c63ec27d13f4353b
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Wed Nov 6 21:51:13 2024 +0000
Reformat in jena-text
---
.../apache/jena/query/text/DatasetGraphText.java | 174 ++++++++--------
.../text/changes/DatasetGraphTextMonitor.java | 223 ++++++++++-----------
2 files changed, 202 insertions(+), 195 deletions(-)
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java b/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
index 3363226e37..8a6276ff4e 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
@@ -16,58 +16,58 @@
* limitations under the License.
*/
-package org.apache.jena.query.text ;
+package org.apache.jena.query.text;
-import java.util.Iterator ;
-import java.util.List ;
+import java.util.Iterator;
+import java.util.List;
import org.apache.jena.dboe.transaction.txn.ComponentId;
import org.apache.jena.dboe.transaction.txn.TransactionCoordinator;
import org.apache.jena.dboe.transaction.txn.TransactionalComponent;
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.query.ReadWrite ;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.Node;
+import org.apache.jena.query.ReadWrite;
import org.apache.jena.query.TxnType;
import org.apache.jena.query.text.changes.DatasetGraphTextMonitor;
import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sparql.core.GraphView;
import org.apache.jena.sparql.core.Transactional;
import org.apache.jena.tdb1.transaction.TransactionManager;
-import org.apache.lucene.queryparser.classic.QueryParserBase ;
-import org.slf4j.Logger ;
-import org.slf4j.LoggerFactory ;
-
-public class DatasetGraphText extends DatasetGraphTextMonitor implements Transactional
-{
- private static Logger log = LoggerFactory.getLogger(DatasetGraphText.class) ;
- private final TextIndex textIndex ;
- private final Graph dftGraph ;
- private final boolean closeIndexOnClose;
- // Lock needed for commit/abort that perform an index operation and a dataset operation
- // when the underlying datsetGraph does not coordinate the commit.
- private final Object txnExitLock = new Object();
-
- // If we are going to implement Transactional, then we are going to have to do as DatasetGraphWithLock and
- // TDB's DatasetGraphTransaction do and track transaction state in a ThreadLocal
+import org.apache.lucene.queryparser.classic.QueryParserBase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DatasetGraphText extends DatasetGraphTextMonitor implements Transactional {
+ private static Logger log = LoggerFactory.getLogger(DatasetGraphText.class);
+ private final TextIndex textIndex;
+ private final Graph dftGraph;
+ private final boolean closeIndexOnClose;
+ // Lock needed for commit/abort that perform an index operation and a dataset
+ // operation when the underlying datsetGraph does not coordinate the commit.
+ private final Object txnExitLock = new Object();
+
+ // If we are going to implement Transactional, and not delegate to a completely
+ // transaction dataset graph (e.g. TDB) then we are going to have to do as
+ // DatasetGraphWithLock.
private final ThreadLocal<ReadWrite> readWriteMode = new ThreadLocal<>();
- private Runnable delegateCommit = ()-> {
+ private Runnable delegateCommit = () -> {
super.commit();
};
- private Runnable delegateAbort = ()-> {
+ private Runnable delegateAbort = () -> {
super.abort();
};
- private Runnable nonDelegatedCommit = ()-> {
- if (readWriteMode.get() == ReadWrite.WRITE)
+ private Runnable nonDelegatedCommit = () -> {
+ if ( readWriteMode.get() == ReadWrite.WRITE )
commit_W();
else
commit_R();
};
- private Runnable nonDelegatedAbort = ()-> {
- if (readWriteMode.get() == ReadWrite.WRITE)
+ private Runnable nonDelegatedAbort = () -> {
+ if ( readWriteMode.get() == ReadWrite.WRITE )
abort_W();
else
abort_R();
@@ -81,9 +81,9 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
}
public DatasetGraphText(DatasetGraph dsg, TextIndex index, TextDocProducer producer, boolean closeIndexOnClose) {
- super(dsg, producer) ;
- this.textIndex = index ;
- dftGraph = GraphView.createDefaultGraph(this) ;
+ super(dsg, producer);
+ this.textIndex = index;
+ dftGraph = GraphView.createDefaultGraph(this);
this.closeIndexOnClose = closeIndexOnClose;
if ( org.apache.jena.tdb1.sys.TDBInternal.isTDB1(dsg) ) {
@@ -92,11 +92,10 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
commitAction = delegateCommit;
abortAction = delegateAbort;
} else if ( org.apache.jena.tdb2.sys.TDBInternal.isTDB2(dsg) ) {
- // This moves!
TransactionCoordinator coord = org.apache.jena.tdb2.sys.TDBInternal.getTransactionCoordinator(dsg);
- byte[] componentID = { 2, 4, 6, 10 };
+ byte[] componentID = {2, 4, 6, 10};
TransactionalComponent tc = new TextIndexDB(ComponentId.create(null, componentID), textIndex);
- coord.modifyConfig(()->coord.addExternal(tc));
+ coord.modifyConfig(() -> coord.addExternal(tc));
commitAction = delegateCommit;
abortAction = delegateAbort;
} else {
@@ -108,58 +107,61 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
// ---- Intercept these and force the use of views.
@Override
public Graph getDefaultGraph() {
- return dftGraph ;
+ return dftGraph;
}
@Override
public Graph getGraph(Node graphNode) {
- return GraphView.createNamedGraph(this, graphNode) ;
+ return GraphView.createNamedGraph(this, graphNode);
}
// ----
public TextIndex getTextIndex() {
- return textIndex ;
+ return textIndex;
}
/** Search the text index on the default text field */
public Iterator<TextHit> search(String queryString) {
- return search(queryString, null) ;
+ return search(queryString, null);
}
/** Search the text index on the text field associated with the predicate */
public Iterator<TextHit> search(String queryString, Node predicate) {
- return search(queryString, predicate, -1) ;
+ return search(queryString, predicate, -1);
}
/** Search the text index on the default text field */
public Iterator<TextHit> search(String queryString, int limit) {
- return search(queryString, null, limit) ;
+ return search(queryString, null, limit);
}
/** Search the text index on the text field associated with the predicate */
public Iterator<TextHit> search(String queryString, Node predicate, int limit) {
- return search(queryString, predicate, null, null, limit) ;
+ return search(queryString, predicate, null, null, limit);
}
- /** Search the text index on the text field associated with the predicate within graph */
+ /**
+ * Search the text index on the text field associated with the predicate within
+ * graph
+ */
public Iterator<TextHit> search(String queryString, Node predicate, String graphURI, String lang, int limit) {
- queryString = QueryParserBase.escape(queryString) ;
+ queryString = QueryParserBase.escape(queryString);
if ( predicate != null ) {
- String f = textIndex.getDocDef().getField(predicate) ;
- queryString = f + ":" + queryString ;
+ String f = textIndex.getDocDef().getField(predicate);
+ queryString = f + ":" + queryString;
}
- List<TextHit> results = textIndex.query(predicate, queryString, graphURI, lang, limit) ;
- return results.iterator() ;
+ List<TextHit> results = textIndex.query(predicate, queryString, graphURI, lang, limit);
+ return results.iterator();
}
@Override
public void begin(TxnType txnType) {
- switch(txnType) {
- case READ_PROMOTE:
- case READ_COMMITTED_PROMOTE:
- throw new UnsupportedOperationException("begin("+txnType+")");
- default:
+ switch (txnType) {
+ case READ_PROMOTE :
+ case READ_COMMITTED_PROMOTE :
+ throw new UnsupportedOperationException("begin(" + txnType + ")");
+ default :
}
begin(TxnType.convert(txnType));
}
@@ -167,13 +169,13 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
@Override
public void begin(ReadWrite readWrite) {
readWriteMode.set(readWrite);
- super.begin(readWrite) ;
- super.getMonitor().start() ;
+ super.begin(readWrite);
+ super.getMonitor().start();
}
@Override
public void commit() {
- super.getMonitor().finish() ;
+ super.getMonitor().finish();
commitAction.run();
readWriteMode.set(null);
}
@@ -183,7 +185,7 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
*/
@Override
public void abort() {
- super.getMonitor().finish() ;
+ super.getMonitor().finish();
abortAction.run();
readWriteMode.set(null);
}
@@ -194,12 +196,13 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
}
private void commit_W() {
- synchronized(txnExitLock) {
- super.getMonitor().finish() ;
+ synchronized (txnExitLock) {
+ super.getMonitor().finish();
// Phase 1
- try { textIndex.prepareCommit(); }
- catch (Throwable t) {
- log.error("Exception in prepareCommit: " + t.getMessage(), t) ;
+ try {
+ textIndex.prepareCommit();
+ } catch (Throwable t) {
+ log.error("Exception in prepareCommit: " + t.getMessage(), t);
abort();
throw new TextIndexException(t);
}
@@ -209,9 +212,8 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
// Hard to do atomically.
super.commit();
textIndex.commit();
- }
- catch (Throwable t) {
- log.error("Exception in commit: " + t.getMessage(), t) ;
+ } catch (Throwable t) {
+ log.error("Exception in commit: " + t.getMessage(), t);
abort();
throw new TextIndexException(t);
}
@@ -219,15 +221,26 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
}
private void abort_R() {
- try { super.abort() ; }
- catch (Throwable t) { log.warn("Exception in abort: " + t.getMessage(), t); }
+ try {
+ super.abort();
+ } catch (Throwable t) {
+ log.warn("Exception in abort: " + t.getMessage(), t);
+ }
}
private void abort_W() {
- synchronized(txnExitLock) {
+ synchronized (txnExitLock) {
// Roll back on both objects, discarding any exceptions that occur
- try { super.abort(); } catch (Throwable t) { log.warn("Exception in abort: " + t.getMessage(), t); }
- try { textIndex.rollback(); } catch (Throwable t) { log.warn("Exception in abort: " + t.getMessage(), t); }
+ try {
+ super.abort();
+ } catch (Throwable t) {
+ log.warn("Exception in abort: " + t.getMessage(), t);
+ }
+ try {
+ textIndex.rollback();
+ } catch (Throwable t) {
+ log.warn("Exception in abort: " + t.getMessage(), t);
+ }
}
}
@@ -238,37 +251,38 @@ public class DatasetGraphText extends DatasetGraphTextMonitor implements Transac
@Override
public void end() {
- if ( ! isInTransaction() ) {
- super.end() ;
+ if ( !isInTransaction() ) {
+ super.end();
return;
}
- if (readWriteMode.get() == ReadWrite.WRITE) {
+ if ( readWriteMode.get() == ReadWrite.WRITE ) {
// If we are still in a write transaction at this point, then commit
// was never called, so rollback the TextIndex and the dataset.
abortAction.run();
}
- super.end() ;
- super.getMonitor().finish() ;
- readWriteMode.set(null) ;
+ super.end();
+ super.getMonitor().finish();
+ readWriteMode.set(null);
}
@Override
public boolean supportsTransactions() {
- return super.supportsTransactions() ;
+ return super.supportsTransactions();
}
- /** Declare whether {@link #abort} is supported.
- * This goes along with clearing up after exceptions inside application transaction code.
+ /**
+ * Declare whether {@link #abort} is supported. This goes along with clearing up
+ * after exceptions inside application transaction code.
*/
@Override
public boolean supportsTransactionAbort() {
- return super.supportsTransactionAbort() ;
+ return super.supportsTransactionAbort();
}
@Override
public void close() {
super.close();
- if (closeIndexOnClose) {
+ if ( closeIndexOnClose ) {
textIndex.close();
}
}
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/changes/DatasetGraphTextMonitor.java b/jena-text/src/main/java/org/apache/jena/query/text/changes/DatasetGraphTextMonitor.java
index 942ab8c946..37ecaebbd6 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/changes/DatasetGraphTextMonitor.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/changes/DatasetGraphTextMonitor.java
@@ -16,192 +16,186 @@
* limitations under the License.
*/
-package org.apache.jena.query.text.changes ;
+package org.apache.jena.query.text.changes;
-import static org.apache.jena.atlas.iterator.Iter.take ;
+import static org.apache.jena.atlas.iterator.Iter.take;
import static org.apache.jena.sparql.core.GraphView.createDefaultGraph;
import static org.apache.jena.sparql.core.GraphView.createNamedGraph;
-import java.util.Iterator ;
-import java.util.List ;
+import java.util.Iterator;
+import java.util.List;
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.SystemARQ ;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.sparql.SystemARQ;
import org.apache.jena.sparql.core.DatasetGraph;
import org.apache.jena.sparql.core.DatasetGraphWrapper;
import org.apache.jena.sparql.core.Quad;
-import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.ExtendedIterator;
-/** Connect a DatasetGraph to a DatasetChanges monitor.
- * Any add or delete to the DatasetGraph is notified to the
- * monitoring object with a {@link TextQuadAction} to indicate
- * the change made.
+/**
+ * Connect a DatasetGraph to a DatasetChanges monitor. Any add or delete to the
+ * DatasetGraph is notified to the monitoring object with a {@link TextQuadAction} to
+ * indicate the change made.
*/
-public class DatasetGraphTextMonitor extends DatasetGraphWrapper
-{
- /** Whether to see if a quad action will change the dataset - test before add for existence, test before delete for absence */
- private boolean CheckFirst = true ;
+public class DatasetGraphTextMonitor extends DatasetGraphWrapper {
+ /**
+ * Whether to see if a quad action will change the dataset - test before add for
+ * existence, test before delete for absence
+ */
+ private boolean CheckFirst = true;
/** Whether to record a no-op (maybe as a comment) */
- private boolean RecordNoAction = true ;
+ private boolean RecordNoAction = true;
/** Where to send the notifications */
- private final TextDatasetChanges monitor ;
+ private final TextDatasetChanges monitor;
/**
- * Create a DatasetGraph wrapper that monitors the dataset for changes (add or delete quads).
- * Use this DatasetGraph for all operations in order to record changes.
- * Note whether additions of deletions cause an actual change to the dataset or not.
- * @param dsg The DatasetGraph to monitor
- * @param monitor The handler for a change
+ * Create a DatasetGraph wrapper that monitors the dataset for changes (add or
+ * delete quads). Use this DatasetGraph for all operations in order to record
+ * changes. Note whether additions of deletions cause an actual change to the
+ * dataset or not.
*
+ * @param dsg The DatasetGraph to monitor
+ * @param monitor The handler for a change
* @see TextDatasetChanges
* @see TextQuadAction
*/
- public DatasetGraphTextMonitor(DatasetGraph dsg, TextDatasetChanges monitor)
- {
- super(dsg) ;
- this.monitor = monitor ;
+ public DatasetGraphTextMonitor(DatasetGraph dsg, TextDatasetChanges monitor) {
+ super(dsg);
+ this.monitor = monitor;
}
/**
- * Create a DatasetGraph wrapper that monitors the dataset for changes (add or delete quads).
- * Use this DatasetGraph for all operations in order to record changes.
- * @param dsg The DatasetGraph to monitor
- * @param monitor The handler for a change
- * @param recordOnlyIfRealChange
- * If true, check to see if the change would have an effect (e.g. add is a new quad).
- * If false, log changes as ADD/DELETE regardless of whether the dataset actually changes.
+ * Create a DatasetGraph wrapper that monitors the dataset for changes (add or
+ * delete quads). Use this DatasetGraph for all operations in order to record
+ * changes.
*
+ * @param dsg The DatasetGraph to monitor
+ * @param monitor The handler for a change
+ * @param recordOnlyIfRealChange If true, check to see if the change would have
+ * an effect (e.g. add is a new quad). If false, log changes as ADD/DELETE
+ * regardless of whether the dataset actually changes.
* @see TextDatasetChanges
* @see TextQuadAction
*/
- public DatasetGraphTextMonitor(DatasetGraph dsg, TextDatasetChanges monitor, boolean recordOnlyIfRealChange)
- {
- super(dsg) ;
- CheckFirst = recordOnlyIfRealChange ;
- this.monitor = monitor ;
+ public DatasetGraphTextMonitor(DatasetGraph dsg, TextDatasetChanges monitor, boolean recordOnlyIfRealChange) {
+ super(dsg);
+ CheckFirst = recordOnlyIfRealChange;
+ this.monitor = monitor;
}
/** Return the monitor */
- public TextDatasetChanges getMonitor() { return monitor ; }
+ public TextDatasetChanges getMonitor() {
+ return monitor;
+ }
/** Return the monitored DatasetGraph */
- public DatasetGraph monitored() { return getWrapped() ; }
+ public DatasetGraph monitored() {
+ return getWrapped();
+ }
- @Override public void add(Quad quad)
- {
- if ( CheckFirst && contains(quad) )
- {
+ @Override
+ public void add(Quad quad) {
+ if ( CheckFirst && contains(quad) ) {
if ( RecordNoAction )
- record(TextQuadAction.NO_ADD, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
- return ;
+ record(TextQuadAction.NO_ADD, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
+ return;
}
- add$(quad) ;
+ add$(quad);
}
- @Override public void add(Node g, Node s, Node p, Node o)
- {
- if ( CheckFirst && contains(g,s,p,o) )
- {
+ @Override
+ public void add(Node g, Node s, Node p, Node o) {
+ if ( CheckFirst && contains(g, s, p, o) ) {
if ( RecordNoAction )
- record(TextQuadAction.NO_ADD,g,s,p,o) ;
- return ;
+ record(TextQuadAction.NO_ADD, g, s, p, o);
+ return;
}
- add$(g,s,p,o) ;
+ add$(g, s, p, o);
}
- private void add$(Node g, Node s, Node p, Node o)
- {
- super.add(g,s,p,o) ;
- record(TextQuadAction.ADD,g,s,p,o) ;
+ private void add$(Node g, Node s, Node p, Node o) {
+ super.add(g, s, p, o);
+ record(TextQuadAction.ADD, g, s, p, o);
}
- private void add$(Quad quad)
- {
- super.add(quad) ;
- record(TextQuadAction.ADD, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
+ private void add$(Quad quad) {
+ super.add(quad);
+ record(TextQuadAction.ADD, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
}
- @Override public void delete(Quad quad)
- {
- if ( CheckFirst && ! contains(quad) )
- {
+ @Override
+ public void delete(Quad quad) {
+ if ( CheckFirst && !contains(quad) ) {
if ( RecordNoAction )
- record(TextQuadAction.NO_DELETE, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
- return ;
+ record(TextQuadAction.NO_DELETE, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
+ return;
}
- delete$(quad) ;
+ delete$(quad);
}
- @Override public void delete(Node g, Node s, Node p, Node o)
- {
- if ( CheckFirst && ! contains(g,s,p,o) )
- {
+ @Override
+ public void delete(Node g, Node s, Node p, Node o) {
+ if ( CheckFirst && !contains(g, s, p, o) ) {
if ( RecordNoAction )
- record(TextQuadAction.NO_DELETE, g,s,p,o) ;
- return ;
+ record(TextQuadAction.NO_DELETE, g, s, p, o);
+ return;
}
- delete$(g,s,p,o) ;
+ delete$(g, s, p, o);
}
- private void delete$(Quad quad)
- {
- super.delete(quad) ;
- record(TextQuadAction.DELETE, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
+ private void delete$(Quad quad) {
+ super.delete(quad);
+ record(TextQuadAction.DELETE, quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
}
- private void delete$(Node g, Node s, Node p, Node o)
- {
- super.delete(g,s,p,o) ;
- record(TextQuadAction.DELETE,g,s,p,o) ;
+ private void delete$(Node g, Node s, Node p, Node o) {
+ super.delete(g, s, p, o);
+ record(TextQuadAction.DELETE, g, s, p, o);
}
-
- private static int SLICE = 1000 ;
+ private static int SLICE = 1000;
@Override
- public void deleteAny(Node g, Node s, Node p, Node o)
- {
- while (true)
- {
- Iterator<Quad> iter = find(g, s, p, o) ;
+ public void deleteAny(Node g, Node s, Node p, Node o) {
+ while (true) {
+ Iterator<Quad> iter = find(g, s, p, o);
// Materialize - stops possible ConcurrentModificationExceptions
- List<Quad> some = take(iter, SLICE) ;
- for (Quad q : some)
- delete$(q) ;
- if (some.size() < SLICE) break ;
+ List<Quad> some = take(iter, SLICE);
+ for ( Quad q : some )
+ delete$(q);
+ if ( some.size() < SLICE )
+ break;
}
}
- @Override public void addGraph(Node gn, Graph g)
- {
+ @Override
+ public void addGraph(Node gn, Graph g) {
// Convert to quads.
- //super.addGraph(gn, g) ;
- ExtendedIterator<Triple> iter = g.find(Node.ANY, Node.ANY, Node.ANY) ;
- for ( ; iter.hasNext(); )
- {
- Triple t = iter.next() ;
- add(gn, t.getSubject(), t.getPredicate(), t.getObject()) ;
+ // super.addGraph(gn, g) ;
+ ExtendedIterator<Triple> iter = g.find(Node.ANY, Node.ANY, Node.ANY);
+ for ( ; iter.hasNext() ; ) {
+ Triple t = iter.next();
+ add(gn, t.getSubject(), t.getPredicate(), t.getObject());
}
}
- @Override public void removeGraph(Node gn)
- {
- //super.removeGraph(gn) ;
- deleteAny(gn, Node.ANY, Node.ANY, Node.ANY) ;
+ @Override
+ public void removeGraph(Node gn) {
+ // super.removeGraph(gn) ;
+ deleteAny(gn, Node.ANY, Node.ANY, Node.ANY);
}
- private void record(TextQuadAction action, Node g, Node s, Node p, Node o)
- {
- monitor.change(action, g, s, p, o) ;
+ private void record(TextQuadAction action, Node g, Node s, Node p, Node o) {
+ monitor.change(action, g, s, p, o);
}
@Override
public void sync() {
- SystemARQ.syncObject(monitor) ;
- super.sync() ;
+ SystemARQ.syncObject(monitor);
+ super.sync();
}
@Override
@@ -214,4 +208,3 @@ public class DatasetGraphTextMonitor extends DatasetGraphWrapper
return createNamedGraph(this, graphNode);
}
}
-