private String processLogoutRequest(LogoutState t,LogoutRequest logoutRequest,SessionManager sessionManager) throws SamlServiceException {
  String sessionId=null;
  List<SessionIndex> sessionList=logoutRequest.getSessionIndexes();
  Validate.notNull(sessionList,"sessionList");
  Validate.isTrue(sessionList.size() > 0);
  for (  SessionIndex sessionIndex : sessionList) {
    Validate.notNull(sessionIndex);
    String participantSession=sessionIndex.getSessionIndex();
    Validate.notNull(participantSession,"participantSession");
    Session session=sessionManager.getByParticipant(participantSession);
    if (session == null) {
      throw new SamlServiceException("Server session not found");
    }
    if (!session.containsSessionParticipantUrl(t.getIssuerValue())) {
      throw new SamlServiceException("Issuer URL does not match session participant URL");
    }
    if (sessionId == null) {
      sessionId=session.getId();
    }
 else {
      if (!sessionId.equals(session.getId())) {
        throw new SamlServiceException("Participant requested multiple server sessions to be terminated");
      }
    }
  }
  return sessionId;
}

private String processLogoutRequest ( LogoutState t , LogoutRequest logoutRequest , SessionManager sessionManager ) throws SamlServiceException { String sessionId = null ; List < SessionIndex > sessionList = logoutRequest . getSessionIndexes ( ) ; Validate . notNull ( sessionList , "sessionList" ) ; Validate . isTrue ( sessionList . size ( ) > 0 ) ; for ( SessionIndex sessionIndex : sessionList ) { Validate . notNull ( sessionIndex ) ; String participantSession = sessionIndex . getSessionIndex ( ) ; Validate . notNull ( participantSession , "participantSession" ) ; Session session = sessionManager . getByParticipant ( participantSession ) ; if ( session == null ) { throw new SamlServiceException ( "Server session not found" ) ; } if ( ! session . containsSessionParticipantUrl ( t . getIssuerValue ( ) ) ) { throw new SamlServiceException ( "Issuer URL does not match session participant URL" ) ; } if ( sessionId == null ) { sessionId = session . getId ( ) ; } else { if ( ! sessionId . equals ( session . getId ( ) ) ) { throw new SamlServiceException ( "Participant requested multiple server sessions to be terminated" ) ; } } } return sessionId ; }
process logoutrequest return the session found or throw samlserviceexception
