diff options
11 files changed, 105 insertions, 412 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java index ad5d5890e..2f4417baf 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java @@ -23,7 +23,6 @@ public class AllBugzillaTests { public static Test suite() { TestSuite suite = new TestSuite("Test for org.eclipse.mylar.bugzilla.tests"); // $JUnit-BEGIN$ - suite.addTestSuite(BugzillaTaskDataMigrationTest.class); suite.addTestSuite(RepositoryTaskHandleTest.class); suite.addTestSuite(TaskListNotificationManagerTest.class); suite.addTestSuite(BugzillaTaskTest.class); diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskDataMigrationTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskDataMigrationTest.java deleted file mode 100644 index 87ac99d7a..000000000 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskDataMigrationTest.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 University Of British Columbia 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: - * University Of British Columbia - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylar.bugzilla.tests; - -import org.eclipse.mylar.internal.bugzilla.core.BugzillaTask; -import org.eclipse.mylar.internal.bugzilla.ui.tasklist.BugzillaTaskEditorInput; -import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute; - - -/** - * @author Rob Elves - */ -public class BugzillaTaskDataMigrationTest extends AbstractBugzillaTest { - - public void testMigrateDescriptionToReadOnly() throws Exception { - init222(); - BugzillaTask task = generateLocalTaskAndDownload("1"); - assertNotNull(task); - assertNotNull(task.getTaskData()); - RepositoryTaskAttribute attrib = task.getTaskData().getDescriptionAttribute(); - assertNotNull(attrib); - attrib.setReadOnly(false); - BugzillaTaskEditorInput editorInput = new BugzillaTaskEditorInput(repository, task, false); - assertTrue(editorInput.getBugTask().getTaskData().getDescriptionAttribute().isReadOnly()); - } -} diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaUiPlugin.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaUiPlugin.java index afd8b06b1..fb33f95ad 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaUiPlugin.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/BugzillaUiPlugin.java @@ -112,8 +112,6 @@ public class BugzillaUiPlugin extends AbstractUIPlugin { .getRepositoryManager().getRepositoryConnector(BugzillaCorePlugin.REPOSITORY_KIND); TasksUiPlugin.getRepositoryManager().addListener(bugzillaConnector.getClientManager()); - - // migrateOldAuthenticationData(); } /** @@ -316,103 +314,3 @@ public class BugzillaUiPlugin extends AbstractUIPlugin { } } } - -// @SuppressWarnings("unchecked") -// private void migrateOldAuthenticationData() { -// String OLD_PREF_SERVER = "BUGZILLA_SERVER"; -// String serverUrl = -// BugzillaPlugin.getDefault().getPreferenceStore().getString(OLD_PREF_SERVER); -// if (serverUrl != null && serverUrl.trim() != "") { -// URL oldFakeUrl = null; -// try { -// oldFakeUrl = new URL("http://org.eclipse.mylar.bugzilla"); -// } catch (MalformedURLException e) { -// BugzillaPlugin.log(new Status(IStatus.WARNING, BugzillaPlugin.PLUGIN_ID, -// IStatus.OK, -// "Bad temp server url: BugzillaPreferencePage", e)); -// } -// -// String user = ""; -// String password = ""; -// Map<String, String> map = Platform.getAuthorizationInfo(oldFakeUrl, -// "Bugzilla", -// BugzillaPreferencePage.AUTH_SCHEME); -// -// // get the information from the map and save it -// if (map != null && !map.isEmpty()) { -// String username = map.get(BugzillaPreferencePage.INFO_USERNAME); -// if (username != null) -// user = username; -// -// String pwd = map.get(BugzillaPreferencePage.INFO_PASSWORD); -// if (pwd != null) -// password = pwd; -// } -// TaskRepository repository; -// // try { -// repository = new TaskRepository(BugzillaPlugin.REPOSITORY_KIND, serverUrl); -// repository.setAuthenticationCredentials(user, password); -// MylarTaskListPlugin.getRepositoryManager().addRepository(repository); -// BugzillaPlugin.getDefault().getPreferenceStore().setValue(OLD_PREF_SERVER, -// ""); -// // } catch (MalformedURLException e) { -// // MylarStatusHandler.fail(e, "could not create default repository", -// // true); -// // } -// try { -// // reset the authorization -// Platform.addAuthorizationInfo(oldFakeUrl, "Bugzilla", -// BugzillaPreferencePage.AUTH_SCHEME, new HashMap<String, String>()); -// } catch (CoreException e) { -// // ignore -// } -// } -// } - -// private void readOfflineReportsFile() { -// IPath offlineReportsPath = getOfflineReportsFilePath(); -// -// try { -// offlineReportsFile = new OfflineTaskManager(offlineReportsPath.toFile(), -// true); -// } catch (Exception e) { -// MylarStatusHandler.log(e, -// "Could not restore offline Bugzilla reports file, creating new one -// (possible version incompatibility)"); -// offlineReportsPath.toFile().delete(); -// // if (offlineReportsPath.toFile().delete()) { -// try { -// offlineReportsFile = new OfflineTaskManager(offlineReportsPath.toFile(), -// false); -// } catch (Exception e1) { -// MylarStatusHandler.fail(e, "could not reset offline Bugzilla reports -// file", true); -// } -// // } else { -// // MylarStatusHandler.fail(null, "reset of Bugzilla offline reports file -// failed", true); -// // } -// } -// } -// -// /** -// * Returns the path to the file cacheing the offline bug reports. -// */ -// private IPath getOfflineReportsFilePath() { -// IPath stateLocation = -// Platform.getStateLocation(BugzillaPlugin.getDefault().getBundle()); -// IPath configFile = stateLocation.append("offlineReports"); -// return configFile; -// } -// -// public OfflineTaskManager getOfflineReportsFile() { -// if (offlineReportsFile == null) { -// MylarStatusHandler.fail(null, "Offline reports file not created, try -// restarting.", true); -// } -// return offlineReportsFile; -// } - -// public List<BugzillaReport> getSavedBugReports() { -// return offlineReportsFile.elements(); -// } diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java index 4e27f5678..4d18dd231 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java @@ -17,7 +17,6 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.mylar.internal.bugzilla.core.BugzillaCorePlugin; import org.eclipse.mylar.internal.bugzilla.core.BugzillaRepositoryConnector; import org.eclipse.mylar.internal.bugzilla.core.BugzillaTask; -import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute; import org.eclipse.mylar.tasks.core.RepositoryTaskData; import org.eclipse.mylar.tasks.core.TaskRepository; import org.eclipse.mylar.tasks.ui.TasksUiPlugin; @@ -38,8 +37,6 @@ public class BugzillaTaskEditorInput extends RepositoryTaskEditorInput { public BugzillaTaskEditorInput(TaskRepository repository, BugzillaTask bugTask, boolean offline) { super(repository, bugTask.getHandleIdentifier(), bugTask.getUrl()); this.bugTask = bugTask; - migrateDescToReadOnly(getTaskData()); - migrateDescToReadOnly(getOldTaskData()); updateOptions(getTaskData()); updateOptions(getOldTaskData()); } @@ -59,11 +56,6 @@ public class BugzillaTaskEditorInput extends RepositoryTaskEditorInput { return null; } - // @Override - // public String getName() { - // return bugTask.getDescription(); - // } - @Override public IPersistableElement getPersistable() { return null; @@ -87,16 +79,6 @@ public class BugzillaTaskEditorInput extends RepositoryTaskEditorInput { return bugTask; } - // TODO: migration code 0.6.1 -> 0.6.2 - private void migrateDescToReadOnly(RepositoryTaskData taskData) { - if (taskData != null) { - RepositoryTaskAttribute attrib = taskData.getDescriptionAttribute(); - if (attrib != null) { - attrib.setReadOnly(true); - } - } - } - // TODO: repository configuration update (remove at some point) private void updateOptions(RepositoryTaskData taskData) { try { diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java index 2b0c076c3..90765b928 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java @@ -11,9 +11,6 @@ package org.eclipse.mylar.internal.bugzilla.ui.tasklist; -import java.text.SimpleDateFormat; -import java.util.Date; - import org.eclipse.mylar.internal.bugzilla.core.BugzillaQueryHit; import org.eclipse.mylar.internal.bugzilla.core.BugzillaRepositoryQuery; import org.eclipse.mylar.internal.bugzilla.core.BugzillaTask; @@ -37,8 +34,6 @@ public class BugzillaTaskExternalizer extends DelegatingTaskExternalizer { private static final String STATUS_NEW = "NEW"; - private static final String KEY_OLD_LAST_DATE = "LastDate"; - private static final String TAG_BUGZILLA_QUERY_HIT = "Bugzilla" + KEY_QUERY_HIT; private static final String TAG_BUGZILLA_QUERY = "Bugzilla" + KEY_QUERY; @@ -127,31 +122,6 @@ public class BugzillaTaskExternalizer extends DelegatingTaskExternalizer { } BugzillaTask task = new BugzillaTask(handle, label, false); super.readTaskInfo(task, taskList, element, parent, category); - - if (!element.hasAttribute(KEY_LAST_MOD_DATE) || element.getAttribute(KEY_LAST_MOD_DATE).equals("")) { - // migrate to new time stamp 0.5.3 -> 0.6.0 - try { - if (element.hasAttribute(KEY_OLD_LAST_DATE)) { - String DATE_FORMAT_2 = "yyyy-MM-dd HH:mm:ss"; - SimpleDateFormat delta_ts_format = new SimpleDateFormat(DATE_FORMAT_2); - String oldDateStamp = ""; - try { - oldDateStamp = delta_ts_format.format(new Date( - new Long(element.getAttribute(KEY_OLD_LAST_DATE)).longValue())); - task.setLastSyncDateStamp(oldDateStamp); - } catch (NumberFormatException e) { - // For those who may have been working from head... - Date parsedDate = delta_ts_format.parse(element.getAttribute(KEY_OLD_LAST_DATE)); - if (parsedDate != null) { - oldDateStamp = element.getAttribute(KEY_OLD_LAST_DATE); - task.setLastSyncDateStamp(oldDateStamp); - } - } - } - } catch (Exception e) { - // invalid date format/parse - } - } return task; } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java index b15d9d306..2a5ad1175 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java @@ -16,7 +16,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; -import java.io.OptionalDataException; import java.util.Collections; import java.util.List; import java.util.Map; @@ -218,12 +217,6 @@ public class TaskDataManager { for (RepositoryTaskData taskData : getOldDataMap().values()) { updateAttributeFactory(taskData); } - } catch (OptionalDataException e) { - in.close(); - readOldOfflineFile(); - } catch (ClassCastException e) { - in.close(); - readOldOfflineFile(); } finally { if (in != null) { try { @@ -236,38 +229,6 @@ public class TaskDataManager { } } - /** - * Migrate from old offline task data format (pre 1.0) - */ - private void readOldOfflineFile() throws IOException { - ObjectInputStream in = null; - try { - in = new ObjectInputStream(new FileInputStream(file)); - // read in each of the offline reports in the file - - dataStore = new OfflineDataStore(); - - // get the number of offline reports in the file - int size = in.readInt(); - dataStore.setLastNewTaskId(in.readInt()); - for (int nX = 0; nX < size; nX++) { - RepositoryTaskData taskData = null; - - taskData = (RepositoryTaskData) in.readObject(); - - if (taskData != null) { - updateAttributeFactory(taskData); - put(taskData); - } - } - } catch (Exception ex) { - dataStore = new OfflineDataStore(); - MylarStatusHandler.log(ex, "Could not migrate old offline data file, created new."); - } finally { - in.close(); - } - } - /** save task data to offline file */ public void save() { synchronized (file) { diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java index f547b04ab..a6fad6561 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java @@ -30,7 +30,7 @@ public class AllTasksTests { suite.addTestSuite(CopyDetailsActionTest.class); suite.addTestSuite(TaskListTest.class); suite.addTestSuite(ProjectRepositoryAssociationTest.class); - suite.addTestSuite(TaskListDataMigrationTest.class); + suite.addTestSuite(TaskList06DataMigrationTest.class); suite.addTestSuite(TaskPlanningEditorTest.class); suite.addTestSuite(TaskListManagerTest.class); suite.addTestSuite(RepositoryTaskSynchronizationTest.class); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListDataMigration.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskList06DataMigrationTest.java index 28a79a15f..65c9774c2 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListDataMigration.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskList06DataMigrationTest.java @@ -6,13 +6,17 @@ * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.mylar.tasks.ui; +package org.eclipse.mylar.tasks.tests; import java.io.File; import java.lang.reflect.InvocationTargetException; +import java.net.URLEncoder; import java.util.ArrayList; +import junit.framework.TestCase; + import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.mylar.context.core.MylarStatusHandler; @@ -20,13 +24,109 @@ import org.eclipse.mylar.internal.context.core.MylarContextManager; import org.eclipse.mylar.internal.context.core.util.ZipFileUtil; import org.eclipse.mylar.internal.tasks.ui.ITasksUiConstants; import org.eclipse.mylar.tasks.core.TaskRepositoryManager; +import org.eclipse.mylar.tasks.ui.TasksUiPlugin; /** - * Migrate 0.6 -> 0.7 mylar data format + * Tests unused code that was live up to Mylar 1.0.1, {@link TasksUiPlugin} * * @author Rob Elves */ -public class TaskListDataMigration implements IRunnableWithProgress { +public class TaskList06DataMigrationTest extends TestCase { + + private String sourceDir = "testdata/tasklistdatamigrationtest"; + + private File sourceDirFile; + + private TaskListDataMigration migrator; + + @Override + protected void setUp() throws Exception { + super.setUp(); + sourceDirFile = TaskTestUtil.getLocalFile(sourceDir); + assertNotNull(sourceDirFile); + deleteAllFiles(sourceDirFile); + migrator = new TaskListDataMigration(sourceDirFile); + assertTrue(sourceDirFile.exists()); + } + + @Override + protected void tearDown() throws Exception { + super.tearDown(); + deleteAllFiles(sourceDirFile); + } + + public void testOldTasklistMigration() throws Exception { + File oldTasklistFile = new File(sourceDirFile, "tasklist.xml"); + oldTasklistFile.createNewFile(); + assertTrue(new File(sourceDirFile, "tasklist.xml").exists()); + assertTrue(!new File(sourceDirFile, "tasklist.xml.zip").exists()); + assertTrue(migrator.migrateTaskList(new NullProgressMonitor())); + assertFalse(new File(sourceDirFile, "tasklist.xml").exists()); + assertFalse(!new File(sourceDirFile, "tasklist.xml.zip").exists()); + } + + public void testOldRepositoriesMigration() throws Exception { + File oldRepositoriesFile = new File(sourceDirFile, "repositories.xml"); + oldRepositoriesFile.createNewFile(); + assertTrue(new File(sourceDirFile, "repositories.xml").exists()); + assertTrue(!new File(sourceDirFile, "repositories.xml.zip").exists()); + assertTrue(migrator.migrateRepositoriesData(new NullProgressMonitor())); + assertFalse(new File(sourceDirFile, "repositories.xml").exists()); + assertTrue(new File(sourceDirFile, "repositories.xml.zip").exists()); + } + + public void testOldContextMigration() throws Exception { + String contextFileName1 = URLEncoder.encode("http://oldcontext1.xml", + MylarContextManager.CONTEXT_FILENAME_ENCODING); + String contextFileName2 = URLEncoder.encode("http://oldcontext2.xml", + MylarContextManager.CONTEXT_FILENAME_ENCODING); + String contextFileName3 = "task-1.xml"; + File oldContextFile1 = new File(sourceDirFile, contextFileName1); + oldContextFile1.createNewFile(); + File oldContextFile2 = new File(sourceDirFile, contextFileName2); + oldContextFile2.createNewFile(); + File oldContextFile3 = new File(sourceDirFile, contextFileName3); + oldContextFile3.createNewFile(); + File contextFolder = new File(sourceDirFile, MylarContextManager.CONTEXTS_DIRECTORY); + assertTrue(!contextFolder.exists()); + assertTrue(migrator.migrateTaskContextData(new NullProgressMonitor())); + assertFalse(oldContextFile1.exists()); + assertFalse(oldContextFile2.exists()); + assertFalse(oldContextFile3.exists()); + assertTrue(contextFolder.exists()); + assertTrue(new File(contextFolder, contextFileName1 + ".zip").exists()); + assertTrue(new File(contextFolder, contextFileName2 + ".zip").exists()); + assertTrue(new File(contextFolder, contextFileName3 + ".zip").exists()); + } + + public void testOldActivityMigration() throws Exception { + File oldActivityFile = new File(sourceDirFile, MylarContextManager.OLD_CONTEXT_HISTORY_FILE_NAME + + MylarContextManager.CONTEXT_FILE_EXTENSION_OLD); + oldActivityFile.createNewFile(); + File contextFolder = new File(sourceDirFile, MylarContextManager.CONTEXTS_DIRECTORY); + assertTrue(!contextFolder.exists()); + assertTrue(migrator.migrateActivityData(new NullProgressMonitor())); + assertFalse(oldActivityFile.exists()); + assertTrue(contextFolder.exists()); + assertTrue(new File(contextFolder, MylarContextManager.CONTEXT_HISTORY_FILE_NAME + + MylarContextManager.CONTEXT_FILE_EXTENSION).exists()); + } + + private void deleteAllFiles(File folder) { + for (File file : folder.listFiles()) { + if (file.isDirectory()) { + if (!file.getName().equals("CVS")) { + deleteAllFiles(file); + file.delete(); + } + } else if (!file.getName().equals("empty.txt")) { + file.delete(); + } + } + } +} + +class TaskListDataMigration implements IRunnableWithProgress { private File dataDirectory = null; @@ -222,40 +322,3 @@ public class TaskListDataMigration implements IRunnableWithProgress { } } - -//public boolean migrateActivityData(IProgressMonitor monitor) { -//File oldActivityFile = new File(dataDirectory, MylarContextManager.OLD_CONTEXT_HISTORY_FILE_NAME+MylarContextManager.CONTEXT_FILE_EXTENSION_OLD); -//if (!oldActivityFile.exists()) -// return false; -// -//File newActivityFile = new File(dataDirectory, MylarContextManager.CONTEXT_HISTORY_FILE_NAME+MylarContextManager.CONTEXT_FILE_EXTENSION); -// -//if (newActivityFile.exists()) { -// if (!newActivityFile.delete()) { -// MylarStatusHandler.fail(null, -// "Could not overwrite activity file. Check read/write permission on data directory.", false); -// return false; -// } -//} -//ArrayList<File> filesToZip = new ArrayList<File>(); -//filesToZip.add(oldActivityFile); -//try { -// monitor.beginTask("Migrate Activity Data", 1); -// ZipFileUtil.createZipFile(newActivityFile, filesToZip, new SubProgressMonitor(monitor, 1)); -// if (!oldActivityFile.delete()) { -// MylarStatusHandler -// .fail( -// null, -// "Could not remove old activity file. Check read/write permission on data directory.", -// false); -// return false; -// } -// monitor.worked(1); -//} catch (Exception e) { -// MylarStatusHandler.fail(e, "Error occurred while migrating old activity data: " + e.getMessage(), true); -// return false; -//} finally { -// monitor.done(); -//} -//return true; -//}
\ No newline at end of file diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDataMigrationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDataMigrationTest.java deleted file mode 100644 index 962648bf4..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDataMigrationTest.java +++ /dev/null @@ -1,116 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylar.tasks.tests; - -import java.io.File; -import java.net.URLEncoder; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.mylar.internal.context.core.MylarContextManager; -import org.eclipse.mylar.tasks.ui.TaskListDataMigration; - -/** - * @author Rob Elves - */ -public class TaskListDataMigrationTest extends TestCase { - - private String sourceDir = "testdata/tasklistdatamigrationtest"; - - private File sourceDirFile; - - private TaskListDataMigration migrator; - - @Override - protected void setUp() throws Exception { - super.setUp(); - sourceDirFile = TaskTestUtil.getLocalFile(sourceDir); - assertNotNull(sourceDirFile); - deleteAllFiles(sourceDirFile); - migrator = new TaskListDataMigration(sourceDirFile); - assertTrue(sourceDirFile.exists()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - deleteAllFiles(sourceDirFile); - } - - public void testOldTasklistMigration() throws Exception { - File oldTasklistFile = new File(sourceDirFile, "tasklist.xml"); - oldTasklistFile.createNewFile(); - assertTrue(new File(sourceDirFile, "tasklist.xml").exists()); - assertTrue(!new File(sourceDirFile, "tasklist.xml.zip").exists()); - assertTrue(migrator.migrateTaskList(new NullProgressMonitor())); - assertFalse(new File(sourceDirFile, "tasklist.xml").exists()); - assertFalse(!new File(sourceDirFile, "tasklist.xml.zip").exists()); - } - - public void testOldRepositoriesMigration() throws Exception { - File oldRepositoriesFile = new File(sourceDirFile, "repositories.xml"); - oldRepositoriesFile.createNewFile(); - assertTrue(new File(sourceDirFile, "repositories.xml").exists()); - assertTrue(!new File(sourceDirFile, "repositories.xml.zip").exists()); - assertTrue(migrator.migrateRepositoriesData(new NullProgressMonitor())); - assertFalse(new File(sourceDirFile, "repositories.xml").exists()); - assertTrue(new File(sourceDirFile, "repositories.xml.zip").exists()); - } - - public void testOldContextMigration() throws Exception { - String contextFileName1 = URLEncoder.encode("http://oldcontext1.xml", - MylarContextManager.CONTEXT_FILENAME_ENCODING); - String contextFileName2 = URLEncoder.encode("http://oldcontext2.xml", - MylarContextManager.CONTEXT_FILENAME_ENCODING); - String contextFileName3 = "task-1.xml"; - File oldContextFile1 = new File(sourceDirFile, contextFileName1); - oldContextFile1.createNewFile(); - File oldContextFile2 = new File(sourceDirFile, contextFileName2); - oldContextFile2.createNewFile(); - File oldContextFile3 = new File(sourceDirFile, contextFileName3); - oldContextFile3.createNewFile(); - File contextFolder = new File(sourceDirFile, MylarContextManager.CONTEXTS_DIRECTORY); - assertTrue(!contextFolder.exists()); - assertTrue(migrator.migrateTaskContextData(new NullProgressMonitor())); - assertFalse(oldContextFile1.exists()); - assertFalse(oldContextFile2.exists()); - assertFalse(oldContextFile3.exists()); - assertTrue(contextFolder.exists()); - assertTrue(new File(contextFolder, contextFileName1 + ".zip").exists()); - assertTrue(new File(contextFolder, contextFileName2 + ".zip").exists()); - assertTrue(new File(contextFolder, contextFileName3 + ".zip").exists()); - } - - public void testOldActivityMigration() throws Exception { - File oldActivityFile = new File(sourceDirFile, MylarContextManager.OLD_CONTEXT_HISTORY_FILE_NAME - + MylarContextManager.CONTEXT_FILE_EXTENSION_OLD); - oldActivityFile.createNewFile(); - File contextFolder = new File(sourceDirFile, MylarContextManager.CONTEXTS_DIRECTORY); - assertTrue(!contextFolder.exists()); - assertTrue(migrator.migrateActivityData(new NullProgressMonitor())); - assertFalse(oldActivityFile.exists()); - assertTrue(contextFolder.exists()); - assertTrue(new File(contextFolder, MylarContextManager.CONTEXT_HISTORY_FILE_NAME - + MylarContextManager.CONTEXT_FILE_EXTENSION).exists()); - } - - private void deleteAllFiles(File folder) { - for (File file : folder.listFiles()) { - if (file.isDirectory()) { - if (!file.getName().equals("CVS")) { - deleteAllFiles(file); - file.delete(); - } - } else if (!file.getName().equals("empty.txt")) { - file.delete(); - } - } - } -} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListPreferenceConstants.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListPreferenceConstants.java index 4cba4a081..75d2deb02 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListPreferenceConstants.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListPreferenceConstants.java @@ -48,8 +48,6 @@ public class TaskListPreferenceConstants { public static final String PREVIOUS_SAVE_DATE = "org.eclipse.mylar.tasklist.save.last"; - public static final String CONTEXTS_MIGRATED = "org.eclipse.mylar.tasklist.repositories.migrated.single"; - public static final String REPOSITORY_SYNCH_SCHEDULE_ENABLED = "org.eclipse.mylar.tasklist.repositories.synch.schedule"; public static final String REPOSITORY_SYNCH_SCHEDULE_MILISECONDS = "org.eclipse.mylar.tasklist.repositories.synch.schedule.miliseconds"; diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java index 92d1102af..f1bb54dfc 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java @@ -26,14 +26,12 @@ import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Preferences.IPropertyChangeListener; import org.eclipse.core.runtime.Preferences.PropertyChangeEvent; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.IScopeContext; import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.text.hyperlink.IHyperlinkDetector; @@ -79,10 +77,8 @@ import org.eclipse.mylar.tasks.core.AbstractRepositoryTask.RepositoryTaskSyncSta import org.eclipse.mylar.tasks.core.web.WebClientUtil; import org.eclipse.mylar.tasks.ui.editors.ITaskEditorFactory; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IStartup; import org.eclipse.ui.IWindowListener; -import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -377,7 +373,6 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup { File dataDir = new File(getDataDirectory()); dataDir.mkdirs(); - migrateContextStoreFrom06Format(false); String path = getDataDirectory() + File.separator + ITasksUiConstants.DEFAULT_TASK_LIST_FILE; File taskListFile = new File(path); @@ -457,27 +452,6 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup { MylarStatusHandler.fail(e, "Mylar Task List initialization failed", false); } } - - /** - * Will run with every startup in case somebody copies over an old data - * directory. Called upon import. Called upon change of task data directory - * (from preference page). - */ - private void migrateContextStoreFrom06Format(boolean withProgress) { - TaskListDataMigration migrationOperation = new TaskListDataMigration(new File(getDataDirectory())); - try { - if (!withProgress) { - migrationOperation.run(new NullProgressMonitor()); - } else { - IWorkbench wb = PlatformUI.getWorkbench(); - IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); - Shell shell = win != null ? win.getShell() : null; - new ProgressMonitorDialog(shell).run(false, false, migrationOperation); - } - } catch (Exception e) { - MylarStatusHandler.fail(e, "Error occurred while migrating mylar data", false); - } - } public void earlyStartup() { // ignore @@ -526,12 +500,11 @@ public class TasksUiPlugin extends AbstractUIPlugin implements IStartup { } /** + * Only support task data versions post 0.7 * * @param withProgress */ public void reloadDataDirectory(boolean withProgress) { - // In case new data folder has hold style task data - migrateContextStoreFrom06Format(withProgress); getTaskListManager().resetTaskList(); getTaskListManager().getTaskActivationHistory().clear(); getRepositoryManager().readRepositories(getRepositoriesFilePath()); |