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 48552 Details for
Bug 153539
Trac connector: Implement generialized issue search
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.
create Trac tasks on demand
mylar-trac-search-fix.patch (text/plain), 7.27 KB, created by
Steffen Pingel
on 2006-08-23 23:27:02 EDT
(
hide
)
Description:
create Trac tasks on demand
Filename:
MIME Type:
Creator:
Steffen Pingel
Created:
2006-08-23 23:27:02 EDT
Size:
7.27 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylar.trac.ui >Index: src/org/eclipse/mylar/internal/trac/TracQueryHit.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.trac.ui/src/org/eclipse/mylar/internal/trac/TracQueryHit.java,v >retrieving revision 1.3 >diff -u -r1.3 TracQueryHit.java >--- src/org/eclipse/mylar/internal/trac/TracQueryHit.java 24 Aug 2006 02:05:15 -0000 1.3 >+++ src/org/eclipse/mylar/internal/trac/TracQueryHit.java 24 Aug 2006 03:27:12 -0000 >@@ -11,8 +11,11 @@ > > package org.eclipse.mylar.internal.trac; > >+import org.eclipse.mylar.internal.trac.core.ITracClient; > import org.eclipse.mylar.tasks.core.AbstractQueryHit; > import org.eclipse.mylar.tasks.core.AbstractRepositoryTask; >+import org.eclipse.mylar.tasks.core.ITask; >+import org.eclipse.mylar.tasks.ui.TasksUiPlugin; > > /** > * @author Steffen Pingel >@@ -20,11 +23,10 @@ > public class TracQueryHit extends AbstractQueryHit { > > private TracTask task; >+ private boolean completed; > >- protected TracQueryHit(TracTask task, String repositoryUrl, String id) { >- super(repositoryUrl, task.getDescription(), id); >- >- this.task = task; >+ protected TracQueryHit(String repositoryUrl, String description, String id) { >+ super(repositoryUrl, description, id); > } > > protected TracQueryHit(String handle) { >@@ -38,12 +40,22 @@ > > @Override > public AbstractRepositoryTask getOrCreateCorrespondingTask() { >+ ITask existingTask = TasksUiPlugin.getTaskListManager().getTaskList().getTask( >+ getHandleIdentifier()); >+ if (existingTask instanceof TracTask) { >+ this.task = (TracTask)existingTask; >+ } else { >+ this.task = new TracTask(getHandleIdentifier(), getDescription(), true); >+ task.setCompleted(isCompleted()); >+ task.setPriority(getPriority()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); >+ } > return task; > } > > @Override > public boolean isCompleted() { >- return (task != null) ? task.isCompleted() : false; >+ return (task != null) ? task.isCompleted() : completed; > } > > @Override >@@ -53,4 +65,12 @@ > } > } > >+ public String getUrl() { >+ return getRepositoryUrl() + ITracClient.TICKET_URL + getId(); >+ } >+ >+ public void setCompleted(boolean completed) { >+ this.completed = completed; >+ } >+ > } >Index: src/org/eclipse/mylar/internal/trac/TracTaskExternalizer.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.trac.ui/src/org/eclipse/mylar/internal/trac/TracTaskExternalizer.java,v >retrieving revision 1.6 >diff -u -r1.6 TracTaskExternalizer.java >--- src/org/eclipse/mylar/internal/trac/TracTaskExternalizer.java 24 Aug 2006 02:05:15 -0000 1.6 >+++ src/org/eclipse/mylar/internal/trac/TracTaskExternalizer.java 24 Aug 2006 03:27:13 -0000 >@@ -199,6 +199,13 @@ > } > > TracQueryHit hit = new TracQueryHit(handle); >+ // 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); > } > >Index: src/org/eclipse/mylar/internal/trac/TracRepositoryConnector.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.trac.ui/src/org/eclipse/mylar/internal/trac/TracRepositoryConnector.java,v >retrieving revision 1.22 >diff -u -r1.22 TracRepositoryConnector.java >--- src/org/eclipse/mylar/internal/trac/TracRepositoryConnector.java 22 Aug 2006 23:48:53 -0000 1.22 >+++ src/org/eclipse/mylar/internal/trac/TracRepositoryConnector.java 24 Aug 2006 03:27:13 -0000 >@@ -16,7 +16,6 @@ > import java.util.List; > > import org.eclipse.core.runtime.IProgressMonitor; >-import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.MultiStatus; > import org.eclipse.core.runtime.Status; > import org.eclipse.jface.viewers.IStructuredSelection; >@@ -195,21 +196,22 @@ > tracRepository.search(((TracRepositoryQuery) query).getTracSearch(), tickets); > } > } catch (Throwable e) { >- // TODO fix error message >- queryStatus.add(new Status(IStatus.OK, TasksUiPlugin.PLUGIN_ID, IStatus.OK, "Could not log in to server: " >- + query.getRepositoryUrl() + "\n\nCheck network connection.", e)); >+ queryStatus.add(TracUiPlugin.toStatus(e)); > return hits; > } > > for (TracTicket ticket : tickets) { >- String handleIdentifier = AbstractRepositoryTask.getHandle(url, ticket.getId()); >- ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(handleIdentifier); >- if (!(task instanceof TracTask)) { >- task = createTask(ticket, handleIdentifier); >- } >- updateTaskDetails(url, (TracTask) task, ticket, false); >- >- TracQueryHit hit = new TracQueryHit((TracTask) task, query.getRepositoryUrl(), ticket.getId() + ""); >+// String handleIdentifier = AbstractRepositoryTask.getHandle(url, ticket.getId()); >+// ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(handleIdentifier); >+// if (!(task instanceof TracTask)) { >+// task = createTask(ticket, handleIdentifier); >+// } >+// updateTaskDetails(url, (TracTask) task, ticket, false); >+ >+ String description = ticket.getValue(Key.SUMMARY); >+ TracQueryHit hit = new TracQueryHit(query.getRepositoryUrl(), description, ticket.getId() + ""); >+ hit.setCompleted(isCompleted(ticket)); >+ hit.setPriority(getPriority(ticket)); > hits.add(hit); > } > queryStatus.add(Status.OK_STATUS); >@@ -259,7 +261,7 @@ > } > return task; > } >- >+ > /** > * Updates fields of <code>task</code> from <code>ticket</code>. > */ >@@ -271,17 +273,8 @@ > task.setDescription(ticket.getId() + ": " + ticket.getValue(Key.SUMMARY)); > } > } >- if (ticket.getValue(Key.STATUS) != null) { >- TracTask.Status status = TracTask.Status.fromStatus(ticket.getValue(Key.STATUS)); >- task.setCompleted(status != null && status == TracTask.Status.CLOSED); >- } else { >- task.setCompleted(false); >- } >- if (ticket.getValue(Key.PRIORITY) != null) { >- PriorityLevel priority = TracTask.PriorityLevel.fromPriority(ticket.getValue(Key.PRIORITY)); >- task.setPriority((priority != null) ? priority.toString() >- : /* ticket.getValue(Key.PRIORITY) */Task.PriorityLevel.P3.toString()); >- } >+ task.setCompleted(isCompleted(ticket)); >+ task.setPriority(getPriority(ticket)); > if (ticket.getValue(Key.TYPE) != null) { > Kind kind = TracTask.Kind.fromType(ticket.getValue(Key.TYPE)); > task.setKind((kind != null) ? kind.toString() : ticket.getValue(Key.TYPE)); >@@ -295,6 +288,25 @@ > } > } > >+ public static boolean isCompleted(TracTicket ticket) { >+ if (ticket.getValue(Key.STATUS) != null) { >+ TracTask.Status status = TracTask.Status.fromStatus(ticket.getValue(Key.STATUS)); >+ return status != null && status == TracTask.Status.CLOSED; >+ } >+ return false; >+ } >+ >+ private static String getPriority(TracTicket ticket) { >+ if (ticket.getValue(Key.PRIORITY) != null) { >+ PriorityLevel priority = TracTask.PriorityLevel.fromPriority(ticket.getValue(Key.PRIORITY)); >+ if (priority != null) { >+ return priority.toString(); >+ } >+ // else return ticket.getValue(Key.PRIORITY) >+ } >+ return Task.PriorityLevel.P3.toString(); >+ } >+ > @Override > public void updateAttributes(TaskRepository repository, IProgressMonitor monitor) { > try {
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 Raw
Actions:
View
Attachments on
bug 153539
:
47810
| 48552 |
48553