Bug 191793 - [api] remove coupling from to ..mylyn.team.ui to org.eclipse.team.cvs
Summary: [api] remove coupling from to ..mylyn.team.ui to org.eclipse.team.cvs
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Vista
: P2 enhancement (vote)
Target Milestone: 3.0   Edit
Assignee: Mik Kersten CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 202547 217725
  Show dependency tree
 
Reported: 2007-06-09 00:42 EDT by Mik Kersten CLA
Modified: 2008-04-30 19:55 EDT (History)
2 users (show)

See Also:


Attachments
split adapter factory (13.47 KB, patch)
2007-06-12 01:44 EDT, Eugene Kuleshov CLA
no flags Details | Diff
mylar/context/zip (6.12 KB, application/octet-stream)
2007-06-12 01:45 EDT, Eugene Kuleshov CLA
no flags Details
removed dependency on team.cvs.core (6.69 KB, patch)
2008-03-04 16:02 EST, Eugene Kuleshov CLA
no flags Details | Diff
mylyn/context/zip (10.60 KB, application/octet-stream)
2008-03-04 16:02 EST, Eugene Kuleshov CLA
no flags Details
mylyn/context/zip (12.72 KB, application/octet-stream)
2008-04-17 20:51 EDT, Mik Kersten CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mik Kersten CLA 2007-06-09 00:42:16 EDT
The ..mylyn.team.ui plug-in should be generic and not coupled to a specific team provider.
Comment 1 Eugene Kuleshov CLA 2007-06-09 00:55:45 EDT
Can you please remind me if I have permissions for *team plugins? LinkedTaskInfoAdapterFactory need to be split into two separate ones.
Comment 2 Mik Kersten CLA 2007-06-09 01:10:18 EDT
That makes sense, would be great if you could do that.  Can't check now but if I recall you were supposed to have commit rights on team.  Everything has changed from the move, so hopefully you still do.
Comment 3 Mik Kersten CLA 2007-06-12 00:26:26 EDT
 (In reply to comment #1)
> Can you please remind me if I have permissions for *team plugins?
> LinkedTaskInfoAdapterFactory need to be split into two separate ones.

Fyi I checked and we do not have those commit permissions on record for you.  
Comment 4 Eugene Kuleshov CLA 2007-06-12 01:44:56 EDT
Created attachment 70950 [details]
split adapter factory

This patch moves dependencies from adapter factory into a separate plugin (also moved factory initialization into plugin.xml).

However there is another dependency on CVS plugin from ContextChangeSet class.
Comment 5 Eugene Kuleshov CLA 2007-06-12 01:45:13 EDT
Created attachment 70951 [details]
mylar/context/zip
Comment 6 Mik Kersten CLA 2007-06-15 12:15:56 EDT
Patch applied, thanks Eugene.  To complete this I will also need to remove our dependency on CVSActiveChangeSet (see comment#20 on bug 142395).  That will have to wait post 2.0.  What's good is that we have the plug-in split for Europa since it is likely that we will be able to keep the APIs the same.
Comment 7 Mik Kersten CLA 2007-09-24 15:41:13 EDT
Will explore for 2.2.
Comment 8 Mik Kersten CLA 2007-12-13 00:15:14 EST
Needs to wait until 2.3 or 3.0.
Comment 9 Eugene Kuleshov CLA 2008-03-04 16:02:50 EST
Created attachment 91569 [details]
removed dependency on team.cvs.core

Here is summary of changes

- changed binding of mylyn actions for synchronize view common navigator to ILinkedTaskInfo
- replaced adapting ContextChangeSet to ResourceMapping with new adapter factory contributed by mylyn.team.cvs
Comment 10 Eugene Kuleshov CLA 2008-03-04 16:02:53 EST
Created attachment 91570 [details]
mylyn/context/zip
Comment 11 Eugene Kuleshov CLA 2008-03-05 01:02:13 EST
need more work
Comment 12 Mik Kersten CLA 2008-03-07 19:02:14 EST
Will review post EclipseCon.
Comment 13 Mik Kersten CLA 2008-04-17 20:51:25 EDT
Eugene: I was able to use some parts of your patch, although I reworked a bunch of it.  The change to LinkedTaskInfo did not work as expected because we invoke the comment check.  To address this Steffen and I changed ContextChangeSet.  Also, just fyi we change the adapter access to avoid use of internals:
	return AdapterManager.getDefault().getAdapter(this, adapter);
To:
		return Platform.getAdapterManager().getAdapter(this, adapter);
		
The more major change we did as part of this is listed under the "Changed Team API" section of the porting guide.  ILinkedTaskInfo is now AbstractTaskReference with a getText() method for textual references (e.g. comments, messages).  We moved it out of tasks.core because we don't know of any clients outside of team plug-ins.  Do you have any clients that need to access it from tasks.core?
Comment 14 Mik Kersten CLA 2008-04-17 20:51:31 EDT
Created attachment 96536 [details]
mylyn/context/zip
Comment 15 Steffen Pingel CLA 2008-04-18 17:27:41 EDT
The commit action is now missing from CVS changesets in the synchronize perspective. Mik, we need to revisit the decision to use ActiveChangeSet instead of CvsActiveChangeSet.
Comment 16 Mik Kersten CLA 2008-04-18 21:39:03 EDT
Fixed by adding a new mapping.  Still need to verify things in non-models mode.
Comment 17 Eugene Kuleshov CLA 2008-04-23 18:31:31 EDT
Mik, thanks for the update. Though it is very unfortunate that you have chanced API for ILinkedTaskInfo. This will require to update team integrations, which wasn't really expected. I am not sure when I'll have chance to update Subclipse implementation for this.
Comment 18 Mik Kersten CLA 2008-04-28 10:53:03 EDT
We realize the pains of making integrators update, and regarding the Team APIs, we left them unchanged for Mylyn 2.0 for this reason.  But we are planning on making Mylyn 3.0 the last major API revision, and as such it is important that we prioritize API quality this time around.  We will provide very clear porting guide steps for making the change.
Comment 19 Mik Kersten CLA 2008-04-30 19:55:54 EDT
API work is done.  Assuming that the changes support fixing the refresh problems that they added, which we'll fix via bug 142280, we're done here.