melad albahaca
Tengo este código
service.confirm(identity, id)
.map(confirmationResponse -> InternalToExternalResponse.mapToExternal(confirmationResponse))
.map(externalResponse->uriBuilder.buildAuthorizeUri(externalResponse))
.lift(auditOperatorFactory.logRequestURI(identity, AuditCategory.BOOKKEEP));
Ahora tengo que extender el uriBuilder.buildAuthorizeUri(externalResponse)
tomar confirmationResponse
como un segundo parámetro
¿Puedo usar el confirmationResponse
de la primera expresión lambda dentro de la segunda expresión lambda? el código final debe ser similar
service.confirm(identity, id)
.map(confirmationResponse -> InternalToExternalResponse.mapToExternal(confirmationResponse))
.map(externalResponse-**>uriBuilder.buildAuthorizeUri(externalResponse,confirmationResponse ))**
.lift(auditOperatorFactory.logRequestURI(identity, AuditCategory.BOOKKEEP));
Gente Ahmeti:
Puede pasar el confirmationResponse
al siguiente lambda como resultado de éste. Ya que se necesita tanto, puede crear ya sea un objeto personalizado o el uso Pair
de esta manera:
service.confirm(identity, id)
.map(confirmationResponse -> new Pair<ConfirmationResponse, ExternalResponse>(confirmationResponse, InternalToExternalResponse.mapToExternal(confirmationResponse)))
.map(result ->u riBuilder.buildAuthorizeUri(result.second, result.first ))
.lift(auditOperatorFactory.logRequestURI(identity, AuditCategory.BOOKKEEP));