[
https://issues.apache.org/jira/browse/OLINGO-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13829722#comment-13829722
]
Michael Bolz edited comment on OLINGO-32 at 11/22/13 7:42 AM:
--------------------------------------------------------------
With the last
[commit|https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-odata2.git;a=commit;h=4d80947e511a900383315c08c2b7ae9826470840]
(on this branch, id: {{4d80947e511a900383315c08c2b7ae9826470840}}) the
{{@EdmNavigationProperty}} annotation was simplified/refactored.
The {{@NavigationEnd}} was removed and all properties are now _optional_.
Hence, all not set properties will be automatically generated by the
{{AnnotationEdmProvider}}.
With this change it is now possible to create a {{EdmEntityType/EdmEntitySet}}
with just a few annotations, e.g.:
{code}
@EdmEntityType(namespace="MyNamespace")
@EdmEntitySet
public class SampleEntity {
@EdmKey
@EdmProperty
private int id;
@EdmProperty
private String someName;
@EdmNavigationProperty
private AnotherEntity relatedEntity;
}
{code}
Current thoughts are to make the {{namespace}} at the {{@EdmEntityType}} also
an optional parameter.
If not set a default namespace will be used. As suggestion: Automatically
generated based on the package name of the class.
Some opinions about that change?
Kind regards,
Michael
was (Author: mirbo):
With the last
[commit|https://git-wip-us.apache.org/repos/asf?p=incubator-olingo-odata2.git;a=commit;h=4d80947e511a900383315c08c2b7ae9826470840]
(on this branch, id: {{4d80947e511a900383315c08c2b7ae9826470840}}) the
{{@EdmNavigationProperty}} annotation was simplified/refactored.
The {{@NavigationEnd}} was removed and all properties are now _optional_.
Hence, all not set properties will be automatically generated by the
{{AnnotationEdmProvider}}.
With this change it is now possible to create a {{EdmEntity/EdmEntitySet}} with
just a few annotations, e.g.:
{code}
@EdmEntity(namespace="MyNamespace")
@EdmEntitySet
public class SampleEntity {
@EdmKey
@EdmProperty
private int id;
@EdmProperty
private String someName;
@EdmNavigationProperty
private AnotherEntity relatedEntity;
}
{code}
Current thoughts are to make the {{namespace}} at the {{@EdmEntity}} also an
optional parameter.
If not set a default namespace will be used.
Some opinions about that change?
Kind regards,
Michael
> Introduce (Java) Annotations for definition of EDM
> --------------------------------------------------
>
> Key: OLINGO-32
> URL: https://issues.apache.org/jira/browse/OLINGO-32
> Project: Olingo
> Issue Type: New Feature
> Affects Versions: V2 1.1.0
> Reporter: Michael Bolz
> Assignee: Michael Bolz
> Priority: Minor
> Fix For: V2 1.1.0
>
>
> The idea is to create your model as POJOs which then can be annotated with
> special {{@EdmXXX}} (Java) annotations to define the EDM for an OData Service.
> Based on these annotation then the {{edmx}} document ({{$metadata}}) can be
> generated as well as a generic {{Processor}} ({{ODataSingleProcessor}}) for
> e.g. {{JSON}} can be written.
> As initial contribution and starting point for discussions about this feature
> a branch with name {{PocEdmAnnotationsExtension}} is created with a basic
> Proof of Concept.
--
This message was sent by Atlassian JIRA
(v6.1#6144)