blob: fb795a1291cae02022f4bca82f19f2978770f6e3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
package rba.tool.editor.ui.resource
import com.google.inject.Inject
import org.eclipse.core.resources.IFile
import org.eclipse.core.resources.IStorage
import org.eclipse.core.resources.IWorkspace
import org.eclipse.emf.common.util.URI
import org.eclipse.xtext.resource.IResourceServiceProvider
import org.eclipse.xtext.ui.resource.DefaultResourceUIServiceProvider
import rba.tool.editor.ui.wizard.ExtendRBAModelProjectCreator
class RBAModelResourceUIServiceProvider extends DefaultResourceUIServiceProvider {
@Inject private IWorkspace workspace;
@Inject private ExtendRBAModelProjectCreator projectCreator;
@Inject public new(IResourceServiceProvider delegate) {
super(delegate)
}
override canHandle(URI uri, IStorage storage) {
if(!super.canHandle(uri, storage)) {
return false;
}
if(workspace !== null) {
if(storage instanceof IFile) {
val folderName = URI.decode(if(uri.segmentCount > 3) uri.segment(2) else null);
if(!projectCreator.modelFolderName.equals(folderName)) {
return false;
}
}
}
return true;
}
}
|