Skip to content

Commit 4605ce4

Browse files
committed
A quick fix for the issue with file-level handles bombing on create. #12174
1 parent 27e1f1f commit 4605ce4

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

src/main/java/edu/harvard/iq/dataverse/pidproviders/handle/HandlePidProvider.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ private String getRegistrationUrl(DvObject dvObject) {
259259
logger.log(Level.FINE,"getRegistrationUrl");
260260
String siteUrl = SystemConfig.getDataverseSiteUrlStatic();
261261
String targetUrl = siteUrl + dvObject.getTargetUrl() + "hdl:" + dvObject.getAuthority()
262-
+ "/" + dvObject.getIdentifier();
262+
+ "/" + dvObject.getIdentifier();
263263
return targetUrl;
264264
}
265265

@@ -324,12 +324,6 @@ private String getAuthenticationHandle(String handlePrefix) {
324324
return "0.NA/" + handlePrefix;
325325
}
326326
}
327-
328-
@Override
329-
public boolean alreadyRegistered(DvObject dvObject) {
330-
String handle = getDvObjectHandle(dvObject);
331-
return isHandleRegistered(handle);
332-
}
333327

334328
@Override
335329
public boolean alreadyRegistered(GlobalId pid, boolean noProviderDefault) throws Exception {
@@ -400,6 +394,10 @@ public List<String> getProviderInformation(){
400394

401395
@Override
402396
public String createIdentifier(DvObject dvObject) throws Throwable {
397+
if (dvObject.getIdentifier() == null || dvObject.getIdentifier().isEmpty()) {
398+
dvObject = generatePid(dvObject);
399+
logger.fine("generated identifier: " + getIdentifier(dvObject));
400+
}
403401
Throwable result = registerNewHandle(dvObject);
404402
if (result != null)
405403
throw result;

0 commit comments

Comments
 (0)