Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Becker2012-02-26 13:58:55 +0000
committerFrank Becker2012-02-26 13:58:55 +0000
commit2952584b62acdfc6ada2c532f41717cfed9e73ea (patch)
treeb42034898c47db9e8e4538f3933c6f815fea3891
parentc2f4cab9b71b2392ad32f30409c229bfb33a4c5b (diff)
downloadorg.eclipse.mylyn.tasks-2952584b62acdfc6ada2c532f41717cfed9e73ea.tar.gz
org.eclipse.mylyn.tasks-2952584b62acdfc6ada2c532f41717cfed9e73ea.tar.xz
org.eclipse.mylyn.tasks-2952584b62acdfc6ada2c532f41717cfed9e73ea.zip
ASSIGNED - bug 372591: BugzillaXmlRpcClient.updateProductInfo should
work with Bugzilla 4.2 https://bugs.eclipse.org/bugs/show_bug.cgi?id=372591
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java12
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaXmlRpcClientTest.java22
2 files changed, 30 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java
index ee559197c..e1e4147b2 100644
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/service/BugzillaXmlRpcClient.java
@@ -432,11 +432,15 @@ public class BugzillaXmlRpcClient extends CommonXmlRpcClient {
String defaultMilestone = null;
String product = (String) ((HashMap<?, ?>) object).get("name"); //$NON-NLS-1$
HashMap<?, ?> values = (HashMap<?, ?>) ((HashMap<?, ?>) object).get("internals"); //$NON-NLS-1$
- if (values == null) {
- continue;
+ Object defaultMilestoneObj = null;
+ if (values != null) {
+ if (values instanceof HashMap<?, ?>) {
+ defaultMilestoneObj = ((HashMap<?, ?>) values).get("defaultmilestone"); //$NON-NLS-1$
+ }
+ } else {
+ defaultMilestoneObj = ((HashMap<?, ?>) object).get("default_milestone"); //$NON-NLS-1$
}
- if (values instanceof HashMap<?, ?>) {
- Object defaultMilestoneObj = ((HashMap<?, ?>) values).get("defaultmilestone"); //$NON-NLS-1$
+ if (defaultMilestoneObj != null) {
if (defaultMilestoneObj instanceof String) {
defaultMilestone = (String) defaultMilestoneObj;
} else if (defaultMilestoneObj instanceof Double) {
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaXmlRpcClientTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaXmlRpcClientTest.java
index ffa59157f..67133538a 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaXmlRpcClientTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaXmlRpcClientTest.java
@@ -41,6 +41,7 @@ import org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaVersion;
import org.eclipse.mylyn.internal.bugzilla.core.CustomTransitionManager;
+import org.eclipse.mylyn.internal.bugzilla.core.RepositoryConfiguration;
import org.eclipse.mylyn.internal.bugzilla.core.service.BugzillaXmlRpcClient;
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
@@ -968,4 +969,25 @@ public class BugzillaXmlRpcClientTest extends TestCase {
}
return div;
}
+
+ public void testUpdateProductInfo() throws Exception {
+ if (BugzillaFixture.current().getDescription().equals(BugzillaFixture.XML_RPC_DISABLED)
+ || BugzillaFixture.current() == BugzillaFixture.BUGS_3_4) {
+ return;
+ }
+ RepositoryConfiguration repositoryConfiguration = connector.getRepositoryConfiguration(repository.getRepositoryUrl());
+
+ for (String product : repositoryConfiguration.getProducts()) {
+ repositoryConfiguration.setDefaultMilestone(product, null);
+ }
+
+ bugzillaClient.updateProductInfo(new NullProgressMonitor(), repositoryConfiguration);
+ for (String product : repositoryConfiguration.getProducts()) {
+ if (product.equals("ManualTest") || product.equals("Scratch") || product.equals("TestProduct")) {
+ assertEquals("---", repositoryConfiguration.getDefaultMilestones(product));
+ } else {
+ fail("never reach this");
+ }
+ }
+ }
}

Back to the top