From ea0c936844574443fbd327b9c2f33927cab2eb83 Mon Sep 17 00:00:00 2001
From: Frank Becker
Date: Fri, 18 Oct 2013 13:45:29 -0400
Subject: 419869: Bugzilla Version update 4.5.1, 4.4.1, 4.2.7, and 4.0.11
Change-Id: I40bdc470325accc55908566f9a1573fbe6d6fabc
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=419869
---
diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java
index 06647e6..e915ecd 100644
--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaClient.java
+++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzillorg.eclipse.mylyn.tasks/core/BugzillaClient.java
@@ -1587,6 +1587,9 @@ public class BugzillaClient {
// Don't post any remaining non-bugzilla specific attributes
continue;
}
+ if (id.equals(BugzillaAttribute.DELTA_TS.getKey())) {
+ value = BugzillaUtil.removeTimezone(value);
+ }
fields.put(id, new NameValuePair(id, value != null ? value : "")); //$NON-NLS-1$
}
}
diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaUtil.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaUtil.java
index b746a68..65af1d7 100644
--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaUtil.java
+++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzillorg.eclipse.mylyn.tasks/core/BugzillaUtil.java
@@ -11,9 +11,16 @@
package org.eclipse.mylyn.internal.bugzilla.core;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskData;
+import org.eclipse.osgi.util.NLS;
public class BugzillaUtil {
@@ -65,4 +72,16 @@ public class BugzillaUtil {
String useParam = taskRepository.getProperty(property);
return (useParam == null || (useParam != null && useParam.equals("true"))); //$NON-NLS-1$
}
+
+ private static final Pattern TIME_STAMP_PATTERN = Pattern.compile(
+ "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
+
+ public static String removeTimezone(String timeWithTimezone) throws CoreException {
+ Matcher matcher = TIME_STAMP_PATTERN.matcher(timeWithTimezone);
+ if (matcher.find()) {
+ return matcher.group();
+ }
+ throw new CoreException(new Status(IStatus.ERROR, BugzillaCorePlugin.ID_PLUGIN, NLS.bind(
+ "{0} is not a valid time", timeWithTimezone))); //$NON-NLS-1$
+ }
}
diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp
index 96f44b0..071a8c1 100644
--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.releng/modules/bugzilla/manifests/defaultsites.pp
+++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.releng/modules/bugzillorg.eclipse.mylyn.tasks/manifests/defaultsites.pp
@@ -51,25 +51,25 @@ define bugzilla::defaultsites($base = $bugzilla::bugzillaBase, $userOwner = $bug
xmlrpc_enabled => false,
}
- bugzilla::site { "bugzilla-4.0.10":
+ bugzilla::site { "bugzilla-4.0.11":
major => "4",
minor => "0",
}
- bugzilla::site { "bugzilla-4.2.6":
+ bugzilla::site { "bugzilla-4.2.7":
major => "4",
minor => "2",
envdefault => true,
}
- bugzilla::site { "bugzilla-4.2.6-bugaliases":
+ bugzilla::site { "bugzilla-4.2.7-bugaliases":
major => "4",
minor => "2",
- branchTag => "bugzilla-4.2.6",
+ branchTag => "bugzilla-4.2.7",
usebugaliases => true,
}
- bugzilla::site { "bugzilla-4.4":
+ bugzilla::site { "bugzilla-4.4.1":
major => "4",
minor => "4",
}
@@ -80,4 +80,5 @@ define bugzilla::defaultsites($base = $bugzilla::bugzillaBase, $userOwner = $bug
branch => "trunk",
branchTag => "trunk",
}
+
}
\ No newline at end of file
diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaHeadlessStandaloneTests.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaHeadlessStandaloneTests.java
index 23ab85a..892e04f 100644
--- org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaHeadlessStandaloneTests.java
+++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzillorg.eclipse.mylyn.tasks/tests/AllBugzillaHeadlessStandaloneTests.java
@@ -26,6 +26,7 @@ import org.eclipse.mylyn.bugzilla.tests.core.BugzillaFlagsTest;
import org.eclipse.mylyn.bugzilla.tests.core.BugzillaRepositoryConnectorConfigurationTest;
import org.eclipse.mylyn.bugzilla.tests.core.BugzillaRepositoryConnectorStandaloneTest;
import org.eclipse.mylyn.bugzilla.tests.core.BugzillaTaskCompletionTest;
+import org.eclipse.mylyn.bugzilla.tests.core.BugzillaUtilTest;
import org.eclipse.mylyn.bugzilla.tests.core.BugzillaVersionTest;
import org.eclipse.mylyn.bugzilla.tests.core.RepositoryConfigurationTest;
import org.eclipse.mylyn.bugzilla.tests.support.BugzillaFixture;
@@ -74,6 +75,7 @@ public class AllBugzillaHeadlessStandaloneTests {
fixture.add(BugzillaRepositoryConnectorStandaloneTest.class);
fixture.add(BugzillaRepositoryConnectorConfigurationTest.class);
fixture.add(BugzillaClientTest.class);
+ fixture.add(BugzillaUtilTest.class);
// Only run these tests on > 3.2 repositories
if (!fixture.getBugzillaVersion().isSmallerOrEquals(BugzillaVersion.BUGZILLA_3_2)) {
diff --git org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaUtilTest.java org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaUtilTest.java
new file mode 100644
index 0000000..44f4f80
--- /dev/null
+++ org.eclipse.mylyn.tasks/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzillorg.eclipse.mylyn.tasks/tests/core/BugzillaUtilTest.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Frank Becker 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:
+ * Frank Becker - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylyn.bugzilla.tests.core;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.mylyn.internal.bugzilla.core.BugzillaUtil;
+import org.junit.Test;
+
+public class BugzillaUtilTest extends TestCase {
+
+ @Test
+ public void testValidTimezoneRemove() throws CoreException {
+ assertEquals("2013-10-21 18:50:29", BugzillaUtil.removeTimezone("2013-10-21 18:50:29 +0000"));
+ assertEquals("2013-10-21 18:50:29", BugzillaUtil.removeTimezone("2013-10-21 18:50:29 CEST"));
+ assertEquals("2013-10-21 18:50:29", BugzillaUtil.removeTimezone("2013-10-21 18:50:29 GMT+02:00"));
+ }
+
+ @Test
+ public void testInvalidTimezoneRemove() {
+ try {
+ BugzillaUtil.removeTimezone("2013-10-21T18:50:29");
+ fail("Expected CoreException");
+ } catch (CoreException e) {
+ assertEquals("2013-10-21T18:50:29 is not a valid time", e.getMessage());
+ }
+ }
+}
--
cgit v0.8.3.4-115-g1759