blob: 37fe79554e56e770c14c8c3ea881ae96496a4378 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2008 Tasktop Technologies and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.tasks.ui;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.RepositoryTemplate;
import org.eclipse.mylyn.tasks.ui.TasksUi;
/**
* @author Rob Elves
*/
public class TaskRepositoryUtil {
/**
* Is auto add of template repository disabled for repositoryUrl
*
* @since 2.1
*/
public static boolean isAddAutomaticallyDisabled(String repositoryUrl) {
String deletedTemplates = TasksUiPlugin.getDefault().getPreferenceStore().getString(
ITasksUiPreferenceConstants.TEMPLATES_DELETED);
String[] templateUrls = deletedTemplates.split("\\" + ITasksUiPreferenceConstants.TEMPLATES_DELETED_DELIM); //$NON-NLS-1$
for (String deletedUrl : templateUrls) {
if (deletedUrl.equalsIgnoreCase(repositoryUrl)) {
return true;
}
}
return false;
}
/**
* Disable template repository from being automatically added
*
* @since 2.1
*/
public static void disableAddAutomatically(String repositoryUrl) {
if (!isAddAutomaticallyDisabled(repositoryUrl) && isAddAutomatically(repositoryUrl)) {
String deletedTemplates = TasksUiPlugin.getDefault().getPreferenceStore().getString(
ITasksUiPreferenceConstants.TEMPLATES_DELETED);
deletedTemplates += ITasksUiPreferenceConstants.TEMPLATES_DELETED_DELIM + repositoryUrl;
TasksUiPlugin.getDefault().getPreferenceStore().setValue(ITasksUiPreferenceConstants.TEMPLATES_DELETED,
deletedTemplates);
TasksUiPlugin.getDefault().savePluginPreferences();
}
}
/**
* Template exists and is auto add enabled
*/
private static boolean isAddAutomatically(String repositoryUrl) {
for (AbstractRepositoryConnector connector : TasksUi.getRepositoryManager().getRepositoryConnectors()) {
for (RepositoryTemplate template : TasksUiPlugin.getRepositoryTemplateManager().getTemplates(
connector.getConnectorKind())) {
if (template.repositoryUrl != null && template.repositoryUrl.equalsIgnoreCase(repositoryUrl)
&& template.addAutomatically) {
return true;
}
}
}
return false;
}
}