Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EMF-IncQuery » Is it possible to use incquery in Standalone EMF?
Is it possible to use incquery in Standalone EMF? [message #1094915] Mon, 26 August 2013 07:38 Go to next message
Mauro Condarelli is currently offline Mauro Condarelli
Messages: 415
Registered: September 2009
Senior Member
Perusal of Wiki site seems to indicate this is *not* possible,
however I would like confirmation.

I have a "non eclipse" (JavaFX, actually) project using heavily EMF in "Standalone mode";
Can I use incquery to retrieve and filter data in the model?

I *am* using eclipse as IDE and so I *am* able to use Xtext for code generation,
but generated code should then run without any eclipse runtime (just "normal" library jars).

My current "eclipse-related" list of jars only includes:
org.eclipse.core.databinding
org.eclipse.core.databinding.observable
org.eclipse.core.databinding.property
org.eclipse.emf.databinding
org.eclipse.emf.databinding.edit
org.eclipse.equinox.common
org.eclipse.fx.core.databinding
org.eclipse.fx.emf.databinding
org.eclipse.fx.ui.databinding

Is there hope?

TiA
Mauro
Re: Is it possible to use incquery in Standalone EMF? [message #1094954 is a reply to message #1094915] Mon, 26 August 2013 08:39 Go to previous messageGo to next message
Zoltan Ujhelyi is currently offline Zoltan Ujhelyi
Messages: 200
Registered: July 2009
Senior Member
Hi Mauro,

sadly, running EMF-IncQuery outside an Eclipse environment is indeed not possible because of some internal decisions we made during development. We are planning to support standalone (non-Eclipse) execution in the future, but we will need some time to implement it. This issue is (will be Sad ) tracked in https://bugs.eclipse.org/bugs/show_bug.cgi?id=398741

However, you can run EMF-IncQuery without the entire Eclipse user interface by the use of Eclipse Applications (as described in the wiki page http://wiki.eclipse.org/EMFIncQuery/UserDocumentation/HeadlessExecution). This mode also supports starting JavaFX applications.

Cheers,
Zoltán
Re: Is it possible to use incquery in Standalone EMF? [message #1094992 is a reply to message #1094954] Mon, 26 August 2013 09:41 Go to previous messageGo to next message
Mauro Condarelli is currently offline Mauro Condarelli
Messages: 415
Registered: September 2009
Senior Member
Thanks for the fast answer...
unfortunately not the one I wanted to get :(

I voted for the "bug", even if any development will come too late to be helpful to me.

My position there is:
- It is rather strange to require eclipse runtime to filter EMF models when EMF itself does not require it.
- It is perfectly sound to require eclipse in code-generation phase (even if it would be nice to have a "standalone compiler").
- It is perfectly clear what "standalone" means: use the same definition EMF uses.

<rant>
Eclipse is full of "internal decisions" taken to cut corners and hampering further development (e.g.: lots of "widgets" which should be in jface, but are really in ui, when not in jdt! TextEditor is an outstanding example).
I can understand some of them come from ancient history (it is spelled: "WebSphere").
Wouldn't it be time to startmaking "smart decisions", instead?

Sorry for the outburst, but I just discovered YetAnotherProjectICannotUse (while it looked exactly what I need).
</rant>

Regards
Mauro

On 26/08/2013 14:39, Zoltan Ujhelyi wrote:
> Hi Mauro,
>
> sadly, running EMF-IncQuery outside an Eclipse environment is indeed not possible because of some internal decisions we made during development. We are planning to support standalone (non-Eclipse) execution in the future, but we will need some time to implement it. This issue is (will be :( ) tracked in https://bugs.eclipse.org/bugs/show_bug.cgi?id=398741
>
> However, you can run EMF-IncQuery without the entire Eclipse user interface by the use of Eclipse Applications (as described in the wiki page http://wiki.eclipse.org/EMFIncQuery/UserDocumentation/HeadlessExecution). This mode also supports starting JavaFX applications.
>
> Cheers,
> Zoltán
Re: Is it possible to use incquery in Standalone EMF? [message #1095001 is a reply to message #1094992] Mon, 26 August 2013 09:52 Go to previous messageGo to next message
Zoltan Ujhelyi is currently offline Zoltan Ujhelyi
Messages: 200
Registered: July 2009
Senior Member
Hi,

yeah, I can relate to your issue and I am truly sorry that IncQuery does not fit your problem. On the other hand, thanks for voicing your concerns.

We were not careful enough when designing our runtime API and that has caused the issues you have faced. Just a seemingly innocent decision early in the development, and then we found, that it would be near impossible to support Eclipse-less development. Again, we are planning to fix this, as it is a completely legal and supportable use case, just we did not have enough time for it yet.

Regards,
Zoltán
Re: Is it possible to use incquery in Standalone EMF? [message #1095030 is a reply to message #1095001] Mon, 26 August 2013 10:21 Go to previous messageGo to next message
Mauro Condarelli is currently offline Mauro Condarelli
Messages: 415
Registered: September 2009
Senior Member
Just a curiosity:
What is that decision?
i.e.: What prevents using incquery "standalone"?

Thanks for your work, anway... even if I won't be able to use it.

Regards
Mauro

On 26/08/2013 15:52, Zoltan Ujhelyi wrote:
> Hi,
>
> yeah, I can relate to your issue and I am truly sorry that IncQuery does not fit your problem. On the other hand, thanks for voicing your concerns.
>
> We were not careful enough when designing our runtime API and that has caused the issues you have faced. Just a seemingly innocent decision early in the development, and then we found, that it would be near impossible to support Eclipse-less development. Again, we are planning to fix this, as it is a completely legal and supportable use case, just we did not have enough time for it yet.
>
> Regards,
> Zoltán
Re: Is it possible to use incquery in Standalone EMF? [message #1095042 is a reply to message #1095030] Mon, 26 August 2013 10:40 Go to previous messageGo to next message
Zoltan Ujhelyi is currently offline Zoltan Ujhelyi
Messages: 200
Registered: July 2009
Senior Member
Hi,

we tried to use the concept of Pattern to identify our initialized matchers. For this to work, we had to make the query definitions available in runtime while they are editable in the IDE.

Yes, that is a really bad idea in hindsight, but it seemed more natural at that point. Additionally, we were much less experienced with the Xtext-related code generation steps, so what we ended up is a real mess by copying the pattern definitions to another file, then packaging and making it available during runtime. Basically, we could patch this to support the standalone use cases in a few days by adding code that opens this copied resource from the jar files, however, this would result in a lot more of corner cases to support even in medium term.

On the other hand, for other issues we plan a major update of our entire builder infrastructure, that should remove this arbitrary requirement, so we have decided to go this way.

Our lesson learned here is that we should be very clear about separating development time and runtime artifacts, otherwise we let all hell loose.

Again, I am sorry for the inconvinience, and thanks for your interest.

Cheers,
Zoltán
Re: Is it possible to use incquery in Standalone EMF? [message #1244012 is a reply to message #1095042] Tue, 11 February 2014 14:46 Go to previous message
Zoltan Ujhelyi is currently offline Zoltan Ujhelyi
Messages: 200
Registered: July 2009
Senior Member
Hi,

I just want to check back that the latest master version of EMF-IncQuery allows to run queries from standalone EMF.

Sorry that its too late for you, but for the future, the functionality is now in place. For documentation see the Eclipse wiki: https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/HeadlessExecution#Using_IncQuery_in_a_Java_application

Cheers,
Zoltán
Previous Topic:Reflective IncQueryEngine
Next Topic:Not representable well-behaving feature
Goto Forum:
  


Current Time: Mon Jul 28 12:45:35 EDT 2014

Powered by FUDForum. Page generated in 0.08888 seconds