cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: svn commit: r642855 - /cocoon/trunk/core/cocoon-sitemap/cocoon-sitemap-impl/src/main/java/org/apache/cocoon/components/flow/ContinuationsManagerImpl.java
Date Mon, 31 Mar 2008 02:33:48 GMT
On 30.03.2008 22:19, joerg@apache.org wrote:

> Author: joerg
> Date: Sun Mar 30 19:19:41 2008
> New Revision: 642855
> 
> URL: http://svn.apache.org/viewvc?rev=642855&view=rev
> Log:
> fix synchronization

Can you please review this [1]? It's too easy to mess this up ... I hope 
I did not introduce any deadlock.

One thing I came across and did not like is the maintenance of the Set 
"forest" which is according to Javadoc only done for debugging reason, 
on the other hand exposed even via the interface. I would rather clean 
up the interface and remove the following 2 methods:

/**
  * Prints debug information about all web continuations into the log file.
  * @see WebContinuation#display()
  */
public void displayAllContinuations();

/**
  * Get a list of all continuations as 
<code>WebContinuationDataBean</code> objects.
  */
public List getWebContinuationsDataBeanList();

At the moment it's only needed for StatusGenerator. We can therefore add 
another method getContinuations() which only returns a clone of the 
continuations. Also we should not maintain "forest", but just reuse the 
Set "expirations". We should be able to reconstruct everything else on 
demand.

The current interface makes the implementation overly complex. In 2.1 it 
is even worse due to maintenance of Instrumentable variables.

WDYT? If we don't want to remove the 2 methods for compatibility reasons 
we can deprecate them and change the implementation to just print a 
deprecation warning.

Joerg

[1] http://marc.info/?l=xml-cocoon-cvs&m=120693001028779&w=4

Mime
View raw message