### Eclipse Workspace Patch 1.0 #P org.eclipse.mylyn.tasks.core Index: src/org/eclipse/mylyn/internal/tasks/core/externalization/DelegatingTaskExternalizer.java =================================================================== RCS file: /cvsroot/mylyn/org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/externalization/DelegatingTaskExternalizer.java,v retrieving revision 1.42 diff -u -r1.42 DelegatingTaskExternalizer.java --- src/org/eclipse/mylyn/internal/tasks/core/externalization/DelegatingTaskExternalizer.java 3 Mar 2011 00:27:41 -0000 1.42 +++ src/org/eclipse/mylyn/internal/tasks/core/externalization/DelegatingTaskExternalizer.java 3 May 2011 17:24:45 -0000 @@ -53,9 +53,9 @@ import org.eclipse.mylyn.tasks.core.IRepositoryManager; import org.eclipse.mylyn.tasks.core.IRepositoryQuery; import org.eclipse.mylyn.tasks.core.ITask; -import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel; import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState; +import org.eclipse.mylyn.tasks.core.TaskRepository; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -75,7 +75,7 @@ static final String DEFAULT_PRIORITY = PriorityLevel.P3.toString(); - static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.S z"; //$NON-NLS-1$ + static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.S Z"; //$NON-NLS-1$ static final String KEY_NOTIFIED_INCOMING = "NotifiedIncoming"; //$NON-NLS-1$ #P org.eclipse.mylyn.tasks.tests Index: src/org/eclipse/mylyn/tasks/tests/TaskListExternalizationTest.java =================================================================== RCS file: /cvsroot/mylyn/org.eclipse.mylyn.tasks/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListExternalizationTest.java,v retrieving revision 1.13 diff -u -r1.13 TaskListExternalizationTest.java --- src/org/eclipse/mylyn/tasks/tests/TaskListExternalizationTest.java 3 Mar 2011 00:26:15 -0000 1.13 +++ src/org/eclipse/mylyn/tasks/tests/TaskListExternalizationTest.java 3 May 2011 17:24:46 -0000 @@ -17,6 +17,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.TimeZone; import junit.framework.TestCase; @@ -583,6 +584,29 @@ assertEquals(task.getScheduledForDate(), readTask.getScheduledForDate()); } + // test case for bug 342086 + public void testDatesTimeZone() throws Exception { + TaskTestUtil.resetTaskListAndRepositories(); + + TimeZone.setDefault(TimeZone.getTimeZone("PRC")); + AbstractTask task = new LocalTask("1", "task 1"); + Date creationDate = new Date(); + task.setCreationDate(creationDate); + TasksUiPlugin.getTaskList().addTask(task); + assertEquals(1, TasksUiPlugin.getTaskList().getAllTasks().size()); + + TaskTestUtil.saveNow(); + TimeZone.setDefault(TimeZone.getTimeZone("CST")); + TaskTestUtil.resetTaskList(); + TasksUiPlugin.getDefault().initializeDataSources(); + + assertEquals(1, TasksUiPlugin.getTaskList().getAllTasks().size()); + Collection readList = TasksUiPlugin.getTaskList().getDefaultCategory().getChildren(); + ITask readTask = readList.iterator().next(); + assertTrue(readTask.getSummary().equals("task 1")); + assertTrue(readTask.getCreationDate().compareTo(creationDate) == 0); + } + // Task retention when connector missing upon startup public void testOrphanedTasks() throws Exception { // make some tasks