This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 179828 - Provide the concept of a repository under the resource modeling subproject
Summary: Provide the concept of a repository under the resource modeling subproject
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Cosmos (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P1 enhancement (vote)
Target Milestone: ---   Edit
Assignee: amehrega CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 180068
Blocks: 188399
  Show dependency tree
 
Reported: 2007-03-28 15:52 EDT by amehrega CLA
Modified: 2012-01-03 13:48 EST (History)
4 users (show)

See Also:


Attachments
Design document (335.50 KB, application/octet-stream)
2007-05-07 14:51 EDT, amehrega CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description amehrega CLA 2007-03-28 15:52:50 EDT
We haven't really abstracted our workspace-based repository from the available operations in the resource modeling subproject.  There needs to be extension mechanisms added in to allow vendors to define their own concept of a repository that can contain SML model units.  The user experience should be similar irregardless of the repository that is used to store the units.

The user is expected to:
- Add/remove units from the repository
- Navigate through instances
- Select instances to have them exported into an SML-IF model
- Reference a unit inside another unit
- Validate a set of SML units
Comment 1 Marius Slavescu CLA 2007-04-03 10:24:20 EDT
The resource management in the context of a repository seems to be more related with Data Collection project.
Comment 2 Valentina Popescu CLA 2007-04-03 10:32:50 EDT
This is in line with the SML common library notion of repository; the idea is to be able to import/export to SMLIF using any type of SML repository. The current implementation assumes a file respository structure for the SML library
Comment 3 Valentina Popescu CLA 2007-04-12 13:53:09 EDT
Ali, per our discussion I am adding 180068 as a dependency for this defect.

180068 requires a set of API to navigate the SML repository. These two requests are related through the SML repository generic definition and extensibility, to be done using this defect
Comment 4 amehrega CLA 2007-05-07 14:51:50 EDT
Created attachment 66186 [details]
Design document
Comment 5 David Whiteman CLA 2007-05-08 17:03:27 EDT
I'm not sure if the concept of rule bindings is completely modeled.  There are three cases of rule bindings: a rule is not bound to anything, a rule is bound to a specific instance, and a rule is bound globally to all instances in a SML-IF document.  Case 1 is supported simply by creating a rule and not binding it to anything.  Case 3 appears to be supported by ISMLIFIdentity.bindRule() since a binding is added without specifying a document.  However, I don't see that Case 2 is supported.  I assume this could be supported by adding a ISMLIFIdentity.bindRule(ruleAlias,documentAlias).  Another perhaps more OO way of supporting rule bindings is to pass in the actual ISMLDocumentDefinition instance for the rule argument and the ISMLDocumentInstance instance for the document argument, and I presume for the SML-IF model we would just use the first found alias for each.

I was also wondering if there should be any type or behavioral distinction between the two different types of ISMLDocumentDefinition instances, since some can be Schematron rules and some can be schema that is validated against the ISMLDocumentInstance instances.
Comment 6 amehrega CLA 2007-05-28 18:13:43 EDT
Other than the repository operations (i.e. import/export/validate), the implementation of this enhancement is complete.  There is a new plug-in checked under resource-modeling called:  "org.eclipse.cosmos.rm.repository".  org.eclipse.cosmos.rm.repository/src-core contains the provisional APIs and org.eclipse.cosmos.rm.repository/src-core-impl contains the file system repository implementation.  Everything required for the June milestone should be there.  The data visualization component can connect to the repository and fetch documents based on a set of criteria.  There is also a plug-in checked in under tests/resource-modeling called: org.eclipse.cosmos.rm.repository.tests which uses JUnits to exercise the code.

Sheldon, let me know if there is anything that is impeding you from completing your work.
Comment 7 amehrega CLA 2007-06-15 18:35:19 EDT
I'm marking this enhancement as fixed.  The import and export operations have been refactored and integrated with the repository plug-in.  The validate operation is not integrated with the repository plug-in until there are use cases requiring this to be complete.  I don't suspect that it's too much work but I need to be convinced that there are use cases needing this to be done before I spend more time on this enhancement.  The validate operation can of course be used in standalone mode or inside the Eclipse SDK environment.  The repository plug-in has a total of 66 JUnits.  
Comment 8 amehrega CLA 2008-01-02 13:37:19 EST
closing