* session.
*/
public synchronized Session getSession(
HttpServletRequest request, Repository repository, String workspace)
throws LoginException, ServletException, RepositoryException {
SessionProvider provider = null;
Session session = null;
for (Map.Entry<SessionProvider, Set<Session>> entry : providers.entrySet()) {
provider = entry.getKey();
session = provider.getSession(request, repository, workspace);
if (session != null) {
entry.getValue().add(session);
break;
}
}
if (session == null) {
provider = super.getSessionProvider();
session = provider.getSession(request, repository, workspace);
}
if (session != null) {
sessions.put(session, provider);
}