diff --git a/src/main/java/edu/harvard/iq/dataverse/api/BuiltinUsers.java b/src/main/java/edu/harvard/iq/dataverse/api/BuiltinUsers.java index d1f0e7e1297..9421b02d8f2 100644 --- a/src/main/java/edu/harvard/iq/dataverse/api/BuiltinUsers.java +++ b/src/main/java/edu/harvard/iq/dataverse/api/BuiltinUsers.java @@ -1,5 +1,6 @@ package edu.harvard.iq.dataverse.api; +import edu.harvard.iq.dataverse.Dataverse; import edu.harvard.iq.dataverse.UserNotification; import edu.harvard.iq.dataverse.actionlogging.ActionLogRecord; import edu.harvard.iq.dataverse.authorization.UserRecordIdentifier; @@ -129,9 +130,20 @@ private Response internalSave(BuiltinUser user, String password, String key) { * @todo Move this to * AuthenticationServiceBean.createAuthenticatedUser */ - userNotificationSvc.sendNotification(au, - new Timestamp(new Date().getTime()), - UserNotification.Type.CREATEACC, null); + boolean rootDataversePresent = false; + try { + Dataverse rootDataverse = dataverseSvc.findRootDataverse(); + if (rootDataverse != null) { + rootDataversePresent = true; + } + } catch (Exception e) { + logger.info("The root dataverse is not present. Don't send a notification to dataverseAdmin."); + } + if (rootDataversePresent) { + userNotificationSvc.sendNotification(au, + new Timestamp(new Date().getTime()), + UserNotification.Type.CREATEACC, null); + } ApiToken token = new ApiToken(); diff --git a/src/main/java/edu/harvard/iq/dataverse/api/Dataverses.java b/src/main/java/edu/harvard/iq/dataverse/api/Dataverses.java index 639bdd6930b..bb13ced99c6 100644 --- a/src/main/java/edu/harvard/iq/dataverse/api/Dataverses.java +++ b/src/main/java/edu/harvard/iq/dataverse/api/Dataverses.java @@ -148,6 +148,9 @@ public Response addDataverse( String body, @PathParam("identifier") String paren } catch ( WrappedResponse ww ) { Throwable cause = ww.getCause(); StringBuilder sb = new StringBuilder(); + if (cause == null) { + return ww.refineResponse("cause was null!"); + } while (cause.getCause() != null) { cause = cause.getCause(); if (cause instanceof ConstraintViolationException) {