diff options
5 files changed, 41 insertions, 26 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java index 1721edb59..b50cca6da 100644 --- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java +++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTaskDataHandler.java @@ -465,29 +465,6 @@ public class BugzillaTaskDataHandler extends AbstractTaskDataHandler { component = initializationData.getComponent(); } - if (component == null - && repositoryConfiguration.getProductOptionValues(BugzillaAttribute.COMPONENT, product).size() > 0) { - component = repositoryConfiguration.getProductOptionValues(BugzillaAttribute.COMPONENT, product) - .get(0); - } - if (component == null) { - if (repositoryConfiguration.getOptionValues(BugzillaAttribute.PRODUCT).size() > 0) { - product = repositoryConfiguration.getOptionValues(BugzillaAttribute.PRODUCT).get(0); - } - if (product == null) { - return false; - } - if (repositoryConfiguration.getProductOptionValues(BugzillaAttribute.COMPONENT, product).size() > 0) { - component = repositoryConfiguration.getProductOptionValues(BugzillaAttribute.COMPONENT, product) - .get(0); - } else { - return false; - } - if (component == null) { - return false; - } - } - initializeNewTaskDataAttributes(repositoryConfiguration, taskData, product, component, monitor); if (connector != null) { connector.setPlatformDefaultsOrGuess(repository, taskData); @@ -608,10 +585,14 @@ public class BugzillaTaskDataHandler extends AbstractTaskDataHandler { if (defaultMilestone != null) { attributeTargetMilestone.setValue(defaultMilestone); } else { - attributeTargetMilestone.setValue(optionValues.get(0)); + if (optionValues.contains("---")) { //$NON-NLS-1$ + attributeTargetMilestone.setValue("---"); //$NON-NLS-1$ + } } } else { - attributeTargetMilestone.setValue(optionValues.get(0)); + if (optionValues.contains("---")) { //$NON-NLS-1$ + attributeTargetMilestone.setValue("---"); //$NON-NLS-1$ + } } } } diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java index 053f89e33..e4544b8db 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java @@ -37,7 +37,9 @@ import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaVersion; import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; +import org.eclipse.mylyn.tasks.core.ITaskMapping; import org.eclipse.mylyn.tasks.core.RepositoryResponse; +import org.eclipse.mylyn.tasks.core.TaskMapping; import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; @@ -198,11 +200,25 @@ public class BugzillaFixture extends TestFixture { if (description == null) { description = "description"; } + ITaskMapping initializationData = new TaskMapping() { + + @Override + public String getProduct() { + return "ManualTest"; + } + + @Override + public String getComponent() { + // ignore + return "ManualC1"; + } + + }; BugzillaClient client = client(level); AbstractTaskDataHandler taskDataHandler = connector().getTaskDataHandler(); TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository()); TaskData taskData = new TaskData(mapper, repository().getConnectorKind(), repository().getRepositoryUrl(), ""); - taskDataHandler.initializeTaskData(repository(), taskData, null, null); + taskDataHandler.initializeTaskData(repository(), taskData, initializationData, null); taskData.getRoot().createMappedAttribute(TaskAttribute.SUMMARY).setValue(summary); taskData.getRoot().createMappedAttribute(TaskAttribute.DESCRIPTION).setValue(description); taskData.getRoot().createMappedAttribute(BugzillaAttribute.OP_SYS.getKey()).setValue("All"); diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java index 413895be5..a2a86762f 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java @@ -314,6 +314,20 @@ public class BugzillaTaskEditorPage extends AbstractTaskEditorPage { } return; } + TaskAttribute targetMilestoneAttribute = getModel().getTaskData() + .getRoot() + .getMappedAttribute(BugzillaAttribute.TARGET_MILESTONE.getKey()); + if (targetMilestoneAttribute != null && targetMilestoneAttribute.getValue().length() == 0 + && getModel().getTaskData().isNew()) { + getTaskEditor().setMessage( + Messages.BugzillaTaskEditorPage_Please_enter_a_target_milestone_before_submitting, + IMessageProvider.ERROR); + AbstractTaskEditorPart descriptionPart = getPart(ID_PART_ATTRIBUTES); + if (descriptionPart != null) { + descriptionPart.setFocus(); + } + return; + } TaskAttribute attributeOperation = getModel().getTaskData() .getRoot() diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/Messages.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/Messages.java index ac61d4cca..1b72b6eb1 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/Messages.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/Messages.java @@ -99,6 +99,8 @@ public class Messages extends NLS { public static String BugzillaTaskEditorPage_Proposal_Detail; + public static String BugzillaTaskEditorPage_Please_enter_a_target_milestone_before_submitting; + public static String BugzillaTaskEditorPage_submit_disabled_please_refresh; public static String BugzillaTaskEditorPage_submitted_Changes_Details; diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/messages.properties b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/messages.properties index 723c2a3bf..2c2db6035 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/messages.properties +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/messages.properties @@ -48,6 +48,8 @@ BugzillaTaskEditorPage_Please_enter_a_short_summary_before_submitting=Please ent BugzillaTaskEditorPage_Please_select_a_component_before_submitting=Please select a component before submitting BugzillaTaskEditorPage_Please_enter_a_bugid_for_duplicate_of_before_submitting=Please enter a bugid for \"duplicate of\" before submitting BugzillaTaskEditorPage_Proposal_Detail=\t{0}\n +BugzillaTaskEditorPage_Please_enter_a_target_milestone_before_submitting=Please enter a target milestone before submitting + using Help > Report Bug or Enhancement BugzillaTaskEditorPage_submit_disabled_please_refresh=submit disabled, please check Credentials and refresh BugzillaTaskEditorPage_submitted_Changes_Details=submitted Changes Details |