Re: JNet integration

2008-03-26 Thread Reinhard Poetz

Joerg Heinicke wrote:

On 25.03.2008 10:53, Reinhard Poetz wrote:

Once again, my goal is that if you use e.g. Corona in its simplest 
form, I don't want to make everybody and his dog depend on 
JNet/SourceResolve/Source. E.g. see the FileGenerator. Using the URL 
object is enough for simple use cases of a pipeline API.


Yes, I understand that when it comes to caching pipelines, you need 
more, but not everybody needs caching pipelines. For that purpose 
there could be a CacheableFileGenerator, etc.


If you are right and it is difficult or even impossible to remove the 
dependencies on source/sourceresolve/xmlutils/jnet, then be it. I 
withdraw my example Url(servlet:...) from above. When we can switch 
to sourceresolve 3.0, the dependency graph will get smaller anyway.


The main benefit from using URLs (instead of the SourceResolver) comes 
from simple use cases, e.g. you need a pipeline in your Java 
application that reads in some XML file, performs some transformations 
and finally creates a PDF document. FWIW, using URLs should be all 
that you need.


Hmm, I don't see the advantages of dropping the Source abstractions. Why 
giving up all the good things just to remove one dependency? 


I'm not talking about giving up the Source abstraction (as long as there is no 
equivalent replacement in the Java Standard API) but to put it on top of 
java.net.URL.


What are 
the downsides of the Source abstraction? 


When we are able to introduce a pipeline API, we don't need it for simple use 
cases. The concept of URLs is well-known in the Java world, the Source 
abstraction is not.


I never had the need to 
implement a Source and for the mentioned simple cases I wonder where you 
have to cope with them at all? Cocoon used to be a framework for 
non-Java developers ... even if we introduce a pipeline API as in the 
examples in this thread why do I need to care about Urls or Sources at 
all? Why should it be different then map:generate with its src 
attribtue? And when I read CacheableFileGenerator something tells me 
this approach is wrong.


What's the advantage of giving our components the responsibility to deal with 
strings that represent sources?


--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: JNet integration

2008-03-26 Thread Carsten Ziegeler
It seems that this topic is even more interesting than the environment 
abstraction threads we had a while back :)


Ok, first of all, the sourceresolver is a very cool component and I 
really like it (and it was also me who started this component years ago 
:) ). As the java api lacks such kind of an abstraction, its good to 
have it.
Other approaches like the Spring resource stuff are not as good as they 
are not very flexible.
So, it doesn't make sense to drop this stuff for Cocoon - seeing Cocoon 
as the big framework for building web applications.


But on the other side we are talking about making Cocoon more modular 
and easier to understand. The Corona work is a great start and for me it 
makes totally sense to base the core api just on the java net stuff. 
It's much easier to understand and use. When we were doing Cocoon 
trainings, it was always a little bit difficult to get the point across 
that people should use the source resolver and not the file api or the 
java net api. Not a big deal, but still it adds more new stuff on top of 
the core api than you might need.


While the source resolver, source factory and source interfaces are of 
great use, I'm not so sure about the extensions of the source interface 
like modifiable source or traversable source. I rarely needed them 
through the years, but your mileage might vary.


Caching is very important and the java api does not provide a very good 
way to support caching in general. The source abstaction was built with 
caching in mind.
If you look at the pipeline caching we have in cocoon it is rather 
complicated (it can cache partial pipelines etc.), and during the years 
we switched for a time based/event based caching of complete pipelines. 
But again your mileage may vary.


The question is now if we need support for caching in the low level apis 
or if it is possible to have a layered approach - which would make the 
entry barrier much easier.


Carsten
--
Carsten Ziegeler
[EMAIL PROTECTED]


Re: JNet integration

2008-03-26 Thread Joerg Heinicke

On 26.03.2008 03:34, Reinhard Poetz wrote:

I never had the need to implement a Source and for the mentioned 
simple cases I wonder where you have to cope with them at all? Cocoon 
used to be a framework for non-Java developers ... even if we 
introduce a pipeline API as in the examples in this thread why do I 
need to care about Urls or Sources at all? Why should it be different 
then map:generate with its src attribtue? And when I read 
CacheableFileGenerator something tells me this approach is wrong.


What's the advantage of giving our components the responsibility to deal 
with strings that represent sources?


Isn't that what components are there for? Encapsulating commonly used 
functionality? Why should I extract that to the pipeline *instance* 
level? So writing pipelines is becoming a mess!


Joerg


Re: JNet integration

2008-03-26 Thread Carsten Ziegeler

Joerg Heinicke wrote:

On 26.03.2008 03:34, Reinhard Poetz wrote:

I never had the need to implement a Source and for the mentioned 
simple cases I wonder where you have to cope with them at all? Cocoon 
used to be a framework for non-Java developers ... even if we 
introduce a pipeline API as in the examples in this thread why do I 
need to care about Urls or Sources at all? Why should it be different 
then map:generate with its src attribtue? And when I read 
CacheableFileGenerator something tells me this approach is wrong.


What's the advantage of giving our components the responsibility to 
deal with strings that represent sources?


Isn't that what components are there for? Encapsulating commonly used 
functionality? Why should I extract that to the pipeline *instance* 
level? So writing pipelines is becoming a mess!


Hmm, I don't think so. Imagine a pipeline java api just taking a uri for 
the sources used in the pipeline. That's simple and easy.
Now, you can use the source resolver on top of that, resolve your 
sources and you get a uri from your source that you can put into the 
pipeline api.

That's neither a mess nor does it require more java coding.

Carsten

--
Carsten Ziegeler
[EMAIL PROTECTED]


Re: JNet integration

2008-03-26 Thread Ralph Goers



Carsten Ziegeler wrote:


Hmm, I don't think so. Imagine a pipeline java api just taking a uri 
for the sources used in the pipeline. That's simple and easy.
Now, you can use the source resolver on top of that, resolve your 
sources and you get a uri from your source that you can put into the 
pipeline api.

That's neither a mess nor does it require more java coding.

That sounds good in theory, but the proof is in when you actually try to 
do it with caching enabled. As I said, I'm not really too interested in 
the non-caching use case as I view that as the minority use case. 
Furthermore, the non-caching use case can always be dealt with by using 
the caching use case and just turning off the cache.


So you build this pipeline API that only uses java.net. Now you want to 
build pipelines that cache. Does the Source now have to show through the 
caching version of the pipeline API?  If it does you will have a real 
mess as now users of pipelines have to determine whether they are 
caching or non-caching just to determine what methods they can use.


Ralph


Re: JNet integration

2008-03-26 Thread Joerg Heinicke

On 26.03.2008 08:04, Carsten Ziegeler wrote:

What's the advantage of giving our components the responsibility to 
deal with strings that represent sources?


Isn't that what components are there for? Encapsulating commonly used 
functionality? Why should I extract that to the pipeline *instance* 
level? So writing pipelines is becoming a mess!


Hmm, I don't think so. Imagine a pipeline java api just taking a uri for 
the sources used in the pipeline. That's simple and easy.
Now, you can use the source resolver on top of that, resolve your 
sources and you get a uri from your source that you can put into the 
pipeline api.

That's neither a mess nor does it require more java coding.


I'm not sure if we are talking about the same. If I take Reinhard's 
sample [1]


URL baseUrl = new URL(file:///C:/temp/);
Pipeline pipeline = new NonCachingPipeline();
pipeline.addComponent(new FileGenerator(new URL(baseUrl, xyz.xml));
pipeline.addComponent(new XSLTTransformer(new URL(baseUrl, xyz.xslt));
pipeline.addComponent(new XMLSerializer());
pipeline.invoke(new InvocationImpl(System.out));

and want to add caching to it and therefore have to switch from URL to 
Source and from FileGenerator to CachingFileGenerator - sorry, but 
that's a mess since this means pretty much rewriting the application for 
adding caching. Why is this page so slow? Oh, sorry we forgot this 
pipeline to switch to caching ...


Why can't high-level pipeline components use low-level components like 
SourceResolver? Then it is up to the component to use either URLs or 
Sources. That would be like implementing CacheableProcessingComponent or 
not.


That's why I wonder where a pipeline writer gets into uri resolving at 
all? Why does he have to care about URLs or Sources? That's the 
component developer's concern.


I really wonder if I miss something. All this seems to be too obvious to 
me ...


Joerg

[1] http://marc.info/?l=xml-cocoon-devm=120646488429681w=4


Re: JNet integration

2008-03-26 Thread Carsten Ziegeler

Ralph Goers wrote:



Carsten Ziegeler wrote:


Hmm, I don't think so. Imagine a pipeline java api just taking a uri 
for the sources used in the pipeline. That's simple and easy.
Now, you can use the source resolver on top of that, resolve your 
sources and you get a uri from your source that you can put into the 
pipeline api.

That's neither a mess nor does it require more java coding.

That sounds good in theory, but the proof is in when you actually try to 
do it with caching enabled. As I said, I'm not really too interested in 
the non-caching use case as I view that as the minority use case. 
Furthermore, the non-caching use case can always be dealt with by using 
the caching use case and just turning off the cache.
:) Sure, I have many use cases for pipelines where I don't need caching 
at all - like some processing pipelines that are not used for creating 
web responses.




So you build this pipeline API that only uses java.net. Now you want to 
build pipelines that cache. Does the Source now have to show through the 
caching version of the pipeline API?  If it does you will have a real 
mess as now users of pipelines have to determine whether they are 
caching or non-caching just to determine what methods they can use.


Hmm, ok, I have not thought about this very deeply, so I don't have an 
answer yet and perhaps there is no good answer and it might turn out 
that all this is not a good idea.


But :) without looking further into it, I have the feeling that it 
should be possible to build a clean layered architecture that solves all 
our problems. And perhaps it turns out that it might make more sense to 
use the sourceresolver throughout all of these layers.


Carsten
--
Carsten Ziegeler
[EMAIL PROTECTED]


Re: JNet integration

2008-03-26 Thread Carsten Ziegeler

Joerg Heinicke wrote:


I'm not sure if we are talking about the same. If I take Reinhard's 
sample [1]


URL baseUrl = new URL(file:///C:/temp/);
Pipeline pipeline = new NonCachingPipeline();
pipeline.addComponent(new FileGenerator(new URL(baseUrl, xyz.xml));
pipeline.addComponent(new XSLTTransformer(new URL(baseUrl, xyz.xslt));
pipeline.addComponent(new XMLSerializer());
pipeline.invoke(new InvocationImpl(System.out));


Ok, up to here we are talking about the same :) Adding the 
sourceresolver and sources to the above example and let the sources 
return the urls should be easy. That's more or less what you do today.




and want to add caching to it and therefore have to switch from URL to 
Source and from FileGenerator to CachingFileGenerator - sorry, but 
that's a mess since this means pretty much rewriting the application for 
adding caching. Why is this page so slow? Oh, sorry we forgot this 
pipeline to switch to caching ...

Ah, no no, I'm not saying this :) There should only be one file generator.
Let's use the above example: you setup the pipeline as shown above and 
then do a:

Pipeline cachingPipeline = new CachingPipeline(pipeline);

Et voila! That's all you have to do.

Now, as I answered to Ralphs mail, I don't know if this is possible or 
how to do it right now. So it might turn out that it's not or it's not 
worth doing it.


That's why I wonder where a pipeline writer gets into uri resolving at 
all? Why does he have to care about URLs or Sources? That's the 
component developer's concern.
The pipeline writer needs to know how uri resolving works. He needs to 
know what input values are allowed, what relative values mean etc.


But I will turn around the questions :) What caching do you need? The 
ultra complex caching we currently have which can cache partial 
pipelines? Or just the result of a pipeline?


Carsten
--
Carsten Ziegeler
[EMAIL PROTECTED]


Re: JNet integration

2008-03-26 Thread Sylvain Wallez

Carsten Ziegeler wrote:
It seems that this topic is even more interesting than the environment 
abstraction threads we had a while back :)


Ok, first of all, the sourceresolver is a very cool component and I 
really like it (and it was also me who started this component years 
ago :) ). As the java api lacks such kind of an abstraction, its good 
to have it.


Does it? It seems to me the URLConnection class provides the same level 
of abstraction and functionnality than a Source.


Other approaches like the Spring resource stuff are not as good as 
they are not very flexible.
So, it doesn't make sense to drop this stuff for Cocoon - seeing 
Cocoon as the big framework for building web applications.


But on the other side we are talking about making Cocoon more modular 
and easier to understand. The Corona work is a great start and for me 
it makes totally sense to base the core api just on the java net 
stuff. It's much easier to understand and use. When we were doing 
Cocoon trainings, it was always a little bit difficult to get the 
point across that people should use the source resolver and not the 
file api or the java net api. Not a big deal, but still it adds more 
new stuff on top of the core api than you might need.


While the source resolver, source factory and source interfaces are of 
great use, I'm not so sure about the extensions of the source 
interface like modifiable source or traversable source. I rarely 
needed them through the years, but your mileage might vary.


Caching is very important and the java api does not provide a very 
good way to support caching in general. The source abstaction was 
built with caching in mind.


Hmm... If this is just about Source.getSourceValidity which is 
optionally implemented (non-caching source can simply return null), we 
could equally well have a CachableURLConnection.


If you look at the pipeline caching we have in cocoon it is rather 
complicated (it can cache partial pipelines etc.), and during the 
years we switched for a time based/event based caching of complete 
pipelines. But again your mileage may vary.


The question is now if we need support for caching in the low level 
apis or if it is possible to have a layered approach - which would 
make the entry barrier much easier.


The main need for the Source abstraction was to circumvent the 
staticness of URLStreamHandlerFactory. Otherwise, pretty much everything 
we need is there:
- extensible framework for cacheable, modifiable, traversable, 
whatever-able sources with URLConnection sub-classes,

- integrated parsing/conversion features with the getContent() method
- source-resolving using the URL(URL context, String spec) constructor

The staticness problems of URLStreamHandlerFactory are still there in 
the JVM, but the OSGi/Equinox guys have found creative ways to 
circumvent them on most JVMs. If we're happy with this solution, it 
seems to me the Source abstraction is one of the many cocoon-isms we 
should consider to gently deprecate just as the copy of the servlets 
that we have in our environment abstraction.


Fewer new concepts to learn for newcomers, fewer specific concepts that 
hinder the integration of Cocoon with other environments.


My 0.02 euros (which are worth their $ these days!)

Sylvain

--
Sylvain Wallez - http://bluxte.net



Re: JNet integration

2008-03-26 Thread Dev at weitling



Carsten Ziegeler wrote:

Joerg Heinicke wrote:
That's why I wonder where a pipeline writer gets into uri resolving 
at all? Why does he have to care about URLs or Sources? That's the 
component developer's concern.


The pipeline writer needs to know how uri resolving works. 


Still: Why?

He needs to know what input values are allowed, what relative values 
mean etc.


Have to think about this part.

Regards,
Florian


Layered software designs

2008-03-26 Thread Reinhard Poetz

Carsten Ziegeler wrote:
The question is now if we need support for caching in the low level apis 
or if it is possible to have a layered approach - which would make the 
entry barrier much easier.


Yes, this layered approach is what I'm aiming for. All the reactions in this 
thread make me think that everybody, who has commented on this mailing list so 
far (except Carsten), believes that we want to throw away good things that have 
profed to be useful in many situations.
Rest assured, that's not the case. Carsten and I only want to break up this 
all-or-nothing situation that we (still) have now.


What I want to see is a concise pipeline API that comes with only little 
overhead in terms of its learning curve and its dependencies on third-party 
software. Usually this means that we stick with standard APIs as much as 
possible - and I think this rule applies for our situation too.


This means that the user of the API only needs to learn as little as possible. 
When he wants more, we offer additional modules that help him. Since he has a 
concrete need, the motiviation to learn something new is much higher than when 
he has to learn everything right from the beginning.


If you want to learn how this whole concept *might* apply for a next generation 
Cocoon, have a look at Steven's and my Exploring Corona mail from last week 
(http://marc.info/?l=xml-cocoon-devm=120611990603725w=2).


The idea of Corona is having a concise core that doesn't have any dependencies 
on a particular component container (Spring, OSGi, etc.), source resolving 
mechanisms or environment (http, java  only, etc.) or even the type of the 
components (XML-SAX event stream, XML-Stax event stream, binary streams, etc.) 
that are linked together in a pipeline.


A simple scenario could be:

  Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

  Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap Engine


or maybe you need the full stack that corresponds to Cocoon Core 2.2 - here you 
are:

  Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine  +  Spring
   XML-SAX
 componnents


This layered approach makes Cocoon easily embeddable in any Java application and 
Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?

--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: Layered software designs

2008-03-26 Thread Dev at weitling



Reinhard Poetz wrote:

Carsten Ziegeler wrote:
The question is now if we need support for caching in the low level 
apis or if it is possible to have a layered approach - which would 
make the entry barrier much easier.


Yes, this layered approach is what I'm aiming for. All the reactions 
in this thread make me think that everybody, who has commented on this 
mailing list so far (except Carsten), believes that we want to throw 
away good things that have profed to be useful in many situations.
Rest assured, that's not the case. Carsten and I only want to break up 
this all-or-nothing situation that we (still) have now.


What I want to see is a concise pipeline API that comes with only 
little overhead in terms of its learning curve and its dependencies on 
third-party software. Usually this means that we stick with standard 
APIs as much as possible - and I think this rule applies for our 
situation too.


This means that the user of the API only needs to learn as little as 
possible. When he wants more, we offer additional modules that help 
him. Since he has a concrete need, the motiviation to learn something 
new is much higher than when he has to learn everything right from the 
beginning.


If you want to learn how this whole concept *might* apply for a next 
generation Cocoon, have a look at Steven's and my Exploring Corona 
mail from last week 
(http://marc.info/?l=xml-cocoon-devm=120611990603725w=2).


The idea of Corona is having a concise core that doesn't have any 
dependencies on a particular component container (Spring, OSGi, etc.), 
source resolving mechanisms or environment (http, java  only, etc.) or 
even the type of the components (XML-SAX event stream, XML-Stax event 
stream, binary streams, etc.) that are linked together in a pipeline.


A simple scenario could be:

  Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

  Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap 
Engine



or maybe you need the full stack that corresponds to Cocoon Core 2.2 - 
here you are:


  Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine  
+  Spring

   XML-SAX
 componnents


This layered approach makes Cocoon easily embeddable in any Java 
application and Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?


Your mail makes things a little bit more clear.
But (maybe I have missed some mails) how do you want to make this 
Pipeline API?
E.g. a SAX-based pipeline is something different than image data running 
through several filters. How do you want to prevent the use of a 
SAX-events generating component together with an image data transformer? 
What about something like it's used in clipboards: each component offers 
a list of importable and exportable formats?


Just my 2 Räppli :-)
Florian


Re: Layered software designs

2008-03-26 Thread Reinhard Poetz

Dev at weitling wrote:
But (maybe I have missed some mails) how do you want to make this 
Pipeline API?
E.g. a SAX-based pipeline is something different than image data running 
through several filters. How do you want to prevent the use of a 
SAX-events generating component together with an image data transformer? 
What about something like it's used in clipboards: each component offers 
a list of importable and exportable formats?


See http://marc.info/?l=xml-cocoon-devm=120611990603725w=2
Do the explanations that this mail answer your question?

--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: Layered software designs

2008-03-26 Thread Dev at weitling



Reinhard Poetz wrote:

Dev at weitling wrote:
But (maybe I have missed some mails) how do you want to make this 
Pipeline API?
E.g. a SAX-based pipeline is something different than image data 
running through several filters. How do you want to prevent the use 
of a SAX-events generating component together with an image data 
transformer? What about something like it's used in clipboards: each 
component offers a list of importable and exportable formats?


See http://marc.info/?l=xml-cocoon-devm=120611990603725w=2
Do the explanations that this mail answer your question?


Quote from the text:
We hope that this gives you enough hints in order to understand Corona. 
We are

very interested in further discussions. So fire at will!

My Answer: Great work!
And yes, it answered my questions :-)


Re: Layered software designs

2008-03-26 Thread Ralph Goers



Reinhard Poetz wrote:


  Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

  Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap 
Engine



or maybe you need the full stack that corresponds to Cocoon Core 2.2 - 
here you are:


  Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine  
+  Spring

   XML-SAX
 componnents


This layered approach makes Cocoon easily embeddable in any Java 
application and Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?
Appealing? yes.  Actually implementable in Java so that it isn;t even 
more complicated than what we have? I don't know.


Re: Layered software designs

2008-03-26 Thread Steven Dolg



Ralph Goers schrieb:



Reinhard Poetz wrote:


  Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

  Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap 
Engine



or maybe you need the full stack that corresponds to Cocoon Core 2.2 
- here you are:


  Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine  
+  Spring

   XML-SAX
 componnents


This layered approach makes Cocoon easily embeddable in any Java 
application and Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?
Appealing? yes.  Actually implementable in Java so that it isn;t even 
more complicated than what we have? I don't know.




Just curious - do you have doubts, that this is achievable specifically 
with Java, or generally with any language?


Re: Layered software designs

2008-03-26 Thread Vadim Gritsenko

On Mar 26, 2008, at 9:14 AM, Reinhard Poetz wrote:

A simple scenario could be:

 Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

 Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap  
Engine


Do you really need both URL and SourceResolver? As Sylvain described  
it, with java.net.URL we should be able to implement replacement for  
all features of existing SourceResolver. I just don't think it is  
worth it, if in the end we are going to have a mix of two paradigms.


Vadim


Re: JNet integration

2008-03-26 Thread Peter Hunsberger
On Wed, Mar 26, 2008 at 4:46 AM, Carsten Ziegeler [EMAIL PROTECTED] wrote:

snip/

  The question is now if we need support for caching in the low level apis
  or if it is possible to have a layered approach - which would make the
  entry barrier much easier.


We've ended up layering our own caching on top (or maybe under,
depending on your POV) of much of the Cocoon caching.  This is because
we mainly use a single generator and serve most of our content from a
database.  In our case different database resources have very
different cache lifetimes, we have very granular resources with very
aggressive caching (very simplified example; metadata and data is
pulled from the same pipeline.)  Basically I've found a couple of
things:

- Cache key construction is the thing that matters.  We allow
polymorphic behavior in the cache keys so that multiple resources can
resolve to the same resource.  It is up to the cache key to determine
what underlying resource is being accessed and not the URI.

- Since we allow cache key polymorphisim we cannot use a Hashmap since
a hash code look up doesn't allow two objects with different hash
values to occupy the same object space. Instead we use a TreeMap that
tests equality explicitly, a seperate equality test can use whatever
rules it needs.

- all of the call context is made available for the cache key
construction, we make no assumptions on how the cache key is going
manage itself, there is no such thing as different types of cache keys
any cache key might be based on time to live, events, URI, request
parameters and attributes, or whatever.

- cache keys can register other cache keys that they are dependent on
and invalidating a cache key causes resources defendant on it to also
be invalidated.  The important thing here is that all caching
decisions are contained in a single place (the cache key).

- all resource access goes through the same path.  Non cached
resources simply do not get a cache key, if no cache key is built the
attempt to retrieve the resource from the cache is skipped (duh).

Don't know if this helps any, but for us, having made this design
decision our caching is completely decoupled form URI resolving (and
in fact the rest of the Cocoon infrastructure).

-- 
Peter Hunsberger


Re: Layered software designs

2008-03-26 Thread Reinhard Poetz

Vadim Gritsenko wrote:

On Mar 26, 2008, at 9:14 AM, Reinhard Poetz wrote:

A simple scenario could be:

 Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

 Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap Engine


Do you really need both URL and SourceResolver? As Sylvain described it, 
with java.net.URL we should be able to implement replacement for all 
features of existing SourceResolver. I just don't think it is worth it, 
if in the end we are going to have a mix of two paradigms.


I had written this before I read Sylvain's mail. Even better, if we don't need 
the SourceResolver at all.


--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: Layered software designs

2008-03-26 Thread Grzegorz Kossakowski
Ralph Goers pisze:
 
 
 Reinhard Poetz wrote:

   Pipeline API  +  java.net.URL   +  XML-SAX components


 A more advanced scenario could consist of

   Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap
 Engine


 or maybe you need the full stack that corresponds to Cocoon Core 2.2 -
 here you are:

   Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine 
 +  Spring
XML-SAX
  componnents


 This layered approach makes Cocoon easily embeddable in any Java
 application and Cocoon's learning curve becomes more gradual.

 Is such a situation only appealing to Carsten, Steven and me?
 Appealing? yes.  Actually implementable in Java so that it isn;t even
 more complicated than what we have? I don't know.

+1.

I've got my hands dirty with URL stuff from Java and I fail to see how we can 
avoid using Source
interface, especially when caching comes in.

The issue is not about lack of the will but more about lack of ability, at 
least at this stage.
Examine current Source/SourcaFactory/CocoonSourceResolver usage patterns to see 
what I mean.

-- 
Grzegorz


Re: JNet integration

2008-03-26 Thread Steven Dolg



Carsten Ziegeler schrieb:
The pipeline writer needs to know how uri resolving works. He needs to 
know what input values are allowed, what relative values mean etc.


But I will turn around the questions :) What caching do you need? The 
ultra complex caching we currently have which can cache partial 
pipelines? Or just the result of a pipeline?

I believe this is a very important question.

I'm sure use cases that require the ultra complex solution and use 
cases that will work with a more simple approach are easily found.
So the question becomes What makes the most sense? and How can all 
this still be easy to *use*?.
After all I'm convinced that at the end of the day, the way Cocoon feels 
for someone who uses it or - maybe even more important - for someone who 
thinks about using it, is all that matters.


Still this shouldn't result in a total mess for all who work on Cocoon 
itself.
But I'm sure there are way*s* (yes, more than just one ;-) ) to have all 
this.


And I believe a layered approach is a good candicate to achieve this.
But as I said above: I'm sure there is more than just one way.


Carsten


Re: Layered software designs

2008-03-26 Thread Torsten Curdt

On Mar 26, 2008, at 14:44, Ralph Goers wrote:

Reinhard Poetz wrote:


 Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

 Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap  
Engine



or maybe you need the full stack that corresponds to Cocoon Core  
2.2 - here you are:


 Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap  
Engine  +  Spring

  XML-SAX
componnents


This layered approach makes Cocoon easily embeddable in any Java  
application and Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?


Just lurking but I am with you guys.



Appealing? yes.  Actually implementable in Java so that it isn;t  
even more complicated than what we have? I don't know.



IMO this would simplify a lot as it separates concerns and the inner  
guts can be used in other projects without the pain of dependencies we  
have right now. People have been asking for this for years. I really  
think think this is the right direction.


cheers
--
Torsten


[jira] Commented: (COCOON-2173) AbstractCachingProcessingPipeline: Two requests can deadlock each other

2008-03-26 Thread Alexander Daniel (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON-2173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12582312#action_12582312
 ] 

Alexander Daniel commented on COCOON-2173:
--

Thanks! That's a good move that locking can be switched off.

I am still seeing the deadlock with the reproduceMultipleThreads test with the 
default settings. The reason for that is that in the patched branch waitForLock 
returns false when a timeout occurs which is different to the patch I provided 
where true is returned when a timeout occurs.


 AbstractCachingProcessingPipeline: Two requests can deadlock each other
 ---

 Key: COCOON-2173
 URL: https://issues.apache.org/jira/browse/COCOON-2173
 Project: Cocoon
  Issue Type: Bug
  Components: - Components: Sitemap
Affects Versions: 2.1.9, 2.1.10, 2.1.11, 2.2-dev (Current SVN)
Reporter: Alexander Daniel
 Attachments: patchFor2.1.11.txt, reproduceMultipleThreads.tar.gz, 
 reproduceMultipleThreads2.2RC3-SNAPSHOT.tar.gz


 Two requests can deadlock each other when they depend on the same resources 
 which they acquire in a different order. I can reproduce that in Cocoon 
 2.1.11 and Cocoon 2.2-RC3-SNAPSHOT:
 * request A: generating lock for 55933 
 * request B: generating lock for 58840 
 * request B: waiting for lock 55933 which is hold by request A 
 * request A: waiting for lock 58840 which is hold by request B 
 I can reproduce this behaviour with Apache Bench and following pipeline: 
 * terminal 1: Apache Bench request A (ab -k -n 1 -c 25 
 http://localhost:/samples/reproduceMultipleThreads/productOfferForDevice/55933/)
  
 * terminal 2: Apache Bench request B (ab -k -n 1 -c 25 
 http://localhost:/samples/reproduceMultipleThreads/productOfferForDevice/58840/)
  
 * terminal 3: touching the two data files every second to invalidate the 
 cache (while true; do echo -n .; touch 55933.xml 58840.xml; sleep 1; done) 
 * pipeline: 
 map:pipeline type=caching 
   map:match pattern=productOfferForDevice*/*/ 
 map:generate src=cocoon:/exists/{2}.xml label=a/ 
 map:transform type=xsltc src=productOfferIncludeDevice.xsl 
 label=b 
 map:parameter name=noInc value={1}/ 
 /map:transform 
 map:transform type=include label=c/ 
 map:serialize type=xml/ 
 /map:match 
   map:match pattern=exists/** 
 map:act type=resource-exists 
 map:parameter name=url value={1} / 
 map:generate src={../1} / 
 map:serialize type=xml / 
 /map:act 
 !-- not found -- 
 map:generate src=dummy.xml / 
 map:serialize type=xml / 
   /map:match 
 /map:pipeline 
 After some seconds the deadlock occurs == 
 * Apache Bench requests run into a timeout 
 * I can see following pipe locks in the default transient store: 
 PIPELOCK:PK_G-file-cocoon://samples/reproduceMultipleThreads/exists/55933.xml?pipelinehash=-910770960103935149_T-xsltc-file:///Users/alex/dev/cocoon/cocoon-2.1.11/build/webapp/samples/reproduceMultipleThreads/productOfferIncludeDevice.xsl;noInc=_T-include-I_S-xml-1
  (class: org.mortbay.util.ThreadPool$PoolThread) 
 PIPELOCK:PK_G-file-cocoon://samples/reproduceMultipleThreads/exists/58840.xml?pipelinehash=-499603111986478_T-xsltc-file:///Users/alex/dev/cocoon/cocoon-2.1.11/build/webapp/samples/reproduceMultipleThreads/productOfferIncludeDevice.xsl;noInc=_T-include-I_S-xml-1
  (class: org.mortbay.util.ThreadPool$PoolThread) 
 PIPELOCK:PK_G-file-file:///Users/alex/dev/cocoon/cocoon-2.1.11/build/webapp/samples/reproduceMultipleThreads/55933.xml
  (class: org.mortbay.util.ThreadPool$PoolThread) 
 PIPELOCK:PK_G-file-file:///Users/alex/dev/cocoon/cocoon-2.1.11/build/webapp/samples/reproduceMultipleThreads/58840.xml
  (class: org.mortbay.util.ThreadPool$PoolThread) 
 I added some logging to AbstractCachingProcessingPipeline.java which 
 reconfirms the explanations above: 
 INFO (2008-03-13) 13:50.16:072 [sitemap] 
 (/samples/reproduceMultipleThreads/productOfferForDevice/55933/) 
 PoolThread-47/AbstractCachingProcessingPipeline: generating lock 
 PIPELOCK:PK_G-file-cocoon://samples/reproduceMultipleThreads/exists/55933.xml?pipelinehash=-910770960103935149_T-xsltc-file:///Users/alex/dev/cocoon/cocoon-2.1.11/build/webapp/samples/reproduceMultipleThreads/productOfferIncludeDevice.xsl;noInc=_T-include-I_S-xml-1
  
 INFO (2008-03-13) 13:50.16:074 [sitemap] 
 (/samples/reproduceMultipleThreads/productOfferForDevice/55933/) 
 PoolThread-47/AbstractCachingProcessingPipeline: generating lock 
 PIPELOCK:PK_G-file-file:///Users/alex/dev/cocoon/cocoon-2.1.11/build/webapp/samples/reproduceMultipleThreads/55933.xml
  
 INFO (2008-03-13) 13:50.16:075 [sitemap] 
 (/samples/reproduceMultipleThreads/productOfferForDevice/58840/) 
 PoolThread-6/AbstractCachingProcessingPipeline: generating lock 
 

Re: unable to build cocoon forms 1.0 branch

2008-03-26 Thread Vadim Gritsenko

On Mar 25, 2008, at 4:22 PM, Vadim Gritsenko wrote:

Hi All,

There is something wrong going with maven here. Trying to build  
Cocoon Forms from 1.0 branch:


 $ svn info
 URL: 
https://svn.apache.org/repos/asf/cocoon/branches/cocoon-forms-1.0.0/cocoon-forms-impl

 $ mvn install
 [INFO] Installing ~/cocoon-forms-1.0.x/cocoon-forms-impl/target/ 
cocoon-forms-impl-1.0.0-RC2-SNAPSHOT.jar to
 ~/.m2/repository/org/apache/cocoon/cocoon-forms-impl/1.1.0-SNAPSHOT/ 
cocoon-forms-impl-1.1.0-SNAPSHOT.jar



Please note what it is doing: it installs 1.0.0 version of jar  
(cocoon-forms-impl-1.0.0-RC2-SNAPSHOT.jar) into repository in place  
of 1.1.0 version (cocoon-forms-impl-1.1.0-SNAPSHOT.jar).


Can anybody take a look and fix this?


Anybody knowledgeable about maven? Anybody at all? :)

Vadim


Re: JNet integration

2008-03-26 Thread Vadim Gritsenko

On Mar 26, 2008, at 11:09 AM, Steven Dolg wrote:


Carsten Ziegeler schrieb:
The pipeline writer needs to know how uri resolving works. He needs  
to know what input values are allowed, what relative values mean etc.


But I will turn around the questions :) What caching do you need?  
The ultra complex caching we currently have which can cache partial  
pipelines? Or just the result of a pipeline?

I believe this is a very important question.


Not really. Partial pipeline caching is implemented completely by the  
pipeline using all already existing APIs which were used by regular  
caching. From the perspective of pipeline class users, or from the  
perspective of classes which pipeline uses, there is no difference  
between using 'partial-response-caching' and 'complete-response- 
caching' pipelines. The distinction is only in private implementation  
details.


Vadim


I'm sure use cases that require the ultra complex solution and use  
cases that will work with a more simple approach are easily found.
So the question becomes What makes the most sense? and How can  
all this still be easy to *use*?.
After all I'm convinced that at the end of the day, the way Cocoon  
feels for someone who uses it or - maybe even more important - for  
someone who thinks about using it, is all that matters.


Still this shouldn't result in a total mess for all who work on  
Cocoon itself.
But I'm sure there are way*s* (yes, more than just one ;-) ) to have  
all this.


And I believe a layered approach is a good candicate to achieve this.
But as I said above: I'm sure there is more than just one way.


Carsten




Re: CForms 1.1.0 Incompatibility

2008-03-26 Thread Vadim Gritsenko

On Mar 21, 2008, at 12:42 PM, Vadim Gritsenko wrote:

Hi All,

When trying to use trunk version of CForms, found out API  
incompatibility with previous version. Namely, getLogger() method  
has disappeared from the JXPathBindingBase class, so any custom  
binding which uses logger will not compile after upgrade to 1.1.0  
version.


Shouldn't CForms be (as far as possible) compatible with 1.0 API? If  
yes... and if there are no objections... I will fix this bug.


Done, as promised.

Vadim



Re: unable to build cocoon forms 1.0 branch

2008-03-26 Thread Reinhard Poetz

Vadim Gritsenko wrote:

On Mar 25, 2008, at 4:22 PM, Vadim Gritsenko wrote:

Hi All,

There is something wrong going with maven here. Trying to build Cocoon 
Forms from 1.0 branch:


 $ svn info
 URL: 
https://svn.apache.org/repos/asf/cocoon/branches/cocoon-forms-1.0.0/cocoon-forms-impl 



 $ mvn install
 [INFO] Installing 
~/cocoon-forms-1.0.x/cocoon-forms-impl/target/cocoon-forms-impl-1.0.0-RC2-SNAPSHOT.jar 
to
 ~/.m2/repository/org/apache/cocoon/cocoon-forms-impl/1.1.0-SNAPSHOT/cocoon-forms-impl-1.1.0-SNAPSHOT.jar 




Please note what it is doing: it installs 1.0.0 version of jar 
(cocoon-forms-impl-1.0.0-RC2-SNAPSHOT.jar) into repository in place of 
1.1.0 version (cocoon-forms-impl-1.1.0-SNAPSHOT.jar).


Can anybody take a look and fix this?


Anybody knowledgeable about maven? Anybody at all? :)


I will look into this when I will be done with creating the release artifacts. I 
don't want to pollute my system with experiments right now.


--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: Layered software designs

2008-03-26 Thread Reinhard Poetz

Grzegorz Kossakowski wrote:

Ralph Goers pisze:


Reinhard Poetz wrote:

Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap Engine


or maybe you need the full stack that corresponds to Cocoon Core 2.2 - 
here you are:


Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine +
Spring XML-SAX componnents


This layered approach makes Cocoon easily embeddable in any Java 
application and Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?

Appealing? yes.  Actually implementable in Java so that it isn;t even more
complicated than what we have? I don't know.


+1.

I've got my hands dirty with URL stuff from Java and I fail to see how we can
avoid using Source interface, especially when caching comes in.

The issue is not about lack of the will but more about lack of ability, at
least at this stage. Examine current
Source/SourcaFactory/CocoonSourceResolver usage patterns to see what I mean.


Why do you want to give up even before you start? Because things _seem_ to be 
difficult?


At the current stage we haven't even defined what we expect from caching. Please 
let's first put all our requirements on the table.


My (and that of many others) *main requirement is a layered software design* 
that makes Cocoon easily useable and embeddable in many different environments. 
Given, caching is important, but compared to that it is of subordinate relevance.


Maybe we have to go back to the old Source/SourceResolver solution because 
everything is impossible as some of us think, but let's decide this latter when 
we are sure that there is no better alternative.


--
Reinhard PötzManaging Director, {Indoqa} GmbH
  http://www.indoqa.com/en/people/reinhard.poetz/

Member of the Apache Software Foundation
Apache Cocoon Committer, PMC member, PMC Chair[EMAIL PROTECTED]
_


Re: JNet integration

2008-03-26 Thread Steven Dolg



Vadim Gritsenko schrieb:

On Mar 26, 2008, at 11:09 AM, Steven Dolg wrote:


Carsten Ziegeler schrieb:
The pipeline writer needs to know how uri resolving works. He needs 
to know what input values are allowed, what relative values mean etc.


But I will turn around the questions :) What caching do you need? 
The ultra complex caching we currently have which can cache partial 
pipelines? Or just the result of a pipeline?

I believe this is a very important question.


Not really. Partial pipeline caching is implemented completely by the 
pipeline using all already existing APIs which were used by regular 
caching. From the perspective of pipeline class users, or from the 
perspective of classes which pipeline uses, there is no difference 
between using 'partial-response-caching' and 
'complete-response-caching' pipelines. The distinction is only in 
private implementation details.

I completely agree.
But aren't we the ones talking about those private implementation 
details...
And on the other hand: If partial vs. complete caching makes no 
difference for the user/caller, why bother maintaining both?


Vadim


I'm sure use cases that require the ultra complex solution and use 
cases that will work with a more simple approach are easily found.
So the question becomes What makes the most sense? and How can all 
this still be easy to *use*?.
After all I'm convinced that at the end of the day, the way Cocoon 
feels for someone who uses it or - maybe even more important - for 
someone who thinks about using it, is all that matters.


Still this shouldn't result in a total mess for all who work on 
Cocoon itself.
But I'm sure there are way*s* (yes, more than just one ;-) ) to have 
all this.


And I believe a layered approach is a good candicate to achieve this.
But as I said above: I'm sure there is more than just one way.


Carsten




Re: JNet integration

2008-03-26 Thread Vadim Gritsenko

On Mar 26, 2008, at 12:01 PM, Steven Dolg wrote:

Vadim Gritsenko schrieb:

On Mar 26, 2008, at 11:09 AM, Steven Dolg wrote:


Carsten Ziegeler schrieb:
The pipeline writer needs to know how uri resolving works. He  
needs to know what input values are allowed, what relative values  
mean etc.


But I will turn around the questions :) What caching do you need?  
The ultra complex caching we currently have which can cache  
partial pipelines? Or just the result of a pipeline?

I believe this is a very important question.


Not really. Partial pipeline caching is implemented completely by  
the pipeline using all already existing APIs which were used by  
regular caching. From the perspective of pipeline class users, or  
from the perspective of classes which pipeline uses, there is no  
difference between using 'partial-response-caching' and 'complete- 
response-caching' pipelines. The distinction is only in private  
implementation details.

I completely agree.
But aren't we the ones talking about those private implementation  
details...
And on the other hand: If partial vs. complete caching makes no  
difference for the user/caller, why bother maintaining both?


It means no difference in the code, but for the user it has a real  
benefit - user does not have to be an expert in cocoon caching,  
partial response caching will give him better performance without him  
expending an effort into optimizing his sitemap.


Vadim


[jira] Created: (COCOON-2181) POM 'org.apache.cocoon:cocoon' not found in repository

2008-03-26 Thread Andreas Kuckartz (JIRA)
POM 'org.apache.cocoon:cocoon' not found in repository
--

 Key: COCOON-2181
 URL: https://issues.apache.org/jira/browse/COCOON-2181
 Project: Cocoon
  Issue Type: Bug
  Components: * Cocoon Core, - Build System: Maven
Affects Versions: 2.2-dev (Current SVN)
Reporter: Andreas Kuckartz
Priority: Blocker
 Fix For: 2.2-dev (Current SVN)


My first attempt to build Cocoon after a long time of abstinence was not 
successful.

I checked out Revision 641352. The command

  mvn -P allblocks install

results in this stacktrace:

[INFO] Scanning for projects...
Downloading: 
http://repo1.maven.org/maven2/org/apache/cocoon/cocoon/6/cocoon-6.pom
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] Error building POM (may not be this project's POM).


Project ID: null:cocoon-blocks-modules:pom:6-SNAPSHOT

Reason: Cannot find parent: org.apache.cocoon:cocoon for project: 
null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
null:cocoon-blocks-modules:pom:6-SNAPSHOT


[INFO] 
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Cannot find parent: 
org.apache.cocoon:cocoon for project: null:cocoon-blocks-modules:pom:6-SNAPSHOT 
for project null:cocoon-blocks-modules:pom:6-SNAPSHOT
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
parent: org.apache.cocoon:cocoon for project: 
null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
null:cocoon-blocks-modules:pom:6-SNAPSHOT
at 
org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1259)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:745)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:476)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:524)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362)
... 11 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 
'org.apache.cocoon:cocoon' not found in repository: Unable to download the 
artifact from any repository

  org.apache.cocoon:cocoon:pom:6

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)
 for project org.apache.cocoon:cocoon
at 
org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:571)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1255)
... 18 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable 
to download the artifact from any repository

  org.apache.cocoon:cocoon:pom:6

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:206)
at 
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:73)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:524)
... 19 more
Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to 
download the artifact from any repository
at 
org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:324)
at 

[jira] Commented: (COCOON-2181) POM 'org.apache.cocoon:cocoon' not found in repository

2008-03-26 Thread Reinhard Poetz (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON-2181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12582336#action_12582336
 ] 

Reinhard Poetz commented on COCOON-2181:


I'm aware of this because I'm creating release artifacts. I will fix this when 
the work is done.

 POM 'org.apache.cocoon:cocoon' not found in repository
 --

 Key: COCOON-2181
 URL: https://issues.apache.org/jira/browse/COCOON-2181
 Project: Cocoon
  Issue Type: Bug
  Components: * Cocoon Core, - Build System: Maven
Affects Versions: 2.2-dev (Current SVN)
Reporter: Andreas Kuckartz
Assignee: Reinhard Poetz
Priority: Blocker
 Fix For: 2.2-dev (Current SVN)


 My first attempt to build Cocoon after a long time of abstinence was not 
 successful.
 I checked out Revision 641352. The command
   mvn -P allblocks install
 results in this stacktrace:
 [INFO] Scanning for projects...
 Downloading: 
 http://repo1.maven.org/maven2/org/apache/cocoon/cocoon/6/cocoon-6.pom
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] Error building POM (may not be this project's POM).
 Project ID: null:cocoon-blocks-modules:pom:6-SNAPSHOT
 Reason: Cannot find parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 [INFO] 
 
 [INFO] Trace
 org.apache.maven.reactor.MavenExecutionException: Cannot find parent: 
 org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
 at 
 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
 Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
 parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1259)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:745)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:476)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197)
 at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:524)
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362)
 ... 11 more
 Caused by: org.apache.maven.project.ProjectBuildingException: POM 
 'org.apache.cocoon:cocoon' not found in repository: Unable to download the 
 artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
  for project org.apache.cocoon:cocoon
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:571)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1255)
 ... 18 more
 Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: 
 Unable to download the artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
 at 
 org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:206)
 at 
 

[jira] Assigned: (COCOON-2181) POM 'org.apache.cocoon:cocoon' not found in repository

2008-03-26 Thread Reinhard Poetz (JIRA)

 [ 
https://issues.apache.org/jira/browse/COCOON-2181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Reinhard Poetz reassigned COCOON-2181:
--

Assignee: Reinhard Poetz

 POM 'org.apache.cocoon:cocoon' not found in repository
 --

 Key: COCOON-2181
 URL: https://issues.apache.org/jira/browse/COCOON-2181
 Project: Cocoon
  Issue Type: Bug
  Components: * Cocoon Core, - Build System: Maven
Affects Versions: 2.2-dev (Current SVN)
Reporter: Andreas Kuckartz
Assignee: Reinhard Poetz
Priority: Blocker
 Fix For: 2.2-dev (Current SVN)


 My first attempt to build Cocoon after a long time of abstinence was not 
 successful.
 I checked out Revision 641352. The command
   mvn -P allblocks install
 results in this stacktrace:
 [INFO] Scanning for projects...
 Downloading: 
 http://repo1.maven.org/maven2/org/apache/cocoon/cocoon/6/cocoon-6.pom
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] Error building POM (may not be this project's POM).
 Project ID: null:cocoon-blocks-modules:pom:6-SNAPSHOT
 Reason: Cannot find parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 [INFO] 
 
 [INFO] Trace
 org.apache.maven.reactor.MavenExecutionException: Cannot find parent: 
 org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
 at 
 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
 Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
 parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1259)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:745)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:476)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197)
 at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:524)
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362)
 ... 11 more
 Caused by: org.apache.maven.project.ProjectBuildingException: POM 
 'org.apache.cocoon:cocoon' not found in repository: Unable to download the 
 artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
  for project org.apache.cocoon:cocoon
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:571)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1255)
 ... 18 more
 Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: 
 Unable to download the artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
 at 
 org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:206)
 at 
 org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:73)
 at 
 

[jira] Commented: (COCOON-2181) POM 'org.apache.cocoon:cocoon' not found in repository

2008-03-26 Thread Grzegorz Kossakowski (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON-2181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12582339#action_12582339
 ] 

Grzegorz Kossakowski commented on COCOON-2181:
--

FYI: You can monitor build status here: 
http://vmbuild.apache.org/continuum/buildResults.action?projectGroupId=23projectId=51

 POM 'org.apache.cocoon:cocoon' not found in repository
 --

 Key: COCOON-2181
 URL: https://issues.apache.org/jira/browse/COCOON-2181
 Project: Cocoon
  Issue Type: Bug
  Components: * Cocoon Core, - Build System: Maven
Affects Versions: 2.2-dev (Current SVN)
Reporter: Andreas Kuckartz
Assignee: Reinhard Poetz
Priority: Blocker
 Fix For: 2.2-dev (Current SVN)


 My first attempt to build Cocoon after a long time of abstinence was not 
 successful.
 I checked out Revision 641352. The command
   mvn -P allblocks install
 results in this stacktrace:
 [INFO] Scanning for projects...
 Downloading: 
 http://repo1.maven.org/maven2/org/apache/cocoon/cocoon/6/cocoon-6.pom
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] Error building POM (may not be this project's POM).
 Project ID: null:cocoon-blocks-modules:pom:6-SNAPSHOT
 Reason: Cannot find parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 [INFO] 
 
 [INFO] Trace
 org.apache.maven.reactor.MavenExecutionException: Cannot find parent: 
 org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
 at 
 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
 Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
 parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1259)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:745)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:476)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197)
 at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:524)
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362)
 ... 11 more
 Caused by: org.apache.maven.project.ProjectBuildingException: POM 
 'org.apache.cocoon:cocoon' not found in repository: Unable to download the 
 artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
  for project org.apache.cocoon:cocoon
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:571)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1255)
 ... 18 more
 Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: 
 Unable to download the artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
 at 
 org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:206)
 at 
 

[jira] Subscription: COCOON-open-with-patch

2008-03-26 Thread jira
Issue Subscription
Filter: COCOON-open-with-patch (107 issues)
Subscriber: cocoon


Key Summary
COCOON-2178 Array-based constructors of TreeSelectionEvent used.
https://issues.apache.org/jira/browse/COCOON-2178
COCOON-2177 ImageOp with requested height  width both zero should be a no-op, 
instead it throws an exception
https://issues.apache.org/jira/browse/COCOON-2177
COCOON-2173 AbstractCachingProcessingPipeline: Two requests can deadlock each 
other
https://issues.apache.org/jira/browse/COCOON-2173
COCOON-2162 [PATCH] Fix for Paginator when accessing out of bounds Pagination 
page
https://issues.apache.org/jira/browse/COCOON-2162
COCOON-2137 XSD Schemas for CForms Development
https://issues.apache.org/jira/browse/COCOON-2137
COCOON-2114 fix sorting in TraversableGenerator
https://issues.apache.org/jira/browse/COCOON-2114
COCOON-2109 Incorrent cleanup of expired continuations
https://issues.apache.org/jira/browse/COCOON-2109
COCOON-2108 xmodule:flow-attr Does not accept document objects
https://issues.apache.org/jira/browse/COCOON-2108
COCOON-2104 [PATCH] Add base URI fixup support to XIncludeTransformer
https://issues.apache.org/jira/browse/COCOON-2104
COCOON-2100 Retrieving mimeType returned by pipeline executed from Flow
https://issues.apache.org/jira/browse/COCOON-2100
COCOON-2071 Option to turn off pooling for components (probably faster on new 
JVMs and simpler debugging)
https://issues.apache.org/jira/browse/COCOON-2071
COCOON-2063 NekoHTMLTransformer needs to set the default-encoding of the 
current system to work properly with UTF-8
https://issues.apache.org/jira/browse/COCOON-2063
COCOON-2041 WebDAV Returns improper status on PUT
https://issues.apache.org/jira/browse/COCOON-2041
COCOON-2040 Union widget does not work with booleanfield set as case widget
https://issues.apache.org/jira/browse/COCOON-2040
COCOON-2037 New DynamicGroup widget
https://issues.apache.org/jira/browse/COCOON-2037
COCOON-2035 NPE in the sorter of the EnhancedRepeater
https://issues.apache.org/jira/browse/COCOON-2035
COCOON-2032 [PATCH] Sort order in paginated repeater
https://issues.apache.org/jira/browse/COCOON-2032
COCOON-2030 submit-on-change doesn't work for a multivaluefield with 
list-type=checkbox
https://issues.apache.org/jira/browse/COCOON-2030
COCOON-2018 Use thread context class loader to load custom binding classes
https://issues.apache.org/jira/browse/COCOON-2018
COCOON-2017 More output beautification options for serializers
https://issues.apache.org/jira/browse/COCOON-2017
COCOON-2015 Doctype added twice because root element (html) is inlined
https://issues.apache.org/jira/browse/COCOON-2015
COCOON-2002 HTML transformer  only works with latin-1 characters
https://issues.apache.org/jira/browse/COCOON-2002
COCOON-1985 AbstractCachingProcessingPipeline locking with IncludeTransformer 
may hang pipeline
https://issues.apache.org/jira/browse/COCOON-1985
COCOON-1974 Donating ContextAttributeInputModule
https://issues.apache.org/jira/browse/COCOON-1974
COCOON-1973 CaptchaValidator: allow case-insensitive matching
https://issues.apache.org/jira/browse/COCOON-1973
COCOON-1964 Redirects inside a block called via the servlet protocol fail
https://issues.apache.org/jira/browse/COCOON-1964
COCOON-1963 Add a redirect action to the browser update handler
https://issues.apache.org/jira/browse/COCOON-1963
COCOON-1960 Pipeline errors for generator/reader already set should provide 
more information
https://issues.apache.org/jira/browse/COCOON-1960
COCOON-1949 [PATCH] load flowscript from file into specified Rhino context 
object
https://issues.apache.org/jira/browse/COCOON-1949
COCOON-1946 [PATCH] - Javaflow Sample errors trying to enhance Javaflow classes 
and showing cform templates
https://issues.apache.org/jira/browse/COCOON-1946
COCOON-1943 [Patch] Parameters in blocks-protocol URIs get decoded too early
https://issues.apache.org/jira/browse/COCOON-1943
COCOON-1932 [PATCH] correct styling of disabled suggestion lists
https://issues.apache.org/jira/browse/COCOON-1932
COCOON-1929 [PATCH] Reloading classloader in Cocoon 2.2
https://issues.apache.org/jira/browse/COCOON-1929
COCOON-1917 Request Encoding problem: multipart/form vs. url encoded
https://issues.apache.org/jira/browse/COCOON-1917
COCOON-1915 Nullable value with additional String or XMLizable in 
JavaSelectionList
https://issues.apache.org/jira/browse/COCOON-1915
COCOON-1914 Text as XMLizable in EmptySelectionList
https://issues.apache.org/jira/browse/COCOON-1914
COCOON-1899 [PATCH] Cocoon XML:DB Implementation should not depend on 

Re: Layered software designs

2008-03-26 Thread Ralph Goers



Steven Dolg wrote:



Ralph Goers schrieb:


Appealing? yes.  Actually implementable in Java so that it isn;t even 
more complicated than what we have? I don't know.




Just curious - do you have doubts, that this is achievable 
specifically with Java, or generally with any language?
Taking 5 or 6 concepts (interfaces?) and trying to tie them together can 
get quite messy in Java. C++ could use multiple inheritence. While that 
would work it also brings along all the problems all the problems 
multiple inheritence introduces.  I'm sure there are other languages 
that might tie these concepts better, but off hand I can't think of one.


I'm also sure there are some interesting ways to do this in Java. 
Whether they end up being complicated (either to maintain or use) 
remains to be seen.


I'm all for letting whoever wants to move forward on this and see what 
they come up with. But I won't be willing to accept it until it supports 
caching.


Ralph


Re: Layered software designs

2008-03-26 Thread Bruce Atherton

I'm with you, too.

Just as an example, I think it might be useful to use Corona as the 
basis for a new Ant task called Pipeline. That task could do any number 
text transformations to a set of files as part of a build process. Here, 
caching is a non-issue for the most part since the point of using a 
pipeline would be to process each file only once. Rather than either 
java.net.URL or SourceResolve, we'd probably want to feed the pipeline 
based on Ant resources[1], just as the existing XSLT task is fed.


It may be that SourceResolver and an AntResourceSource is the best way 
to solve the problem, but on a cursory glance it sure looks like it is 
difficult to separate the banana from the gorilla[2] that is Avalon.


[1] http://ant.apache.org/manual/CoreTypes/resources.html
[2] http://www.ddj.com/architect/184408251

Torsten Curdt wrote:

On Mar 26, 2008, at 14:44, Ralph Goers wrote:

Reinhard Poetz wrote:


 Pipeline API  +  java.net.URL   +  XML-SAX components


A more advanced scenario could consist of

 Pipeline API  +  Sourceresolve  +  XML-SAX components  +  Sitemap 
Engine



or maybe you need the full stack that corresponds to Cocoon Core 2.2 
- here you are:


 Pipeline API  +  Sourceresolve  +  HTTP-enabled  +  Sitemap Engine  
+  Spring

  XML-SAX
componnents


This layered approach makes Cocoon easily embeddable in any Java 
application and Cocoon's learning curve becomes more gradual.


Is such a situation only appealing to Carsten, Steven and me?


Just lurking but I am with you guys.



Appealing? yes.  Actually implementable in Java so that it isn;t even 
more complicated than what we have? I don't know.



IMO this would simplify a lot as it separates concerns and the inner 
guts can be used in other projects without the pain of dependencies we 
have right now. People have been asking for this for years. I really 
think think this is the right direction.


cheers
--
Torsten




[continuum] BUILD FAILURE: Apache Cocoon [build root]

2008-03-26 Thread Continuum VMBuild Server

Online report : 
http://vmbuild.apache.org/continuum/buildResult.action?buildId=69397projectId=51

Build statistics:
 State: Failed
 Previous State: Building
 Started at: Wed 26 Mar 2008 16:14:15 -0700
 Finished at: Wed 26 Mar 2008 16:14:34 -0700
 Total time: 19s
 Build Trigger: Schedule
 Build Number: 234
 Exit code: 1
 Building machine hostname: vmbuild.apache.org
 Operating system : Linux(unknown)
 Java Home version : 
 java version 1.4.2_15

 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_15-b02)
 Java HotSpot(TM) Client VM (build 1.4.2_15-b02, mixed mode)
   
 Builder version :

 Maven version: 2.0.7
 Java version: 1.4.2_15
 OS name: linux version: 2.6.20-16-server arch: i386
   


SCM Changes:

No files changed


Dependencies Changes:

No dependencies changed



Build Defintion:

POM filename: pom.xml
Goals: clean install   
Arguments: --batch-mode -P allblocks,it

Build Fresh: true
Always Build: false
Default Build Definition: true
Schedule: DEFAULT_SCHEDULE
Profile Name: Java 1.4, Large Memory
Description: 




Test Summary:

Tests: 0
Failures: 0
Total time: 0


Output:

[INFO] Scanning for projects...
Downloading: 
http://repo1.maven.org/maven2/org/apache/cocoon/cocoon/6/cocoon-6.pom
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] Failed to resolve artifact.

GroupId: org.apache.cocoon
ArtifactId: cocoon
Version: 6

Reason: Unable to download the artifact from any repository

 org.apache.cocoon:cocoon:pom:6

from the specified remote repositories:
 central (http://repo1.maven.org/maven2)


[INFO] 
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Cannot find parent: 
org.apache.cocoon:cocoon for project: null:cocoon-blocks-modules:pom:6-SNAPSHOT 
for project null:cocoon-blocks-modules:pom:6-SNAPSHOT
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
parent: org.apache.cocoon:cocoon for project: 
null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
null:cocoon-blocks-modules:pom:6-SNAPSHOT
at 
org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1261)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:747)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:479)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:553)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:527)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
... 11 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM 
'org.apache.cocoon:cocoon' not found in repository: Unable to download the 
artifact from any repository

 org.apache.cocoon:cocoon:pom:6

from the specified remote repositories:
 central 

[jira] Closed: (COCOON-2181) POM 'org.apache.cocoon:cocoon' not found in repository

2008-03-26 Thread Reinhard Poetz (JIRA)

 [ 
https://issues.apache.org/jira/browse/COCOON-2181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Reinhard Poetz closed COCOON-2181.
--

Resolution: Fixed

the M2 build should work again, however, more releases will follow which means 
that it might be temporarily broken.

 POM 'org.apache.cocoon:cocoon' not found in repository
 --

 Key: COCOON-2181
 URL: https://issues.apache.org/jira/browse/COCOON-2181
 Project: Cocoon
  Issue Type: Bug
  Components: * Cocoon Core, - Build System: Maven
Affects Versions: 2.2-dev (Current SVN)
Reporter: Andreas Kuckartz
Assignee: Reinhard Poetz
Priority: Blocker
 Fix For: 2.2-dev (Current SVN)


 My first attempt to build Cocoon after a long time of abstinence was not 
 successful.
 I checked out Revision 641352. The command
   mvn -P allblocks install
 results in this stacktrace:
 [INFO] Scanning for projects...
 Downloading: 
 http://repo1.maven.org/maven2/org/apache/cocoon/cocoon/6/cocoon-6.pom
 [INFO] 
 
 [ERROR] FATAL ERROR
 [INFO] 
 
 [INFO] Error building POM (may not be this project's POM).
 Project ID: null:cocoon-blocks-modules:pom:6-SNAPSHOT
 Reason: Cannot find parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 [INFO] 
 
 [INFO] Trace
 org.apache.maven.reactor.MavenExecutionException: Cannot find parent: 
 org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
 at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
 at 
 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
 at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
 Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find 
 parent: org.apache.cocoon:cocoon for project: 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT for project 
 null:cocoon-blocks-modules:pom:6-SNAPSHOT
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1259)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:745)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:476)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197)
 at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458)
 at 
 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:524)
 at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362)
 ... 11 more
 Caused by: org.apache.maven.project.ProjectBuildingException: POM 
 'org.apache.cocoon:cocoon' not found in repository: Unable to download the 
 artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
  for project org.apache.cocoon:cocoon
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:571)
 at 
 org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1255)
 ... 18 more
 Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: 
 Unable to download the artifact from any repository
   org.apache.cocoon:cocoon:pom:6
 from the specified remote repositories:
   central (http://repo1.maven.org/maven2)
 at 
 org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:206)
 at 
 org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:73)
   

[continuum] BUILD FAILURE: Apache Cocoon [build root]

2008-03-26 Thread Continuum VMBuild Server

Online report : 
http://vmbuild.apache.org/continuum/buildResult.action?buildId=69527projectId=51

Build statistics:
 State: Failed
 Previous State: Failed
 Started at: Wed 26 Mar 2008 20:35:16 -0700
 Finished at: Wed 26 Mar 2008 20:36:03 -0700
 Total time: 46s
 Build Trigger: Schedule
 Build Number: 234
 Exit code: 1
 Building machine hostname: vmbuild.apache.org
 Operating system : Linux(unknown)
 Java Home version : 
 java version 1.4.2_15

 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_15-b02)
 Java HotSpot(TM) Client VM (build 1.4.2_15-b02, mixed mode)
   
 Builder version :

 Maven version: 2.0.7
 Java version: 1.4.2_15
 OS name: linux version: 2.6.20-16-server arch: i386
   


SCM Changes:

No files changed


Dependencies Changes:

No dependencies changed



Build Defintion:

POM filename: pom.xml
Goals: clean install   
Arguments: --batch-mode -P allblocks,it

Build Fresh: true
Always Build: false
Default Build Definition: true
Schedule: DEFAULT_SCHEDULE
Profile Name: Java 1.4, Large Memory
Description: 




Test Summary:

Tests: 0
Failures: 0
Total time: 0


Output:

[INFO] Scanning for projects...
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] Error building POM (may not be this project's POM).


Project ID: org.apache.cocoon:cocoon-databases-impl
POM Location: 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
Validation Messages:

   [0]  'dependencies.dependency.version' is missing for 
org.springframework:spring-dao


Reason: Failed to validate POM for project 
org.apache.cocoon:cocoon-databases-impl at 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml


[INFO] 
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Failed to validate POM for 
project org.apache.cocoon:cocoon-databases-impl at 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException: Failed to 
validate POM for project org.apache.cocoon:cocoon-databases-impl at 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
at 
org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:998)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:801)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:479)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:553)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:527)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:527)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
... 

Re: JNet integration

2008-03-26 Thread Joerg Heinicke

On 26.03.2008 09:08, Carsten Ziegeler wrote:

and want to add caching to it and therefore have to switch from URL to 
Source and from FileGenerator to CachingFileGenerator - sorry, but 
that's a mess since this means pretty much rewriting the application 
for adding caching. Why is this page so slow? Oh, sorry we forgot this 
pipeline to switch to caching ...

Ah, no no, I'm not saying this :) There should only be one file generator.


CachingFileGenerator was something Reinhard came up with - I only 
explained why I considered this as starting point for a mess which you 
disagreed with.


But I will turn around the questions :) What caching do you need? The 
ultra complex caching we currently have which can cache partial 
pipelines? Or just the result of a pipeline?


To be honest, I don't care about caching or how complex it is. It has to 
work and it does it nicely in Cocoon. If your name isn't Ard ( ;-) ) you 
usually don't need to know more details. And that's what it is as Vadim 
pointed out: implementation details.


Joerg


Re: Layered software designs

2008-03-26 Thread Joerg Heinicke

On 26.03.2008 09:14, Reinhard Poetz wrote:

What I want to see is a concise pipeline API that comes with only little 
overhead in terms of its learning curve and its dependencies on 
third-party software. Usually this means that we stick with standard 
APIs as much as possible - and I think this rule applies for our 
situation too.


See, one thing that I just don't get (and already asked) is how the 
pipeline API has anything to do with uri resolving. For me the latter 
(using java.net or source resolve) is an implementation detail. Our 
current pipeline interface [1] has no relationship to uri resolving. It 
only has a reference to SourceValidity because of caching [2].


If all this discussion is about removing this method (and the related 
getKeyForEventPipeline()) to get rid of this dependency I'm ok with it. 
The caching concern could be implemented in a separate Cacheable 
interface which should then also be decoupled from uri resolving (which 
seems to point to Peter's approach [3]).


Joerg

[1] 
http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/pipeline/ProcessingPipeline.html
[2] 
http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/pipeline/ProcessingPipeline.html#getValidityForEventPipeline()

[3] http://marc.info/?l=xml-cocoon-devm=120654005017297w=4



Re: Null pointer when using Cocoon

2008-03-26 Thread Joerg Heinicke

On 23.03.2008 06:47, FreddyFlint wrote:


Am new to cocoon and think have managed to install it correctly and
everything but get the following error when I start tomcat


Hey Freddy,

it seems you have a problem with your classpath. If you look at the 
following lines


root cause 


java.lang.NoSuchFieldError: JAVA_VERSION_INT
org.apache.cocoon.components.language.programming.java.JavaLanguage.parameterize(JavaLanguage.java:119)


you will see that Cocoon tries to access a static field on 
commons-lang's SystemUtils:


this.compilerComplianceLevel = SystemUtils.JAVA_VERSION_INT;

Nothing fancy about it, plain Java. Since this code compiles, you must 
have an older commons-lang.jar (Cocoon uses 2.3) on your classpath 
during runtime.


Joerg


Re: Javaflow - major memory issue

2008-03-26 Thread Joerg Heinicke

On 18.03.2008 03:07, footh wrote:


Sure, here is the hierarchy from bottom to top.  At this point, I ran the test 
for about five
minutes (running longer would increase the percentage) and the retained size of 
the one
ContinuationsManagerImpl object is 58% of the total.  The BufferedOutputStream 
is 50% of the
total, so the other 8% is consumed by the objects in between.

org.apache.cocoon.util.BufferedOutputStream
secureOutputStream of  org.apache.cocoon.environment.http.HttpEnvironment
env of  
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor$TreeProcessorRedirector
redirector of  org.apache.cocoon.components.flow.java.ContinuationContext


What I was so much concerned about here was the fact of storing the 
whole environment in the continuation, especially since we have this 
non-flushing BufferedOutputStream at the end. Is there any point in 
storing the environment? Do we get anything useful out of it after 
continueing the continuation?


Joerg


[jira] Created: (COCOON-2182) Failed to validate POM for project org.apache.cocoon:cocoon-databases-impl

2008-03-26 Thread Andreas Kuckartz (JIRA)
Failed to validate POM for project org.apache.cocoon:cocoon-databases-impl
--

 Key: COCOON-2182
 URL: https://issues.apache.org/jira/browse/COCOON-2182
 Project: Cocoon
  Issue Type: Bug
  Components: - Build System: Maven, Blocks: Databases
Affects Versions: 2.2-dev (Current SVN)
Reporter: Andreas Kuckartz
Priority: Blocker
 Fix For: 2.2-dev (Current SVN)


$  mvn install -P allblocks

for revision 641707 results in:

[INFO] Scanning for projects...
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] Error building POM (may not be this project's POM).


Project ID: org.apache.cocoon:cocoon-databases-impl
POM Location: 
/home/andreas/trunk/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
Validation Messages:

[0]  'dependencies.dependency.version' is missing for 
org.springframework:spring-dao


Reason: Failed to validate POM for project 
org.apache.cocoon:cocoon-databases-impl at 
/home/andreas/trunk/blocks/cocoon-databases/cocoon-databases-impl/pom.xml


[INFO] 
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Failed to validate POM for 
project org.apache.cocoon:cocoon-databases-impl at 
/home/andreas/trunk/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException: Failed to 
validate POM for project org.apache.cocoon:cocoon-databases-impl at 
/home/andreas/trunk/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
at 
org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:996)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:799)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:476)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:525)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:525)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362)
... 11 more


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



[continuum] BUILD FAILURE: Apache Cocoon [build root]

2008-03-26 Thread Continuum VMBuild Server

Online report : 
http://vmbuild.apache.org/continuum/buildResult.action?buildId=69579projectId=51

Build statistics:
 State: Failed
 Previous State: Failed
 Started at: Wed 26 Mar 2008 22:47:36 -0700
 Finished at: Wed 26 Mar 2008 22:48:24 -0700
 Total time: 47s
 Build Trigger: Schedule
 Build Number: 234
 Exit code: 1
 Building machine hostname: vmbuild.apache.org
 Operating system : Linux(unknown)
 Java Home version : 
 java version 1.4.2_15

 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_15-b02)
 Java HotSpot(TM) Client VM (build 1.4.2_15-b02, mixed mode)
   
 Builder version :

 Maven version: 2.0.7
 Java version: 1.4.2_15
 OS name: linux version: 2.6.20-16-server arch: i386
   


SCM Changes:

No files changed


Dependencies Changes:

No dependencies changed



Build Defintion:

POM filename: pom.xml
Goals: clean install   
Arguments: --batch-mode -P allblocks,it

Build Fresh: true
Always Build: false
Default Build Definition: true
Schedule: DEFAULT_SCHEDULE
Profile Name: Java 1.4, Large Memory
Description: 




Test Summary:

Tests: 0
Failures: 0
Total time: 0


Output:

[INFO] Scanning for projects...
[INFO] 
[ERROR] FATAL ERROR
[INFO] 
[INFO] Error building POM (may not be this project's POM).


Project ID: org.apache.cocoon:cocoon-databases-impl
POM Location: 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
Validation Messages:

   [0]  'dependencies.dependency.version' is missing for 
org.springframework:spring-dao


Reason: Failed to validate POM for project 
org.apache.cocoon:cocoon-databases-impl at 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml


[INFO] 
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Failed to validate POM for 
project org.apache.cocoon:cocoon-databases-impl at 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException: Failed to 
validate POM for project org.apache.cocoon:cocoon-databases-impl at 
/home/continuum/data/working-directory/51/blocks/cocoon-databases/cocoon-databases-impl/pom.xml
at 
org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:998)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:801)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:479)
at 
org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:553)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:527)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:527)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
...