Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » [Acceleo] Workspace ecore models URI resolution
[Acceleo] Workspace ecore models URI resolution [message #673353] Mon, 23 May 2011 10:01 Go to next message
Hugo A. Garcia is currently offline Hugo A. GarciaFriend
Messages: 258
Registered: July 2009
Senior Member
Hi

In either Helios or Indigo:

I have an ecore model in a project in my workspace. When I want to
create an Acceleo project then sometimes the model shows up in the
Package Selection dialog and sometimes it doesn't. What is the event
that triggers the model to show in the Package Selection dialog???

My current solution is to randomly click and open projects and files in
the workspace until the model is resolved.

Once it "magically" shows up then the URI is resolved for previously
created Acceleo projects.

-H
Re: [Acceleo] Workspace ecore models URI resolution [message #673949 is a reply to message #673353] Wed, 25 May 2011 09:09 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Hugo,

The package will appear in this list whenever it has been registered by/against EMF. i.e : if you open a dynamic instance of this metamodel, or if you open the metamodel itself in an editor.

Laurent Goubet
Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #673965 is a reply to message #673949] Wed, 25 May 2011 10:30 Go to previous messageGo to next message
Hugo A. Garcia is currently offline Hugo A. GarciaFriend
Messages: 258
Registered: July 2009
Senior Member
Ive opened the ecore model in the editor multiple times... but still is not registered... any other extra step I have to do or missing? I even tried cleaning all projects after opening the ecore editor.

-H
Re: [Acceleo] Workspace ecore models URI resolution [message #675142 is a reply to message #673965] Mon, 30 May 2011 12:10 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Hugo,

Ed might be a better source of information on that; you're basically trying to figure out when package Xyz gets registered in the package registry. Other than that, you might be interested in looking at ATL that provides a workspace "right click > register metamodel" action on models.

Laurent Goubet
Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675171 is a reply to message #675142] Mon, 30 May 2011 13:03 Go to previous messageGo to next message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi

Sorry, I can only add my sympathies. I have wrestled with bad
registrations on many occasions with many tools; it's a consistent
nightmare. You've got to be prepared to go in with the debugger and look
very carefully at ResourceSet content looking hard at multiple
ResourceSets, multiple Resources and deficient Factory registries which
for instance can enable a UML model to be loaded reflectively and then
defeat code that expects a static load.

The problem is that EMF is a sound component, but that there is no
coherent layer that makes EMF sound for derived modeling applications
that mix the interactive and installed usages. I have suggested debug
aids such as an EObject spider, so that given an ability to refer to an
EObject you might get to find out what you have and why you haven't got
what you wanted; I think I threw this idea at Modisco.

With Eclipse OCL evolving to provide an OMG-compliant view of Ecore and
UML2 models, it may be for Eclipse OCL to provide a model access layer
that at least provides coherence for tools that extend OCL. Some
evolution of the OCL Model Registry might appear in Juno since QVTd
should be active again and needing shared facilities.

Regards

Ed Willink


On 30/05/2011 13:10, Laurent Goubet wrote:
> Hugo,
>
> Ed might be a better source of information on that; you're basically
> trying to figure out when package Xyz gets registered in the package
> registry. Other than that, you might be interested in looking at ATL
> that provides a workspace "right click > register metamodel" action on
> models.
>
> Laurent Goubet
> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675217 is a reply to message #675142] Mon, 30 May 2011 15:47 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33140
Registered: July 2009
Senior Member
Laurent,

I'm not sure how you're populating the list. The contents of
EPackage.Registry.INSTANCE should be initialized when the bundles are
loaded and should not change over time (except by virtue of bundles
loading, which typically doesn't happen dynamically). No one should be
adding things to the global registry programmatically when running as an
Equinox process...


Laurent Goubet wrote:
> Hugo,
>
> Ed might be a better source of information on that; you're basically
> trying to figure out when package Xyz gets registered in the package
> registry. Other than that, you might be interested in looking at ATL
> that provides a workspace "right click > register metamodel" action on
> models.
>
> Laurent Goubet
> Obeo


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: [Acceleo] Workspace ecore models URI resolution [message #675324 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675330 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675336 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675342 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675345 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675347 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675354 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675356 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675357 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675358 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675373 is a reply to message #675217] Tue, 31 May 2011 07:33 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
Ed,

I never told that was good practice, just that ATL provides such an
action on right-click in the workspace ^^.

Acceleo does allow for the use of metamodels that are in the workspace
instead of being installed in bundles; but we use our own package
registry for that (it actually acts as a proxy with the actual package
registry in order not to pollute the global instance).

Hugo is trying to use one of these "dynamic" metamodels in Acceleo, and
I recall that there are times when these metamodels get registered in
the global package registry, but not why : when we load one of their
dynamic instance? When we open another model that directly references
them (through a load resource)?

Laurent Goubet
Obeo

On 30/05/2011 17:47, Ed Merks wrote:
> Laurent,
>
> I'm not sure how you're populating the list. The contents of
> EPackage.Registry.INSTANCE should be initialized when the bundles are
> loaded and should not change over time (except by virtue of bundles
> loading, which typically doesn't happen dynamically). No one should be
> adding things to the global registry programmatically when running as an
> Equinox process...
>
>
> Laurent Goubet wrote:
>> Hugo,
>>
>> Ed might be a better source of information on that; you're basically
>> trying to figure out when package Xyz gets registered in the package
>> registry. Other than that, you might be interested in looking at ATL
>> that provides a workspace "right click > register metamodel" action on
>> models.
>>
>> Laurent Goubet
>> Obeo
Re: [Acceleo] Workspace ecore models URI resolution [message #675374 is a reply to message #675324] Tue, 31 May 2011 07:46 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi Laurent

You've made significant progress with URI resolution since M4 so:

"and I recall that there are times when these metamodels get registered
in the global package registry, but not why"

may now be inappropriate. After Indigo, I recommend removing all global
package registrations and reviewing what breaks.

Regards

Ed Willink

On 31/05/2011 08:33, Laurent Goubet wrote:
> Ed,
>
> I never told that was good practice, just that ATL provides such an
> action on right-click in the workspace ^^.
>
> Acceleo does allow for the use of metamodels that are in the workspace
> instead of being installed in bundles; but we use our own package
> registry for that (it actually acts as a proxy with the actual package
> registry in order not to pollute the global instance).
>
> Hugo is trying to use one of these "dynamic" metamodels in Acceleo,
> and I recall that there are times when these metamodels get registered
> in the global package registry, but not why : when we load one of
> their dynamic instance? When we open another model that directly
> references them (through a load resource)?
>
> Laurent Goubet
> Obeo
>
> On 30/05/2011 17:47, Ed Merks wrote:
>> Laurent,
>>
>> I'm not sure how you're populating the list. The contents of
>> EPackage.Registry.INSTANCE should be initialized when the bundles are
>> loaded and should not change over time (except by virtue of bundles
>> loading, which typically doesn't happen dynamically). No one should be
>> adding things to the global registry programmatically when running as an
>> Equinox process...
>>
>>
>> Laurent Goubet wrote:
>>> Hugo,
>>>
>>> Ed might be a better source of information on that; you're basically
>>> trying to figure out when package Xyz gets registered in the package
>>> registry. Other than that, you might be interested in looking at ATL
>>> that provides a workspace "right click > register metamodel" action on
>>> models.
>>>
>>> Laurent Goubet
>>> Obeo
>
Previous Topic:[Acceleo] Cross models reference + Java Application
Next Topic:[Acceleo] Null pointer exception using profiles
Goto Forum:
  


Current Time: Wed Apr 24 16:43:15 GMT 2024

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

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

Back to the top