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 2015/07/17 13:28:56 UTC
jena git commit: DatasetChanges.reset()
Repository: jena
Updated Branches:
refs/heads/master 2ab1ca877 -> 5e0894224
DatasetChanges.reset()
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5e089422
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5e089422
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5e089422
Branch: refs/heads/master
Commit: 5e0894224b4019884d11a267e0787a97d7d7f5f4
Parents: 2ab1ca8
Author: Andy Seaborne <an...@apache.org>
Authored: Fri Jul 17 12:28:43 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri Jul 17 12:28:43 2015 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/core/DatasetChanges.java | 4 +
.../jena/sparql/core/DatasetChangesCapture.java | 106 +++++++++++--------
.../jena/sparql/core/DatasetChangesCounter.java | 1 +
3 files changed, 67 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/5e089422/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChanges.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChanges.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChanges.java
index 04f4d93..3cedb49 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChanges.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChanges.java
@@ -35,4 +35,8 @@ public interface DatasetChanges
/** Indicator that a sequence of changes has now finished */
public void finish() ;
+
+ /** Release any resources */
+ public void reset() ;
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/5e089422/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCapture.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCapture.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCapture.java
index d70aeb1..0d31a79 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCapture.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCapture.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.apache.jena.sparql.core;
+package org.apache.jena.sparql.core ;
import java.util.Collections ;
import java.util.LinkedList ;
@@ -25,70 +25,88 @@ import java.util.List ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.graph.Node ;
-/** Capture a record of quad actions */
-public class DatasetChangesCapture implements DatasetChanges
-{
- // ArrayLists have an annoying issue that they grow by copying the internal []-array.
+/** Capture a record of quad actions */
+public class DatasetChangesCapture implements DatasetChanges {
+ // ArrayLists have an annoying issue that they grow by copying the internal
+ // []-array.
// This growth is by a fixed factor of adding 50% which for an array
// with little guidance as to likely size, can lead to undesirable GC
// and copy-time issues.
- // Using a LinkedList avoids this although it adds overhead for list entries.
- final private List<Pair<QuadAction, Quad>> actions = new LinkedList<>() ;
- //new ArrayList<Pair<QuadAction, Quad>>() ;
-
- final private boolean captureAdd ;
- final private boolean captureDelete ;
- final private boolean captureNoAdd ;
- final private boolean captureNoDelete ;
-
+ // Using a LinkedList avoids this although it adds overhead for list
+ // entries.
+ private List<Pair<QuadAction, Quad>> actions ;
+ final private boolean captureAdd ;
+ final private boolean captureDelete ;
+ final private boolean captureNoAdd ;
+ final private boolean captureNoDelete ;
+
/** Capture quad actions, excluding no-ops */
- public DatasetChangesCapture()
- { this(true, true, false, false) ; }
+ public DatasetChangesCapture() {
+ this(true, true, false, false) ;
+ }
- /** Capture quad actions, either including or excluding the "no ops"
- * @param recordNoOps Whether to record {@link QuadAction#NO_ADD} and {@link QuadAction#NO_DELETE}
+ /**
+ * Capture quad actions, either including or excluding the "no ops"
+ *
+ * @param recordNoOps
+ * Whether to record {@link QuadAction#NO_ADD} and
+ * {@link QuadAction#NO_DELETE}
*/
- public DatasetChangesCapture(boolean recordNoOps)
- { this(true, true, recordNoOps, recordNoOps) ; }
+ public DatasetChangesCapture(boolean recordNoOps) {
+ this(true, true, recordNoOps, recordNoOps) ;
+ }
-
/** Capture quad actions, selectively by category */
- public DatasetChangesCapture(boolean captureAdd, boolean captureDelete, boolean captureNoAdd, boolean captureNoDelete)
- {
- this.captureAdd = captureAdd ;
- this.captureDelete = captureDelete ;
- this.captureNoAdd = captureNoAdd ;
- this.captureNoDelete = captureNoDelete ;
+ public DatasetChangesCapture(boolean captureAdd, boolean captureDelete, boolean captureNoAdd, boolean captureNoDelete) {
+ this.captureAdd = captureAdd ;
+ this.captureDelete = captureDelete ;
+ this.captureNoAdd = captureNoAdd ;
+ this.captureNoDelete = captureNoDelete ;
+ }
+
+ /** The actions recorded.
+ * Only valid until the next {@code start} call.
+ */
+ public List<Pair<QuadAction, Quad>> getActions() {
+ return Collections.unmodifiableList(actions) ;
}
- public List<Pair<QuadAction, Quad>> getActions()
- {
- return Collections.unmodifiableList(actions) ;
+ @Override
+ public void start() {
+ actions = new LinkedList<>() ;
}
-
- @Override public void start() { }
@Override
- public void change(QuadAction qaction, Node g, Node s, Node p, Node o)
- {
- Quad q = new Quad(g,s,p,o) ;
- Pair<QuadAction, Quad> pair = Pair.create(qaction, q) ;
-
- switch(qaction) {
- case ADD :
- if ( captureAdd ) actions.add(pair) ;
+ public void change(QuadAction qaction, Node g, Node s, Node p, Node o) {
+ Quad q = new Quad(g, s, p, o) ;
+ Pair<QuadAction, Quad> pair = Pair.create(qaction, q) ;
+
+ switch (qaction) {
+ case ADD :
+ if ( captureAdd )
+ actions.add(pair) ;
break ;
case DELETE :
- if ( captureDelete ) actions.add(pair) ;
+ if ( captureDelete )
+ actions.add(pair) ;
break ;
case NO_ADD :
- if ( captureNoAdd ) actions.add(pair) ;
+ if ( captureNoAdd )
+ actions.add(pair) ;
break ;
case NO_DELETE :
- if ( captureNoDelete ) actions.add(pair) ;
+ if ( captureNoDelete )
+ actions.add(pair) ;
break ;
}
}
- @Override public void finish() { }
+ @Override
+ public void finish() {}
+
+ @Override
+ public void reset() {
+ actions.clear() ;
+ actions = null ;
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/5e089422/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCounter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCounter.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCounter.java
index a864257..3a157e6 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCounter.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesCounter.java
@@ -58,6 +58,7 @@ public class DatasetChangesCounter implements DatasetChanges
return countAdd > 0 || countDelete > 0 ;
}
+ @Override
public void reset() {
countStart = 0 ;
countFinish = 0 ;