cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: Avalon Context from FlowScript
Date Sun, 13 Jun 2004 21:27:36 GMT
Jeremy Quinn wrote:

> Hi All
>
> I am working on a search form to add to the Lucene samples, that uses 
> CForms to manipulate a QueryBean that performs queries for you. The 
> Bean assembles LuceneQueries directly, so you don't use text 
> expressions, you add Criteria to the Query's CForms repeater.
>
> I am trying to work out how to get the Avalon Context's 
> "Constants.CONTEXT_WORK_DIR" from within FlowScript.
>
> I think I must be confused between 
> org.apache.avalon.framework.context.Context and
> org.apache.cocoon.environment.Context.
>
> My FlowScript gets a LuceneCocoonSearcher and needs to set it's 
> Directory, all of the other Components that use this Searcher are 
> contextualized, so have access to the work directory (which is the 
> default location for Lucene Indexes).
>
> Is there a way to do this from FlowScript?


Yes, indirectly, by calling cocoon.createObject on the following class:

public void ContextAccess implements Contextualizable {
    Context avalonContext;

    public void contextualize(Context avalonContext) {
        this.avalonContext = avalonContext;
    }

    Context getAvalonContext() {
        return this.avalonContext;
    }
}

And in your flowscript just type:
  var avalonContext = 
cocoon.createObject(my.package.ContextAccess).avalonContext;


This also has some interesting side effects as the full, unrestricted 
object model is available through the Avalon context (see ContextHelper).

Remember "Less is more... or less" [1]? I really think it's time to 
remove the arbitrary limitations of the FOM.

Sylvain

[1] http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=107995167207822&w=2

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


Mime
View raw message