Hello,
I am porting an old MWE workflow to MWE2 (good job with that, btw: MWE2 is much nicer to work with). It basically works, but I am having two problems and I can't find a way around them. I'm hoping that someone on the forum can make a suggestion.
The most serious issue is that the workflow uses a script in the "check" language to verify the workflow's input. When a check fails, with MWE I get informative output like this:
4751 ERROR WorkflowEngine - [ERROR]: <error message from readcheck> (Element: <element from model>; Reported by: -UNKNOWN-)
but with MWE2 I get this, with no hint which check actually failed to validate:
4189 ERROR Mwe2Launcher - Problems running workflow generateXsd: Errors during validation.
java.lang.RuntimeException: Problems running workflow generateXsd: Errors during validation.
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:104)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: org.eclipse.emf.mwe.core.WorkflowInterruptedException: Errors during validation.
at org.eclipse.xtend.check.CheckComponent.invokeInternal2(CheckComponent.java:171)
at org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent.invokeInternal(AbstractExpressionsUsingWorkflowComponent.java:232)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
... 4 more
I am launching the workflow from the Eclipse UI (right-click, "Run As", "MWE2 Workflow"). I get this problem in Kepler, Luna and Mars. Is there something else I need to do to see the error message from check? I have simply ported StandaloneSetup from the old workflow as:
bean = org.eclipse.emf.mwe.utils.StandaloneSetup{ ... }
Is this still valid, or should I be using something else? Or maybe I need another bundle? The ones that I have currently imported are:
Require-Bundle: org.eclipse.xpand,
org.eclipse.xtend,
org.eclipse.xtend.typesystem.emf,
org.eclipse.xtend.typesystem.uml2;bundle-version="0.7.2",
org.eclipse.emf.mwe.utils;bundle-version="0.7.2",
org.eclipse.xtend.typesystem.xsd;bundle-version="0.7.2",
org.antlr.runtime;bundle-version="3.0.0",
com.ibm.icu;bundle-version="4.0.1",
org.eclipse.xtend.util.stdlib;bundle-version="0.7.2",
org.apache.commons.logging;bundle-version="1.0.4",
org.eclipse.core.runtime;bundle-version="3.9.100",
org.eclipse.emf.mwe2.launch;bundle-version="2.7.1",
org.apache.log4j;bundle-version="1.2.15",
org.objectweb.asm;bundle-version="3.3.1"
The other less serious issue is with including components from a different Eclipse project. I have ported MWE cartridge declarations like this (where xxx.mwe is in a different project that is declared as a required bundle):
<cartridge file="xxx.mwe"
... params ...
/>
as:
component = @xxx {
... params ...
}
The workflow runs fine and the containing project doesn't have any errors in the Problems view, but in the Eclipse editor @xxx and the parameter names are flagged as errors with "Couldn't resolve reference to Module 'xxx'". Is there a way of sorting this out?
Regards,
Peter.
[Updated on: Tue, 04 August 2015 10:23]
Report message to a moderator