diff --git a/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarning.java b/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarning.java index c974b2135..e82e3685f 100644 --- a/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarning.java +++ b/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarning.java @@ -15,18 +15,21 @@ */ package it.infn.mw.voms.aa; -public enum VOMSWarning { +import static java.lang.String.format; - OrderNotSatisfied(1, "The requested order could not be satisfied."), - ShortenedAttributeValidity( - 2, - "The validity period of the issued attributes has been shortened to the maximum allowed by " - + "this VOMS server configuration."), - AttributeSubset(3, "Only a subset of the requested attributes has been returned."); +public class VOMSWarning { + + public static final String SHORTENED_ATTRIBUTE_VALIDITY_MESSAGE = + "The validity of this VOMS AC in your proxy is shortened to %d seconds, " + + "which is the maximum allowed by this VOMS server configuration."; private int code; private String message; + public static VOMSWarning shortenedAttributeValidity(long maxAcValidityInSeconds) { + return new VOMSWarning(1, format(SHORTENED_ATTRIBUTE_VALIDITY_MESSAGE, maxAcValidityInSeconds)); + } + private VOMSWarning(int legacyCode, String message) { this.code = legacyCode; diff --git a/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarningMessage.java b/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarningMessage.java index 8e90895ee..0e0d20438 100644 --- a/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarningMessage.java +++ b/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/VOMSWarningMessage.java @@ -25,7 +25,7 @@ private VOMSWarningMessage(VOMSWarning warning, String vo) { this.warning = warning; this.vo = vo; - this.message = null; + this.message = warning.getDefaultMessage(); } /** @@ -41,8 +41,6 @@ public String getVo() { */ public String getMessage() { - if (message == null) - return warning.getDefaultMessage(); return message; } @@ -54,19 +52,11 @@ public VOMSWarning getWarning() { return warning; } - public static VOMSWarningMessage orderingNotSatisfied(String vo) { + public static VOMSWarningMessage shortenedAttributeValidity(String vo, + long maxAcValidityInSeconds) { - return new VOMSWarningMessage(VOMSWarning.OrderNotSatisfied, vo); - } - - public static VOMSWarningMessage shortenedAttributeValidity(String vo) { - - return new VOMSWarningMessage(VOMSWarning.ShortenedAttributeValidity, vo); - } - - public static VOMSWarningMessage attributeSubset(String vo) { - - return new VOMSWarningMessage(VOMSWarning.AttributeSubset, vo); + return new VOMSWarningMessage(VOMSWarning.shortenedAttributeValidity(maxAcValidityInSeconds), + vo); } } diff --git a/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/impl/VOMSAAImpl.java b/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/impl/VOMSAAImpl.java index 52eaf5b6c..be6914b39 100644 --- a/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/impl/VOMSAAImpl.java +++ b/iam-voms-aa/src/main/java/it/infn/mw/voms/aa/impl/VOMSAAImpl.java @@ -71,7 +71,9 @@ private void handleRequestedValidity(VOMSRequestContext context) { } if (requestedValidity > MAX_VALIDITY) { - context.getResponse().getWarnings().add(shortenedAttributeValidity(context.getVOName())); + context.getResponse() + .getWarnings() + .add(shortenedAttributeValidity(context.getVOName(), MAX_VALIDITY)); } Instant now = clock.instant();