/**
* @see Repository#login(javax.jcr.Credentials, String)
*/
public Session login(Credentials credentials, String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException {
String wspName = (workspaceName == null) ? config.getDefaultWorkspaceName() : workspaceName;
SessionInfo info = config.getRepositoryService().obtain(credentials, wspName);
try {
if (info instanceof XASessionInfo) {
return new XASessionImpl((XASessionInfo) info, this, config);
} else {
return new SessionImpl(info, this, config);