[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.technology.gmt] Error running the aw4.demo.emf.uml2.generator example project in 4.1 alpha
|
Hi,
I am attempting to run the oaw4.demo.emf.uml2.generator (the Alpha2 release
for the Eclipse download )
The first problem was that the Setup class in the uml2.adapter project was
not ported to UML2 2.0 Please see the corrections I made (changed reference
to new namespaces/packages)
package org.openarchitectureware.uml2;
import org.eclipse.emf.common.util.URI;
import org.eclipse.uml2.uml.UMLPackage;
import org.openarchitectureware.emf.EcoreUtil2;
import org.openarchitectureware.emf.Mapping;
public class Setup extends org.openarchitectureware.emf.Setup {
public Setup() {
addEPackageClass(UMLPackage.eINSTANCE.getClass().getName());
}
public void setStandardUML2Setup(boolean b) {
if (b) {
addExtensionMap(new
Mapping("ecore","org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl"));
addExtensionMap(new
_____________________________________
Mapping("uml2","org.eclipse.uml2.uml.resource.UMLResource"));
________________________________________
____________________________
URI uri = EcoreUtil2.getURI("metamodels/UML.metamodel.uml");
______________________________
if (uri!=null) {
String path = uri.toString();
path = path.substring(0,path.lastIndexOf("/metamodels"));
if (path.indexOf(".jar!")!=-1) {
if (!path.startsWith("jar:")) path = "jar:"+path;
}
addUriMap(new
Mapping("pathmap://UML2_PROFILES/",path+"/profiles/"));
addUriMap(new
Mapping("pathmap://UML2_METAMODELS/",path+"/metamodels/"));
addUriMap(new
Mapping("pathmap://UML2_LIBRARIES/",path+"/libraries/"));
}
}
}
}
The XMIReader now sucessfully reads in the input model, I now obtain the
following
error
0
INFO - ----------------------------------------------------------------------------------
0 INFO - openArchitectureWare v4 -- (c) 2005, 2006
openarchitectureware.org and contributors
0
INFO - ----------------------------------------------------------------------------------
0 INFO - running workflow:
C:/tools/oaw/oaw-sample-emf-4.1.0/eclipse-projects/oaw4.demo.emf.uml2.generator/src/workflow.oaw
0 INFO -
3594 INFO - Starting: org.openarchitectureware.emf.XmiReader
3891 INFO - Starting: generator [org.openarchitectureware.xpand2.Generator]
4063 ERROR - No Definition 'templates::Root::Root for Object' found!:in
workflow-description on line 1 'EXPAND templates::Root::Root FOR
model.get(0)'
org.openarchitectureware.expression.EvaluationException: No Definition
'templates::Root::Root for Object' found!:in workflow-description on line 1
'EXPAND templates::Root::Root FOR model.get(0)'
at
org.openarchitectureware.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:166)
at
org.openarchitectureware.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:157)
at
org.openarchitectureware.xpand2.ast.Statement.evaluate(Statement.java:27)
at
org.openarchitectureware.xpand2.Generator.invokeInternal(Generator.java:180)
at
org.openarchitectureware.workflow.lib.AbstractWorkflowComponent2.invoke(AbstractWorkflowComponent2.java:28)
at
org.openarchitectureware.workflow.container.CompositeComponent.internalInvoke(CompositeComponent.java:74)
at
org.openarchitectureware.workflow.container.CompositeComponent.invoke(CompositeComponent.java:64)
at
org.openarchitectureware.workflow.WorkflowRunner.executeWorkflow(WorkflowRunner.java:227)
at
org.openarchitectureware.workflow.WorkflowRunner.run(WorkflowRunner.java:166)
at
org.openarchitectureware.workflow.WorkflowRunner.main(WorkflowRunner.java:119)
Apparently the line
<expand value="templates::Root::Root FOR model.get(0)"/> in the workflow
is evaulated to type Object as opposed to uml:Model
What change is neccessary
Solomon