Community
Participate
Working Groups
On several actions the excpetion below is thrown. This happens for example if elemtns in the diagram are changed or the diagram is saved org.eclipse.core.runtime.CoreException: No file system is defined for scheme: cdo at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55) at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:50) at org.eclipse.core.internal.filesystem.InternalFileSystemCore.getFileSystem(InternalFileSystemCore.java:65) at org.eclipse.core.internal.filesystem.InternalFileSystemCore.getStore(InternalFileSystemCore.java:107) at org.eclipse.core.filesystem.EFS.getStore(EFS.java:470) at org.eclipse.core.internal.localstore.FileSystemResourceManager.findLinkedResourcesPaths(FileSystemResourceManager.java:129) at org.eclipse.core.internal.localstore.FileSystemResourceManager.allPathsForLocationNonCanonical(FileSystemResourceManager.java:120) at org.eclipse.core.internal.localstore.FileSystemResourceManager.allPathsForLocation(FileSystemResourceManager.java:57) at org.eclipse.core.internal.localstore.FileSystemResourceManager.allResourcesFor(FileSystemResourceManager.java:198) at org.eclipse.core.internal.resources.WorkspaceRoot.findFilesForLocationURI(WorkspaceRoot.java:112) at org.eclipse.core.internal.resources.WorkspaceRoot.findFilesForLocationURI(WorkspaceRoot.java:103) at org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(WorkspaceSynchronizer.java:357) at org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(WorkspaceSynchronizer.java:270) at org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditor.getNavigatorSelection(AcoreDiagramEditor.java:307) at org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditor.getShowInContext(AcoreDiagramEditor.java:293) at org.eclipse.ui.internal.services.WorkbenchSourceProvider.getContext(WorkbenchSourceProvider.java:412) at org.eclipse.ui.internal.services.WorkbenchSourceProvider.updateActivePart(WorkbenchSourceProvider.java:478) at org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkActivePart(WorkbenchSourceProvider.java:305) at org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkActivePart(WorkbenchSourceProvider.java:300) at org.eclipse.ui.internal.services.WorkbenchSourceProvider$2.windowDeactivated(WorkbenchSourceProvider.java:270) at org.eclipse.ui.internal.Workbench$15.run(Workbench.java:1018) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.Workbench.fireWindowDeactivated(Workbench.java:1016) at org.eclipse.ui.internal.WorkbenchWindow$28.shellDeactivated(WorkbenchWindow.java:3133) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:111) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058) at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1647) at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2137) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4162) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2061) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:3030) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3670) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Created attachment 185846 [details] Patch v1 Shame on me. It turned out, that the exception was there all the time. But it is only visible when "-consoleLog" is activated. It also seems that it does not have a major influence when "-consoleLog" is not set (seems to be just a print out, but I did not find where it is printed), but if it is activated it simply floods the lock and slows the application. Since the root of the problem (calling the file system) is heavily used by GMF I do not think that find can get a clean solution in a short time. That's why I attach the patch which is merly some sort of a hack. But it seems to work to solve our problem. Eike, I would like to discuss this solution with you. Especially the influcence on our CDO FS. Please ping me if you find some time.
(In reply to comment #1) > Created an attachment (id=185846) > Patch v1 > > Shame on me. It turned out, that the exception was there all the time. But it is > only visible when "-consoleLog" is activated. It also seems that it does not > have a major influence when "-consoleLog" is not set What would you expect? > (seems to be just a print > out, but I did not find where it is printed), but if it is activated it simply > floods the lock What lock? > and slows the application. Since the root of the problem > (calling the file system) is heavily used by GMF I do not think that find can > get a clean solution in a short time. Can't the WorkspaceSynchronizer be deactivated or replaced with a stub? > That's why I attach the patch which is merly some sort of a hack. But it seems > to work to solve our problem. I don't like it ;-( > Eike, I would like to discuss this solution with you. Especially the influcence > on our CDO FS. There's no current influence but it will prevent us from using the cdo: protocol at the EFS layer in the future. Worse: It's visible outside of CDO and that's a no go for an internal hack. > Please ping me if you find some time. Will do.
I've no clue why API Tools complain about "DawnGMFFileStore illegally implements IFileInfo". By looking at your patch I noticed that you already have an internal package for the OM class. That package is not marked internal!
Created attachment 185849 [details] Patch v2 - do not commit See commetn #2
> > > > Shame on me. It turned out, that the exception was there all the time. But it is > > only visible when "-consoleLog" is activated. It also seems that it does not > > have a major influence when "-consoleLog" is not set > > What would you expect? > Exactly what I described. I simply forgot to turn it on. That's why I said 'shame on me' ;) > > (seems to be just a print > > out, but I did not find where it is printed), but if it is activated it simply > > floods the lock > > What lock? > Darn. One of my common typos. I meant 'log'. So what I meant was that the log file and/or the console are full of unnecessary stack traces. > > and slows the application. Since the root of the problem > > (calling the file system) is heavily used by GMF I do not think that find can > > get a clean solution in a short time. > > Can't the WorkspaceSynchronizer be deactivated or replaced with a stub? > Don't know. But I do not think so because the getFile() call is used in a static way. The only to fix this out of our scope is that GMF encapsulates all static calls in a way that we can influence the calling, e.g. be something we can change. Or the implementation of getFile() could be changed from outside. Actually the last thing was what I tried be providing a dummy FS. > > That's why I attach the patch which is merly some sort of a hack. But it seems > > to work to solve our problem. > > I don't like it ;-( Me neither. But I think the alternative is worse. > > > Eike, I would like to discuss this solution with you. Especially the influcence > > on our CDO FS. > > There's no current influence but it will prevent us from using the cdo: > protocol at the EFS layer in the future. If we decide later that we want to use "cdo" as filesystem, we could just do it and remove this solution. In this context it is only important that we have a FS registered with the prefix 'cdo'. As far as I could see it the content is irrelevant. >Worse: It's visible outside of CDO and > that's a no go for an internal hack. > Agreed. I would be happier if we'd find a better solution > > Please ping me if you find some time. > > Will do. O.k. I'll wait for you :P
This is an issue in EMF Transactions and should be addressed there.