Hi guys , As John pointed in his mail we still have a one problem left to slove , we have several base classes those are common for both DOM and OM implementations , If I take a example we have separate two WSDLReader class for DOM and OM implementatios but there is a common BaseWSDLReader class that common for above two classes , where we put this class ..?
one possible solution is to have four modules instead of three,as follows woden-api woden-core woden-impl-dom woden-impl-om this is just a suggestion for a discussion , I'm also think this structure is little bit complex. Thanks , Sagara Gunathunga Blog - ssagara.blogspot.com Web - http://sagaras.awardspace.com/ On Tue, Jun 24, 2008 at 6:44 PM, Saminda Abeyruwan <[EMAIL PROTECTED]> wrote: > Hi All, > > <root>/src/main/java > <root>/src/test/java > <root>/src/main/resources > <root>/src/test/resources > > is the default MVN layout. If prior approach is used, what you need to write > in pom.xmls will be minimum. > > If you guys thinking of Maven2 module as > woden-api > woden-impl-dom > woden-impl-om, > > IMHO, following package structure will really aid in creating a clean OSGi > Woden bundles, > woden-api -> org.apache.woden.api > woden-impl-dom -> org.apache.woden.impl.dom > woden-impl-om - >org.apache.woden.impl.om > > Since the prior change would break the backward compatibility in API, I > wouldn't suggest it at this moment. Prior structure would be consider as > nice to have. > > Thank you! > > Saminda > > On Tue, Jun 24, 2008 at 6:30 PM, John Kaputin (gmail) <[EMAIL PROTECTED]> > wrote: >> >> Hi Jeff, >> You could make the changes and post patches. We would need a new JIRA to >> record the issue and capture your patches. That was how we handled changes >> which introduced the existing 3 module build last year. That was done by a >> summer intern student (non-committer). If you'd like to take this on, I'd >> be willing to review your changes and do the committing. >> >> I'm not sure about a using 'java' twice in the directory structure you are >> proposing. For example: >> woden/java/woden-api/src/main/java >> >> Axis2 uses a structure like this: >> axis2/trunk/java/modules/<modulename>/src/<package> >> axis2/trunk/java/modules/<modulename>/test/<package> >> axis2/trunk/c/.... >> >> ...where /java distinguishes the java product from the c product. >> >> WS Commons uses: >> commons/trunk/modules/axiom/modules/axiom-api/src/main/java/<package> >> commons/trunk/modules/axiom/modules/axiom-api/src/test/java/<package> >> commons/trunk/modules/XmlSchema/src/main/java/<package> >> commons/trunk/modules/XmlSchema/src/test/java/<package> >> >> ...where there are only java products as indicated by the use of /java >> below /modules. >> >> I think we only envisaged a java product, so how about we adopt something >> similar to WS commons, like: >> woden/modules/woden-api/src/main/java/<package> >> woden/modules/woden-api/src/test/java/<package> >> >> How about changing .../resources/main/java to simply .../resources >> (similar to the existing Woden and Axis2 convention)? >> >> The org.apache.woden package contains just some high level Woden API >> interfaces and classes. It does not contain OM or DOM implementation >> classes. The WSDLFactory class does specify DOMWSDLFactory as a hardcoded >> default factory implementation, but the DOMWSDLFactory class is defined in a >> separate DOM package. >> >> One problem still exists. Some of the internal classes are not OM or DOM >> specific. For example, the BaseXXXXXXX classes refactor common behaviour >> into a super class which some of the DOMXXXX and OMXXXX classes extend. We >> need to consider where to put them in this module structure. >> >> One more very important consideration. We still have the original ANT >> build and we want to preserve it. That was a criteria when we introduced the >> Maven build. Any change to the project directory structure must not break >> the ANT build, so that will need to be changed too. >> >> regards, >> John. >> >> On Mon, Jun 23, 2008 at 11:22 PM, Jeff MAURY <[EMAIL PROTECTED]> >> wrote: >>> >>> >>> On Mon, Jun 23, 2008 at 4:17 PM, John Kaputin (gmail) >>> <[EMAIL PROTECTED]> wrote: >>> > >>> > Hi Jeff, >>> > last year when the ANT and Maven build was changed to separate the API >>> > and the DOM and OM implementations, there was some talk about building the >>> > WSDL 2.0 tools into a separate tools module. At that time the only tool >>> > was >>> > the converter, but the WSDL 2 printer has since been added. This could be >>> > a >>> > good thing. Currently the converter is built into the DOM implementation >>> > jar. It should probably be in a separate jar. >>> > >>> > Are you proposing to refactor the src/ directory into some other >>> > maven-like module structure that matches the modules created by the >>> > build? >>> > Can you post a quick proposal. >>> >>> John, >>> >>> you are right. The layout I propose is a layout inspired by Maven >>> conventions. Please find a short description of what I propose: >>> >>> woden/java/pom.xml: main woden pom declaring modules woden-api, woden-om, >>> woden-dom and woden-tool >>> woden/java/woden-api: directory for the Woden API under which we find >>> src/main/java: sources for packages org.apache.woden, >>> org.apache.woden.internal except tool, om, dom, ant >>> resources/main/java: resources (schemas, ...) >>> woden/java/woden-om: directory for the Woden OM Impl under which we find >>> src/main/java: all OM specific sources (org.apache.woden.internal.om). By >>> the way, I suggest that all OM related classes should be in the >>> org.apache.woden.internal.om whereas now some of them are under >>> org.apache.woden. >>> src/test/java: sources for the OM tests >>> src/test/resources: resources for the OM tests (WSDL, ...) >>> resources/main/java: resources (schemas, ...) >>> woden/java/woden-dom: directory for the Woden DOM Impl under which we >>> find >>> src/main/java: all DOM specific sources (org.apache.woden.internal.dom). >>> By the way, I suggest that all DOM related classes should be in the >>> org.apache.woden.internal.dom whereas now some of them are under >>> org.apache.woden. >>> src/test/java: sources for the DOM tests >>> src/test/resources: resources for the DOM tests (WSDL, ...) >>> resources/main/java: resources (schemas, ...) >>> woden/java/woden-tool: directory for the Woden Tool under which we find >>> src/main/java: Sources for the Converter. >>> src/test/java: sources for the converter tests >>> src/test/resources: resources for the converter tests (source WSDLs, >>> expected WSDL) >>> resources/main/java: resources (schemas, ...) >>> woden/java/woden-ant: directory for the Woden Ant task under which we >>> find >>> src/main/java: Sources for the Ant task. >>> I don't see the use of the eclipseplugin folder, maybe by the felix >>> plugin ? >>> I don't know what to do with the wsdl-view because I can't guess how it >>> is used ? Maybe we need to put it into a separate module. >>> >>> The advantage of this layout is that we will keep the current JAR names >>> (even if the content will be slightly different), the dependency between the >>> POM will be removed (when I created a module for woden-tool, I need to >>> modify the other POMs in order to excludes all converter related stuff, and >>> the src and test directories will disappear. >>> Any comments ? >>> Jeff >>> >>> >>> > >>> > >>> > thanks, >>> > John. >>> > >>> > 2008/6/19 Jeff MAURY <[EMAIL PROTECTED]>: >>> >> >>> >> Hello, >>> >> >>> >> I have a simple question regarding the directory layout. >>> >> As I am working on the converter, I have created a small test >>> >> framework for the converter and added both classes and resources in the >>> >> test >>> >> directory. >>> >> But it seems the converter is not yet compiled. >>> >> In order to test the converter, should I create a new tool or >>> >> converter module (like wooden-api, woden-om and wodem-dom). As there are >>> >> lots of dependencies between the modules, and the POMs are not really >>> >> maven >>> >> compliant, shouldn't we start by refactoring the directory layout ? >>> >> >>> >> Thanks >>> >> Jeff >>> >> >>> >> >>> >> -- >>> >> La mélancolie c'est communiste >>> >> Tout le monde y a droit de temps en temps >>> >> La mélancolie n'est pas capitaliste >>> >> C'est même gratuit pour les perdants >>> >> La mélancolie c'est pacifiste >>> >> On ne lui rentre jamais dedans >>> >> La mélancolie oh tu sais ça existe >>> >> Elle se prend même avec des gants >>> >> La mélancolie c'est pour les syndicalistes >>> >> Il faut juste sa carte de permanent >>> >> >>> >> Miossec (2006) >>> >> >>> >> http://www.jeffmaury.com >>> >> http://riadiscuss.jeffmaury.com >>> >> http://www.lastfm.fr/listen/user/jeffmaury/personal >>> >>> >>> >>> -- >>> La mélancolie c'est communiste >>> Tout le monde y a droit de temps en temps >>> La mélancolie n'est pas capitaliste >>> C'est même gratuit pour les perdants >>> La mélancolie c'est pacifiste >>> On ne lui rentre jamais dedans >>> La mélancolie oh tu sais ça existe >>> Elle se prend même avec des gants >>> La mélancolie c'est pour les syndicalistes >>> Il faut juste sa carte de permanent >>> >>> Miossec (2006) >>> >>> http://www.jeffmaury.com >>> http://riadiscuss.jeffmaury.com >>> http://www.lastfm.fr/listen/user/jeffmaury/personal > > > > -- > Saminda Abeyruwan > > Senior Software Engineer > WSO2 Inc. - www.wso2.org -- Sagara Gunathunga Blog - ssagara.blogspot.com Web - http://sagaras.awardspace.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
