if (repositoryAccess != null) {
boolean validSession = repositoryAccess.isSessionValid(session);
if (validSession) {
return session;
} else {
ConnectionInfo connectionInfo = sessionContext.getConnectionInfo();
session = repositoryAccess.getSession(connectionInfo);
log.info(String
.format(
"Session was invalid for the connection info. \n Repository URL: %s\n Workspace identifier: %s\n Username: %s\n Password: %s\n Connection type: %s",
connectionInfo.getRepositoryURL(), connectionInfo.getWorkspaceName(),
connectionInfo.getUsername(), connectionInfo.getPassword(),
connectionInfo.getConnectionType()));
log.info("New session is created for the provided key: {}", sessionKey);
sessions.put(sessionKey, new SessionContext(session, connectionInfo));
return session;
}
} else {
ConnectionInfo connectionInfo = sessionContext.getConnectionInfo();
log.warn(String
.format(
"There is no suitable RepositoryAccess instance in the environment. \n Repository URL: %s\n Workspace identifier: %s\n Username: %s\n Password: %s\n Connection type: %s",
connectionInfo.getRepositoryURL(), connectionInfo.getWorkspaceName(),
connectionInfo.getUsername(), connectionInfo.getPassword(),
connectionInfo.getConnectionType()));
throw new RepositoryAccessException(
"There is no suitable RepositoryAccess instance in the environment. Please refer to logs");
}
} else {
log.warn("There is no cached session for the key: {}", sessionKey);