Skip to content

Commit

Permalink
Merge pull request IQSS#4275 from IQSS/4262-describe-method
Browse files Browse the repository at this point in the history
move `describe` from EjbDataverseEngine to Command interface IQSS#4262
  • Loading branch information
kcondon authored Nov 20, 2017
2 parents b4cea62 + 3f0f7e8 commit 3013c0d
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 20 deletions.
15 changes: 2 additions & 13 deletions src/main/java/edu/harvard/iq/dataverse/EjbDataverseEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ public <R> R submit(Command<R> aCommand) throws CommandException {
DataverseRequest dvReq = aCommand.getRequest();

Map<String, DvObject> affectedDvObjects = aCommand.getAffectedDvObjects();
logRec.setInfo( describe(affectedDvObjects) );
logRec.setInfo(aCommand.describe());
for (Map.Entry<String, ? extends Set<Permission>> pair : requiredMap.entrySet()) {
String dvName = pair.getKey();
if (!affectedDvObjects.containsKey(dvName)) {
Expand Down Expand Up @@ -442,16 +442,5 @@ public DataCaptureModuleServiceBean dataCaptureModule() {

return ctxt;
}


private String describe( Map<String, DvObject> dvObjMap ) {
StringBuilder sb = new StringBuilder();
for ( Map.Entry<String, DvObject> ent : dvObjMap.entrySet() ) {
DvObject value = ent.getValue();
sb.append(ent.getKey()).append(":");
sb.append( (value!=null) ? value.accept(DvObject.NameIdPrinter) : "<null>");
sb.append(" ");
}
return sb.toString();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/
public abstract class AbstractCommand<R> implements Command<R> {

private final Map<String, DvObject> affectedDataverses;
private final Map<String, DvObject> affectedDvObjects;
private final DataverseRequest request;

static protected class DvNamePair {
Expand Down Expand Up @@ -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<String, DvObject> someAffectedDvObjects) {
request = aRequest;
affectedDataverses = someAffectedDvObjects;
affectedDvObjects = someAffectedDvObjects;
}

@Override
public Map<String, DvObject> getAffectedDvObjects() {
return affectedDataverses;
return affectedDvObjects;
}

@Override
Expand All @@ -81,4 +81,17 @@ public Map<String, Set<Permission>> getRequiredPermissions() {
protected User getUser() {
return getRequest().getUser();
}

@Override
public String describe() {
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, DvObject> ent : affectedDvObjects.entrySet()) {
DvObject value = ent.getValue();
sb.append(ent.getKey()).append(":");
sb.append((value != null) ? value.accept(DvObject.NameIdPrinter) : "<null>");
sb.append(" ");
}
return sb.toString();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,6 @@ public interface Command<R> {
* @return A map of the permissions required for this command
*/
Map<String,Set<Permission>> getRequiredPermissions();


public String describe();
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,9 @@ public Map<String, Set<Permission>> getRequiredPermissions() {
: Collections.singleton(Permission.ManageDatasetPermissions));
}

@Override
public String describe() {
return grantee + " has been given " + role + " on " + defPoint.accept(DvObject.NameIdPrinter);
}

}

0 comments on commit 3013c0d

Please sign in to comment.