[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.modeling.mdt.ocl] Re: OCL/UML Help

Andew,

It sounds like you are running standalone but haven't put the net.sourceforge.lpg.lpgjavaruntime jar on the classpath.


Andrew Carton wrote:

Hi,
I'm just trying to get OCL working with UML and having a few problems. Below is the source and the exception trace that I keep getting. I'd really appreciate it if someone could give me a quick hand. The tutorials only illustrate Ecore metamodels and I can't find any simple tutorials that shows you how to use queries over UML/Ecore. My uml model is a simple one - at its root it has a Model and its packagedElements are two packages. I thought passing in the .eClass() from the Model element would work but it doesn't seem to. I tried this query on the OCL console with my model and it works!


Thanks in advance,
Andrew

Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xmi", new XMIResourceFactoryImpl());


resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI,UMLPackage.eINSTANCE);


Model p = (Model) load(URI.createURI("My.uml"));
boolean valid;
EList e = p.getPackagedElements();
try {
Query query = QueryFactory.eINSTANCE.createQuery(
"self.nestedPackage->collect( e | e.packagedElement->collect(f | f.name))",
p.eClass());
valid = true;
} catch (IllegalArgumentException s) {
valid = false;
System.err.println(s.getLocalizedMessage());
}


Exception in thread "main" java.lang.NoClassDefFoundError: lpg/lpgjavaruntime/RuleAction
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at org.eclipse.emf.ocl.expressions.util.ExpressionsUtil.createParser(ExpressionsUtil.java:680)


at org.eclipse.emf.ocl.expressions.util.ExpressionsUtil.createParser(ExpressionsUtil.java:663)

at org.eclipse.emf.ocl.expressions.util.ExpressionsUtil.createQuery(ExpressionsUtil.java:177)

at org.eclipse.emf.ocl.expressions.util.ExpressionsUtil.createQuery(ExpressionsUtil.java:156)

at org.eclipse.emf.ocl.query.impl.QueryUtil.makeOCLQuery(QueryUtil.java:66)
at org.eclipse.emf.ocl.query.impl.QueryFactoryImpl.createQuery(QueryFactoryImpl.java:127)


at PackageMerge.main(PackageMerge.java:98)