Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 66007 Details for
Bug 144722
[connector] Mantis
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Connector UI Patch for Mylar 2
mantisConnectorUIPatch.txt (text/plain), 35.08 KB, created by
Simon Bitschnau
on 2007-05-05 13:50:07 EDT
(
hide
)
Description:
Connector UI Patch for Mylar 2
Filename:
MIME Type:
Creator:
Simon Bitschnau
Created:
2007-05-05 13:50:07 EDT
Size:
35.08 KB
patch
obsolete
>Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/META-INF/MANIFEST.MF >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/META-INF/MANIFEST.MF (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/META-INF/MANIFEST.MF (working copy) >@@ -15,7 +15,8 @@ > org.eclipse.mylar.tasks.core, > org.eclipse.search, > com.itsolut.mantis.core, >- org.eclipse.jface.text >+ org.eclipse.jface.text, >+ org.eclipse.mylar > Eclipse-LazyStart: true > Export-Package: com.itsolut.mantis.ui, > com.itsolut.mantis.ui.editor, >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisQueryWizardPage.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisQueryWizardPage.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisQueryWizardPage.java (working copy) >@@ -17,7 +17,7 @@ > import java.util.Set; > > import org.eclipse.jface.wizard.WizardPage; >-import org.eclipse.mylar.context.core.MylarStatusHandler; >+import org.eclipse.mylar.core.MylarStatusHandler; > import org.eclipse.mylar.tasks.core.AbstractRepositoryQuery; > import org.eclipse.mylar.tasks.core.TaskRepository; > import org.eclipse.mylar.tasks.ui.TasksUiPlugin; >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisTaskPage.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisTaskPage.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisTaskPage.java (working copy) >@@ -28,7 +28,9 @@ > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.jface.operation.IRunnableWithProgress; > import org.eclipse.jface.wizard.WizardPage; >+import org.eclipse.mylar.tasks.core.AbstractAttributeFactory; > import org.eclipse.mylar.tasks.core.RepositoryTaskData; >+import org.eclipse.mylar.tasks.core.Task; > import org.eclipse.mylar.tasks.core.TaskRepository; > import org.eclipse.mylar.tasks.ui.TasksUiPlugin; > import org.eclipse.swt.SWT; >@@ -44,7 +46,6 @@ > import com.itsolut.mantis.core.exception.MantisException; > import com.itsolut.mantis.core.model.MantisProject; > import com.itsolut.mantis.core.model.MantisTicket.Key; >-import com.itsolut.mantis.core.util.MantisUtils; > import com.itsolut.mantis.ui.MantisUIPlugin; > > /** >@@ -159,17 +160,20 @@ > } > > MantisOfflineTaskHandler offlineHandler = (MantisOfflineTaskHandler) connector.getTaskDataHandler(); >- >- this.taskData = new RepositoryTaskData(offlineHandler.getAttributeFactory(), >+ AbstractAttributeFactory attributeFactory = offlineHandler.getAttributeFactory(taskRepository.getUrl(), taskRepository.getKind(), Task.DEFAULT_TASK_KIND); >+ this.taskData = new RepositoryTaskData(attributeFactory, > MantisCorePlugin.REPOSITORY_KIND, > taskRepository.getUrl(), >- TasksUiPlugin.getDefault().getNextNewRepositoryTaskId()); >+ TasksUiPlugin.getDefault().getNextNewRepositoryTaskId(), >+ Task.DEFAULT_TASK_KIND); > >+ this.taskData.setNew(true); >+ > //default setting > taskData.setAttributeValue(Key.PROJECT.getKey(), projectCombo.getText()); > > try { >- MantisOfflineTaskHandler.createDefaultAttributes(offlineHandler.getAttributeFactory(), taskData, client, false); >+ MantisOfflineTaskHandler.createDefaultAttributes(taskData.getAttributeFactory(), taskData, client, false); > } catch (CoreException e) { > MantisUIPlugin.handleMantisException(e.getCause()); > } >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisCustomQueryPage.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisCustomQueryPage.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisCustomQueryPage.java (working copy) >@@ -47,8 +47,6 @@ > import com.itsolut.mantis.core.model.MantisProjectFilter; > import com.itsolut.mantis.core.model.MantisSearch; > import com.itsolut.mantis.core.model.MantisSearchFilter; >-import com.itsolut.mantis.core.model.MantisTicket.Key; >-import com.itsolut.mantis.core.util.MantisUtils; > > /** > * Mantis search page. Provides a form similar to the one the Bugzilla connector >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisRepositorySettingsPage.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisRepositorySettingsPage.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/MantisRepositorySettingsPage.java (working copy) >@@ -30,6 +30,7 @@ > import org.eclipse.jface.dialogs.MessageDialog; > import org.eclipse.jface.operation.IRunnableWithProgress; > import org.eclipse.mylar.tasks.core.RepositoryTemplate; >+import org.eclipse.mylar.tasks.core.TaskRepository; > import org.eclipse.mylar.tasks.ui.AbstractRepositoryConnectorUi; > import org.eclipse.mylar.tasks.ui.wizards.AbstractRepositorySettingsPage; > import org.eclipse.swt.SWT; >@@ -116,6 +117,7 @@ > } > accessTypeCombo.addSelectionListener(new SelectionListener() { > public void widgetSelected(SelectionEvent e) { >+ setMantisVersion(getMantisVersion()); > getWizard().getContainer().updateButtons(); > } > >@@ -240,4 +242,10 @@ > > super.getWizard().getContainer().updateButtons(); > } >+ >+ @Override >+ protected Validator getValidator(TaskRepository repository) { >+ // TODO Auto-generated method stub >+ return null; >+ } > } >\ No newline at end of file >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisTaskWizard.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisTaskWizard.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisTaskWizard.java (working copy) >@@ -13,8 +13,8 @@ > > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.jface.wizard.Wizard; >-import org.eclipse.mylar.internal.tasks.ui.TaskListImages; > import org.eclipse.mylar.internal.tasks.ui.TaskListPreferenceConstants; >+import org.eclipse.mylar.internal.tasks.ui.TasksUiImages; > import org.eclipse.mylar.tasks.core.TaskRepository; > import org.eclipse.mylar.tasks.ui.TasksUiUtil; > import org.eclipse.mylar.tasks.ui.editors.NewTaskEditorInput; >@@ -40,7 +40,7 @@ > newTaskPage = new NewMantisTaskPage(taskRepository); > > setWindowTitle("New Repository Task"); >- setDefaultPageImageDescriptor(TaskListImages.BANNER_REPOSITORY); >+ setDefaultPageImageDescriptor(TasksUiImages.BANNER_REPOSITORY); > > setNeedsProgressMonitor(true); > } >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisQueryWizard.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisQueryWizard.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/wizard/NewMantisQueryWizard.java (working copy) >@@ -12,7 +12,7 @@ > package com.itsolut.mantis.ui.wizard; > > import org.eclipse.jface.wizard.Wizard; >-import org.eclipse.mylar.internal.tasks.ui.TaskListImages; >+import org.eclipse.mylar.internal.tasks.ui.TasksUiImages; > import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector; > import org.eclipse.mylar.tasks.core.AbstractRepositoryQuery; > import org.eclipse.mylar.tasks.core.TaskRepository; >@@ -34,7 +34,7 @@ > > setNeedsProgressMonitor(true); > setWindowTitle(TITLE); >- setDefaultPageImageDescriptor(TaskListImages.BANNER_REPOSITORY); >+ setDefaultPageImageDescriptor(TasksUiImages.BANNER_REPOSITORY); > } > > @Override >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/NewMantisTaskEditor.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/NewMantisTaskEditor.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/NewMantisTaskEditor.java (working copy) >@@ -18,41 +18,17 @@ > > package com.itsolut.mantis.ui.editor; > >-import java.util.Collections; >- >-import org.eclipse.core.runtime.IProgressMonitor; >-import org.eclipse.core.runtime.IStatus; >-import org.eclipse.core.runtime.Status; >-import org.eclipse.core.runtime.jobs.IJobChangeEvent; >-import org.eclipse.core.runtime.jobs.Job; > import org.eclipse.jface.text.TextViewer; >-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask; >-import org.eclipse.mylar.tasks.core.AbstractTaskContainer; > import org.eclipse.mylar.tasks.ui.TasksUiPlugin; > import org.eclipse.mylar.tasks.ui.editors.AbstractNewRepositoryTaskEditor; > import org.eclipse.mylar.tasks.ui.search.SearchHitCollector; >-import org.eclipse.swt.SWT; >-import org.eclipse.swt.events.ModifyEvent; >-import org.eclipse.swt.events.ModifyListener; >-import org.eclipse.swt.layout.GridData; >-import org.eclipse.swt.layout.GridLayout; >-import org.eclipse.swt.widgets.Composite; > import org.eclipse.ui.forms.editor.FormEditor; >-import org.eclipse.ui.forms.widgets.FormToolkit; >-import org.eclipse.ui.forms.widgets.Section; > > import com.itsolut.mantis.core.IMantisClient; >-import com.itsolut.mantis.core.MantisCorePlugin; >-import com.itsolut.mantis.core.MantisRepositoryConnector; > import com.itsolut.mantis.core.MantisRepositoryQuery; >-import com.itsolut.mantis.core.MantisTask; >-import com.itsolut.mantis.core.MantisAttributeFactory.Attribute; >-import com.itsolut.mantis.core.exception.InvalidTicketException; > import com.itsolut.mantis.core.model.MantisSearch; > import com.itsolut.mantis.core.model.MantisSearchFilter; >-import com.itsolut.mantis.core.model.MantisTicket; > import com.itsolut.mantis.core.model.MantisSearchFilter.CompareOperator; >-import com.itsolut.mantis.ui.MantisUIPlugin; > > /** > * @author Steffen Pingel >@@ -60,8 +36,6 @@ > */ > public class NewMantisTaskEditor extends AbstractNewRepositoryTaskEditor { > >- private static final String SUBMIT_JOB_LABEL = "Submitting to Mantis repository"; >- > protected static final String LABEL_SECTION_STEPS = "Steps To Reproduce"; > protected TextViewer stepsToReproduceViewer; > >@@ -73,59 +47,6 @@ > } > > @Override >- public void submitToRepository() { >- if (!prepareSubmit()) { >- return; >- } >- >- final MantisRepositoryConnector connector = (MantisRepositoryConnector) TasksUiPlugin.getRepositoryManager() >- .getRepositoryConnector(repository.getKind()); >- >- updateTask(); >- >- final MantisTicket ticket; >- try { >- ticket = MantisRepositoryConnector.getMantisTicket(repository, getRepositoryTaskData()); >- } catch (InvalidTicketException e) { >- MantisUIPlugin.handleMantisException(e); >- submitButton.setEnabled(true); >- showBusy(false); >- return; >- } >- >- //TODO: let user select >- final AbstractTaskContainer category = getCategory(); >-// final AbstractTaskContainer category = TasksUiPlugin.getTaskListManager().getTaskList().getRootCategory(); >- Job submitJob = new Job(SUBMIT_JOB_LABEL) { >- @Override >- protected IStatus run(IProgressMonitor monitor) { >- try { >- IMantisClient server = connector.getClientManager().getRepository(repository); >- int id = server.createTicket(ticket); >- >- MantisTask newTask = new MantisTask(AbstractRepositoryTask.getHandle(repository.getUrl(), id), >- MantisRepositoryConnector.getTicketDescription(ticket), true); >- >- if (category != null) { >- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask, category); >- } else { >- TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask); >- } >- >- TasksUiPlugin.getSynchronizationScheduler().synchNow(0, Collections.singletonList(repository)); >- >- return Status.OK_STATUS; >- } catch (Exception e) { >- return MantisCorePlugin.toStatus(e); >- } >- } >- }; >- >- submitJob.addJobChangeListener(getSubmitJobListener()); >- submitJob.schedule(); >- } >- >- @Override > public SearchHitCollector getDuplicateSearchCollector(String searchString) { > MantisSearchFilter filter = new MantisSearchFilter("description"); > filter.setOperator(CompareOperator.CONTAINS); >@@ -147,93 +68,4 @@ > repository, query); > return collector; > } >- >- @Override >- protected void handleSubmitError(final IJobChangeEvent event) { >- MantisUIPlugin.handleMantisException(event.getJob().getResult()); >- >- if (!isDisposed() && !submitButton.isDisposed()) { >- submitButton.setEnabled(true); >- showBusy(false); >- } >- } >- >- @Override >- protected String getPluginId() { >- return MantisUIPlugin.PLUGIN_ID; >- } >- >- @Override >- protected void createAttachmentLayout(Composite composite) { >- FormToolkit toolkit = this.getManagedForm().getToolkit(); >- Section section = createSection(composite, LABEL_SECTION_STEPS); >- section.setExpanded(false); >- >- Composite stepsToReproduceComposite = toolkit.createComposite(section); >- GridLayout descriptionLayout = new GridLayout(); >- >- stepsToReproduceComposite.setLayout(descriptionLayout); >- GridData stepsToReproduceData = new GridData(GridData.FILL_BOTH); >- stepsToReproduceData.grabExcessVerticalSpace = true; >- stepsToReproduceComposite.setLayoutData(stepsToReproduceData); >- section.setClient(stepsToReproduceComposite); >- >- stepsToReproduceViewer = addTextEditor(repository, stepsToReproduceComposite, >- getRepositoryTaskData().getAttributeValue(Attribute.STEPS_TO_REPRODUCE.getMantisKey()), true, SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); >- stepsToReproduceViewer.setEditable(true); >- >- GridData descriptionTextData = new GridData(GridData.FILL_BOTH); >- stepsToReproduceViewer.getControl().setLayoutData(descriptionTextData); >- stepsToReproduceViewer.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >- stepsToReproduceViewer.getTextWidget().addModifyListener(new ModifyListener() { >- public void modifyText(ModifyEvent e) { >- String changed = stepsToReproduceViewer.getTextWidget().getText(); >- String original = getRepositoryTaskData().getAttributeValue(Attribute.STEPS_TO_REPRODUCE.getMantisKey()); >- if (original==null || !(original.equals(changed))) { >- getRepositoryTaskData().getAttribute(Attribute.STEPS_TO_REPRODUCE.getMantisKey()).setValue(changed); >- markDirty(true); >- } >- validateInput(); >- } >- }); >- >- toolkit.paintBordersFor(stepsToReproduceComposite); >- >- //////////////// >- Section sectionAddtional = createSection(composite, LABEL_SECTION_ADDITIONAL); >- sectionAddtional.setExpanded(false); >- >- Composite additionalComposite = toolkit.createComposite(sectionAddtional); >- GridLayout additionalLayout = new GridLayout(); >- >- additionalComposite.setLayout(additionalLayout); >- GridData additionalData = new GridData(GridData.FILL_BOTH); >- additionalData.grabExcessVerticalSpace = true; >- additionalComposite.setLayoutData(additionalData); >- sectionAddtional.setClient(additionalComposite); >- >- additionalViewer = addTextEditor(repository, additionalComposite, >- getRepositoryTaskData().getAttributeValue(Attribute.ADDITIONAL_INFO.getMantisKey()), true, SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); >- additionalViewer.setEditable(true); >- >- GridData additionalTextData = new GridData(GridData.FILL_BOTH); >- additionalViewer.getControl().setLayoutData(additionalTextData); >- additionalViewer.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER); >- additionalViewer.getTextWidget().addModifyListener(new ModifyListener() { >- public void modifyText(ModifyEvent e) { >- String changed = additionalViewer.getTextWidget().getText(); >- String original = getRepositoryTaskData().getAttributeValue(Attribute.ADDITIONAL_INFO.getMantisKey()); >- if (original==null || !(original.equals(changed))) { >- getRepositoryTaskData().getAttribute(Attribute.ADDITIONAL_INFO.getMantisKey()).setValue(changed); >- markDirty(true); >- } >- validateInput(); >- } >- }); >- >- toolkit.paintBordersFor(additionalComposite); >- /////////////////// >- >- super.createAttachmentLayout(composite); >- } > } >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/MantisTaskEditor.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/MantisTaskEditor.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/MantisTaskEditor.java (working copy) >@@ -18,46 +18,19 @@ > > package com.itsolut.mantis.ui.editor; > >-import java.lang.reflect.InvocationTargetException; >- >-import org.eclipse.core.runtime.IProgressMonitor; >-import org.eclipse.core.runtime.IStatus; >-import org.eclipse.core.runtime.NullProgressMonitor; >-import org.eclipse.core.runtime.Status; >-import org.eclipse.core.runtime.jobs.IJobChangeEvent; >-import org.eclipse.core.runtime.jobs.Job; >-import org.eclipse.core.runtime.jobs.JobChangeAdapter; >-import org.eclipse.jface.operation.IRunnableWithProgress; > import org.eclipse.jface.text.TextViewer; >-import org.eclipse.mylar.context.core.MylarStatusHandler; >-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask; >-import org.eclipse.mylar.tasks.ui.TasksUiPlugin; > import org.eclipse.mylar.tasks.ui.editors.AbstractRepositoryTaskEditor; >-import org.eclipse.mylar.tasks.ui.editors.AbstractTaskEditorInput; >-import org.eclipse.mylar.tasks.ui.editors.RepositoryTaskEditorInput; >-import org.eclipse.mylar.tasks.ui.editors.RepositoryTaskOutlineNode; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.ModifyEvent; > import org.eclipse.swt.events.ModifyListener; > import org.eclipse.swt.layout.GridData; > import org.eclipse.swt.layout.GridLayout; > import org.eclipse.swt.widgets.Composite; >-import org.eclipse.ui.IEditorInput; >-import org.eclipse.ui.IEditorSite; >-import org.eclipse.ui.PlatformUI; > import org.eclipse.ui.forms.editor.FormEditor; >-import org.eclipse.ui.forms.widgets.ExpandableComposite; > import org.eclipse.ui.forms.widgets.FormToolkit; > import org.eclipse.ui.forms.widgets.Section; >-import org.eclipse.ui.progress.IProgressService; > >-import com.itsolut.mantis.core.IMantisClient; >-import com.itsolut.mantis.core.MantisCorePlugin; >-import com.itsolut.mantis.core.MantisRepositoryConnector; > import com.itsolut.mantis.core.MantisAttributeFactory.Attribute; >-import com.itsolut.mantis.core.exception.InvalidTicketException; >-import com.itsolut.mantis.core.model.MantisTicket; >-import com.itsolut.mantis.ui.MantisUIPlugin; > > /** > * @author Steffen Pingel >@@ -65,8 +38,6 @@ > */ > public class MantisTaskEditor extends AbstractRepositoryTaskEditor { > >- private static final String SUBMIT_JOB_LABEL = "Submitting to Mantis Repository"; >- > protected static final String LABEL_SECTION_STEPS = "Steps To Reproduce"; > protected TextViewer stepsToReproduceViewer; > >@@ -78,128 +49,10 @@ > } > > @Override >- public void init(IEditorSite site, IEditorInput input) { >- if (!(input instanceof RepositoryTaskEditorInput)) >- return; >- >- editorInput = (AbstractTaskEditorInput) input; >- repository = editorInput.getRepository(); >- connector = TasksUiPlugin.getRepositoryManager().getRepositoryConnector( >- repository.getKind()); >- >- setSite(site); >- setInput(input); >- >- taskOutlineModel = RepositoryTaskOutlineNode.parseBugReport(editorInput.getTaskData()); >- >- isDirty = false; >- updateEditorTitle(); >- } >- >- @Override >- public void submitToRepository() { >- if (isDirty()) { >- this.doSave(new NullProgressMonitor()); >- } >- updateTask(); >- submitButton.setEnabled(false); >- showBusy(true); >- >- final MantisTicket ticket; >- try { >- ticket = MantisRepositoryConnector.getMantisTicket(repository, getRepositoryTaskData()); >- } catch (InvalidTicketException e) { >- MantisUIPlugin.handleMantisException(e); >- return; >- } >- final String comment = getNewCommentText(); >- final AbstractRepositoryTask task = (AbstractRepositoryTask) TasksUiPlugin.getTaskListManager().getTaskList() >- .getTask(AbstractRepositoryTask.getHandle(repository.getUrl(), getRepositoryTaskData().getId())); >- final boolean attachContext = getAttachContext(); >- >- JobChangeAdapter listener = new JobChangeAdapter() { >- @Override >- public void done(final IJobChangeEvent event) { >- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { >- public void run() { >- if (event.getJob().getResult().isOK()) { >- if (attachContext) { >- attachContext(); >- } >- close(); >- } >- } >- }); >- } >- }; >- >- Job submitJob = new Job(SUBMIT_JOB_LABEL) { >- >- @Override >- protected IStatus run(IProgressMonitor monitor) { >- try { >- IMantisClient server = ((MantisRepositoryConnector) connector).getClientManager().getRepository(repository); >- server.updateTicket(ticket, comment); >- if (task != null) { >- // XXX: HACK TO AVOID OVERWRITE WARNING >- task.setTaskData(null); >- TasksUiPlugin.getSynchronizationManager().synchronize(connector, task, true, null); >- } >- return Status.OK_STATUS; >- } catch (final Exception e) { >- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { >- public void run() { >- if (!isDisposed() && !submitButton.isDisposed()) { >- MantisUIPlugin.handleMantisException(e); >- // MantisUiPlugin.handleMantisException(event.getResult()); >- submitButton.setEnabled(true); >- MantisTaskEditor.this.showBusy(false); >- } >- } >- }); >- return Status.CANCEL_STATUS; >- } >- } >- >- }; >- >- submitJob.addJobChangeListener(listener); >- submitJob.schedule(); >- >- } >- >- @Override > protected void validateInput() { > } > >- private void attachContext() { >- String handle = AbstractRepositoryTask.getHandle(repository.getUrl(), getRepositoryTaskData().getId()); >- final AbstractRepositoryTask modifiedTask = (AbstractRepositoryTask) TasksUiPlugin.getTaskListManager() >- .getTaskList().getTask(handle); >- >- IProgressService ps = PlatformUI.getWorkbench().getProgressService(); >- try { >- ps.busyCursorWhile(new IRunnableWithProgress() { >- public void run(IProgressMonitor pm) { >- try { >- connector.attachContext(repository, modifiedTask, ""); >- } catch (Exception e) { >- MylarStatusHandler.fail(e, "Failed to attach task context.\n\n" + e.getMessage(), true); >- } >- } >- }); >- } catch (InvocationTargetException e) { >- MylarStatusHandler.fail(e.getCause(), "Failed to attach task context.\n\n" + e.getMessage(), true); >- } catch (InterruptedException ignore) { >- } >- } >- > @Override >- protected String getPluginId() { >- return MantisUIPlugin.PLUGIN_ID; >- } >- >- @Override > protected void createAttachmentLayout(Composite composite) { > FormToolkit toolkit = this.getManagedForm().getToolkit(); > Section section = createSection(composite, LABEL_SECTION_STEPS); >@@ -215,7 +68,7 @@ > section.setClient(stepsToReproduceComposite); > > stepsToReproduceViewer = addTextEditor(repository, stepsToReproduceComposite, >- getRepositoryTaskData().getAttributeValue(Attribute.STEPS_TO_REPRODUCE.getMantisKey()), true, SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); >+ taskData.getAttributeValue(Attribute.STEPS_TO_REPRODUCE.getMantisKey()), true, SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); > stepsToReproduceViewer.setEditable(true); > > GridData descriptionTextData = new GridData(GridData.FILL_BOTH); >@@ -224,9 +77,9 @@ > stepsToReproduceViewer.getTextWidget().addModifyListener(new ModifyListener() { > public void modifyText(ModifyEvent e) { > String changed = stepsToReproduceViewer.getTextWidget().getText(); >- String original = getRepositoryTaskData().getAttributeValue(Attribute.STEPS_TO_REPRODUCE.getMantisKey()); >+ String original = taskData.getAttributeValue(Attribute.STEPS_TO_REPRODUCE.getMantisKey()); > if (original==null || !(original.equals(changed))) { >- getRepositoryTaskData().getAttribute(Attribute.STEPS_TO_REPRODUCE.getMantisKey()).setValue(changed); >+ taskData.getAttribute(Attribute.STEPS_TO_REPRODUCE.getMantisKey()).setValue(changed); > markDirty(true); > } > validateInput(); >@@ -249,7 +102,7 @@ > sectionAddtional.setClient(additionalComposite); > > additionalViewer = addTextEditor(repository, additionalComposite, >- getRepositoryTaskData().getAttributeValue(Attribute.ADDITIONAL_INFO.getMantisKey()), true, SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); >+ taskData.getAttributeValue(Attribute.ADDITIONAL_INFO.getMantisKey()), true, SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL); > additionalViewer.setEditable(true); > > GridData additionalTextData = new GridData(GridData.FILL_BOTH); >@@ -258,9 +111,9 @@ > additionalViewer.getTextWidget().addModifyListener(new ModifyListener() { > public void modifyText(ModifyEvent e) { > String changed = additionalViewer.getTextWidget().getText(); >- String original = getRepositoryTaskData().getAttributeValue(Attribute.ADDITIONAL_INFO.getMantisKey()); >+ String original = taskData.getAttributeValue(Attribute.ADDITIONAL_INFO.getMantisKey()); > if (original==null || !(original.equals(changed))) { >- getRepositoryTaskData().getAttribute(Attribute.ADDITIONAL_INFO.getMantisKey()).setValue(changed); >+ taskData.getAttribute(Attribute.ADDITIONAL_INFO.getMantisKey()).setValue(changed); > markDirty(true); > } > validateInput(); >@@ -272,4 +125,16 @@ > > super.createAttachmentLayout(composite); > } >+ >+ @Override >+ protected void addCCList(Composite attributesComposite) { >+ // TODO Auto-generated method stub >+ //super.addCCList(attributesComposite); >+ } >+ >+ @Override >+ protected void addSelfToCC(Composite composite) { >+ // TODO Auto-generated method stub >+ //super.addSelfToCC(composite); >+ } > } >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/MantisTaskEditorFactory.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/MantisTaskEditorFactory.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/editor/MantisTaskEditorFactory.java (working copy) >@@ -7,7 +7,7 @@ > *******************************************************************************/ > package com.itsolut.mantis.ui.editor; > >-import org.eclipse.mylar.context.core.MylarStatusHandler; >+import org.eclipse.mylar.core.MylarStatusHandler; > import org.eclipse.mylar.tasks.core.ITask; > import org.eclipse.mylar.tasks.core.TaskRepository; > import org.eclipse.mylar.tasks.ui.TasksUiPlugin; >@@ -51,11 +51,16 @@ > } > > public IEditorPart createEditor(TaskEditor parentEditor, IEditorInput editorInput) { >- if (editorInput instanceof RepositoryTaskEditorInput || editorInput instanceof TaskEditorInput) { >+ if (editorInput instanceof RepositoryTaskEditorInput) { >+ RepositoryTaskEditorInput taskInput = (RepositoryTaskEditorInput) editorInput; >+ if (taskInput.getTaskData().isNew()) { >+ return new NewMantisTaskEditor(parentEditor); >+ } else { >+ return new MantisTaskEditor(parentEditor); >+ } >+ } else if (editorInput instanceof TaskEditorInput) { > return new MantisTaskEditor(parentEditor); >- } else if (editorInput instanceof NewTaskEditorInput) { >- return new NewMantisTaskEditor(parentEditor); >- } >+ } > return null; > } > >@@ -64,7 +69,7 @@ > TaskRepository repository = TasksUiPlugin.getRepositoryManager().getRepository(MantisCorePlugin.REPOSITORY_KIND, > tracTask.getRepositoryUrl()); > try { >- return new RepositoryTaskEditorInput(repository, tracTask.getHandleIdentifier(), tracTask.getUrl()); >+ return new RepositoryTaskEditorInput(repository, tracTask.getHandleIdentifier(), tracTask.getTaskUrl(), tracTask.getTaskId()); > } catch (Exception e) { > MylarStatusHandler.fail(e, "Could not create Mantis editor input", true); > } >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisUIPlugin.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisUIPlugin.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisUIPlugin.java (working copy) >@@ -13,7 +13,7 @@ > > import org.eclipse.core.runtime.IStatus; > import org.eclipse.jface.dialogs.ErrorDialog; >-import org.eclipse.mylar.context.core.MylarStatusHandler; >+import org.eclipse.mylar.core.MylarStatusHandler; > import org.eclipse.mylar.tasks.ui.TasksUiPlugin; > import org.eclipse.ui.plugin.AbstractUIPlugin; > import org.osgi.framework.BundleContext; >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisRepositoryUi.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisRepositoryUi.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisRepositoryUi.java (working copy) >@@ -79,12 +79,11 @@ > } > > @Override >- public boolean openRemoteTask(String repositoryUrl, String idString) { >+ public boolean openRepositoryTask(String repositoryUrl, String id) { > IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); >- String ticketUrl = repositoryUrl + IMantisClient.TICKET_URL + idString; >- OpenRepositoryTaskJob job = new OpenRepositoryTaskJob(MantisCorePlugin.REPOSITORY_KIND, repositoryUrl, idString, ticketUrl, page); >+ String ticketUrl = repositoryUrl + IMantisClient.TICKET_URL + id; >+ OpenRepositoryTaskJob job = new OpenRepositoryTaskJob(MantisCorePlugin.REPOSITORY_KIND, repositoryUrl, id, ticketUrl, page); > job.schedule(); > return true; > } >- > } >Index: D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisTaskExternalizer.java >=================================================================== >--- D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisTaskExternalizer.java (revision 22) >+++ D:/dev/Eclipse/workspace/Mylar Mantis Connector/com.itsolut.mantis.ui/src/com/itsolut/mantis/ui/MantisTaskExternalizer.java (working copy) >@@ -11,7 +11,7 @@ > > package com.itsolut.mantis.ui; > >-import org.eclipse.mylar.context.core.MylarStatusHandler; >+import org.eclipse.mylar.core.MylarStatusHandler; > import org.eclipse.mylar.tasks.core.AbstractQueryHit; > import org.eclipse.mylar.tasks.core.AbstractRepositoryQuery; > import org.eclipse.mylar.tasks.core.AbstractTaskContainer; >@@ -23,7 +23,6 @@ > import org.w3c.dom.Document; > import org.w3c.dom.Element; > import org.w3c.dom.Node; >-import org.w3c.dom.NodeList; > > import com.itsolut.mantis.core.MantisQueryHit; > import com.itsolut.mantis.core.MantisRepositoryQuery; >@@ -68,30 +67,14 @@ > return KEY_TRAC_TASK; > } > >+ //query related methods >+ > @Override >- public ITask readTask(Node node, TaskList taskList, AbstractTaskContainer category, ITask parent) >- throws TaskExternalizationException { >- >- Element element = (Element) node; >- String handle; >- String label; >- if (element.hasAttribute(KEY_HANDLE)) { >- handle = element.getAttribute(KEY_HANDLE); >- } else { >- throw new TaskExternalizationException("Handle not stored for task"); >- } >- if (element.hasAttribute(KEY_LABEL)) { >- label = element.getAttribute(KEY_LABEL); >- } else { >- throw new TaskExternalizationException("Description not stored for task"); >- } >- >- MantisTask task = new MantisTask(handle, label, false); >- readTaskInfo(task, taskList, element, parent, category); >- return task; >+ public ITask createTask(String repositoryUrl, String taskId, String summary, >+ Element element, TaskList taskList, AbstractTaskContainer category, >+ ITask parent) throws TaskExternalizationException { >+ return new MantisTask(repositoryUrl, taskId, summary, false); > } >- >- // query related methods > > @Override > public boolean canCreateElementFor(AbstractQueryHit queryHit) { >@@ -176,41 +159,24 @@ > throw new TaskExternalizationException("Description not stored for task"); > } > >- MantisRepositoryQuery query = new MantisRepositoryQuery(repositoryUrl, queryUrl, label, taskList); >- >- NodeList list = node.getChildNodes(); >- for (int i = 0; i < list.getLength(); i++) { >- Node child = list.item(i); >- try { >- readQueryHit(child, taskList, query); >- } catch (TaskExternalizationException e) { >- MylarStatusHandler.log(e, e.getMessage()); >- } >- } >- return query; >+ return new MantisRepositoryQuery(repositoryUrl, queryUrl, label, taskList); > } >- >+ > @Override >- public void readQueryHit(Node node, TaskList taskList, AbstractRepositoryQuery query) >- throws TaskExternalizationException { >- Element element = (Element) node; >- >- String handle; >- if (element.hasAttribute(KEY_HANDLE)) { >- handle = element.getAttribute(KEY_HANDLE); >- } else { >- throw new TaskExternalizationException("Handle not stored for bug report"); >- } >- >- MantisQueryHit hit = new MantisQueryHit(taskList, handle); >- // TODO move to DelegationTaskExternalizer >+ public AbstractQueryHit createQueryHit(String repositoryUrl, String taskId, >+ String summary, Element element, TaskList taskList, >+ AbstractRepositoryQuery query) throws TaskExternalizationException { >+ >+ MantisQueryHit hit = new MantisQueryHit(taskList, repositoryUrl, summary, taskId); >+ >+ // TODO: move to DelegationTaskExternalizer > if (element.hasAttribute(KEY_COMPLETE) > && element.getAttribute(KEY_COMPLETE).compareTo(VAL_TRUE) == 0) { > hit.setCompleted(true); > } else { > hit.setCompleted(false); > } >- readQueryHitInfo(hit, taskList, query, element); >+ >+ return hit; > } >- > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 144722
:
60118
|
60119
|
66006
| 66007 |
67982