@Override public boolean isOutboundSupported(ProviderRequest providerRequest, SecurityEnvironment outbondEnv, EndpointConfig outboundEp) { // explicitly overridden username and/or password if (outboundEp.abacAttributeNames().contains(EP_PROPERTY_OUTBOUND_USER)) { return true; } SecurityContext secContext = providerRequest.securityContext(); boolean userSupported = secContext.user() .map(user -> user.privateCredential(UserStore.User.class).isPresent()).orElse(false); boolean serviceSupported = secContext.service() .map(user -> user.privateCredential(UserStore.User.class).isPresent()).orElse(false); return userSupported || serviceSupported; }
.flatMap(user -> user.privateCredential(UserStore.User.class))) .or(() -> secContext.service().flatMap(service -> service.privateCredential(UserStore.User.class))) .asOptional() .map(user -> {