org.eclipse.mylar.tasks.core
Class TaskRepositoryManager

java.lang.Object
  extended by org.eclipse.mylar.tasks.core.TaskRepositoryManager

public class TaskRepositoryManager
extends java.lang.Object

Author:
Mik Kersten, Rob Elves

Field Summary
static java.lang.String DEFAULT_REPOSITORIES_FILE
           
private  TaskRepositoriesExternalizer externalizer
           
private  java.util.Set<ITaskRepositoryListener> listeners
           
static java.lang.String MESSAGE_NO_REPOSITORY
           
static java.lang.String OLD_REPOSITORIES_FILE
           
private  java.util.Set<TaskRepository> orphanedRepositories
           
static java.lang.String PREF_REPOSITORIES
           
static java.lang.String PREFIX_LOCAL
           
private  java.util.Map<java.lang.String,AbstractRepositoryConnector> repositoryConnectors
           
private  java.util.Map<java.lang.String,java.util.Set<TaskRepository>> repositoryMap
           
private  TaskList taskList
           
 
Constructor Summary
TaskRepositoryManager(TaskList taskList)
           
 
Method Summary
 void addListener(ITaskRepositoryListener listener)
           
 void addRepository(TaskRepository repository, java.lang.String repositoryFilePath)
           
 void addRepositoryConnector(AbstractRepositoryConnector repositoryConnector)
           
 void clearRepositories(java.lang.String repositoriesFilePath)
          For testing.
 java.util.List<TaskRepository> getAllRepositories()
           
 java.lang.String getAttachmentContents(RepositoryAttachment attachment)
           
 AbstractRepositoryConnector getConnectorForRepositoryTaskUrl(java.lang.String url)
           
 TaskRepository getDefaultRepository(java.lang.String kind)
          TODO: implement default support, this just returns first found
 java.util.Set<TaskRepository> getRepositories(java.lang.String kind)
           
 TaskRepository getRepository(java.lang.String urlString)
           
 TaskRepository getRepository(java.lang.String kind, java.lang.String urlString)
           
 AbstractRepositoryConnector getRepositoryConnector(AbstractRepositoryTask task)
           
 AbstractRepositoryConnector getRepositoryConnector(java.lang.String kind)
           
 java.util.Collection<AbstractRepositoryConnector> getRepositoryConnectors()
           
 TaskRepository getRepositoryForActiveTask(java.lang.String repositoryKind, TaskList taskList)
           
private  void loadRepositories(java.lang.String repositoriesFilePath)
           
 void notifyRepositorySettingsChagned(TaskRepository repository)
           
 java.util.Map<java.lang.String,java.util.Set<TaskRepository>> readRepositories(java.lang.String repositoriesFilePath)
           
 void removeListener(ITaskRepositoryListener listener)
           
 void removeRepository(TaskRepository repository, java.lang.String repositoryFilePath)
           
 boolean saveRepositories(java.lang.String destinationPath)
           
 void setEncoding(TaskRepository repository, java.lang.String encoding, java.lang.String repositoriesFilePath)
          for testing purposes
 void setSyncTime(TaskRepository repository, java.lang.String syncTime, java.lang.String repositoriesFilePath)
           
 void setTimeZoneId(TaskRepository repository, java.lang.String timeZoneId, java.lang.String repositoriesFilePath)
          for testing purposes
 void setVersion(TaskRepository repository, java.lang.String version, java.lang.String repositoriesFilePath)
          for testing purposes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OLD_REPOSITORIES_FILE

public static final java.lang.String OLD_REPOSITORIES_FILE
See Also:
Constant Field Values

DEFAULT_REPOSITORIES_FILE

public static final java.lang.String DEFAULT_REPOSITORIES_FILE
See Also:
Constant Field Values

PREF_REPOSITORIES

public static final java.lang.String PREF_REPOSITORIES
See Also:
Constant Field Values

repositoryConnectors

private java.util.Map<java.lang.String,AbstractRepositoryConnector> repositoryConnectors

repositoryMap

private java.util.Map<java.lang.String,java.util.Set<TaskRepository>> repositoryMap

listeners

private java.util.Set<ITaskRepositoryListener> listeners

orphanedRepositories

private java.util.Set<TaskRepository> orphanedRepositories

MESSAGE_NO_REPOSITORY

public static final java.lang.String MESSAGE_NO_REPOSITORY
See Also:
Constant Field Values

PREFIX_LOCAL

public static final java.lang.String PREFIX_LOCAL
See Also:
Constant Field Values

externalizer

private TaskRepositoriesExternalizer externalizer

taskList

private TaskList taskList
Constructor Detail

TaskRepositoryManager

public TaskRepositoryManager(TaskList taskList)
Method Detail

getRepositoryConnectors

public java.util.Collection<AbstractRepositoryConnector> getRepositoryConnectors()

getRepositoryConnector

public AbstractRepositoryConnector getRepositoryConnector(java.lang.String kind)

getRepositoryConnector

public AbstractRepositoryConnector getRepositoryConnector(AbstractRepositoryTask task)

addRepositoryConnector

public void addRepositoryConnector(AbstractRepositoryConnector repositoryConnector)

addRepository

public void addRepository(TaskRepository repository,
                          java.lang.String repositoryFilePath)

removeRepository

public void removeRepository(TaskRepository repository,
                             java.lang.String repositoryFilePath)

addListener

public void addListener(ITaskRepositoryListener listener)

removeListener

public void removeListener(ITaskRepositoryListener listener)

getRepository

public TaskRepository getRepository(java.lang.String kind,
                                    java.lang.String urlString)

getRepository

public TaskRepository getRepository(java.lang.String urlString)
Returns:
first repository that matches the given url

getConnectorForRepositoryTaskUrl

public AbstractRepositoryConnector getConnectorForRepositoryTaskUrl(java.lang.String url)
Returns:
the first connector to accept the URL

getRepositories

public java.util.Set<TaskRepository> getRepositories(java.lang.String kind)

getAllRepositories

public java.util.List<TaskRepository> getAllRepositories()

getRepositoryForActiveTask

public TaskRepository getRepositoryForActiveTask(java.lang.String repositoryKind,
                                                 TaskList taskList)

getDefaultRepository

public TaskRepository getDefaultRepository(java.lang.String kind)
TODO: implement default support, this just returns first found


readRepositories

public java.util.Map<java.lang.String,java.util.Set<TaskRepository>> readRepositories(java.lang.String repositoriesFilePath)

loadRepositories

private void loadRepositories(java.lang.String repositoriesFilePath)

setVersion

public void setVersion(TaskRepository repository,
                       java.lang.String version,
                       java.lang.String repositoriesFilePath)
for testing purposes


setEncoding

public void setEncoding(TaskRepository repository,
                        java.lang.String encoding,
                        java.lang.String repositoriesFilePath)
for testing purposes


setTimeZoneId

public void setTimeZoneId(TaskRepository repository,
                          java.lang.String timeZoneId,
                          java.lang.String repositoriesFilePath)
for testing purposes


setSyncTime

public void setSyncTime(TaskRepository repository,
                        java.lang.String syncTime,
                        java.lang.String repositoriesFilePath)

saveRepositories

public boolean saveRepositories(java.lang.String destinationPath)

clearRepositories

public void clearRepositories(java.lang.String repositoriesFilePath)
For testing.


notifyRepositorySettingsChagned

public void notifyRepositorySettingsChagned(TaskRepository repository)

getAttachmentContents

public java.lang.String getAttachmentContents(RepositoryAttachment attachment)