String expession = permission.getConstraint().getExpession();
OCL<?, EClassifier, ?, ?, ?, ?, ?, ?, ?, Constraint, EClass, EObject> ocl = OCL.newInstance(EcoreEnvironmentFactory.INSTANCE);
OCLHelper<EClassifier, ?, ?, Constraint> helper = ocl.createOCLHelper();
helper.setContext(permission);
try {
Constraint constraint = helper.createInvariant(expession);
Query<EClassifier, EClass, EObject> constraintEval = ocl.createQuery(constraint);
return constraintEval.check(permissionInstance);
} catch (ParserException e) {
e.printStackTrace();
throw new UamClientException(MessageFormat.format("Incorrect expression: {0}. {1}", expession, e.getLocalizedMessage()));