Skip to content

Commit de25809

Browse files
committed
Merge pull request #432 from UNC-Libraries/email-deposit-transaction-fix
Ensure that the read transaction in DepositEmailHandler is ended.
2 parents 6af9e9f + b26ecef commit de25809

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

Diff for: deposit/src/main/java/edu/unc/lib/deposit/work/DepositEmailHandler.java

+23-17
Original file line numberDiff line numberDiff line change
@@ -230,23 +230,29 @@ private void sendCompleted(String depositUUID) {
230230
}
231231

232232
private String getMainObjectPidForDeposit(String depositUUID) {
233-
PID depositPID = new PID("uuid:" + depositUUID);
234-
235-
String uri = depositPID.getURI();
236-
this.dataset.begin(ReadWrite.READ);
237-
Model model = this.dataset.getNamedModel(uri).begin();
238-
239-
String depositPid = depositPID.getURI();
240-
Bag depositBag = model.getBag(depositPid);
241-
242-
List<String> topLevelPids = new ArrayList<String>();
243-
DepositGraphUtils.walkChildrenDepthFirst(depositBag, topLevelPids, false);
244-
245-
// There is a "main object" if the deposit has exactly one top-level object.
246-
if (topLevelPids.size() == 1) {
247-
return new PID(topLevelPids.get(0)).toString();
248-
} else {
249-
return null;
233+
try {
234+
PID depositPID = new PID("uuid:" + depositUUID);
235+
236+
String uri = depositPID.getURI();
237+
this.dataset.begin(ReadWrite.READ);
238+
Model model = this.dataset.getNamedModel(uri).begin();
239+
240+
String depositPid = depositPID.getURI();
241+
Bag depositBag = model.getBag(depositPid);
242+
243+
List<String> topLevelPids = new ArrayList<String>();
244+
DepositGraphUtils.walkChildrenDepthFirst(depositBag, topLevelPids, false);
245+
246+
// There is a "main object" if the deposit has exactly one top-level object.
247+
if (topLevelPids.size() == 1) {
248+
return new PID(topLevelPids.get(0)).toString();
249+
} else {
250+
return null;
251+
}
252+
} finally {
253+
if (this.dataset.isInTransaction()) {
254+
this.dataset.end();
255+
}
250256
}
251257
}
252258

0 commit comments

Comments
 (0)