Skip to main content



      Home
Home » Archived » Service Component Architecture (SCA) Tools » Some modifications for the SCA 1.0 model
Some modifications for the SCA 1.0 model [message #636684] Tue, 02 November 2010 09:18 Go to next message
Eclipse UserFriend
Hello,

We are actually working on FraSCAti in order to support the latest revision of the SCA model. However we've found that the plugin org.eclipse.stp.sca cannot be used outside of an eclipse environment. When loading a composite the SCAResourceImpl class uses the static method Platform.getLocation() which only works in an eclipse editor. This can be fixed by having an alternative when Platform.getLocation() doesn't work.

for example:

public static void prepareCompositeFile(URI uri) {
	try {
		File file;
		try {
			IPath path = Platform.getLocation();
			file = new File(path.toString() + uri.toPlatformString(true));
		}
		// Load file from the system if Eclipse platform is not running or present
		catch (NoClassDefFoundError e) {
			file = new File(uri.toFileString());
		}
...


We have also started a prototype of a new language which uses the Xtext framework and the sca ecore model. Using this new editor we've found some problems with the sca ecore :

* The implementation reference in a Component class has the 'changeable' property set to false. This does not allow to set an Implementation once a component has been declared. (no setter method)

* A source/target of a Wire must be defined with an EReference(attributes source2/target2) and its corresponding string representation (attributes source/target). A Wire is not valid if attributes source and target do not have values, while source2 and target2 have an EReference. Attributes 'source' and 'target' are useless, they can be removed from the sca model or set as optional attributes.

I'm not sure if there's an big impact on other modules for these modifications of the sca ecore model.

Regards.

Damien
Re: Some modifications for the SCA 1.0 model [message #636876 is a reply to message #636684] Wed, 03 November 2010 04:09 Go to previous message
Eclipse UserFriend
Hi Damien,

Le 02/11/2010 14:18, Damien Fournier a écrit :
> Hello,
>
> We are actually working on FraSCAti in order to support the latest
> revision of the SCA model. However we've found that the plugin
> org.eclipse.stp.sca cannot be used outside of an eclipse environment.
> When loading a composite the SCAResourceImpl class uses the static
> method Platform.getLocation() which only works in an eclipse editor.
> This can be fixed by having an alternative when Platform.getLocation()
> doesn't work.
>
> for example:
>
>
> public static void prepareCompositeFile(URI uri) {
> try {
> File file;
> try {
> IPath path = Platform.getLocation();
> file = new File(path.toString() + uri.toPlatformString(true));
> }
> // Load file from the system if Eclipse platform is not running or present
> catch (NoClassDefFoundError e) {
> file = new File(uri.toFileString());
> }
> ..

Please, open a bug.

>
>
> We have also started a prototype of a new language which uses the Xtext
> framework and the sca ecore model. Using this new editor we've found
> some problems with the sca ecore :
>
> * The implementation reference in a Component class has the 'changeable'
> property set to false. This does not allow to set an Implementation once
> a component has been declared. (no setter method)

This is not a bug. To set the implementation, you must use the
implementationGroup, like this:

CPPImplementation newValue = ScaFactory.eINSTANCE.createCPPImplementation();

((FeatureMap.Internal) component.getImplementationGroup()).clear();

((FeatureMap.Internal) component.getImplementationGroup()).add(
ScaPackage.Literals.COMPONENT__IMPLEMENTATION_GROUP,
FeatureMapUtil.createEntry(
ScaPackage.Literals.DOCUMENT_ROOT__IMPLEMENTATION,
newValue)
);



>
> * A source/target of a Wire must be defined with an
> EReference(attributes source2/target2) and its corresponding string
> representation (attributes source/target). A Wire is not valid if
> attributes source and target do not have values, while source2 and
> target2 have an EReference. Attributes 'source' and 'target' are
> useless, they can be removed from the sca model or set as optional
> attributes.

Please, open a bug.

>
> I'm not sure if there's an big impact on other modules for these
> modifications of the sca ecore model.
>
> Regards.
>
> Damien

Best regards,

Stephane Drapeau
Obeo
Previous Topic:Promoting a Reference ?
Next Topic:eclipse SCA tools vs IBM sca tools
Goto Forum:
  


Current Time: Thu May 08 12:43:30 EDT 2025

Powered by FUDForum. Page generated in 0.08569 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top