Upload
ed-bartsch
View
981
Download
1
Embed Size (px)
Citation preview
Eduard BartschSAP AG
© SAP AG 2009 Licensed under EPL v1.0
BackgroundProposed SolutionDemoNext Steps
2© SAP AG 2009 Licensed under EPL v1.0
© SAP AG 2009 Licensed under EPL v1.0 3
EditorsEditors
ProjectExplorerProjectExplorer
ProblemsViewProblemsView
Compare& MergeCompare& Merge
ERPERP& Co& CoERPERP& Co& Co
ServiceRepositoryServiceRepository
ContentManagementContentManagement
……
Both cases are about Resources as keyabstraction:
Resource is any information that can be namedResources have state (that may change over time)Resources expose uniform interface
© SAP AG 2009 Licensed under EPL v1.0 4
Hierarchic Content StructuringRather balanced and deep file/foldertrees
Content-independent StorageConcrete Well-defined APIsCollaboration Built-in
Team ProviderMerge/CompareMylyn
© SAP AG 2009 Licensed under EPL v1.0 5
Flat Content StructuringE.g. with big amount ofresources beneath a root URL
(Often) Content-aware StorageREST is Architectural Style andnot even a Network ProtocolCollaboration out of Scope
Has to be solved on top
© SAP AG 2009 Licensed under EPL v1.0 6
EditorsEditors
ProjectExplorerProjectExplorer
ProblemsViewProblemsView
Compare& MergeCompare& Merge
ERPERP& Co& CoERPERP& Co& Co
ServiceRepositoryServiceRepository
ContentManagementContentManagement
……
SemanticFile
System
Decouple Eclipse Resource Hierarchy fromREST URL hierarchySparsely mount REST resources into EclipseWorkspaceIntroduce an SPI and additional ContentProvider in order to handle
Differences between repository-specific RESTimplementationsRepository-specific and content-specific semanticsTeam & Collaboration support
© SAP AG 2009 Licensed under EPL v1.0 7
© SAP AG 2009 Licensed under EPL v1.0 8
Normal Folder Source Repository
REST RepositorySemantic Folder
Resource
Subfolder
File
Subfolder
Resource
Subfolder
Resource
Resource
Resource
Resource
Resource
Subfolder
© SAP AG 2009 Licensed under EPL v1.0 9
Developer
EclipseEditor/Tool
EclipseResource
Management
ContentProviders
RESTRepository
<<works with>> <<works with>>
Resources
Codelines/Branches/Baselines
etc
Versions/Revisions
F( )«output» «input»
«represents a»
Project/Folder/
ResourceHierarchy
...Variants
SemanticFile System
Content Providers maybe nestedhave own semantics
© SAP AG 2009 Licensed under EPL v1.0 10
Default Content Provider
ContentProvider 2
ContentProvider 3
ContentProvider 1
File
Project
Folder
File
FileFile
File
File
File
Folder
Folder
Folder
© SAP AG 2009 Licensed under EPL v1.0 11
Further Discussions via Feature Request inEclipse Bugzilla:https://bugs.eclipse.org/bugs/show_bug.cgi?id=292197Prototype implementation is uploaded intoabove Bug Report.Futrther details can be found in Eclipse Wiki:http://wiki.eclipse.org/E4/Resources/Semantic_File_System
© SAP AG 2009 Licensed under EPL v1.0 12
© SAP AG 2009 Licensed under EPL v1.0 13
© SAP AG 2009 Licensed under EPL v1.0 14
© SAP AG 2009 Licensed under EPL v1.0 15
© SAP AG 2009 Licensed under EPL v1.0 16
IWorkspaceRunnable myRunnable = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
IFolder folder = …
ISemanticFolder sfolder = (ISemanticFolder)folder.getAdapter(ISemanticFolder.class);
if ( sfolder != null ) {
sfolder.addFile(fileName, uri, 0, monitor);
}
}
};
workspace.run(myRunnable,workspace.getRoot(),0,null);