@Override protected boolean doValidate(Validation validation, String name, Object value, Out<Object> out) { if(!(value instanceof Map)) { validation.addError(name, "Invalid value, must be a map"); return false; } if(null != valueValidator) { Map map = (Map)value; Map converted = null; Out<Object> entryOut = new Out<>(); for(Object object : map.entrySet()) { Map.Entry entry = (Map.Entry)object; if(!valueValidator.validate(validation, qname(name, entry.getKey().toString()), entry.getValue(), entryOut)) { return false; } if(entryOut.isPresent()) { if(null == converted) { converted = new HashMap(); } converted.put(entry.getKey(), entryOut.getAndReset()); } } if(null != converted) { map.putAll(converted); } } return true; }
@Override protected boolean doValidate(Validation validation, String name, Object value, Out<Object> out) { if(null != typeCheckAndConvert) { if(!typeCheckAndConvert.checkAndConvert(validation, name, value, out)) { return false; } if(out.isPresent()) { value = out.get(); } } return null != combined ? combined.validate(validation, name, value, out) : true; }
if(propOut.isPresent()) { map.put(pv.name, propOut.getAndReset());
@Override public void handle(Request request, Response response) throws Throwable { OAuth2Params params = new RequestOAuth2Params(request); AuthzAccessToken at = null; Out<AuthzAccessToken> result = new Out<>(); for(TokenInfoHandler h : handlers) { if(h.handleTokenInfoRequest(request, response, params,result)) { if(result.isPresent()){ at = result.get(); } break; } } if(at != null){ String responseType = params.getResponseType(); if(Strings.isEmpty(responseType)){ responseType = "default"; } TokenInfoResponseHandler handler = factory.tryGetBean(TokenInfoResponseHandler.class,responseType); handler.writeTokenInfo(request,response,at); } }
@Override public void handle(Request request, Response response) throws Throwable { OAuth2Params params = new RequestOAuth2Params(request); AuthzAccessToken at = null; Out<AuthzAccessToken> result = new Out<>(); for(TokenInfoHandler h : handlers) { if(h.handleTokenInfoRequest(request, response, params,result)) { if(result.isPresent()){ at = result.get(); } break; } } if(at != null){ String responseType = params.getResponseType(); if(Strings.isEmpty(responseType)){ responseType = "default"; } TokenInfoResponseHandler handler = factory.tryGetBean(TokenInfoResponseHandler.class,responseType); handler.writeTokenInfo(request,response,at); } }