[EMAIL PROTECTED] wrote:

Greetings,

Please forgive me if any of my questions seem simple, I am new to Cocoon. As a senior capstone project I am working on Cocoon, specifically refactoring the caching system using AspectJ (Aspect-Oriented Programming).

I have several questions.

1) Are there test cases for the caching system? JUnit CocoonTestCase?? Are there functional tests, unit tests, etc..? What IS there, and if so, where can I find it? If NOT, then it will be a crucial part of my project to develop them and perhaps you can give me some guidance. Where are the test cases found? I see a handful of cases in the the .jar file in the Build directory.



Ahem... I'm not sure anything like this exists today. But I'm certainly not the best person to answer this question (ahem again...).


2) I am trying to modify the caching system, and I am trying to sort out exactly how it all works together. There is the caching pipleline in org.apache.cocoon.caching and also the org.apache.cocoon.components.store. I am still trying to figure out how the applications utilize these, do the applications handle it explicitly, does cocoon do it automatically?? I have read the documentation on caching on the website (and in the few Cocoon dev books, but am still a bit hazy how it all works together). Is there a decent sized application (or block/componenent that you might recommend me examining?).


Two things must be clearly distinguished:
- the stores: these are general-purpose object storages, which can contain any kind of objects.
- the cache: a front-end to the store specialized to handle pipeline responses (including content, length, modification date, etc).


The cache is used by caching pipelines. The cache key is a combination of all keys returned by CacheableProcessingComponents (generators, transformers and serializers), and the validity is a combination of the validities returned by the same components.

Using the store is done on an ad-hoc basis by components having to store something (some handle a local cache, but this will be fixed soon), while using the cache is an ability identified by the fact that a component implements CacheableProcessingComponent.

3) I have been following the the discussion on the store: http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=107066391625123&w=4
I could possibly make some improvements/optimizations to the caching system and contribute this to the project. Would you be interested in an AO implementation????



Sure we're interested, although I don't clearly see how AO comes into this picture, as the key and validities provided by cacheable components are really specific to their behaviour. But I'm definitely interested in more information about this!


Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
Orixo, the opensource XML business alliance  -  http://www.orixo.com




Reply via email to