diff --git a/src/main/java/edu/harvard/iq/dataverse/EjbDataverseEngine.java b/src/main/java/edu/harvard/iq/dataverse/EjbDataverseEngine.java index 411c72ac8b7..e36f7feaec3 100644 --- a/src/main/java/edu/harvard/iq/dataverse/EjbDataverseEngine.java +++ b/src/main/java/edu/harvard/iq/dataverse/EjbDataverseEngine.java @@ -182,7 +182,7 @@ public R submit(Command aCommand) throws CommandException { DataverseRequest dvReq = aCommand.getRequest(); Map affectedDvObjects = aCommand.getAffectedDvObjects(); - logRec.setInfo( describe(affectedDvObjects) ); + logRec.setInfo(aCommand.describe()); for (Map.Entry> pair : requiredMap.entrySet()) { String dvName = pair.getKey(); if (!affectedDvObjects.containsKey(dvName)) { @@ -442,16 +442,5 @@ public DataCaptureModuleServiceBean dataCaptureModule() { return ctxt; } - - - private String describe( Map dvObjMap ) { - StringBuilder sb = new StringBuilder(); - for ( Map.Entry ent : dvObjMap.entrySet() ) { - DvObject value = ent.getValue(); - sb.append(ent.getKey()).append(":"); - sb.append( (value!=null) ? value.accept(DvObject.NameIdPrinter) : ""); - sb.append(" "); - } - return sb.toString(); - } + } diff --git a/src/main/java/edu/harvard/iq/dataverse/engine/command/AbstractCommand.java b/src/main/java/edu/harvard/iq/dataverse/engine/command/AbstractCommand.java index e4d0593835b..1876d47fc07 100644 --- a/src/main/java/edu/harvard/iq/dataverse/engine/command/AbstractCommand.java +++ b/src/main/java/edu/harvard/iq/dataverse/engine/command/AbstractCommand.java @@ -16,7 +16,7 @@ */ public abstract class AbstractCommand implements Command { - private final Map affectedDataverses; + private final Map affectedDvObjects; private final DataverseRequest request; static protected class DvNamePair { @@ -47,21 +47,21 @@ public AbstractCommand(DataverseRequest aRequest, DvObject anAffectedDvObject) { public AbstractCommand(DataverseRequest aRequest, DvNamePair dvp, DvNamePair... more) { request = aRequest; - affectedDataverses = new HashMap<>(); - affectedDataverses.put(dvp.name, dvp.dvObject); + affectedDvObjects = new HashMap<>(); + affectedDvObjects.put(dvp.name, dvp.dvObject); for (DvNamePair p : more) { - affectedDataverses.put(p.name, p.dvObject); + affectedDvObjects.put(p.name, p.dvObject); } } public AbstractCommand(DataverseRequest aRequest, Map someAffectedDvObjects) { request = aRequest; - affectedDataverses = someAffectedDvObjects; + affectedDvObjects = someAffectedDvObjects; } @Override public Map getAffectedDvObjects() { - return affectedDataverses; + return affectedDvObjects; } @Override @@ -81,4 +81,17 @@ public Map> getRequiredPermissions() { protected User getUser() { return getRequest().getUser(); } + + @Override + public String describe() { + StringBuilder sb = new StringBuilder(); + for (Map.Entry ent : affectedDvObjects.entrySet()) { + DvObject value = ent.getValue(); + sb.append(ent.getKey()).append(":"); + sb.append((value != null) ? value.accept(DvObject.NameIdPrinter) : ""); + sb.append(" "); + } + return sb.toString(); + } + } diff --git a/src/main/java/edu/harvard/iq/dataverse/engine/command/Command.java b/src/main/java/edu/harvard/iq/dataverse/engine/command/Command.java index 32a8a3cb282..c6093432092 100644 --- a/src/main/java/edu/harvard/iq/dataverse/engine/command/Command.java +++ b/src/main/java/edu/harvard/iq/dataverse/engine/command/Command.java @@ -41,5 +41,6 @@ public interface Command { * @return A map of the permissions required for this command */ Map> getRequiredPermissions(); - + + public String describe(); } diff --git a/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AssignRoleCommand.java b/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AssignRoleCommand.java index 767bee92619..34263599ff0 100644 --- a/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AssignRoleCommand.java +++ b/src/main/java/edu/harvard/iq/dataverse/engine/command/impl/AssignRoleCommand.java @@ -62,4 +62,9 @@ public Map> getRequiredPermissions() { : Collections.singleton(Permission.ManageDatasetPermissions)); } + @Override + public String describe() { + return grantee + " has been given " + role + " on " + defPoint.accept(DvObject.NameIdPrinter); + } + }