Skip to content

Commit de13fd1

Browse files
committed
more code cleanup
1 parent 6aea374 commit de13fd1

2 files changed

Lines changed: 23 additions & 9 deletions

File tree

core/model/src/main/java/org/eclipse/rdf4j/model/impl/AbstractMemoryOverflowModel.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,21 @@ public boolean isEmpty() {
235235
@Override
236236
public boolean add(Resource subj, IRI pred, Value obj, Resource... contexts) {
237237
checkMemoryOverflow();
238-
return getDelegate().add(subj, pred, obj, contexts);
238+
boolean add = getDelegate().add(subj, pred, obj, contexts);
239+
if (add && memory instanceof DynamicModel) {
240+
((DynamicModel) memory).maybeRegisterLargeStatementSetForReuse((DynamicModel) memory);
241+
}
242+
return add;
239243
}
240244

241245
@Override
242246
public boolean add(Statement st) {
243247
checkMemoryOverflow();
244-
return getDelegate().add(st);
248+
boolean add = getDelegate().add(st);
249+
if (add && memory instanceof DynamicModel) {
250+
((DynamicModel) memory).maybeRegisterLargeStatementSetForReuse((DynamicModel) memory);
251+
}
252+
return add;
245253
}
246254

247255
@Override
@@ -265,6 +273,10 @@ public boolean addAll(Collection<? extends Statement> c) {
265273
buffer.clear();
266274
}
267275

276+
if (ret && memory instanceof DynamicModel) {
277+
((DynamicModel) memory).maybeRegisterLargeStatementSetForReuse((DynamicModel) memory);
278+
}
279+
268280
return ret;
269281

270282
}
@@ -365,9 +377,6 @@ private static boolean matchesPattern(Statement statement, Resource subj, IRI pr
365377
private Model getDelegate() {
366378
var memory = this.memory;
367379
if (memory != null) {
368-
if (memory instanceof DynamicModel) {
369-
((DynamicModel) memory).maybeRegisterLargeStatementSetForReuse((DynamicModel) memory);
370-
}
371380
return memory;
372381
} else {
373382
var disk = this.disk;

core/model/src/main/java/org/eclipse/rdf4j/model/impl/DynamicModel.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -664,10 +664,15 @@ private void readObject(ObjectInputStream objectInputStream) throws IOException,
664664

665665
private Set<Resource> initializeAddedContextsIfNeeded() {
666666
if (addedContexts == null) {
667-
addedContexts = statements.values()
668-
.stream()
669-
.map(Statement::getContext)
670-
.collect(Collectors.toCollection(LinkedHashSet::new));
667+
if (statements.isEmpty()) {
668+
669+
addedContexts = new LinkedHashSet<>(1);
670+
} else {
671+
addedContexts = statements.values()
672+
.stream()
673+
.map(Statement::getContext)
674+
.collect(Collectors.toCollection(LinkedHashSet::new));
675+
}
671676
}
672677
return addedContexts;
673678
}

0 commit comments

Comments
 (0)