diff options
author | Sean Hassan <sean.hassan@att.com> | 2020-09-29 13:14:27 -0500 |
---|---|---|
committer | Sean Hassan <sean.hassan@att.com> | 2020-09-29 13:36:41 -0500 |
commit | cee64537a7e4b8579996a4e3e1b0f98b7fe646cb (patch) | |
tree | 09abb05b158360f495787eda738301e2c1d3bc71 | |
parent | 95a6e66b8cb44eba7052518be1f62db25a7ed22a (diff) |
Correct ClassCastException on locator object
Issue-ID: AAF-1204
Change-Id: I03dbe7cf109ac8a0ff3a5b02338043ab5ced6323
Signed-off-by: Sean Hassan <sean.hassan@att.com>
-rw-r--r-- | cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFAuthn.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFAuthn.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFAuthn.java index f74306fb..d1a3b19b 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFAuthn.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFAuthn.java @@ -34,6 +34,7 @@ import org.onap.aaf.cadi.User; import org.onap.aaf.cadi.aaf.AAFPermission; import org.onap.aaf.cadi.client.Future; import org.onap.aaf.cadi.client.Rcli; +import org.onap.aaf.cadi.locator.SingleEndpointLocator; import org.onap.aaf.cadi.lur.ConfigPrincipal; import aaf.v2_0.CredRequest; @@ -143,10 +144,14 @@ public class AAFAuthn<CLIENT> extends AbsUserCache<AAFPermission> { public Resp revalidate(Object state) { int maxRetries = 15; - try { // these SHOULD be AAFConHttp and AAFLocator objects, but put in a try anyway to be safe + try { // these SHOULD be an AAFConHttp and a AAFLocator or SingleEndpointLocator objects, but put in a try to be safe AAFConHttp forceCastCon = (AAFConHttp) con; - AAFLocator forceCastLoc = (AAFLocator) forceCastCon.hman().loc; - maxRetries = forceCastLoc.maxIters(); + if (forceCastCon.hman().loc instanceof SingleEndpointLocator) { + maxRetries = 1; // we cannot retry the single LGW gateway! + } else { + AAFLocator forceCastLoc = (AAFLocator) forceCastCon.hman().loc; + maxRetries = forceCastLoc.maxIters(); + } } catch (Exception e) { access.log(Access.Level.DEBUG, e); } |