public TFSRepository connect(final IProject project,final boolean disconnectOtherServers){
  Check.notNull(project,"project");
  log.info(MessageFormat.format("Connecting project {0} to TFS server",project.getName()));
  waitForManagerStartup();
  ProjectRepositoryData projectData;
synchronized (projectDataLock) {
    projectData=projectDataMap.get(project);
    if (projectData == null) {
      log.error(MessageFormat.format("Project Manager does not contain project {0} (when returning online)",project.getName()));
      return null;
    }
synchronized (projectData) {
      if (projectData.getStatus() == ProjectRepositoryStatus.INITIALIZING) {
        log.error(MessageFormat.format("Project manager does not contain a status for project {0} (when returning online)",project.getName()));
        return null;
      }
 else       if (projectData.getStatus() == ProjectRepositoryStatus.OFFLINE) {
        projectData.setStatus(ProjectRepositoryStatus.CONNECTING);
      }
    }
  }
  return connectInternal(project,disconnectOtherServers,projectData);
}

public TFSRepository connect ( final IProject project , final boolean disconnectOtherServers ) { Check . notNull ( project , "project" ) ; log . info ( MessageFormat . format ( "Connecting project {0} to TFS server" , project . getName ( ) ) ) ; waitForManagerStartup ( ) ; ProjectRepositoryData projectData ; synchronized ( projectDataLock ) { projectData = projectDataMap . get ( project ) ; if ( projectData == null ) { log . error ( MessageFormat . format ( "Project Manager does not contain project {0} (when returning online)" , project . getName ( ) ) ) ; return null ; } synchronized ( projectData ) { if ( projectData . getStatus ( ) == ProjectRepositoryStatus . INITIALIZING ) { log . error ( MessageFormat . format ( "Project manager does not contain a status for project {0} (when returning online)" , project . getName ( ) ) ) ; return null ; } else if ( projectData . getStatus ( ) == ProjectRepositoryStatus . OFFLINE ) { projectData . setStatus ( ProjectRepositoryStatus . CONNECTING ) ; } } } return connectInternal ( project , disconnectOtherServers , projectData ) ; }
connects the given iproject to its team foundation server . if the project was offline , it will be brought online .
