[ 
https://issues.apache.org/jira/browse/OLINGO-83?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13851496#comment-13851496
 ] 

Michael Bolz edited comment on OLINGO-83 at 12/20/13 9:03 AM:
--------------------------------------------------------------

h4. Feedback

* package names of core and api
** Module 'annotation-processor-api': To keep naming and content consistent we 
should move classes which are not directly related to an annotation processor 
into {{annotation-core}} module and hence keep (add) only '(Java) annotation' 
based api interfaces/classes into this module.
** Module 'annotation-processor-core': Keep naming

* check consistency with JPA processor
In the JPA modules the packages are named 
'org.apache.olingo.odata2.processor.core.jpa.\*' and 
'org.apache.olingo.odata2.processor.api.jpa.\*' which IMHO does not fit to the 
library package names 'org.apache.olingo.odata2.core.\*' and 
'org.apache.olingo.odata2.api.\*'.
I would propose a root package name of 'org.apache.olingo.odata2.api.\*' and 
'org.apache.olingo.odata2.core.\*' (which would result in 
'org.apache.olingo.odata2.jpa.core.\*' and 
'org.apache.olingo.odata2.jpa.api.\*' for the JPA module).
*Any other opinions?*

* artifact naming
Artifact names fit to module names and can be kept.

* code review recommended
I agree but I suggest to do this within the [Create tests for 
'Annotation-processor' module 
issue|https://issues.apache.org/jira/browse/OLINGO-86].

* naming and structure of ref scenario (lib + web)
IMHO it is not necessary to split the reference scenario (implementation) into 
two modules. But based on that actual all other modules have done it this way 
the '\*-processor-webref' could be split into '\*-processor-web' and 
'\*-processor-web'.

Below you find the _Current state_, my _proposal_ and the _proposed state_ to 
visualise all above. 
Feedback is welcome  ;o)
Kind regards, Michael

h4. Current state:
* annotation-processor-api
** Packages: 
*** org.apache.olingo.odata2.api.data
* annotation-processor-core
** Packages: 
*** org.apache.olingo.odata2.core.annotation.data
*** org.apache.olingo.odata2.core.annotation.edm
*** org.apache.olingo.odata2.core.annotation.processor
*** org.apache.olingo.odata2.core.annotation.util
* annotation-processor-webref
** Packages: 
*** org.apache.olingo.odata2.ref.annotation.processor
*** org.apache.olingo.odata2.ref.annotation.model

h4. Proposal:
* Rename packages:
** org.apache.olingo.odata2.api.data -> 
org.apache.olingo.odata2.annotation.processor.api (which contains the new 
{{AnnotationServiceFactory}})
** org.apache.olingo.odata2.core.annotation.data -> 
org.apache.olingo.odata2.annotation.processor.core.datasource which additional 
contains {{DataSource}} and {{ValueAccess}} (formerly in API module)
** org.apache.olingo.odata2.core.annotation.edm -> 
org.apache.olingo.odata2.annotation.processor.core.edm 
** org.apache.olingo.odata2.core.annotation.processor -> 
org.apache.olingo.odata2.annotation.processor.core
** org.apache.olingo.odata2.core.annotation.util -> 
org.apache.olingo.odata2.annotation.processor.core.util
** org.apache.olingo.odata2.ref.annotation.processor -> 
org.apache.olingo.odata2.annotation.processor.ref
** org.apache.olingo.odata2.ref.annotation.model -> 
org.apache.olingo.odata2.annotation.processor.ref.model
* Split (and rename) module 'annotation-processor-webref' to 
'annotation-processor-web' and 'annotation-processor-web' to be consistent with 
reference implementations in other modules
* Move:
** {{DataSource}} and {{ValueAccess}} in 
org.apache.olingo.odata2.annotation.processor.core.datasource 
('annotation-processor-core')
** {{DataSourceProcessor}} in 
org.apache.olingo.odata2.annotation.processor.core ('annotation-processor-core')
* Add:
** {{AnnotationServiceFactory}} in org.apache.olingo.odata2.api 
('annotation-processor-api')

h4. Proposed state:
* annotation-processor-api
** Packages: 
*** org.apache.olingo.odata2.annotation.processor.api which contains the new 
{{AnnotationServiceFactory}}
* annotation-processor-core
** Packages: 
*** org.apache.olingo.odata2.annotation.processor.core which additional 
contains {{DataSourceProcessor}} (formerly in API module)
*** org.apache.olingo.odata2.annotation.processor.core.datasource which 
additional contains {{DataSource}} and {{ValueAccess}} (formerly in API module)
*** org.apache.olingo.odata2.annotation.processor.core.edm
*** org.apache.olingo.odata2.annotation.processor.core.util
* annotation-processor-ref
** Packages: 
*** org.apache.olingo.odata2.annotation.processor.ref
*** org.apache.olingo.odata2.annotation.processor.ref.model
* annotation-processor-web which only bundles a {{war}} and do not contains any 
java source code



was (Author: mirbo):
h4. Feedback

* package names of core and api
General naming of module 'annotation-processor-\*'.
There are not only '(Java) annotation' based api parts and implementations.
Perhaps a more generic naming schema like 'datasource-processor' or 
'data-processor' would fit more to the content?
(Initial naming was based on the 'PocEdmAnnotations' feature).

* check consistency with JPA processor
In the JPA modules the packages are named 
'org.apache.olingo.odata2.processor.core.jpa.\*' and 
'org.apache.olingo.odata2.processor.api.jpa.\*' which IMHO does not fit to the 
library package names 'org.apache.olingo.odata2.core.\*' and 
'org.apache.olingo.odata2.api.\*'.
I would propose 'org.apache.olingo.odata2.api.datasource.\*' and 
'org.apache.olingo.odata2.core.datasource.\*' (which would result in 
'org.apache.olingo.odata2.jps.core.\*' and 
'org.apache.olingo.odata2.jpa.api.\*' for the JPA module).
*Any other opinions?*

* artifact naming
Based on module and package renaming the artifacts would also be renamed 
(accordingly).

* code review recommended
I agree but I suggest to do this within the [Create tests for 
'Annotation-processor' module 
issue|https://issues.apache.org/jira/browse/OLINGO-86].

* naming and structure of ref scenario (lib + web)
IMHO it is not necessary to split the reference scenario (implementation) into 
two modules. But based on that actual all other modules have done it this way 
the '\*-processor-webref' could be split into '\*-processor-web' and 
'\*-processor-web'.

Below you find the _Current state_, my _proposal_ and the _proposed state_ to 
visualise all above. 
Feedback is welcome  ;o)
Kind regards, Michael

h4. Current state:
* annotation-processor-api
** Packages: 
*** org.apache.olingo.odata2.api.data
* annotation-processor-core
** Packages: 
*** org.apache.olingo.odata2.core.annotation.data
*** org.apache.olingo.odata2.core.annotation.edm
*** org.apache.olingo.odata2.core.annotation.processor
*** org.apache.olingo.odata2.core.annotation.util
* annotation-processor-webref
** Packages: 
*** org.apache.olingo.odata2.ref.annotation.processor
*** org.apache.olingo.odata2.ref.annotation.model

h4. Proposal:
* Rename 'annotation-processor-\*' to 'datasource-processor-\*'
* Rename packages:
** org.apache.olingo.odata2.api.data -> 
org.apache.olingo.odata2.api.datasource.data which contains {{DataSource}} and 
{{ValueAccess}}
** NEW: org.apache.olingo.odata2.api.datasource.processor which contains 
{{DataSourceProcessor}}
** org.apache.olingo.odata2.core.annotation.data -> 
org.apache.olingo.odata2.core.datasource.data
** org.apache.olingo.odata2.core.annotation.edm -> 
org.apache.olingo.odata2.core.datasource.edm 
** org.apache.olingo.odata2.core.annotation.processor -> 
org.apache.olingo.odata2.core.datasource.processor
** org.apache.olingo.odata2.core.annotation.util -> 
org.apache.olingo.odata2.core.datasource.util
** org.apache.olingo.odata2.ref.annotation.processor -> 
org.apache.olingo.odata2.ref.datasource
** org.apache.olingo.odata2.ref.annotation.model -> 
org.apache.olingo.odata2.ref.datasource.model
* Split (and rename) module 'annotation-processor-webref' to 
'datasource-processor-web' and 'datasource-processor-web' to be consistent with 
reference implementations in other modules

h4. Proposed state:
* datasource-processor-api
** Packages: 
*** org.apache.olingo.odata2.api.datasource.data which contains {{DataSource}} 
and {{ValueAccess}}
*** org.apache.olingo.odata2.api.datasource.processor which contains 
{{DataSourceProcessor}}
* datasource-processor-core
** Packages: 
*** org.apache.olingo.odata2.core.datasource.data
*** org.apache.olingo.odata2.core.datasource.edm
*** org.apache.olingo.odata2.core.datasource.processor
*** org.apache.olingo.odata2.core.datasource.util
* datasource-processor-ref
** Packages: 
*** org.apache.olingo.odata2.ref.datasource
*** org.apache.olingo.odata2.ref.datasource.model
* datasource-processor-web which only bundles a {{war}} and do not contains any 
java source code



> Annotation processor refactoring
> --------------------------------
>
>                 Key: OLINGO-83
>                 URL: https://issues.apache.org/jira/browse/OLINGO-83
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-annotation
>            Reporter: Stephan Klevenz
>            Assignee: Michael Bolz
>            Priority: Blocker
>             Fix For: V2 1.1.0
>
>
> Package naming of annotation processor are not clear and need to be 
> discussed. In detail:
> - package names of core and api
> - check consistency with JPA processor
> - artifact naming
> - code review recommended
> - naming and structure of ref scenario (lib + web)



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to