Bug 164677 - [EditorMgmt] can we remove IURIEditorInput?
Summary: [EditorMgmt] can we remove IURIEditorInput?
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.3   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 3.3 M6   Edit
Assignee: Tod Creasey CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 121434 165172
  Show dependency tree
 
Reported: 2006-11-15 12:44 EST by Boris Bokowski CLA
Modified: 2007-03-20 09:53 EDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Bokowski CLA 2006-11-15 12:44:44 EST
URI cannot be resolved to a type	org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui	IURIEditorInput.java	line 39	1163611136718	748662

This is API that was added in 3.3.  Since URI is not part of J2ME Foundation 1.0, can we do without this API?
Comment 1 Kim Horne CLA 2006-11-15 15:17:19 EST
I have no idea... this is the first I've heard of this class.  Tod, you checked it in... can you give some history?
Comment 2 Tod Creasey CLA 2006-11-15 15:24:06 EST
No we can't - it was aded for EFS support.

We could move it to IDE though. Adding Dani and Michael to check if we need this at the workbench level.
Comment 3 Dani Megert CLA 2006-11-16 02:42:19 EST
What I was asking for (see bug 111887) was a file editor input for file stores. When we discussed this we thought URI would be a nice generalization. We might back off from IURIEditorInput if it hurts too much. Putting it into IDE is wrong from an architectural standpoint. Instead we could introduce IFileStoreEditorInput at the IDE level which has a getFileStore() method and wait until we get concrete request for IURIEditorInput.
Comment 4 John Arthorne CLA 2006-11-17 12:56:30 EST
The org.eclipse.core.filesystem plugin requires a 1.4 JRE because it uses URI.  I see no choice but to put IFileStoreEditorInput into IDE... Dani, in which plugins do you need IFileStoreEditorInput?
Comment 5 John Arthorne CLA 2006-11-20 12:07:11 EST
We have the same problem with IEditorLauncher - it can only open an editor on IPath. If we wanted to support providing editor launcher for URI it would logically go in workbench. It seems that some parts of the editor framework make the bad assumption that editor inputs are files in the local file system.
Comment 6 Boris Bokowski CLA 2006-11-21 22:23:35 EST
I'm a little confused by John's comments. Can't we just do what Dani proposed in comment #3?  This is what I refer to:

> Instead we could introduce
> IFileStoreEditorInput at the IDE level which has a getFileStore() method and
> wait until we get concrete request for IURIEditorInput.
Comment 7 Dani Megert CLA 2006-11-22 03:23:30 EST
>It seems that some parts of the editor framework
>make the bad assumption that editor inputs are files in the local file system.
Well, so far there are neither dialogs nor editor inputs (with the exception of this ongoing work) that can handle arbitrary EFS. Just Platform Text's internal implementation to support the local FS.

Currently we are in the middle of actually trying to add better support to open editors via the new the (I)FileStoreEditorInput. I guess what John wanted to express is that there are plug-ins that - once the support is there - would like to open an editor using IFileStore (or URI) without depending on the IDE plug-ins.

Here are some related issues:
- bug 116414
- bug 49495
Comment 8 Boris Bokowski CLA 2006-11-22 08:29:34 EST
(In reply to comment #7)
> ... I guess what John wanted to
> express is that there are plug-ins that - once the support is there - would
> like to open an editor using IFileStore (or URI) without depending on the IDE
> plug-ins.

This sounds like a reasonable request, but would require creating a new plug-in.

We cannot use URI in org.eclipse.ui.workbench, so IURIEditorInput has to be removed, or moved into another plug-in.  I would like to find a solution for this as soon as possible since it is blocking bug 121434.
Comment 9 John Arthorne CLA 2006-11-22 09:49:26 EST
I said the wrong thing in comment #4 - I meant to suggest simply moving IURIEditorInput into IDE.  To me IFileStoreEditorInput and IURIEditorInput are almost equivalent, except IFileStoreEditorInput ties the client to an eclipse-specific abstract (IFileStore), rather than a general Java class library abstraction (URI), so the latter seems preferable to me.
Comment 10 Tod Creasey CLA 2006-11-27 09:35:33 EST
John so it sounds like the best course of action is to remove IFileStoreEditor and replace it with IURIEditorInput in the IDE.

Do you agree?
Comment 11 John Arthorne CLA 2006-11-27 09:55:08 EST
There is currently no IFileStoreEditorInput - this was just suggested by Dani in comment #3.  Currently we have a FileStoreEditorInput class in IDE plugin, and IURIEditorInput interface in workbench plugin.  We need to move IURIEditorInput to the IDE plugin, and fix up any existing references accordingly.
Comment 12 Tod Creasey CLA 2007-02-14 11:48:57 EST
Lets move it to IDE as suggested.
Comment 13 Tod Creasey CLA 2007-02-14 14:30:31 EST
I have deprecated IURIEditorInput in the workbench and moved it to org.eclipse.ui.ide.IURIEditorInput. I will remove the workbench version when I get the go ahead from Dani.

Fixed for build >20070214
Comment 14 John Arthorne CLA 2007-02-14 15:30:57 EST
This should get a PMC +1. Since the API is being removed from one plugin and added to another, it's an API change. I agree it's a necessary change because the current API requires a 1.4 EE.
Comment 15 Dani Megert CLA 2007-02-15 02:48:07 EST
>This should get a PMC +1.
You need to send your request to 'eclipse-pmc@eclipse.org' and if no PMC votes -1  in 24 hours it means GO. This was agreed on in last weeks arch call to speed up the process.
Comment 16 Mike Wilson CLA 2007-02-15 10:00:56 EST
I spoke to Tod about this one yesterday. I wanted him to verify that none of the intended consumers of this were going to now be constrained to have a dependency on the IDE that they otherwise might have avoided. I.e. Could this be a problem for RCP apps?
Comment 17 Tod Creasey CLA 2007-02-15 10:42:19 EST
Michael Valenta and I were talking and his feeling (which I agree with) is that we should leave IURIEditorInput in the org.eclipse.ui package but move it to the extensions in ide.

That way if at any time we either step up to 1.4 or add a 1.4 extensions plug-in the workbench ide is not in the name and we have no API breakages to worry about.

I am going to reopen this pending feedback on this and approval from the PMC when we are happy.
Comment 18 Dani Megert CLA 2007-02-15 10:49:25 EST
Just make sure to coordinate the change as otherwise you will break the build: Platform Text now uses FileStoreEditorInput at several places and expect it to inherit from org.eclipse.ui.ide.IURIEditorInput.
Comment 19 John Arthorne CLA 2007-02-15 11:08:27 EST
Michael's suggestion makes sense to me.  It's quite possible workbench will be able to move to at least Foundation 1.1 in the future, which contains URI.  At that point we would be able to move the interface down to workbench from IDE without breaking anyone.
Comment 20 Tod Creasey CLA 2007-02-19 14:29:08 EST
Dani I am going to move IURIEditorInput after the integration build submission this week - I will synch with you to find a good time to do this.
Comment 21 Dani Megert CLA 2007-02-20 02:13:05 EST
Let's do it today as soon as you're in, so that we have it in the next I-build.
Comment 22 Tod Creasey CLA 2007-02-20 08:25:27 EST
IURIEditorInput moved to org.eclipse.ui in the ide plug-in so it now has the same signature but is in a different plug-in.

I will remove all of the deprecated classes before the next I build.
Comment 23 Tod Creasey CLA 2007-02-20 08:26:07 EST
Adding Darin as this may affect ant
Comment 24 Darin Wright CLA 2007-02-20 08:39:16 EST
Adding Darin (S) as there are references to FileStoreEditorInput in Ant, which implements IURIEditorInput.
Comment 25 Dani Megert CLA 2007-02-20 08:53:58 EST
Darin, I checked your code and verified that it is not affected by the latest change.
Comment 26 Tod Creasey CLA 2007-02-28 11:29:48 EST
ide version of IURIEditorInput deleted for build >20070228
Comment 27 Tod Creasey CLA 2007-03-20 09:53:30 EDT
Verified in I20070320-0010