[
https://issues.apache.org/jira/browse/OLINGO-76?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13848412#comment-13848412
]
Chandan V.A edited comment on OLINGO-76 at 12/14/13 5:40 PM:
-------------------------------------------------------------
Hi Thiago,
The java reflection method getField( ) cannot access the private member
variables defined in the super class.
I guess there is no way we could solve this issue. Is there any other means by
which we can know the temporal type?
regards
Chandan
was (Author: chandan.v.a):
Hi Thiago,
The java reflection method getField( ) cannot access the private member
variables defined in the super class.
If the field could not be found then there should be a fallback mechanism to
search for the fields type using its public modifier method namely "getXyz( )".
I will try this.
regards
Chandan
> @MappedSuperclass
> -----------------
>
> Key: OLINGO-76
> URL: https://issues.apache.org/jira/browse/OLINGO-76
> Project: Olingo
> Issue Type: Bug
> Components: odata2-jpa
> Affects Versions: V2 1.0.0
> Reporter: Thiago Assis
> Assignee: Chandan V.A
> Attachments: AbstractEntity.java, ExternalUser.java,
> ExternalUserProvider.java, InternalUser.java, InternalUserPassword.java
>
>
> When i use @MappedSuperclass i got the error below:
> Caused by: java.lang.NoSuchFieldException: creationDate
> at java.lang.Class.getDeclaredField(Class.java:1938)
> at
> org.apache.olingo.odata2.processor.core.jpa.access.model.JPATypeConvertor.convertToEdmSimpleType(JPATypeConvertor.java:83)
> ... 75 more
> I suppose this is an error because the method
> olingo.odata2.processor.core.jpa.access.model.JPATypeConvertor.convertToEdmSimpleType
> should not use getDeclaredField (), but getFields () to search also the
> attributes of the parent class.
> try {
> if ((currentAttribute != null)
> &&
> (currentAttribute.getDeclaringType().getJavaType().getDeclaredField(currentAttribute.getName())
> .getAnnotation(Temporal.class).value() == TemporalType.TIME))
> {
> return EdmSimpleTypeKind.Time;
> } else {
> return EdmSimpleTypeKind.DateTime;
> }
> } catch (NoSuchFieldException e) {
> throw
> ODataJPAModelException.throwException(ODataJPAModelException.GENERAL.addContent(e.getMessage()),
> e);
> } catch (SecurityException e) {
> throw
> ODataJPAModelException.throwException(ODataJPAModelException.GENERAL.addContent(e.getMessage()),
> e);
> }
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)