Skip to content

Package: LocalStorage

LocalStorage

nameinstructionbranchcomplexitylinemethod
LocalStorage(DriverConfiguration)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
add(List, String)
M: 0 C: 17
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
begin(ReadWrite)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
close()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
commit()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
executeUpdate(String)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
getDataset()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getDefaultGraph()
M: 0 C: 15
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
getNamedGraph(String)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getTransactional()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
lambda$null$1(Statement, String)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
lambda$remove$0(List, String)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
lambda$remove$2(Statement)
M: 0 C: 17
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
prepareQuery(Query)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
remove(List, String)
M: 0 C: 27
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
remove(StmtIterator, String)
M: 0 C: 15
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
rollback()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
static {...}
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
writeChanges()
M: 0 C: 1
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: /**
2: * Copyright (C) 2020 Czech Technical University in Prague
3: * <p>
4: * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
5: * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
6: * version.
7: * <p>
8: * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
9: * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
10: * details. You should have received a copy of the GNU General Public License along with this program. If not, see
11: * <http://www.gnu.org/licenses/>.
12: */
13: package cz.cvut.kbss.ontodriver.jena.connector;
14:
15: import cz.cvut.kbss.ontodriver.config.DriverConfiguration;
16: import cz.cvut.kbss.ontodriver.jena.config.JenaConfigParam;
17: import cz.cvut.kbss.ontodriver.jena.exception.JenaDriverException;
18: import org.apache.jena.query.*;
19: import org.apache.jena.rdf.model.Model;
20: import org.apache.jena.rdf.model.ModelFactory;
21: import org.apache.jena.rdf.model.Statement;
22: import org.apache.jena.rdf.model.StmtIterator;
23: import org.apache.jena.sparql.core.Transactional;
24: import org.apache.jena.update.UpdateAction;
25: import org.slf4j.Logger;
26: import org.slf4j.LoggerFactory;
27:
28: import java.util.List;
29:
30: /**
31: * Represents a local Jena storage, e.g., a TDB dataset.
32: */
33: abstract class LocalStorage implements Storage {
34:
35: static final Logger LOG = LoggerFactory.getLogger(LocalStorage.class);
36:
37: private final boolean defaultAsUnion;
38:
39: Dataset dataset;
40:
41: LocalStorage(DriverConfiguration configuration) {
42: this.defaultAsUnion = configuration.is(JenaConfigParam.TREAT_DEFAULT_GRAPH_AS_UNION);
43: }
44:
45: public void writeChanges() throws JenaDriverException {
46: // Do nothing by default
47: }
48:
49: public Dataset getDataset() {
50: return dataset;
51: }
52:
53: public Model getDefaultGraph() {
54:• return defaultAsUnion ? ModelFactory.createUnion(dataset.getUnionModel(), dataset.getDefaultModel()) :
55: dataset.getDefaultModel();
56: }
57:
58: public Model getNamedGraph(String ctx) {
59: return dataset.getNamedModel(ctx);
60: }
61:
62: @Override
63: public Transactional getTransactional() {
64: return dataset;
65: }
66:
67: public void begin(ReadWrite readWrite) {
68: dataset.begin(readWrite);
69: }
70:
71: public void commit() {
72: dataset.commit();
73: }
74:
75: public void rollback() {
76: dataset.abort();
77: }
78:
79: public void close() {
80: dataset.close();
81: }
82:
83: public void add(List<Statement> statements, String context) {
84:• if (context != null) {
85: dataset.getNamedModel(context).add(statements);
86: } else {
87: dataset.getDefaultModel().add(statements);
88: }
89: }
90:
91: public void remove(List<Statement> statements, String context) {
92:• if (context != null) {
93: dataset.getNamedModel(context).remove(statements);
94: } else {
95: dataset.getDefaultModel().remove(statements);
96:• if (defaultAsUnion) {
97: dataset.listNames().forEachRemaining(n -> dataset.getNamedModel(n).remove(statements));
98: }
99: }
100: }
101:
102: public void remove(StmtIterator iterator, String context) {
103:• if (context != null) {
104: dataset.getNamedModel(context).remove(iterator);
105: } else {
106: iterator.forEachRemaining(statement -> {
107: dataset.getDefaultModel().remove(statement);
108:• if (defaultAsUnion) {
109: dataset.listNames().forEachRemaining(n -> dataset.getNamedModel(n).remove(statement));
110: }
111: });
112: }
113: }
114:
115: @Override
116: public QueryExecution prepareQuery(Query query) {
117: return QueryExecutionFactory.create(query, dataset);
118: }
119:
120: @Override
121: public void executeUpdate(String update) {
122: UpdateAction.parseExecute(update, dataset);
123: }
124: }