| newInstance runtime error [message #716814] |
Thu, 18 August 2011 10:08  |
Williams Messages: 43 Registered: July 2009 |
Member |
|
|
I tried to use the dynamic EMF to create a class diagram and its instance diagram to verify an OCL invariant. When I set up the OCL invariant as follows:
...
// dynamically created a class diagram and its instance diagram
try{
OCL<?, EClassifier, ?, ?, ?, ?, ?, ?, ?, Constraint, EClass, EObject> ocl
= OCL.newInstance(EcoreEnvironmentFactory.INSTANCE);
OCLHelper<EClassifier, ?, ?, Constraint> helper = ocl.createOCLHelper();
// helper.setContext(bookStoreEPackage.Literals.BOOKSTORE );
Constraint oclConstraint = helper
.createInvariant("self.books->size() < 2");
Query eval = (Query) ocl.createQuery(oclConstraint);
Boolean result = (Boolean) eval.evaluate(bookstore);
} catch (Exception e)
{
....
}
I got runtime error at OCL.newInstance(EcoreEnvironmentFactory.INSTANCE) as follows:
Exception in thread "main" java.lang.NoClassDefFoundError: lpg/runtime/RuleAction
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at myPackage.MyClass.<init>(MyClass.java:101)
at myPackage.MyClass.main(MyClass.java:121)
Another question, how can I set up helper.setContext(). I just created a package,
classes etc and there is no Literals in my program to dynamically created the model.
Thanks.
Will
|
|
|