Presentation is loading. Please wait.

Presentation is loading. Please wait.

Selena Extension Christian Brand Eckart Langhuth Matthias Metzler

Similar presentations


Presentation on theme: "Selena Extension Christian Brand Eckart Langhuth Matthias Metzler"— Presentation transcript:

1 Selena Extension Christian Brand (christian.brand@sap.com) Eckart Langhuth (eckart.langhuth@sap.com) Matthias Metzler (matthias.metzler@sap.com)christian.brand@sap.comeckart.langhuth@sap.commatthias.metzler@sap.com Ideas, Concepts, Requests, Discussion Base,...

2  SAP AG 2001, Selena Extension, chb, el, mm 2 Contents  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

3  SAP AG 2001, Selena Extension, chb, el, mm 3  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

4  SAP AG 2001, Selena Extension, chb, el, mm 4 Selena Framework – Our View  Selena Framework offers generic Element Model API  Environment can communicate with Elements,... and Model Management  Model Management creates Elements,... on demand and provides caching  Selena Framework gets all the needed information through Providers  Data modification is possible through Change (Delta) Providers  Selena Framework can also be notified about data changes through (Delta) Providers (not yet in picture)

5  SAP AG 2001, Selena Extension, chb, el, mm 5 Element Model API – Our View  Dotted arrows show „navigation paths“  Examples: A Container can be asked for child entities and supplies Entities (EntityEnumeration) An Element can be asked for model and supplies a Model...

6  SAP AG 2001, Selena Extension, chb, el, mm 6  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

7  SAP AG 2001, Selena Extension, chb, el, mm 7 Generic Data Model Tree Viewer  Generic Data Model Tree Viewer visualizes (parts of) Element Model API (at this moment it only shows child entity relations)  Architecture JFace Tree Viewer + SWT Tree for rendering Content and Label Provider retrieve information from Element Model API Content Provider can be equipped with Filter  Features Filter can be exchanged at runtime Roots can be set dynamically Refreshes on model changes  TODOs Refresh if model added or removed More navigation paths

8  SAP AG 2001, Selena Extension, chb, el, mm 8 Generic Data Model Tree Viewer - Screenshot generic tree viewer 4 projects => 8 registered models no filter active special (diagnostic) label provider shows unique names folder icon shown, if child entities exist Eclipse navigation view example: workspace with 4 projects project, file and folder view filter to show only nodes supplied by own providers icons depend on data source

9  SAP AG 2001, Selena Extension, chb, el, mm 9  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

10  SAP AG 2001, Selena Extension, chb, el, mm 10 Filter Concept - Interface  Filters can have names (?)  Filters can be inverted  Filter can be asked for general availability of PropertyMap Property ReferenceContainer UniqueName  Filter can be asked for availability of navigation paths child entity parent participant... (all navigation paths)

11  SAP AG 2001, Selena Extension, chb, el, mm 11 Filter Concept - Structure ...() means all the availability checking methods  Filters can be composed in Filter Sets (composite)  Filter Sets can be of type OR or AND  Default implementations are ready for use examples: YesManFilter (single) NoManFilter (single) MutableFilterSet...  Filters can be subclassed or created by Filter Factory

12  SAP AG 2001, Selena Extension, chb, el, mm 12  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

13  SAP AG 2001, Selena Extension, chb, el, mm 13 Filtered Data Model Framework  Every Environment, that works on top of Element Model API should also work on Filtered Element Model API  Filtered Element delegates calls to Selena Element and modifies answer after requesting filter  Multiple Instances of Filtered Data Model Framework possible  Filtered Data Model Framework contains no caching functionality (delegation-only implemantation)

14  SAP AG 2001, Selena Extension, chb, el, mm 14  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

15  SAP AG 2001, Selena Extension, chb, el, mm 15 Programming Model for Tool Developers  Questions What can we recommend our tool developers? How can we support them? What has to be built to support them?...?  Idea: Data Source Management stores table to map between unique name and data source (Object) create and add new unique name from data source check if unique name already included get corresponding data source to unique name

16  SAP AG 2001, Selena Extension, chb, el, mm 16 Programming Model – Example Implementation  Data Source Management can be accessed by Providers, Filter Tree Viewer‘s Label Provider  This is the way they can get access to the Data Source Objects  Data Source Management can create Unique Names for Providers

17  SAP AG 2001, Selena Extension, chb, el, mm 17  Selena Framework – Our View  Generic Data Model Tree Viewer  Filter Concept  Filtered Data Model  Programming Model  Questions, Discussion,...

18  SAP AG 2001, Selena Extension, chb, el, mm 18 Questions  Problem:  Distributed Provider development leading to “congested, overcrowded” models?  Example: (Using Selena) Task 1: Implementation of “Eclipse” Package View. Task 2: Implementation of “Eclipse” Navigator View. Both will need an Entity representing the Folder “src”. T1 provides Entity with UniqueName model:packView://src/ T2 provides Entity with UniqueName model:navView://src/

19  SAP AG 2001, Selena Extension, chb, el, mm 19 Questions  Another possible way to provide the model data for Task 1,2 may be that a known provider already provides the folder structure.  This will lead to dependent Providers because the Providers for Task 1,2 will work only if the “known” Provider is active.  To avoid dependencies each tool has to provide all of its data itself. (Maybe including the underlying project model)  What kind of “Provider programming guidelines” follows from this?

20  SAP AG 2001, Selena Extension, chb, el, mm 20 Questions  In “overcrowded” models, tools have to identify “their” relevant data.  A small example is the current implementation of the UML Navigator: Using not relevant data: The UML-Navigator fails, trying to show the data from a model created by the “File and Folder” View.

21  SAP AG 2001, Selena Extension, chb, el, mm 21 Questions  Provider principles  Removing class ProvidersAccess used to avoid programmatic adding, removing Providers? Why?  Short explanation of Provider registration logic? Ideas? Binding of Providers to models, domains, subdomains, … ? Extension Point Schema

22  SAP AG 2001, Selena Extension, chb, el, mm 22 Questions  Infrastructure/Organization How to structure/move sources in perforce? Who drives which subjects? Perforce sources .classpath and.project files allways writeable on client  project dependencies to projects not to libraries  info.xml files for every subproject (contains the responsible developers, that receive mails on build problems)  Technical Subjects Discussion!

23  SAP AG 2001, Selena Extension, chb, el, mm 23 Questions Others: How to realize Object valued Properties? Image Element binding? Double domain definition? Model Project binding? Location of metadata. (e.g diagram.xml) Repository tree. Semantic view in Team Perspective based on the same (filtered) model (same view?) as standard browser view!? Usage of internal packages? Eclipse Source changes?


Download ppt "Selena Extension Christian Brand Eckart Langhuth Matthias Metzler"

Similar presentations


Ads by Google