org.eclipse.mylar.internal.tasks.web
Class WebRepositoryConnector
java.lang.Object
org.eclipse.mylar.tasks.core.AbstractRepositoryConnector
org.eclipse.mylar.internal.tasks.web.WebRepositoryConnector
public class WebRepositoryConnector
- extends AbstractRepositoryConnector
Generic connector for web based issue tracking systems
- Author:
- Eugene Kuleshov
Method Summary |
boolean |
canCreateNewTask(TaskRepository repository)
|
boolean |
canCreateTaskFromKey(TaskRepository repository)
|
private static java.lang.String |
cleanup(java.lang.String text,
TaskRepository repository)
|
ITask |
createTaskFromExistingKey(TaskRepository repository,
java.lang.String id,
java.net.Proxy proxySettings)
|
static java.lang.String |
evaluateParams(java.lang.String value,
java.util.Map<java.lang.String,java.lang.String> params)
|
static java.lang.String |
evaluateParams(java.lang.String value,
java.util.Map<java.lang.String,java.lang.String> params,
TaskRepository repository)
|
static java.lang.String |
evaluateParams(java.lang.String value,
TaskRepository repository)
|
static java.lang.String |
fetchResource(java.lang.String url,
java.util.Map<java.lang.String,java.lang.String> params,
TaskRepository repository)
|
IAttachmentHandler |
getAttachmentHandler()
|
java.util.Set<AbstractRepositoryTask> |
getChangedSinceLastSync(TaskRepository repository,
java.util.Set<AbstractRepositoryTask> tasks)
|
java.lang.String |
getLabel()
|
IOfflineTaskHandler |
getOfflineTaskHandler()
|
private static java.lang.String |
getRefreshUrl(java.lang.String url,
org.apache.commons.httpclient.HttpMethod method)
|
java.lang.String |
getRepositoryType()
|
java.lang.String |
getRepositoryUrlFromTaskUrl(java.lang.String url)
|
java.util.List<java.lang.String> |
getSupportedVersions()
|
static java.util.List<java.lang.String> |
getTemplateVariables(java.lang.String value)
|
private static void |
loginRequestIfNeeded(org.apache.commons.httpclient.HttpClient client,
java.util.Map<java.lang.String,java.lang.String> params,
TaskRepository repository)
|
org.eclipse.core.runtime.IStatus |
performQuery(AbstractRepositoryQuery query,
TaskRepository repository,
org.eclipse.core.runtime.IProgressMonitor monitor,
QueryHitCollector resultCollector)
Implementors must execute query synchronously. |
static org.eclipse.core.runtime.IStatus |
performQuery(java.lang.String resource,
java.lang.String regexp,
java.lang.String taskPrefix,
org.eclipse.core.runtime.IProgressMonitor monitor,
QueryHitCollector collector,
TaskRepository repository)
|
java.lang.String[] |
repositoryPropertyNames()
|
private static java.lang.String |
requestResource(java.lang.String url,
org.apache.commons.httpclient.HttpClient client,
org.apache.commons.httpclient.HttpMethod method)
|
void |
updateAttributes(TaskRepository repository,
org.eclipse.core.runtime.IProgressMonitor monitor)
Reset and update the repository attributes from the server (e.g. |
void |
updateTask(TaskRepository repository,
AbstractRepositoryTask repositoryTask)
Updates the properties of repositoryTask . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROPERTY_TASK_CREATION_URL
public static final java.lang.String PROPERTY_TASK_CREATION_URL
- See Also:
- Constant Field Values
PROPERTY_TASK_URL
public static final java.lang.String PROPERTY_TASK_URL
- See Also:
- Constant Field Values
PROPERTY_QUERY_URL
public static final java.lang.String PROPERTY_QUERY_URL
- See Also:
- Constant Field Values
PROPERTY_QUERY_METHOD
public static final java.lang.String PROPERTY_QUERY_METHOD
- See Also:
- Constant Field Values
PROPERTY_QUERY_REGEXP
public static final java.lang.String PROPERTY_QUERY_REGEXP
- See Also:
- Constant Field Values
PROPERTY_LOGIN_FORM_URL
public static final java.lang.String PROPERTY_LOGIN_FORM_URL
- See Also:
- Constant Field Values
PROPERTY_LOGIN_TOKEN_REGEXP
public static final java.lang.String PROPERTY_LOGIN_TOKEN_REGEXP
- See Also:
- Constant Field Values
PROPERTY_LOGIN_REQUEST_METHOD
public static final java.lang.String PROPERTY_LOGIN_REQUEST_METHOD
- See Also:
- Constant Field Values
PROPERTY_LOGIN_REQUEST_URL
public static final java.lang.String PROPERTY_LOGIN_REQUEST_URL
- See Also:
- Constant Field Values
PARAM_PREFIX
public static final java.lang.String PARAM_PREFIX
- See Also:
- Constant Field Values
PARAM_SERVER_URL
public static final java.lang.String PARAM_SERVER_URL
- See Also:
- Constant Field Values
PARAM_USER_ID
public static final java.lang.String PARAM_USER_ID
- See Also:
- Constant Field Values
PARAM_PASSWORD
public static final java.lang.String PARAM_PASSWORD
- See Also:
- Constant Field Values
PARAM_LOGIN_TOKEN
public static final java.lang.String PARAM_LOGIN_TOKEN
- See Also:
- Constant Field Values
REQUEST_POST
public static final java.lang.String REQUEST_POST
- See Also:
- Constant Field Values
REQUEST_GET
public static final java.lang.String REQUEST_GET
- See Also:
- Constant Field Values
WebRepositoryConnector
public WebRepositoryConnector()
getRepositoryType
public java.lang.String getRepositoryType()
- Specified by:
getRepositoryType
in class AbstractRepositoryConnector
- Returns:
- the unique type of the repository, e.g. "bugzilla"
getLabel
public java.lang.String getLabel()
- Specified by:
getLabel
in class AbstractRepositoryConnector
repositoryPropertyNames
public java.lang.String[] repositoryPropertyNames()
- Overrides:
repositoryPropertyNames
in class AbstractRepositoryConnector
getSupportedVersions
public java.util.List<java.lang.String> getSupportedVersions()
- Specified by:
getSupportedVersions
in class AbstractRepositoryConnector
canCreateNewTask
public boolean canCreateNewTask(TaskRepository repository)
- Specified by:
canCreateNewTask
in class AbstractRepositoryConnector
canCreateTaskFromKey
public boolean canCreateTaskFromKey(TaskRepository repository)
- Specified by:
canCreateTaskFromKey
in class AbstractRepositoryConnector
createTaskFromExistingKey
public ITask createTaskFromExistingKey(TaskRepository repository,
java.lang.String id,
java.net.Proxy proxySettings)
throws org.eclipse.core.runtime.CoreException
- Specified by:
createTaskFromExistingKey
in class AbstractRepositoryConnector
id
- identifier, e.g. "123" bug Bugzilla bug 123proxySettings
- TODO
- Returns:
- null if task could not be created
- Throws:
org.eclipse.core.runtime.CoreException
- TODO
getRepositoryUrlFromTaskUrl
public java.lang.String getRepositoryUrlFromTaskUrl(java.lang.String url)
- Specified by:
getRepositoryUrlFromTaskUrl
in class AbstractRepositoryConnector
performQuery
public org.eclipse.core.runtime.IStatus performQuery(AbstractRepositoryQuery query,
TaskRepository repository,
org.eclipse.core.runtime.IProgressMonitor monitor,
QueryHitCollector resultCollector)
- Description copied from class:
AbstractRepositoryConnector
- Implementors must execute query synchronously.
- Specified by:
performQuery
in class AbstractRepositoryConnector
repository
- TODOresultCollector
- IQueryHitCollector that collects the hits found
getAttachmentHandler
public IAttachmentHandler getAttachmentHandler()
- Specified by:
getAttachmentHandler
in class AbstractRepositoryConnector
- Returns:
- null if not supported
getChangedSinceLastSync
public java.util.Set<AbstractRepositoryTask> getChangedSinceLastSync(TaskRepository repository,
java.util.Set<AbstractRepositoryTask> tasks)
throws java.lang.Exception
- Throws:
java.lang.Exception
getOfflineTaskHandler
public IOfflineTaskHandler getOfflineTaskHandler()
- Specified by:
getOfflineTaskHandler
in class AbstractRepositoryConnector
- Returns:
- null if not supported
updateAttributes
public void updateAttributes(TaskRepository repository,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
- Description copied from class:
AbstractRepositoryConnector
- Reset and update the repository attributes from the server (e.g.
products, components)
TODO: remove?
- Specified by:
updateAttributes
in class AbstractRepositoryConnector
- Throws:
org.eclipse.core.runtime.CoreException
updateTask
public void updateTask(TaskRepository repository,
AbstractRepositoryTask repositoryTask)
throws org.eclipse.core.runtime.CoreException
- Description copied from class:
AbstractRepositoryConnector
- Updates the properties of
repositoryTask
. Invoked when on
task synchronization if AbstractRepositoryConnector.getOfflineTaskHandler()
returns
null
or
IOfflineTaskHandler.downloadTaskData(TaskRepository, String)
returns null
.
Connectors that provide RepositoryTaskData
objects for all tasks
do not need to implement this method.
- Specified by:
updateTask
in class AbstractRepositoryConnector
- Parameters:
repository
- the repositoryrepositoryTask
- the task that is synchronized
- Throws:
org.eclipse.core.runtime.CoreException
- thrown in case of error while synchronizing- See Also:
#getOfflineTaskHandler()}
performQuery
public static org.eclipse.core.runtime.IStatus performQuery(java.lang.String resource,
java.lang.String regexp,
java.lang.String taskPrefix,
org.eclipse.core.runtime.IProgressMonitor monitor,
QueryHitCollector collector,
TaskRepository repository)
cleanup
private static java.lang.String cleanup(java.lang.String text,
TaskRepository repository)
fetchResource
public static java.lang.String fetchResource(java.lang.String url,
java.util.Map<java.lang.String,java.lang.String> params,
TaskRepository repository)
throws java.io.IOException
- Throws:
java.io.IOException
loginRequestIfNeeded
private static void loginRequestIfNeeded(org.apache.commons.httpclient.HttpClient client,
java.util.Map<java.lang.String,java.lang.String> params,
TaskRepository repository)
throws org.apache.commons.httpclient.HttpException,
java.io.IOException
- Throws:
org.apache.commons.httpclient.HttpException
java.io.IOException
requestResource
private static java.lang.String requestResource(java.lang.String url,
org.apache.commons.httpclient.HttpClient client,
org.apache.commons.httpclient.HttpMethod method)
throws java.io.IOException,
org.apache.commons.httpclient.HttpException
- Throws:
java.io.IOException
org.apache.commons.httpclient.HttpException
getRefreshUrl
private static java.lang.String getRefreshUrl(java.lang.String url,
org.apache.commons.httpclient.HttpMethod method)
evaluateParams
public static java.lang.String evaluateParams(java.lang.String value,
java.util.Map<java.lang.String,java.lang.String> params,
TaskRepository repository)
evaluateParams
public static java.lang.String evaluateParams(java.lang.String value,
TaskRepository repository)
evaluateParams
public static java.lang.String evaluateParams(java.lang.String value,
java.util.Map<java.lang.String,java.lang.String> params)
getTemplateVariables
public static java.util.List<java.lang.String> getTemplateVariables(java.lang.String value)