Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » OCL » newInstance runtime error
newInstance runtime error [message #716814] Thu, 18 August 2011 10:08 Go to previous message
Williams  is currently offline 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
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic:OCL Nightly Builds
Next Topic:Support for OCL constraints in a particular profile of UML.
Goto Forum:
  


Current Time: Tue Jun 18 00:34:35 EDT 2013

Powered by FUDForum. Page generated in 0.01724 seconds