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.

Reply via email to