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