String dissState) throws AuthzException {
try {
logger.debug("Entered enforceGetDissemination");
String target = Constants.ACTION.GET_DISSEMINATION.uri;
context.setActionAttributes(null);
MultiValueMap resourceAttributes = new MultiValueMap();
String name = null;
try {
name = Constants.SDEF.PID.uri;
resourceAttributes.set(name, sDefPid);
name = Constants.SDEF.NAMESPACE.uri;
resourceAttributes.set(name, extractNamespace(sDefPid));
name = Constants.DISSEMINATOR.METHOD.uri;
resourceAttributes.set(name, methodName);
name = Constants.SDEP.PID.uri;
resourceAttributes.set(name, sDepPid);
name = Constants.SDEP.NAMESPACE.uri;
resourceAttributes.set(name, extractNamespace(sDepPid));
name = Constants.OBJECT.STATE.uri;
resourceAttributes.set(name, objectState);
name = Constants.DISSEMINATOR.STATE.uri;
resourceAttributes.set(name, dissState);
name = Constants.SDEF.STATE.uri;
resourceAttributes.set(name, sDefState);
name = Constants.SDEP.STATE.uri;
resourceAttributes.set(name, sDepState);
name = Constants.RESOURCE.AS_OF_DATETIME.uri;
resourceAttributes.set(name, ensureDate(asOfDate, context));
} catch (Exception e) {
context.setResourceAttributes(null);
throw new AuthzOperationalException(target + " couldn't set "
+ name, e);
}