You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Delos Dai (JIRA)" <ji...@apache.org> on 2010/04/26 07:53:31 UTC

[jira] Created: (GERONIMODEVTOOLS-643) Refactor GEP 3.0 code to decouple various server adapters

Refactor GEP 3.0 code to decouple various server adapters
---------------------------------------------------------

                 Key: GERONIMODEVTOOLS-643
                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643
             Project: Geronimo-Devtools
          Issue Type: Improvement
          Components: eclipse-plugin
    Affects Versions: 3.0
            Reporter: Delos Dai
            Assignee: Delos Dai
             Fix For: 3.0


GEP 3.0 will contain server adapters of all versions, including v1.1,v2.0,v2.1,v2.2,v3.0. It makes current GEP code much complicated. 

IMO, we have following guideline of GEP structure design
1) "org.apache.geronimo.st.core" and ""org.apache.geronimo.st.ui" has common functions used by various adapters. These two plug-ins shouln't depend on any version specific adapter plug-in, such as "org.apache.geronimo.runtime.vXX","org.apache.geronimo.st.vXX.core" and "org.apache.geronimo.st.vXX.ui" 
2) "org.apache.geronimo.j2ee.v11.jaxbmodel" is dedicated to v11 adapter, while "org.apache.geronimo.jee.v21.jaxbmodel" is for v20,v21,v22 adapter. So far, no jaxb model updated for v30, so v30 adapter still depends on  "org.apache.geronimo.jee.v21.jaxbmodel"
3 )Since v20,v21 and v22 adapters all depends on v21  jaxb model , they shared operations on the model. Currently, we put all their shared  operations in "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". Both plug-ins of v20 and v21 adapters depend on them.
4) For v11 adapter, it's the only  adapter for JEE 4 and it depends on v11 jaxb model. Except common functions in "org.apache.geronimo.st.core", it doesn't have much in common with other adapter. 
5) For v30 adapter, it's the only adapter for JavaEE 6. Currently, since it still uses v21 jaxb model, it needs operations on the model. As a result, V30 plug-in still depends on "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". In future, once updated jaxb model for v30 is added, we will remove v21.core and v21.ui from its dependency list.

Unfortunately, current GEP code doesn't strictly obey the guideline above. So I did some refactoring work for GEP 3.0 code. I won't commit the change until we get an agreement on this.

I hope all of us are able to have the same undertstanding on GEP structure. It will avoid potential confusion in future.  

Thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMODEVTOOLS-643) Refactor GEP 3.0 code to decouple various server adapters

Posted by "Tim McConnell (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862070#action_12862070 ] 

Tim McConnell commented on GERONIMODEVTOOLS-643:
------------------------------------------------

Hi Delos, I like this idea. I've incorporated some changes into trunk to decouple the V30 plugins from the st.ui and st.core plugins just to ease the integration of the new OSGi functionality, which will cause a lot of the existing code to change. This way, it will only have to be changed in 1 plugin instead of multiple plugins. Also, I wonder if it might be possible to further isolate all the JAXB code into any new JAXB plugins themselves ?? That way, if there is a new JAXB plugin for V30, all the models and JAXB utilities could be included in just that plugin, and not spread across mutliple plugins like it is now....

> Refactor GEP 3.0 code to decouple various server adapters
> ---------------------------------------------------------
>
>                 Key: GERONIMODEVTOOLS-643
>                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643
>             Project: Geronimo-Devtools
>          Issue Type: Improvement
>          Components: eclipse-plugin
>    Affects Versions: 3.0
>            Reporter: Delos Dai
>            Assignee: Delos Dai
>             Fix For: 3.0
>
>
> GEP 3.0 will contain server adapters of all versions, including v1.1,v2.0,v2.1,v2.2,v3.0. It makes current GEP code much complicated. 
> IMO, we have following guideline of GEP structure design
> 1) "org.apache.geronimo.st.core" and ""org.apache.geronimo.st.ui" has common functions used by various adapters. These two plug-ins shouln't depend on any version specific adapter plug-in, such as "org.apache.geronimo.runtime.vXX","org.apache.geronimo.st.vXX.core" and "org.apache.geronimo.st.vXX.ui" 
> 2) "org.apache.geronimo.j2ee.v11.jaxbmodel" is dedicated to v11 adapter, while "org.apache.geronimo.jee.v21.jaxbmodel" is for v20,v21,v22 adapter. So far, no jaxb model updated for v30, so v30 adapter still depends on  "org.apache.geronimo.jee.v21.jaxbmodel"
> 3 )Since v20,v21 and v22 adapters all depends on v21  jaxb model , they shared operations on the model. Currently, we put all their shared  operations in "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". Both plug-ins of v20 and v21 adapters depend on them.
> 4) For v11 adapter, it's the only  adapter for JEE 4 and it depends on v11 jaxb model. Except common functions in "org.apache.geronimo.st.core", it doesn't have much in common with other adapter. 
> 5) For v30 adapter, it's the only adapter for JavaEE 6. Currently, since it still uses v21 jaxb model, it needs operations on the model. As a result, V30 plug-in still depends on "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". In future, once updated jaxb model for v30 is added, we will remove v21.core and v21.ui from its dependency list.
> Unfortunately, current GEP code doesn't strictly obey the guideline above. So I did some refactoring work for GEP 3.0 code. I won't commit the change until we get an agreement on this.
> I hope all of us are able to have the same undertstanding on GEP structure. It will avoid potential confusion in future.  
> Thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (GERONIMODEVTOOLS-643) Refactor GEP 3.0 code to decouple various server adapters

Posted by "Delos Dai (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Delos Dai resolved GERONIMODEVTOOLS-643.
----------------------------------------

    Resolution: Fixed

Complete the refactoring work mentioned in initial comment

> Refactor GEP 3.0 code to decouple various server adapters
> ---------------------------------------------------------
>
>                 Key: GERONIMODEVTOOLS-643
>                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643
>             Project: Geronimo-Devtools
>          Issue Type: Improvement
>          Components: eclipse-plugin
>    Affects Versions: 3.0
>            Reporter: Delos Dai
>            Assignee: Delos Dai
>             Fix For: 3.0
>
>
> GEP 3.0 will contain server adapters of all versions, including v1.1,v2.0,v2.1,v2.2,v3.0. It makes current GEP code much complicated. 
> IMO, we have following guideline of GEP structure design
> 1) "org.apache.geronimo.st.core" and ""org.apache.geronimo.st.ui" has common functions used by various adapters. These two plug-ins shouln't depend on any version specific adapter plug-in, such as "org.apache.geronimo.runtime.vXX","org.apache.geronimo.st.vXX.core" and "org.apache.geronimo.st.vXX.ui" 
> 2) "org.apache.geronimo.j2ee.v11.jaxbmodel" is dedicated to v11 adapter, while "org.apache.geronimo.jee.v21.jaxbmodel" is for v20,v21,v22 adapter. So far, no jaxb model updated for v30, so v30 adapter still depends on  "org.apache.geronimo.jee.v21.jaxbmodel"
> 3 )Since v20,v21 and v22 adapters all depends on v21  jaxb model , they shared operations on the model. Currently, we put all their shared  operations in "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". Both plug-ins of v20 and v21 adapters depend on them.
> 4) For v11 adapter, it's the only  adapter for JEE 4 and it depends on v11 jaxb model. Except common functions in "org.apache.geronimo.st.core", it doesn't have much in common with other adapter. 
> 5) For v30 adapter, it's the only adapter for JavaEE 6. Currently, since it still uses v21 jaxb model, it needs operations on the model. As a result, V30 plug-in still depends on "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". In future, once updated jaxb model for v30 is added, we will remove v21.core and v21.ui from its dependency list.
> Unfortunately, current GEP code doesn't strictly obey the guideline above. So I did some refactoring work for GEP 3.0 code. I won't commit the change until we get an agreement on this.
> I hope all of us are able to have the same undertstanding on GEP structure. It will avoid potential confusion in future.  
> Thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMODEVTOOLS-643) Refactor GEP 3.0 code to decouple various server adapters

Posted by "Delos Dai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12869517#action_12869517 ] 

Delos Dai commented on GERONIMODEVTOOLS-643:
--------------------------------------------

Complete item 3 in revision #946542 and #946558

> Refactor GEP 3.0 code to decouple various server adapters
> ---------------------------------------------------------
>
>                 Key: GERONIMODEVTOOLS-643
>                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643
>             Project: Geronimo-Devtools
>          Issue Type: Improvement
>          Components: eclipse-plugin
>    Affects Versions: 3.0
>            Reporter: Delos Dai
>            Assignee: Delos Dai
>             Fix For: 3.0
>
>
> GEP 3.0 will contain server adapters of all versions, including v1.1,v2.0,v2.1,v2.2,v3.0. It makes current GEP code much complicated. 
> IMO, we have following guideline of GEP structure design
> 1) "org.apache.geronimo.st.core" and ""org.apache.geronimo.st.ui" has common functions used by various adapters. These two plug-ins shouln't depend on any version specific adapter plug-in, such as "org.apache.geronimo.runtime.vXX","org.apache.geronimo.st.vXX.core" and "org.apache.geronimo.st.vXX.ui" 
> 2) "org.apache.geronimo.j2ee.v11.jaxbmodel" is dedicated to v11 adapter, while "org.apache.geronimo.jee.v21.jaxbmodel" is for v20,v21,v22 adapter. So far, no jaxb model updated for v30, so v30 adapter still depends on  "org.apache.geronimo.jee.v21.jaxbmodel"
> 3 )Since v20,v21 and v22 adapters all depends on v21  jaxb model , they shared operations on the model. Currently, we put all their shared  operations in "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". Both plug-ins of v20 and v21 adapters depend on them.
> 4) For v11 adapter, it's the only  adapter for JEE 4 and it depends on v11 jaxb model. Except common functions in "org.apache.geronimo.st.core", it doesn't have much in common with other adapter. 
> 5) For v30 adapter, it's the only adapter for JavaEE 6. Currently, since it still uses v21 jaxb model, it needs operations on the model. As a result, V30 plug-in still depends on "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". In future, once updated jaxb model for v30 is added, we will remove v21.core and v21.ui from its dependency list.
> Unfortunately, current GEP code doesn't strictly obey the guideline above. So I did some refactoring work for GEP 3.0 code. I won't commit the change until we get an agreement on this.
> I hope all of us are able to have the same undertstanding on GEP structure. It will avoid potential confusion in future.  
> Thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMODEVTOOLS-643) Refactor GEP 3.0 code to decouple various server adapters

Posted by "Delos Dai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12865767#action_12865767 ] 

Delos Dai commented on GERONIMODEVTOOLS-643:
--------------------------------------------

After talk with Tim, I think we will refactor current code as follows
1) Make all v30 plugins independent. All plugins for v30 adapters won't depend on st.core,st.ui,st.v21.core and st.v21.ui any more. Just as Tim said, it will be much convenient to integrate new OSGI functionality for v30 adapters.

2) Keep refactoring code for remaining adapters v11,v20,v21 and v22. It will go according to the first four guidelines in description.

3) Pull all operations for JAXB model into jaxb model plugin. It will make jaxb model with high coherence. 

Tim, I found you have completed item 1. I have completed item 2 in #942744. 

I will continue working on item 3.



> Refactor GEP 3.0 code to decouple various server adapters
> ---------------------------------------------------------
>
>                 Key: GERONIMODEVTOOLS-643
>                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-643
>             Project: Geronimo-Devtools
>          Issue Type: Improvement
>          Components: eclipse-plugin
>    Affects Versions: 3.0
>            Reporter: Delos Dai
>            Assignee: Delos Dai
>             Fix For: 3.0
>
>
> GEP 3.0 will contain server adapters of all versions, including v1.1,v2.0,v2.1,v2.2,v3.0. It makes current GEP code much complicated. 
> IMO, we have following guideline of GEP structure design
> 1) "org.apache.geronimo.st.core" and ""org.apache.geronimo.st.ui" has common functions used by various adapters. These two plug-ins shouln't depend on any version specific adapter plug-in, such as "org.apache.geronimo.runtime.vXX","org.apache.geronimo.st.vXX.core" and "org.apache.geronimo.st.vXX.ui" 
> 2) "org.apache.geronimo.j2ee.v11.jaxbmodel" is dedicated to v11 adapter, while "org.apache.geronimo.jee.v21.jaxbmodel" is for v20,v21,v22 adapter. So far, no jaxb model updated for v30, so v30 adapter still depends on  "org.apache.geronimo.jee.v21.jaxbmodel"
> 3 )Since v20,v21 and v22 adapters all depends on v21  jaxb model , they shared operations on the model. Currently, we put all their shared  operations in "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". Both plug-ins of v20 and v21 adapters depend on them.
> 4) For v11 adapter, it's the only  adapter for JEE 4 and it depends on v11 jaxb model. Except common functions in "org.apache.geronimo.st.core", it doesn't have much in common with other adapter. 
> 5) For v30 adapter, it's the only adapter for JavaEE 6. Currently, since it still uses v21 jaxb model, it needs operations on the model. As a result, V30 plug-in still depends on "org.apache.geronimo.st.v21.core" and ""org.apache.geronimo.st.v21.ui". In future, once updated jaxb model for v30 is added, we will remove v21.core and v21.ui from its dependency list.
> Unfortunately, current GEP code doesn't strictly obey the guideline above. So I did some refactoring work for GEP 3.0 code. I won't commit the change until we get an agreement on this.
> I hope all of us are able to have the same undertstanding on GEP structure. It will avoid potential confusion in future.  
> Thanks!

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.