Re: [cron block] dependency question

2004-10-21 Thread Vadim Gritsenko
Reinhard Poetz wrote:
Some thoughts I want to share:
goal: move towards real blocks - do as much work that can be reused later
- each block has its own build system
Why? It is easier to write and maintain single ant script than 55! (we have 55 
blocks right now)

Vadim


Re: [cron block] dependency question

2004-10-21 Thread Reinhard Poetz
Unico Hommes wrote:
Reinhard Poetz wrote:
Unico Hommes wrote:

Some thoughts I want to share:
goal: move towards real blocks - do as much work that can be reused later
- each block has its own build system
IIRC, Nicola already started an effort for an updated build system that 
features an individual build file for each block separately. I wonder 
what happened to that and whether it is useable already.

- each block has a public and a private directory
What does that do?
uups, I mean a public and a private source directory. Other blocks mustn't 
depend on private classes

- each block has a deployment descriptor:
  * list of blocks that are necessary to make them compile/run
  * list of blocks that are necessary at runtime
(e.g. forms needs xsp because of the examples)
  * list of all libraries
(all libraries are in a single Cocoon library repository
 and this way we can make sure that we don't end at jar hell
 -- real block and their shielding will finally solve this)
  -- create gump file
  -- create eclipse/idea project files
- each block only depends on
  - cocoon core
  - public sources of other blocks
This is the same file as blocks.xml for real blocks right?
Yep only stripped down for our current needs

a complete build runs through following steps:
- compile Cocoon core
- one build task that compiles all public directories
  at once (or can we make sure that there are no
  circular dependencies, which should be avoided of
  course)
- compile each block separatly
- create web application
- deploy each block separatly
  - copy samples
  - patch configuration files
but of course only a single block can be deployed too
It's probably a lot of work but sooner or later we have to do it 
anyway, so why should we suffer from our build system and a gigantic 
eclipse project any longer

For splitting the eclipse project there is an additional requirement 
that blocks and core directory don't overlap. Eclipse cannot deal with 
overlapping projects. So that would mean that the 2.2 core move to 
/repos/asf/cocoon/trunk/core .
IMO the eclipse project file for a block contains
- two source directories (public/private)
- Cocon core lib
- public libraries of blocks it depends on
- external libraries (currently in lib/optional)
This way we don't have to deal with Eclipse project dependencies, do we?
--
Reinhard


Re: [cron block] dependency question

2004-10-21 Thread Unico Hommes
Carsten Ziegeler wrote:
Unico Hommes wrote:
 

Ok ok, I get the hint ;-) 
   

Oh, that wasn't targetted at you, Unico, but if you have time... :)
 

I didn't really feel that it was. It just seems opportune that I take up 
the issue since I raised it. I'll see what I can do.

But before I decide to do any work 
there is another issue with the blocks build system I'm dying 
to resolve. What about having only one repository location 
for blocks? I am so tired of all the duplicate effort we have 
to do for each and every change to blocks. It shouldn't be neccessary.
   

Yes, and it should be simple.
 

There probably isn't a small amount of work involved to get 
it working but I'd like to know exactly what it would take to 
byte this bullet. 
Some of the steps involved that I can distinguish are:

1. Merge/sync the current 2.1.x and 2.2 blocks.What blocks 
have the biggest differences between their 2.1.x and 2.2 
copy? If there are unresolvable differerences, how to handle 
that? Have separate source locations for different versions 
in conflicting blocks? Define Cocoon target versions for 
individual blocks in gump.xml?

   

We have to finish the syncing, The wiki still lists some blocks
that haven't been synced yet - but again this is simple work.
 

Ah thanks for the pointer. I see there is plenty I can do in that 
departement.

Apart from that, some blocks depend (unfortunately) on some internal
things which have changed between 2.1.x and 2.2. The most 
prominent is of course XSP. But there are others that now
take advantage of some new features in 2.2 that aren't available
in 2.1.x.
So in the end this is not so easy.

We could start simple. First move blocks that don't have a difference
and leave the different ones in the two branches.
 

Hmm, that doesn't make the build system any simpler, but alas, we can 
clean up after the migration is complete.

But I would strongly suggest that we first finish syncing, can
then do a painless 2.1.6 release and then spend energy on
this issue. I personally don't want to delay a 2.1.6 release
just because of a broken build system etc.
 

That is true. Is there anything holding back a 2.1.6 release btw?
--
Unico


Re: [cron block] dependency question

2004-10-21 Thread Reinhard Poetz
Carsten Ziegeler wrote:
then do a painless 2.1.6 release and then spend energy on
this issue. I personally don't want to delay a 2.1.6 release
just because of a broken build system etc.
I agree, first the release (and sync) and then the change in the build system.
--
Reinhard


RE: [cron block] dependency question

2004-10-21 Thread Carsten Ziegeler
 
Unico Hommes wrote:
 
 That is true. Is there anything holding back a 2.1.6 release btw?
 
Apart from the syncing there is only one test that fails according to Vadim.
So, as soon as we have synced we can release.

Carsten



Re: [cron block] dependency question

2004-10-21 Thread Unico Hommes
Reinhard Poetz wrote:
Unico Hommes wrote:

[snip]
For splitting the eclipse project there is an additional requirement 
that blocks and core directory don't overlap. Eclipse cannot deal 
with overlapping projects. So that would mean that the 2.2 core move 
to /repos/asf/cocoon/trunk/core .

IMO the eclipse project file for a block contains
- two source directories (public/private)
- Cocon core lib
- public libraries of blocks it depends on
- external libraries (currently in lib/optional)
This way we don't have to deal with Eclipse project dependencies, do we?
Ah, so you mean to keep the notion of a single eclipse project but one 
whose project descriptor is split between a top level core one that 
references project fragments inside individual blocks using entity 
references? I am just guessing.

At least in eclipse this is illegal:
./.project.xml
./blocks/blockA/.project.xml
Opening both projects at the same time in the same workspace is not 
possible.

--
Unico


Re: [cron block] dependency question

2004-10-21 Thread Upayavira
Unico Hommes wrote:
Reinhard Poetz wrote:
Unico Hommes wrote:

[snip]
For splitting the eclipse project there is an additional requirement 
that blocks and core directory don't overlap. Eclipse cannot deal 
with overlapping projects. So that would mean that the 2.2 core move 
to /repos/asf/cocoon/trunk/core .

IMO the eclipse project file for a block contains
- two source directories (public/private)
- Cocon core lib
- public libraries of blocks it depends on
- external libraries (currently in lib/optional)
This way we don't have to deal with Eclipse project dependencies, do we?
Ah, so you mean to keep the notion of a single eclipse project but one 
whose project descriptor is split between a top level core one that 
references project fragments inside individual blocks using entity 
references? I am just guessing.

At least in eclipse this is illegal:
./.project.xml
./blocks/blockA/.project.xml
Opening both projects at the same time in the same workspace is not 
possible.
I understood him to mean one project per block. I'd prefer one project 
for all blocks.

Having said that, there's no reason why we couldn't have:
trunk/blocks/.project
trunk/blocks/forms/.project
trunk/blocks/databases/.project
etc
That way, you can do it which ever way suits you.
Upayavira


Re: [cron block] dependency question

2004-10-21 Thread Unico Hommes
Upayavira wrote:
Unico Hommes wrote:
Reinhard Poetz wrote:
Unico Hommes wrote:

[snip]
For splitting the eclipse project there is an additional 
requirement that blocks and core directory don't overlap. Eclipse 
cannot deal with overlapping projects. So that would mean that the 
2.2 core move to /repos/asf/cocoon/trunk/core .


IMO the eclipse project file for a block contains
- two source directories (public/private)
- Cocon core lib
- public libraries of blocks it depends on
- external libraries (currently in lib/optional)
This way we don't have to deal with Eclipse project dependencies, do 
we?

Ah, so you mean to keep the notion of a single eclipse project but 
one whose project descriptor is split between a top level core one 
that references project fragments inside individual blocks using 
entity references? I am just guessing.

At least in eclipse this is illegal:
./.project.xml
./blocks/blockA/.project.xml
Opening both projects at the same time in the same workspace is not 
possible.

I understood him to mean one project per block. I'd prefer one project 
for all blocks.

Having said that, there's no reason why we couldn't have:
trunk/blocks/.project
trunk/blocks/forms/.project
trunk/blocks/databases/.project
etc
That way, you can do it which ever way suits you.
But the core project descriptor currently is trunk/.project that should 
become trunk/core/.project in order to be able to open both core and 
blocks projects in the same workspace.

--
Unico


Re: [cron block] dependency question

2004-10-21 Thread Nicola Ken Barozzi
Vadim Gritsenko wrote:
Reinhard Poetz wrote:
Some thoughts I want to share:
goal: move towards real blocks - do as much work that can be reused later
- each block has its own build system

Why? It is easier to write and maintain single ant script than 55! (we 
have 55 blocks right now)
Let me answer for Reinhard :-)
If every local buildfile has
  import file=../common-block-build.xml
then there is not really more to maintain, but you gain in being able to 
customize the build where needed and to build the block 'locally'. It 
also becomes easier to accomodate for extra external blocks that do not 
necessarily need only our build targets.

--
Nicola Ken Barozzi   [EMAIL PROTECTED]
- verba volant, scripta manent -
   (discussions get forgotten, just code remains)
-


Re: [cron block] dependency question

2004-10-21 Thread Reinhard Poetz
Upayavira wrote:
Unico Hommes wrote:
Reinhard Poetz wrote:
Unico Hommes wrote:

[snip]
For splitting the eclipse project there is an additional requirement 
that blocks and core directory don't overlap. Eclipse cannot deal 
with overlapping projects. So that would mean that the 2.2 core move 
to /repos/asf/cocoon/trunk/core .


IMO the eclipse project file for a block contains
- two source directories (public/private)
- Cocon core lib
- public libraries of blocks it depends on
- external libraries (currently in lib/optional)
This way we don't have to deal with Eclipse project dependencies, do we?
Ah, so you mean to keep the notion of a single eclipse project but one 
whose project descriptor is split between a top level core one that 
references project fragments inside individual blocks using entity 
references? I am just guessing.

At least in eclipse this is illegal:
./.project.xml
./blocks/blockA/.project.xml
Opening both projects at the same time in the same workspace is not 
possible.

I understood him to mean one project per block. I'd prefer one project 
for all blocks.

Having said that, there's no reason why we couldn't have:
trunk/blocks/.project
trunk/blocks/forms/.project
trunk/blocks/databases/.project
etc
That way, you can do it which ever way suits you.
That's the idea. If you prefer having one project per block or prefer one 
project for all blocks + core, both should work.

--
Reinhard


Re: [cron block] dependency question

2004-10-21 Thread Reinhard Poetz
Nicola Ken Barozzi wrote:
Vadim Gritsenko wrote:
Reinhard Poetz wrote:
Some thoughts I want to share:
goal: move towards real blocks - do as much work that can be reused 
later

- each block has its own build system

Why? It is easier to write and maintain single ant script than 55! (we 
have 55 blocks right now)

Let me answer for Reinhard :-)
:-)
If every local buildfile has
  import file=../common-block-build.xml
then there is not really more to maintain, but you gain in being able to 
customize the build where needed and to build the block 'locally'. It 
also becomes easier to accomodate for extra external blocks that do not 
necessarily need only our build targets.
nothing to be added :-)
--
Reinhard


RE: [cron block] dependency question

2004-10-21 Thread Carsten Ziegeler
Nicola Ken Barozzi wrote:
 
  
  Why? It is easier to write and maintain single ant script 
 than 55! (we 
  have 55 blocks right now)
 
 Let me answer for Reinhard :-)
 
 If every local buildfile has
 
import file=../common-block-build.xml
 
 then there is not really more to maintain, but you gain in 
 being able to customize the build where needed and to build 
 the block 'locally'. It also becomes easier to accomodate for 
 extra external blocks that do not necessarily need only our 
 build targets.
 
Hmm, to be honest this frightens me a little bit. I really hope
that we are not experiencing the avalon build system problem
where each module had his own build file with all this complex
library and dependency handling and the final result was that
noone was able to use the build system for months. Then going
back and force from Ant to Maven etc. which in the end didn't
really help.

But in the end I trust you and I guess *we* will not suffer from
these problems. Let's just try to keep it as simple as possible,
but working :)

Carsten



Re: [cron block] dependency question

2004-10-21 Thread Stefano Mazzocchi
Carsten Ziegeler wrote:
Nicola Ken Barozzi wrote:
Why? It is easier to write and maintain single ant script 
than 55! (we 

have 55 blocks right now)
Let me answer for Reinhard :-)
If every local buildfile has
  import file=../common-block-build.xml
then there is not really more to maintain, but you gain in 
being able to customize the build where needed and to build 
the block 'locally'. It also becomes easier to accomodate for 
extra external blocks that do not necessarily need only our 
build targets.

Hmm, to be honest this frightens me a little bit. I really hope
that we are not experiencing the avalon build system problem
where each module had his own build file with all this complex
library and dependency handling and the final result was that
noone was able to use the build system for months. Then going
back and force from Ant to Maven etc. which in the end didn't
really help.
But in the end I trust you and I guess *we* will not suffer from
these problems. Let's just try to keep it as simple as possible,
but working :)
The simplest possible thing would be to have a block descriptor extend a 
maven POM and use maven to build them.

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [cron block] dependency question

2004-10-21 Thread Reinhard Poetz
Carsten Ziegeler wrote:
Nicola Ken Barozzi wrote:
Why? It is easier to write and maintain single ant script 
than 55! (we 

have 55 blocks right now)
Let me answer for Reinhard :-)
If every local buildfile has
  import file=../common-block-build.xml
then there is not really more to maintain, but you gain in 
being able to customize the build where needed and to build 
the block 'locally'. It also becomes easier to accomodate for 
extra external blocks that do not necessarily need only our 
build targets.

Hmm, to be honest this frightens me a little bit. I really hope
that we are not experiencing the avalon build system problem
where each module had his own build file with all this complex
library and dependency handling and the final result was that
noone was able to use the build system for months. Then going
back and force from Ant to Maven etc. which in the end didn't
really help.
But in the end I trust you and I guess *we* will not suffer from
these problems. Let's just try to keep it as simple as possible,
but working :)
we don't have to break our build system. we already have a new-targets directory 
where we can create a new build system. and when everything is working smoothly, 
we can switch. so don't worry :-)

--
Reinhard


[cron block] dependency question

2004-10-20 Thread Unico Hommes
I'd like to add the ability to use an excalibur DataSourceComponent as 
the ConnectionProvider for the QuartzJobScheduler's JobStore. However 
the solution I had in mind results in an additional dependency on the 
cocoon databases block. Not because of a compilation dependency on the 
source code of that block but on a jar in its lib directory. Am I 
correct in assuming that the policy on this is that I move the 
excalibur-datasource jar to lib/optional?

--
Unico


Re: [cron block] dependency question

2004-10-20 Thread Vadim Gritsenko
Unico Hommes wrote:
I'd like to add the ability to use an excalibur DataSourceComponent as 
the ConnectionProvider for the QuartzJobScheduler's JobStore. However 
the solution I had in mind results in an additional dependency on the 
cocoon databases block. Not because of a compilation dependency on the 
source code of that block but on a jar in its lib directory. Am I 
correct in assuming that the policy on this is that I move the 
excalibur-datasource jar to lib/optional?
Just an idea; can we move ALL libraries to lib/optional, and copy them into the 
WEB-INF/lib on as-needed basis, i.e. if block included which needs a library, 
only then librariy is copied over? This should be possible using the info from 
gump.xml...

This way we could eliminate several pseudo dependencies like this.
Vadim


[GUMP][PATCH] missed one avalon-framework dependency

2004-09-13 Thread Stefan Bodewig
Hi,

when David changed the descriptor to reflect the avalon restructuring,
one reference to avalon-framework was missed - it was well hidden by
Gump.

Please apply the appended patch to finally get nagged again ;-)

Cheers

Stefan


-- 
http://stefanbodewig.blogger.de/

Index: gump.xml
===
--- gump.xml(revision 43688)
+++ gump.xml(working copy)
@@ -40,7 +40,7 @@
 ant target=gump-core
   property name=version value=@@DATE@@/
   depend property=logkit.jar project=avalon-logkit/
-  depend property=avalonapi.jar project=avalon-framework id=api/
+  depend property=avalonapi.jar project=avalon-framework-api/
 /ant
 
 depend project=ant inherit=runtime/


Re: [GUMP][PATCH] missed one avalon-framework dependency

2004-09-13 Thread Stefano Mazzocchi
Stefan Bodewig wrote:
Hi,
when David changed the descriptor to reflect the avalon restructuring,
one reference to avalon-framework was missed - it was well hidden by
Gump.
Please apply the appended patch to finally get nagged again ;-)
now that we have SVN, could we say that gump.xml in cocoon is writeable 
by all the ASF committers, just like gump? that would allow gumpers to 
help out *and* the cocoon build system to still function and being more 
actively maintained?

thoughts?
--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [GUMP][PATCH] missed one avalon-framework dependency

2004-09-13 Thread Antonio Gallardo
Stefano Mazzocchi dijo:
 now that we have SVN, could we say that gump.xml in cocoon is writeable
 by all the ASF committers, just like gump? that would allow gumpers to
 help out *and* the cocoon build system to still function and being more
 actively maintained?

 thoughts?

+1

Best Regards,

Antonio Gallardo



Re: [PATCH] tour block has dependency on slop

2004-06-08 Thread Jorg Heymans
Good to know thanks !
Jorg
Joerg Heinicke wrote:
Thanks for the hint. Important is adding the dependency in gump.xml.
The blocks.properties is only generated by
build generate-blocks.properties.
Joerg



[PATCH] tour block has dependency on slop

2004-06-07 Thread Jorg Heymans
Index: blocks.properties
===
RCS file: /home/cvspublic/cocoon-2.1/blocks.properties,v
retrieving revision 1.80
diff -u -r1.80 blocks.properties
--- blocks.properties   7 Jun 2004 01:04:18 -   1.80
+++ blocks.properties   7 Jun 2004 14:46:23 -
@@ -140,10 +140,11 @@
 #include.block.serializers=false
 #-[dependency]: slide depends on jms, repository.
 #include.block.slide=false
+#-[dependency]: slop is needed by tour.
 #include.block.slop=false
 #include.block.stx=false
 #include.block.taglib=false
-#-[dependency]: tour depends on batik, fop, forms.
+#-[dependency]: tour depends on batik, fop, forms, slop.
 #include.block.tour=false
 #-[dependency]: webdav depends on repository.
 #include.block.webdav=false


Re: [PATCH] tour block has dependency on slop

2004-06-07 Thread Joerg Heinicke
Thanks for the hint. Important is adding the dependency in gump.xml.
The blocks.properties is only generated by
build generate-blocks.properties.
Joerg


Slide/jms dependency

2004-01-13 Thread Unico Hommes

I am looking into adding a class to the Slide block that sends
invalidation events over JMS so that the event caching system can pick
them up and do its work accordingly. However, I am running into the
problem that the class depends on the jms jar that is in the jms block. 

I tried adding a dependency on the jms block in gump.xml but that
doesn't seem to work. Should there be a way declare a dependency on
another block so that all of *its* dependencies are traversed and added
to the compilation classpath as well? The other solution is to have a
copy of the same jar in the Slide block too.

WDOT?

Unico


RE: Slide/jms dependency

2004-01-13 Thread Unico Hommes

Aw shoot, please ignore this. It seems that depending on a block *does*
add its dependencies to the classpath. The reason I didn't see it was
that the target I was running didn't recreate blocks-build.xml. Sorry
for the noise.

Unico

 -Original Message-
 From: Unico Hommes 
 Sent: dinsdag 13 januari 2004 11:54
 To: [EMAIL PROTECTED]
 Subject: Slide/jms dependency
 
 
 I am looking into adding a class to the Slide block that 
 sends invalidation events over JMS so that the event caching 
 system can pick them up and do its work accordingly. However, 
 I am running into the problem that the class depends on the 
 jms jar that is in the jms block. 
 
 I tried adding a dependency on the jms block in gump.xml but 
 that doesn't seem to work. Should there be a way declare a 
 dependency on another block so that all of *its* dependencies 
 are traversed and added to the compilation classpath as well? 
 The other solution is to have a copy of the same jar in the 
 Slide block too.
 
 WDOT?
 
 Unico
 
 


Re: Portal dependency on JDOM is overrated?

2003-09-14 Thread Guido Casper
Joerg Heinicke [EMAIL PROTECTED] wrote:
 Carsten is in holidays for three weeks, but maybe one of the other SN
 people knows (Matthew, Guido)?? Was it planned to replace W3C DOM with
 JDOM or the other way around?

I'm not familiar with the portal code and don't know of any planned
refactoring. I'd say if JDOM isn't used, remove it. I'll take Carsten's
rage ;-)

Guido

(Maybe one of the BASF people know more, Volker?)


 Joerg

 Vadim Gritsenko wrote:
 Couple of portal files:


cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\P
ortalApplicationConfig.java



cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\P
ortalApplicationConfigFactory.java

 excplicitly mention JDOM in theirs Javadoc. But anywhere in code they
 require JDOM, just good'ol w3c DOM. I presume that this is it a bug
 in
 Javadoc which can easily be fixed?



 Joerg Heinicke wrote:

 Can we also remove JDOM completely? I didn't see any relation to the
 Cocoon project and could exclude it from build without any problems
 with compiling.



 Sure. Let's clear up this above issue, and then I'll remove jdom too.

 Vadim



Re:Re: Portal dependency on JDOM is overrated?

2003-09-14 Thread volker . schmitt

I think it is only a documentation fault.
I add the author to CC ([EMAIL PROTECTED])

Volker




Joerg Heinicke [EMAIL PROTECTED] wrote:
 Carsten is in holidays for three weeks, but maybe one of the other SN
 people knows (Matthew, Guido)?? Was it planned to replace W3C DOM with
 JDOM or the other way around?

I'm not familiar with the portal code and don't know of any planned
refactoring. I'd say if JDOM isn't used, remove it. I'll take Carsten's
rage ;-)

Guido

(Maybe one of the BASF people know more, Volker?)


 Joerg

 Vadim Gritsenko wrote:
 Couple of portal files:


cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\P
ortalApplicationConfig.java



cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\P
ortalApplicationConfigFactory.java

 excplicitly mention JDOM in theirs Javadoc. But anywhere in code they
 require JDOM, just good'ol w3c DOM. I presume that this is it a bug
 in
 Javadoc which can easily be fixed?



 Joerg Heinicke wrote:

 Can we also remove JDOM completely? I didn't see any relation to the
 Cocoon project and could exclude it from build without any problems
 with compiling.



 Sure. Let's clear up this above issue, and then I'll remove jdom too.

 Vadim








Portal dependency on JDOM is overrated?

2003-09-13 Thread Vadim Gritsenko
Couple of portal files:
 
cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\PortalApplicationConfig.java
 
cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\PortalApplicationConfigFactory.java
excplicitly mention JDOM in theirs Javadoc. But anywhere in code they 
require JDOM, just good'ol w3c DOM. I presume that this is it a bug in 
Javadoc which can easily be fixed?



Joerg Heinicke wrote:

Can we also remove JDOM completely? I didn't see any relation to the 
Cocoon project and could exclude it from build without any problems 
with compiling.


Sure. Let's clear up this above issue, and then I'll remove jdom too.

Vadim




Re: Portal dependency on JDOM is overrated?

2003-09-13 Thread Joerg Heinicke
Carsten is in holidays for three weeks, but maybe one of the other SN 
people knows (Matthew, Guido)?? Was it planned to replace W3C DOM with 
JDOM or the other way around?

Joerg

Vadim Gritsenko wrote:
Couple of portal files:
 
cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\PortalApplicationConfig.java 

 
cocoon-2.1\src\blocks\portal\java\org\apache\cocoon\portal\application\PortalApplicationConfigFactory.java 

excplicitly mention JDOM in theirs Javadoc. But anywhere in code they 
require JDOM, just good'ol w3c DOM. I presume that this is it a bug in 
Javadoc which can easily be fixed?



Joerg Heinicke wrote:

Can we also remove JDOM completely? I didn't see any relation to the 
Cocoon project and could exclude it from build without any problems 
with compiling.


Sure. Let's clear up this above issue, and then I'll remove jdom too.

Vadim



<    1   2   3