Sergey Sverdlov created ISIS-1631:
-------------------------------------
Summary: jdoqlFromClause validation error with multi-level
inheritance
Key: ISIS-1631
URL: https://issues.apache.org/jira/browse/ISIS-1631
Project: Isis
Issue Type: Bug
Components: Core
Affects Versions: 1.14.0
Reporter: Sergey Sverdlov
1) I have 3 domain objects with *multi-level* inheritance (in the same
package): A, B, C
{code}
@DomainObject(objectType = "A", editing = Editing.ENABLED)
public abstract class A
@DomainObject(objectType = "B", editing = Editing.ENABLED)
public class B extends A
@DomainObject(objectType = "C", editing = Editing.ENABLED)
public class C extends B
{code}
2) class A has the following JDOQL query:
{code}
@Queries({
@Query(
name = "getById",
value = "SELECT "
+ "FROM com.home.test.A "
+ "WHERE id == :id")
})
{code}
3) When I turned on the validation:
{code}
isis.reflector.validator.jdoqlFromClause=true
{code}
I've got the error:
{code}
java.lang.AssertionError: Metamodel is invalid:
com.home.test.C: error in JDOQL query, class name after FROM clause should be
same as class name on which annotated, or one of its supertypes (JDOQL : SELECT
FROM com.home.test.A WHERE id == :id)
{code}
4)If I make *one-level* inheritance:
{code}
@DomainObject(objectType = "A", editing = Editing.ENABLED)
public abstract class A
@DomainObject(objectType = "B", editing = Editing.ENABLED)
public class B extends A
@DomainObject(objectType = "C", editing = Editing.ENABLED)
public class C extends A
{code}
The validation passes OK.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)